Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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


Accertify Post-Authorisation Flow

Image Added


Panel

On this page:

Table of Contents



Post-Authorisation Flow

Image Removed

Fraud Check Request Data

Expand
titleClick here to view an example ...


Code Block
collapsetrue
{
  "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"
  }
}



Data Fields

Transaction 

FieldCV fieldFormatDescriptionValue

R, O or CR

transactionIdTransactionIDstringGuid generated to identify Accertify
transaction
.R
transactionType
n/a
string

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

Note: only post-authorisation available.

Default: Post-Authorization

R

transactionDateTimeFraudCheckedDatedatetime

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

Note: does not accept future dates

Example: 2022-03-11T17:07:24-07:00RcartIdSoOrderNostringOrder number generated on website that can be used as additional identifier of transaction. OtransactionTotalAmountorder.OrderTotalAmountdecimalTotal amount of transaction, including shipping and taxes.RtaxAmountOrderTotalTaxdecimalTax amount included in transaction.  OsalesChannelSalesChannel.WebstringSales channel where transaction took place.

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

Default: Web

RwebsiteURLSystemControl.Live.WebSiteURLstringURL of your ecommerce websiteOipAddressUtil.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 
CRcurrencyCodeorder.Customer.CurrencyCodeToUsestringUser's local currency in ISO 4217 format.  Example: AUDRisGift?Default: FalseO

Billing (object)

These fields generate data required. 

{"billingFirstName":"Andrew","billingLastName":"Chia","billingCompanyName":"ACEX Consulting Engineers","billingEmailAddress":"info@acexeng.com.au","billingAddress":"24 Oakwood Avenue","billingCity":"Dandenong North","billingStateCode":"VIC","billingPostalCode":"3175","billingCountryCode":"AU","billingPhoneNumber":"0430924122","billingPhoneNumberCountryCode":"0061","primaryPaymentType":"Credit Card","purchaseType":"Physical Items","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"

DataCV FieldFormatDescriptionValueR, O or  CRbilling

n/a

objectArray that contains the purchaser's name, billing address, order delivery address and captured payment details
arrayAn 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",

transactionIdTransactionIDstringGuid generated to 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

transactionDateTimeFraudCheckedDatedatetime

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 that can be used as additional identifier of transaction. 
O
transactionTotalAmountorder.OrderTotalAmountdecimalTotal amount of transaction, including shipping and taxes.
R
taxAmountOrderTotalTaxdecimalTax amount included in transaction.  
O
salesChannelSalesChannel.WebstringSales channel where transaction took place.

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

Default: Web

R
websiteURLSystemControl.Live.WebSiteURLstringURL of your ecommerce website
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.CurrencyCodeToUsestringUser's local currency in ISO 4217 format.  Example: AUDR
isGift

Whether the order is 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 that contains the purchaser's name, billing address, order delivery address and 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 not available, ?Sales Order User Surname unavailable, name is  


R

billingCompanyName
stringCompany name if entered.

billingEmailAddressorder.EmailAddressForGuestUser / user.ValidEmailAddressstringEmail If guest order, use email address entered for guest user order; for 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


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.,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"
object
FieldCV fieldFormatDescriptionValueR, O or CR
cardsn/a
Array with one or more card arrays for required fields for this payment type.CR
cardn/aPaymentTypeCardarray

An array introducing card fields. data from an object returned by Braintree/Eway. Part of the cards fields on page 14 of the API Document.  

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
walletsn/aPaymentTypeEWalletsobjectArray with one or more ewallet arrays for required fields for this payment type. (See: pg.12 of API document)
CR
walletn/aPaymentTypeEwalletarray

An array introducing ewallet fields. data from an object returned by Braintree.  


CR
walletType-D n/astring

Type of wallet used for payment. 

Note: required only for eWallet payment type.

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/ablockobject

Array introducing one or more giftCard arrays
Note: required if primaryPaymentType=Gift Card.
(See: pg. 17 of the API Document.) 


CR
giftCardn/ablockarray

Array introducing giftCard fields. 


CR
giftCardAmount-Dn/adecimal

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


CR

Items Purchased

,

Purchased


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

Product description.


R

itemAmount-DorderLine.OrderLineAmountdecimalProduct amount.

itemQuantity-DorderLine.OrderedQtydecimalProduct quantity.

itemBrandName-DorderLine.Product.BrandTextstringProduct brandname.

itemCategory-DorderLine.Product.categoryDescriptionstringProduct category.

productCondition-Dn/astringProduct condition. Options: New
isGiftCardPurchased-Dline.Product.IsGiveXGiftCard
stringWas a gift card used?Options: True, False
Shipping
stringWas a gift card used?Options: True, False

Shipping


FieldCV fieldFormatDescriptionValueR, O or CR
shippingsn/aObjectObject containing an array with shipping data.
"shippings":{
"shipping":[{
"shippingFirstName-D":"Andrew",
"shippingLastName-D":"Chia",
"shippingBusinessName-D":"
ACEX
ACE Consulting
Engineers
",
"shippingLocationType-D":"Business",
"shippingAddress-D":"
24
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@
acexeng
acec.com.au",
"shippingCompany-D":"CNC_5",
"shippingMethod-D":"Other",
"deliveryFeeType-D":"Other",
"pickupVerificationMethod-D":"ID Card"}]},
FieldCV fieldFormatDescriptionValue
R
, O or CR
shippings
shippingn
/ashippingn.a
.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

DID_ + new GuidR

Accertify Results

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

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

Example: "actionCode": "Review"
R



Success and Error Messages

Below are the Fraud API responses.

MessageDescriptionDisplayed Customer Message Displayed
200Success: We accepted your message and created or updated a transaction.Success! Your transaction has been completed successfully.
400Validation Failed: We could not process the API. Please try again.Sorry, We could not process your transaction at this time. Please try again.
500Internal Server Error: We could not process the API due to internal error, such as username or password is wrong.

Sorry, We could not process your transaction due to internal error, Please contact [ email address ] for further information.

Note: This email address can be edited in the CMS.



Additional Information


Multiexcerpt
hiddentrue
MultiExcerptNameAdditional Info

Integrate Accertify's credit card fraud check solution to the Braintree Payments gateway.


Multiexcerpt
hiddentrue
MultiExcerptNameFeature Title

Accertify Fraud Check API



Minimum Version Requirements


Multiexcerpt
MultiExcerptNameMinimum Version Requirements

4.37.00


Prerequisites


Multiexcerpt
MultiExcerptNamePre reqs

**


Self Configurable


Multiexcerpt
MultiExcerptNameSelf Configurable

Yes


Business Function


Multiexcerpt
MultiExcerptNameBusiness Function

Security


BPD Only?


Multiexcerpt
MultiExcerptNameBPD Only

Yes


B2B/B2C/Both


Multiexcerpt
MultiExcerptNameB2B/B2C/Both

Both


Third Party Costs


Multiexcerpt
MultiExcerptNameThird Party Costs

yes



Related help

Content by Label
showLabelsfalse
max5
spacesKB
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "payment" and type = "page" and space = "KB" and title ~ "'Braintree credit card'"
labelsuser accounts

Content by Label
showLabelsfalse
max5
spacesKB
showSpacefalse
sortmodified
reversetrue
titleRelated widgets
typepage
excludeCurrenttrue
cqllabel = "widget" and type = "page" and space = "KB" and title ~ "'review notes'"
labelsuser accounts