Important Data
For Forter to make the strongest decision on whether a transaction is fraud, abuse, or requires additional verification measures, there are five (5) key areas of information to provide about the transaction at checkout.
If you're unable to provide any of these data points at checkout, reach out to your Forter Solutions Consultant or Implementation Engineer to discuss the impact to your integration.
1. What are the basic details of the transaction?
Data Point | Parameter | Notes |
|---|---|---|
Order ID | orderId | |
Order channel | orderType | Website, mobile app, etc. |
Checkout datetime | checkoutTime | |
Order amount | totalAmount | |
Promotions applied | totalDiscount or discounts | Important for abuse prevention |
Whether payment authorization has been requested | authorizationStep | |
Forter request datetime | timeSentToForter | |
2. Who is placing the order?
accountOwner
The accountOwner object should include information about the ordering customer, even if the customer is checking out as a guest.
Data Point | Parameter | Notes |
|---|---|---|
Name | fullName or firstName and lastName | |
| ||
Account ID | accountId | Not applicable to guest checkout |
Account creation datetime | created | Not applicable to guest checkout |
connectionInformation
We also collect information about how the user is interacting with your site in the connectionInformation object.
Data Point | Parameter | Notes |
|---|---|---|
Frontend token | forterTokenCookie or forterMobileUID | |
IP address | customerIP | |
User agent | userAgent | |
3. What are they purchasing?
cartItems
List the items the customer is purchasing is included in the cartItems array.
Data Point | Parameter | Notes |
|---|---|---|
Item name | basicItemData.name | |
Item quantity | basicItemData.quantity | |
Item price | basicItemData.price | |
Item type | basicItemData.type | Whether the item is tangible/physical or intangible/digital |
Product ID | basicItemData.productId | Important for abuse prevention |
In addition to the basic details on the cart items, include additional vertical-specific details in the itemSpecificData object with each item. If the item is sold through a marketplace, include details on the seller as well. Complete objects can be found in the Order API reference.
4. Where will the items be sent?
deliveryDetails
If the order will have a single delivery type and destination, use the primaryDeliveryDetails object at the order level. If the order will be split into multiple delivery types or destinations, list the details at the item level in cartItems.deliveryDetails.
Data Point | Parameter | Notes |
|---|---|---|
Delivery type | primaryDeliveryDetails.deliveryType or cartItems.deliveryDetails.deliveryType | Whether the delivery is physical or digital or a combination |
Delivery channel | primaryDeliveryDetails.deliveryMethodor cartItems.deliveryDetails.deliveryMethod | Ground shipping, same-day delivery, email, store pickup, etc. |
primaryRecipient / beneficiaries
If there is one recipient for the entire order, you can use the primaryRecipient object at the order level. If the order has multiple recipients, list them at the item level in the cartItems.beneficiaries. This is particularly relevant for items like air travel tickets, where each ticket is assigned to a passenger even if the order is delivered to a single email address.
Data Point | Parameter | Notes |
|---|---|---|
Shipping email | primaryRecipient.personalDetails.email or cartItems.beneficiaries.personalDetails.email | For digital deliveries to an email |
Shipping address | primaryRecipient.address or cartItems.beneficiaries.address | For physical deliveries; Use store address for store pickup |
Shipping phone | primaryRecipient.phone or cartItems.beneficiaries.phone | For courier deliveries and digital deliveries via SMS |
5. How are they paying?
payment
Include an object in the payment array for each payment method used along with the amount charged to that method.
Forter works with any payment method including credit cards, bank transfer, digital wallets, mobile money, installment plans, PayPal, cryptocurrency, gift cards, store credit, and even cash. If you accept a local payment method that is not yet included in our API, reach out to your Forter Solution Consultant so that we can build in support.
Depending on the type of payment method, you'll need to include different information within the object. The following applies to creditCard and digital wallets with credit card as the underlying payment method, such as applePay and androidPay. For other payment methods, see the Order API reference for required fields.
Data Point | Parameter | Notes |
|---|---|---|
BIN | bin | |
Last four card digits | lastFourDigits | |
Expiration date | expirationMonth and expirationYear | |
Name on card | nameOnCard | |
billingDetails
Include billingDetails within each payment method object since they may differ from the customer initiating the purchase and the recipient.
Data Point | Parameter | Notes |
|---|---|---|
Billing address | address | |
Billing phone | phone | |
verificationResults
If you are requesting a decision post-authorization, also include the authorization results from the payment processor within the payment method object. Orders where payment was rejected by the processor (No Auth orders) should still be sent to Forter in order to include these attempts in the decision model, though they will automatically receive a "Not Reviewed" decision from Forter.
If you are requesting a decision pre-authorization, you will send this information later as a post-purchase update rather than in the Order API.
As above, the list below applies to creditCard and digital wallets with credit card as the underlying payment method, such as applePay and androidPay. Other payment methods will have different verification data, if they involve an authorization.
Data Point | Parameter | Notes |
|---|---|---|
Payment processor | paymentProcessorData.processorName | |
Processor transaction ID | paymentProcessorData.processorTransactionId | For proper mapping, include this value as chargeId when reporting disputes |
Authorization code | verificationResults.authorizationCode or processorResponseCode or processorResponseText | |
AVS result | verificationResults.avsFullResult or avsStreetResult and avsZipResult | In countries where address is verified |
CVV result | verificationResults.cvvResult | |
3DS status | verificationResults.threeDsStatus or eciValue or cavvValue | |