Available for integration with Braintree Payments and Eway. For more information on this integration, go to the Accertify website.

Accertify API Integration Basics

  • Data Transport Method: HTTPS POST
  • Data: JSON
  • Authentication: Basic Authentication sent in base64-encoded and include as part of HTTPS header message
  • Actions: Post-authorisation - transactions that have already been authorised by the payment provider, e.g., Braintree. 
  • Fraud API Version: 1.0

Fraud Check Request Data


{
  "transaction": {
    "transactionId": "1a31d278-b8e3-4375-bd5a-531215f8ca3e",
    "transactionType": "Post-Authorization",
    "transactionDateTime": "2022-07-04T14:47:15+10:00",
    "cartId": "100104012",
    "transactionTotalAmount": 660.08,
    "taxAmount": 60.01,
    "salesChannel": "Web",
    "websiteUrl": "https://www.commercevision.business",
    "ipAddress": "139.216.143.154",
    "currencyCode": "AUD",
    "isGift": "False",
    "billing": {
      "billingFirstName": "Jane",
      "billingLastName": "Smith",
      "billingCompanyName": "CV Customer Ltd",
      "billingEmailAddress": "jane.smth.cv@gmail.com",
      "billingAddress": "Factory 1 6000 Kevlar St",
      "billingCity": "Melbourne",
      "billingStateCode": "VIC",
      "billingPostalCode": "3195",
      "billingCountryCode": "AU",
      "billingPhoneNumber": "0401341205",
      "billingPhoneNumberCountryCode": "0061",
      "primaryPaymentType": "Credit Card",
      "purchaseType": "Physical Items",
      "cards": {
        "card": [
          {
            "cardholderName-D": "Jane Smith",
            "cardNumber-D": "433687******3000",
            "binIin-D": "433687",
            "cardAuthorizedAmount-D": 660.08,
            "cardExpireDate-D": "08-24",
            "cardAuthorizationDate-D": "2022-07-04T04:47:14Z",
            "isPre-AuthorizationReject-D": "False",
            "cardAvsResponse-D": "Matched",
            "cardCvvResponse-D": "Matched"
          }
        ]
      }
    },
    "items": {
      "item": [
        {
          "itemNumber-D": "CV103",
          "itemDescription-D": "Weights Machine",
          "itemAmount-D": 660.08,
          "itemQuantity-D": 2,
          "itemBrandName-D": "",
          "itemCategory-D": "Fitness",
          "productCondition-D": "New",
          "isGiftCardPurchased-D": "False"
        }
      ]
    },
    "shippings": {
      "shipping": [
        {
          "shippingFirstName-D": "Jane",
          "shippingLastName-D": "Smith",
          "shippingBusinessName-D": "CV Customer Pty Ltd",
          "shippingLocationType-D": "Business",
          "shippingAddress-D": "Factory 1 6000 Kevlar St",
          "shippingCity-D": "Melbourne",
          "shippingStateCode-D": "VIC",
          "shippingPostalCode-D": "3195",
          "shippingCountryCode-D": "AU",
          "shippingPhoneNumber-D": "0433341240",
          "shippingPhoneNumberCountryCode-D": "0061",
          "shippingEmailAddress-D": "jane.smth.cv@gmail.com",
          "shippingCompany-D": "CNC_1",
          "shippingMethod-D": "Other",
          "deliveryFeeType-D": "Other",
          "pickupVerificationMethod-D": "ID Card"
        }
      ]
    },
    "deviceInfo": {
      "deviceTransactionId": "DID-b49aa724-bba4-4e48-bea5-8359ce8203d3"
    },
    "actionCode": "Review"
  }
}



On this page:



JSON Data Fields


Must a field be sent? R = Required; O = Optional; CR = Conditionally Required

Transaction details

FieldCV fieldFormatDescriptionValue

R, O or CR

