Card

Frictionless Payments

Authenticating the cardholder.

Edit "Frictionless Payments" on GitHub

Frictionless Payments

When dealing with card payments, 3-D Secure authentication of the cardholder is an essential topic. 3-D Secure 2 is an improved version of the old protocol, now allowing frictionless payments where transactions can be completed without input from the cardholder. To increase the chances of this, there are certain fields that should be included in your request. The more information you add, the better.

Cardholder

Payer Node

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
    "cardholder": {
        "firstName": "Olivia",
        "lastName": "Nyhuus",
        "email": "olivia.nyhuus@payex.com",
        "msisdn": "+4798765432",
        "homePhoneNumber": "+4787654321",
        "workPhoneNumber": "+4776543210",
        "shippingAddress": {
            "addressee": "Olivia Nyhuus",
            "email": "olivia.nyhuus@payex.com",
            "msisdn": "+4798765432",
            "streetAddress": "Saltnestoppen 43",
            "coAddress": "",
            "city": "Saltnes",
            "zipCode": "1642",
            "countryCode": "NO",
            },
            "billingAddress": {
                "firstName": "firstname/companyname",
                "lastName": "lastname",
                "email": "karl.anderssson@mail.se",
                "msisdn": "+46759123456",
                "streetAddress": "Helgestavägen 9",
                "coAddress": "",
                "city": "Solna",
                "zipCode": "17674",
                "countryCode": "SE"
            },
            "accountInfo": {
                "accountAgeIndicator": "04",
                "accountChangeIndicator": "04",
                "accountPwdChangeIndicator": "01",
                "shippingAddressUsageIndicator": "01",
                "shippingNameIndicator": "01",
                "suspiciousAccountActivity": "01"
            }
        },
}
Field Type Description
cardholder object Cardholder object that can hold information about a payer (private or company). The information added increases the chance for a frictionless 3-D Secure 2 flow.
firstname string Cardholder’s first name.
lastname string Cardholder’s last name.
email string Cardholder’s registered email address.
msisdn string Cardholder’s registered mobile phone number.
homePhoneNumber string Cardholder’s registered home phone number.
workPhoneNumber string Cardholder’s registered work phone number.
shippingAddress object The shipping address object related to the cardholder.
addressee string The name of the addressee – the receiver of the shipped goods.
coAddress string Cardholder’s c/o address, if applicable.
streetAddress string Cardholder’s street address. Maximum 50 characters long.
zipCode string Cardholder’s zip code.
city string Cardholder’s city of residence.
countryCode string Country Code for the country of residence.
billingAddress object The billing address object containing information about the payer’s billing address.
firstName string The first name of the payer.
lastName string The last name of the payer.
streetAddress string The street address of the payer. Maximum 50 characters long.
coAddress string The CO-address (if used)
zipCode string The postal number (ZIP code) of the payer.
city string The city of the payer.
countryCode string SE, NO, or FI.
accountInfo object Object related to the payer containing info about the payer’s account.
accountAgeIndicator string Indicates the age of the payer’s account.
01 (No account, guest checkout)
02 (Created during this transaction)
03 (Less than 30 days old)
04 (30 to 60 days old)
05 (More than 60 days old)
accountChangeIndicator string Indicates when the last account changes occurred.
01 (Changed during this transaction)
02 (Less than 30 days ago)
03 (30 to 60 days ago)
04 (More than 60 days ago)
accountChangePwdIndicator string Indicates when the account’s password was last changed.
01 (No changes)
02 (Changed during this transaction)
03 (Less than 30 days ago)
04 (30 to 60 days ago)
05 (More than 60 days old)
shippingAddressUsageIndicator string Indicates when the payer’s shipping address was last used.
01(This transaction)
02 (Less than 30 days ago)
03 (30 to 60 days ago)
04 (More than 60 days ago)
shippingNameIndicator string Indicates if the account name matches the shipping name.
01 (Account name identical to shipping name)
02 (Account name different from shipping name)
suspiciousAccountActivity string Indicates if there have been any suspicious activities linked to this account.
01 (No suspicious activity has been observed)
02 (Suspicious activity has been observed)

Risk Indicator

Risk Indicator Node

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
    "riskIndicator": {
        "deliveryEmailAddress": "olivia.nyhuus@payex.com",
        "deliveryTimeFrameIndicator": "01",
        "preOrderDate": "19801231",
        "preOrderPurchaseIndicator": "01",
        "shipIndicator": "01",
        "giftCardPurchase": false,
        "reOrderPurchaseIndicator": "01"
        "pickUpAddress" : {
            "name": "Company Megashop Sarpsborg",
            "streetAddress": "Hundskinnveien 92",
            "coAddress": "",
            "city": "Sarpsborg",
            "zipCode": "1711",
            "countryCode": "NO"
        }
    }
}
Field Type Description
riskIndicator object This object consist of information that helps verifying the payer. Providing these fields decreases the likelihood of having to prompt for a 3-D Secure authentication of the payer when they are authenticating the purchase.
deliveryEmailAdress string For electronic delivery, the email address to which the merchandise was delivered.
deliveryTimeFrameIndicator string Indicates the merchandise delivery timeframe.
01 (Electronic Delivery)
02 (Same day shipping)
03 (Overnight shipping)
04 (Two-day or more shipping).
preOrderDate string For a pre-ordered purchase. The expected date that the merchandise will be available. Format: YYYYMMDD.
preOrderPurchaseIndicator string Indicates whether the payer is placing an order for merchandise with a future availability or release date.
01 (Merchandise available)
02 (Future availability).
shipIndicator string Indicates shipping method chosen for the transaction.
01 (Ship to cardholder’s billing address)
02 (Ship to another verified address on file with merchant)
03 (Ship to address that is different than cardholder’s billing address)
04 (Ship to Store / Pick-up at local store. Store address shall be populated in the riskIndicator.pickUpAddress and payer.shippingAddress fields)
05 (Digital goods, includes online services, electronic giftcards and redemption codes)
06 (Travel and Event tickets, not shipped)
07 (Other, e.g. gaming, digital service).
giftCardPurchase bool true if this is a purchase of a gift card.
reOrderPurchaseIndicator string Indicates if the cardholder is reordering previously purchased merchandise.
01 (First time ordered)
02 (Reordered).
pickUpAddress object If the shipIndicator is set to 04, you can prefill these fields with the payer’s pickUpAddress of the purchase to decrease the risk factor of the purchase.
name string If the shipIndicator is set to 04, prefill this with the payer’s name.
streetAddress string If the shipIndicator is set to 04, prefill this with the payer’s streetAddress. Maximum 50 characters long.
coAddress string If the shipIndicator is set to 04, prefill this with the payer’s coAddress.
city string If the shipIndicator is set to 04, prefill this with the payer’s city.
zipCode string If the shipIndicator is set to 04, prefill this with the payer’s zipCode.
countryCode string If the shipIndicator is set to 04, prefill this with the payer’s countryCode.