transactionn/aarrayAn array containing the basic payment transaction data
"transaction": 
{ "transactionId": "1a31d278-b8e3-4375-bd5a-531215f8ca3e",
"transactionType": "Post-Authorization",
"transactionDateTime": "2022-07-04T14:47:15+10:00",
"cartId": "100104012",
"transactionTotalAmount": 660.08,
"taxAmount": 60.01,
"salesChannel": "Web",
"websiteUrl": "https://www.commercevision.business",
"ipAddress": "139.216.143.154",
"currencyCode": "AUD",
"isGift": "False",
R
transactionIdTransactionIDstringGuid generated to uniquely identify Accertify transaction.R
transactionTypen/astring

Send transaction to Accertify before or after authorisation with payment provider/bank.

Note: only post-authorisation available.

Default: Post-Authorization

R

transactionDateTimeDatetime.Nowdatetime

Generated date and time of transaction. In RFC3339 format: yyyy-MM-dd'T'HH:mm:ssXXX

Note: no future dates accepted.

Example: 2022-03-11T17:07:24-07:00R
cartIdSoOrderNostringOrder number generated on website for the session. 
O
transactionTotalAmountorder.OrderTotalAmountdecimalTotal amount of transaction, including shipping and taxes, in local currency.
R
taxAmountOrderTotalTaxdecimalTax amount for the transaction, in local currency.  
O
salesChannelSalesChannel.WebstringSales channel where transaction took place.

Options: Call Centre, Kiosk, Web, Mobile App, Other

Default: Web

R
websiteURLSystemControl.Live.WebSiteURL

string


URL of website that captured the transaction.

max. = 2048 char


O
ipAddressUtil.RequestIpAddressstring

User's IP captured in IPv4 or IPv6 formats. 

Required for channels: Kiosk, Mobile App, Web, Other

Examples: 
  • IPv4: 10.12.12.123
  • IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 
CR
currencyCodeorder.Customer.CurrencyCodeToUsestring

User's local currency in ISO 4217 format.  

3 character alpha code.

Example: AUDR
isGift
stringWhether transaction was marked as a gift.

Default: False

Options: True, False

O

Billing (object)

Contains billing array and payment type details. 


DataCV FieldFormatDescriptionValueR, O or  CR
billing

n/a

objectArray introducing the purchaser's name, billing address, order delivery address and some captured payment details
"Billing": 
{"billingFirstName":"Andrew",
"billingLastName":"Chia",
"billingCompanyName":"CV Customer",
"billingEmailAddress":"info@cvcustomer.com.au",
"billingAddress":"6000 Kevlar St",
"billingCity":"Dandenong North",
"billingStateCode":"VIC",
"billingPostalCode":"3175",
"billingCountryCode":"AU",
"billingPhoneNumber":"0430924121",
"billingPhoneNumberCountryCode":"0061",
"primaryPaymentType":"Credit Card",
"purchaseType":"Physical Items",
R
billingFirstName

order.SoOrderingUser.FirstName

Fallback: PSO.GetNamesForOrder()

stringBilling first name entered for the order.  If Sales Order User First Name unavailable, R
billingLastName

order.SoOrderingUser.Surname

Fallback: order.GetNamesForOrder

string

Billing last name entered for the order. If Sales Order User Surname unavailable, name is  


R

billingEmailAddressorder.EmailAddressForGuestUser / user.ValidEmailAddressstringIf guest order, use email address entered for guest user; if logged in user, use new or saved email address.
R
billingAddressorder.SoBillAddr2 → order.SoDelAddr2 → user.SoBillAddr230 cha stringStreet number and name of billing address entered. If no billing address, falls back to delivery address, then user's saved address.
R
billingAddressLine2

Fall back in ascending order:

order.SoBillAddr2 → order.SoDelAddr2 → user.SoBillAddr2

30 cha string

O
billingCityorder.SoBillSuburb → order.SoDelSuburb → user.SoBillSuburbstringBilling city, town or suburb entered. If data from this field is unavailable or invalid, falls back to that entered for delivery address, then user's saved suburb/town.
R
billingStateCodeorder.SoBillState → order.SoDelState → user.SoBillState string

State, territory or region code in ISO 3166-2. From 2-5 characters.

Note: Required if used in the billing CountryCode.

For Australia: ACT. NSW, NT, QLD, SA, TAS, VIC, WACR
billingPostalCodeorder.SoBillPostcode → order.SoDelPostcode → user.SoBillPostcodestring

R
billingCountryCode

soBillCountry

Currently hard-coded.

stringTwo digit (ISO-3166-1) country code for billing address. Example: AU
R
billingPhoneNumber

Note: Currently hard-coded.

order.ContactPhoneNumber → order.DelPhone → user.PhoneNumber

integerBilling phone number entered. Must exclude Phone country code. Numeric only, max. = 25, no spaces or special characters.
R
billingPhoneNumberCountryCode

Currently hard-coded.

Note: May need 3rd party dll to identify phone country number and code.

stringCountry code of billing phone number.

Example: '0061'

R
primaryPaymentType
stringPurchaser's primary method of payment.Credit Card, Debit Card, Virtual Card, Gift Card, eWalletR
purchaseType
string

Type of items purchased. If order contains a mixture, 'Physical Items' will default.

Note: currently only 'Physical Items' and 'Digital Items' supported.

Options: Physical Items, Digital Items, Services, OtherR

If PrimaryPaymentType = Credit Card, Debit Card, Virtual Card

Relevant fields when these payment types are used.


FieldCV fieldFormatDescriptionValueR, O or CR
cardsPaymentTypeCardsobjectArray with one or more card arrays for required fields for this payment type.
"cards": {"card":
[{"cardholderName-D":"Andrew Chia",
"cardNumber-D":"512127******1518",
"binIin-D":"512127",
"cardAuthorizedAmount-D":1347.91,
"cardExpireDate-D":"07-25",
"cardAuthorizationDate-D":"2022-09-15T11:03:46Z",
"isPre-AuthorizationReject-D":"False",
"cardAvsResponse-D":"Matched",
"cardCvvResponse-D":"Matched"
CR
cardPaymentTypeCardarray

An array introducing card fields. data from an object returned by Braintree/Eway.  

CR
cardholderName-D
stringCardholder's name.
CR
cardNumber-D
integer

Masked credit card number. Includes tokenised card number.

Example: 512127******1518

CR

binIin-DPaymentTypeCardBinIinbin

Leading six to eleven digits of the card number.

Note: For 6 - 11 digit BIN lookups, Accertify will query the full/encrypted Payment Card Number (PAN) 

Example: 512127CR
cardAuthorizedAmount-DPaymentAmountDecimalAmount authorised for payment in the currency specified in the transaction's currencyCode field. 
CR
cardExpireDate-DExpirationMonth + "-" + ExpirationYearDateTimeCredit card expiry date (MM-YY)Example: 08-22CR
cardAuthorizationDate-DCreatedAtDateTimeCard authorisation request date and time.Example: 2022-07-04T04:47:14ZO
isPre-AuthorizationReject-D
string

Whether the transaction is sent to Accertify for checking before or after bank/payment provider confirmation.

Pre-Authorisation is not currently used so the value will always be 'False'.

Default value: FalseO
cardAvsResponse-DCardAvsResponseD.MatchedstringWhether card expiry date user entered matches the card.Options: Matched, Not Matched CR
cardCvvResponse-DCardCvvResponseD.MatchedstringWhether CVV user entered matches the card.  Options: Matched, Not Matched CR

If PrimaryPaymentType = eWallet

Relevant fields when eWallet payment types are used.


FieldCV fieldFormatDescriptionValueR, O or CR
walletsPaymentTypeEWalletsobject

Object with one or more ewallet arrays. 

CR
walletPaymentTypeEwalletarray

An array introducing ewallet fields. Data returned from Braintree.  

CR
walletType-D n/astring

Type of wallet used for payment.

Options: Venmo, Google Pay, ApplePay, PaypalCR
walletAccountHolderName-D 
  • Paypal: PayerFirstName + PayerLastName 
  • Apple Pay: CardholderName 
  • Google Pay: FirstName + LastName
string

Name of the person who owns the wallet account.


CR

walletAccountNumber-D
  • Paypal: PayerId 
  • Apple Pay: GlobalId
  • Google Pay: GlobalId
string

Account number of the wallet account.


CR
walletEmailAddress-D
  • Paypal: PayerEmail
  • Apple Pay: EmailAddress
  • Google Pay: EmailAddress
stringEmail address associated with the wallet account. 
CR
walletAmount-D PaymentAmountdecimalAmount paid using the wallet account in the currency specified by the transaction currencyCode field.
CR
walletStatus-DPaymentStatusstring

Status of the wallet account.  

Note: required only if eWallet

Options: Active, Pending, InactiveCR

If PrimaryPaymentType = Giftcard

Required fields when giftcards are used.

FieldCV fieldFormatDescriptionValueR, O or CR
giftCardsn/aobject

Array introducing one or more giftCard arrays. 
Note: required if  primaryPaymentType=Gift Card.
 

CR
giftCardn/aarray

Array introducing giftCard fields. 

CR
giftCardNumber-D
string

Number associated with the gift card.


O
giftCardAmount-Dn/adecimal

Amount applied against the gift card in the currency specified by the transaction currencyCode field.  


CR

Items Purchased


FieldCV FieldFormatDescriptionValueR, O or CR
itemsn/aObjectObject containing arrays of products purchased.
"items":{
"item": [{"itemNumber-D":"584213",
"itemDescription-D":"BOSE SOUNDBAR 900",
"itemAmount-D":1347.91,
"itemQuantity-D":1.0000,
"itemBrandName-D":"Bose",
"itemCategory-D":"Soundbars",
"productCondition-D":"New",
"isGiftCardPurchased-D":"False"
}]
},
R
itemn/aArrayAn array containing details of a product in the order.R
itemNumber-DorderLine.StockCodestringProduct number.
R
itemDescription-DorderLine.Descriptionmax. 127 char  string

Product description.


R

itemAmount-DorderLine.OrderLineAmountdecimalProduct amount.
O
itemQuantity-DorderLine.OrderedQtydecimalProduct quantity.
O
itemBrandName-DorderLine.Product.BrandTextstringProduct brandname.
O
itemCategory-DorderLine.Product.categoryDescriptionstringProduct category.
O
productCondition-Dn/astringProduct condition. Options: NewO
isGiftCardPurchased-Dline.Product.IsGiveXGiftCardstringWhether a gift card was used.Options: True, FalseO

Shipping


FieldCV fieldFormatDescriptionValueR, O or CR
shippingsn/aObjectObject containing an array with shipping data.
"shippings":{
"shipping":[{
"shippingFirstName-D":"Andrew",
"shippingLastName-D":"Chia",
"shippingBusinessName-D":"ACE Consulting",
"shippingLocationType-D":"Business",
"shippingAddress-D":"2 Oakwood Avenue",
"shippingCity-D":"Dandenong North",
"shippingStateCode-D":"VIC",
"shippingPostalCode-D":"3175",
"shippingCountryCode-D":"AU",
"shippingPhoneNumber-D":"0430924122",
"shippingPhoneNumberCountryCode-D":"0061",
"shippingEmailAddress-D":"info@acec.com.au",
"shippingCompany-D":"CNC_5",
"shippingMethod-D":"Other",
"deliveryFeeType-D":"Other",
"pickupVerificationMethod-D":"ID Card"}]},
R
shippingn.aArrayArray containing shipping details.R
shippingFirstName-DFrom PSO.GetNamesForOrder(): order.ContactFirstName → user.FirstName → extracted from order.SoBillAddr1string

First name of the person entered for receiving the shipment. Data from first name entered for order. Falls back to saved first name of user, then first billing address field.

Note: Required if purchaseType=Physical Items


CR
shippingLastName-DFrom PSO.GetNamesForOrder(): order.ContactLastName → user.Surname → extracted from order.SoBillAddr1string

Last name of the person entered for receiving the shipment. 

Note: Required if purchaseType=Physical Items


CR

shippingBusinessName-Dorder.SoDelAddr1 → order.SoBillAddr1 → user.DeliveryAddress1stringName of the company receiving the shipment if the recipient is a company and not an individual. Note:  Required if shippingLocationType= Business or Site-to-Store
CR
shippingLocationType-DBusinessstring


shippingAddress-Dorder.SoDelAddr2 → order.SoBillAddr2 → user.DeliveryAddress2

30 cha

string

Address, street name, and building number as applicable to the person receiving the shipment.  

Note: Required if purchaseType=Physical Items


CR
shippingCity-Dorder[AddressRuleSets.AssignmentsSuburbField] → order.SoDelAddr5 → order.SoDelSuburb → user.DeliverySuburbstring

Customer city, town, or locality as applicable of the person receiving the shipment.  

Note: Required if shippingAddress-D exists.


CR
shippingStateCode-D

order[AddressRuleSets.AssignmentsStateField] → order.SoDelAddr4 → order.SoDelState → user.DeliveryState


Note: This value is converted into the state code using a mapping list from SystemControl.Live.StateCodeAndNameMapping (eg. Queensland → QLD)

string

State, province, or region code of the receiving address entered in ISO 3166-2.  

Note: Required if shippingCountry has them and shippingAddress exists.


CR
shippingPostalCode-Dorder[AddressRuleSets.AssignmentsPostcodeField] → order.SoDelAddr7 → order.SoDelPostcode → user.DeliveryPostCodestring

Postal code of receiving address validated against the GeoPostcodes database. 

Note: Required if the shippingCountry
has them and shippingAddress exists.


CR
shippingCountryCode-DCurrently hard-coded.

Two-letter ISO 3166-1 code for country of shipment address.

Note:  Required if shippingAddress exists.


CR
shippingPhoneNumber-Dorder.ContactPhoneNumber → order.SoDelPhone → user.PhoneNumberinteger

Phone number entered for the shipment excluding country prefix. 

Note: Required if purchaseType = Physical Items. 


CR
shippingPhoneNumberCountryCode-DCurrently hard-coded.integer

Country code for the phone number entered for the shipment.

Note: Required if shippingPhoneNumber exists.


CR
shippingEmailAddress-Dorder.EmailAddressForGuestUser → user.ValidEmailAddressstring

Email address of the shipment recipient.

Note: Required if purchaseType = Physical Items. 


CR
shippingCompany-Dorder.CarrierCodestring

Name of shipping company for merchant-to-consumer initial delivery.  

Note: Required if purchaseType = Physical Items. 


CR
shippingMethod-DOrder.FreightLine.SolLineDescriptionstring

Type of shipping method used as found in SolLineDescription where a value can only be 'Standard' or 'Express'. If neither is found, 'Other' is used.

Note: Required if shippingCompany-D exists. 

Options: Standard, Express,  Other CR
deliveryFeeType-D
stringDelivery fee typeDefault: OtherCR
pickupVerificationMethod-DCurrently hard-coded.stringVerification method if pickup selected.

Default: ID card

Other: Id Card, Signature

CR

Device Info

FieldCV fieldFormatDescriptionValueR, O or CR
deviceInfon/ablock

Array introducing the deviceInfo fields

"deviceInfo": { 

"deviceTransactionId": "DID-b49aa724-bba4-4e48-bea5-8359ce8203d3" },
R
deviceTransactionIdn/a

Token Id generated to make a call to Accertify to verify device information. 


DID_ + new Guid

Example: DID-b49aa724-bba4-4e48-bea5-8359ce8203d3

R

Accertify Results

FieldCV fieldFormatDescriptionValueR, O or CR
actionCoden/a
Decision response returned from Accertify.

Options: 'Accept', 'Review', 'Reject'

Example: "actionCode": "Review"
R



Additional Information



Minimum Version Requirements


4.37.00

Prerequisites


**

Self Configurable


Yes

Business Function


Security

BPD Only?


Yes

B2B/B2C/Both


Both

Third Party Costs


Yes


Related help