Use this call to initiate a payment.

*Note: If the "authorize" action is specified, a follow-up capture transaction is required to request for funding. Some brands do not allow a separate authorize - capture flow, and an "authorize" action leads directly to a final payment. For these brands the "payment" action is returned in the response.

Request Body Params

action
String(50)
required

Payment action to perform. Valid values:

payment - a final payment. No cancellation possible for successful final payments, only refunds possible.
authorize - a payment that can later be captured or cancelled.
header
Object
required

Header block.

businessId
String(50)
required

The ID provided to identify your company.

body
Object
required

Body block.

transaction
Object
required

Transaction block.

storeId
Number
required

An ID given to the business. It can be used to indicate a specific sub-account, generally to force a type of routing.

amount
Amount
required

The transaction amount. For account verification purposes, a zero amount is allowed for cards (and only for cards) when using the "authorize" payment action.

currencyCode
String(3)
required

Currency code for the transaction amount (ISO 4217-Alpha 3).

trackingCode
String(100)
required

Your Unique Transaction Reference. Minimum length: 8 characters.

brandId
Number
conditional

Identifies the transaction payment brand. Mandatory for all transactions, except for card transactions when your configuration allows the presence of the card block to be enough. See brand list.

countryCode
String(2)
conditional

Country code (ISO 3166-1 Alpha 2). This is a conditional field. It is not needed for card payments but is needed for some alternative payment brands.

languageCode
String(2)

Language code (ISO 639-1) for language to be used for customer UI for alternative payment brands. Only supported by some payment brands. Languages supported depends on the brand.

purchaseId
String(100)
conditional

A reference to the purchase within the Merchant's system.

returnUrl
String(2048)
conditional

URL to which the consumer is redirected after the transaction is completed or canceled for asynchronous payment flows (e.g. iDEAL, PayPal). When the redirection takes place, an id query parameter is appended to this URL with the current transaction id as its value.

Example:
If in the transaction request the returnUrl field has the value https://store.merchant.com/payment-complete, once the transaction is complete, the consumer will be redirected to https://store.merchant.com/payment-complete?id=1234 (where 1234 is the id of the transaction).

Please URL-encode this field.

invoiceId
String(255)

A reference to the invoice/order within the Merchant's system.

source
String(10)

Source of transaction, EC assumed. Possible values:

EC - Ecommerce transaction.
MO - Mail Order transaction.
TO - Telephone Order transaction.
type
String(15)

Type of transaction. Possible values:

SINGLE - A single, non-recurring transaction initiated by the cardholder. This is the default type.
FIRST - First transaction in a sequence of recurring transactions.
RECURRING - Second or subsequent transactions in a sequence of recurring transactions.
LAST - Last transaction in a sequence of recurring transactions. Used optionally for SEPA direct debit.
UNSCHEDULED_COF - Ad-hoc, merchant-initiated transaction where the card details are held on file.
schemeTransactionId
String(15)

The Scheme Transaction Id for the first transaction in a sequence of transactions. This value is returned by the relevant card scheme for each payment transaction (authorize/payment).

descriptor
String(127)

Description of the order as it would appear for the customer on for example (if applicable) the customer’s bank statement. The maximum length is generally bound to rules depending on the processor and brand.

token
String(50)

Token identifier to replace the card information. For more information check the tokenization guide.

cryptogram
String
conditional

Cryptogram for digital wallet transactions. Do not use this field for 3DS AAV.

cryptogramEci
String

E-commerce indicator for digital wallet transactions. Possible values:

00 - Internet Transaction (SecureCode)
01 - Authentication Attempted (SecureCode)
02 - Authenticated (SecureCode)
05 - Authenticated (VbV)
06 - Authentication Attempted (VbV)
07 - Internet Transaction (VbV)

Values 0, 1, 2, ... instead of 00, 01, 02, ... are also accepted.

tokenize
Boolean

Indicates if a token should be created based on the following fields: businessId, card.number, card.expiryMonth, card.expiryYear, and customer.customerId (taken into account only if present). For more information check the tokenization guide.

payTimeout
Number

Indicates the payment timeout in seconds. It can be used for some alternative payment methods.

dba
Object
conditional

Block with merchant data.

name
String(255)

Doing business as – name. For applicable suppliers.

street
String(56)

Street address of merchant. Used for applicable suppliers.

shortName
String(255)

Short name for “Doing business as”.

city
String(255)

City of merchant. Used for applicable suppliers as part of dynamic descriptor.

zip
String(10)

Zip code/postal code of merchant. Used for applicable suppliers as part of dynamic descriptor.

stateCode
String(15)

US State code. Used for applicable suppliers as part of dynamic descriptor.

countryCode
String(2)

Country code of merchant. Used for applicable suppliers as part of dynamic descriptor (ISO 3166-1 Alpha 2).

email
String(255)

Email of merchant. Used for applicable suppliers as part of dynamic descriptor.

phoneNumber
String(64)

Phone Number of merchant. Used for applicable suppliers as part of dynamic descriptor. The number can start with '+' prefix, but only numbers, letters, whitespaces and the characters ().#- are allowed.

subMerchantId
String(255)

The ID of the sub-merchant. This value is assigned by the sub-merchant's payment facilitator or acquirer. Cannot be space or zero filled. Used for applicable suppliers.

website
String(255)

Override the Merchant URL configured in the 3DS Server Merchant profile.

merchantCategoryCode
number

Merchant category code to override default value.

card
Object
conditional

Block with card data. Required for credit card transactions.

holderName
String(255)
conditional

Name of the card holder as printed on the card.

number
Card Number
conditional

Credit card number (PAN). See Data Types.

expiryMonth
Number(2)
conditional

Month part of expiry date. Format MM.

expiryYear
Number(4)
conditional

Year part of expiry date. Format: YYYY.

cvv
String(4)
conditional

CVV printed on the back of the card.

threeDSecure
Object

Optional block to provide 3D Secure data from an external 3DS Server or to initiate a 3D Secure flow. For more information see 3D Secure.

eci
String
conditional

Ecommerce indicator. Possible values:

00 - Internet Transaction (SecureCode)
01 - Authentication Attempted (SecureCode)
02 - Authenticated (SecureCode)
05 - Authenticated (VbV)
06 - Authentication Attempted (VbV)
07 - Internet Transaction (VbV)

Values 0, 1, 2,... instead of 00, 01, 02,... are also accepted.

avv
String
conditional

3D Secure Authentication verification value (CAVV or AAV), Base64 encoded.

xid
String
conditional

3D Secure XID, Base64 encoded.

dsTransactionId
String
conditional

The unique transaction identifier assigned by the directory server to identify a single transaction. Required for Mastercard 3D Secure 2 transactions when using an external 3DS Server.

version
string
conditional

3D Secure version of the transaction. It should be in the format: '2.2.0'.

checkEnrollment
Boolean
conditional

Indicates the system that a 3D Secure flow should be inititated.

exemption
Object

Optional block to provide 3D Secure 2.0 exemptions. For more information see 3D Secure.

lowValue
Boolean
conditional

Indicates whether a low value exemption is requested.

trustedBeneficiary
Boolean
conditional

Indicates whether a trusted beneficiary exemption is requested.

secureCorporate
Boolean
conditional

Indicates whether a secure corporate payment exemption is requested.

transactionRiskAnalysis
Boolean
conditional

Indicates whether a transaction risk analysis exemption is requested.

vmid
string
conditional

Visa Merchant Identifier – Required in case the Trusted Beneficiary Exemption is being applied with Visa Secure.

additionalInfo
Object

Additional data for three D Secure 2.0 flows. For more information see 3D Secure.

challengeIndicator
String(2)

Challenge preference:

01 - No preference. Default value.
02 - No challenge requested.
03 - Challenge requested(3DS Requester Preference).
04 - Challenge requested(Mandate).

merchantFraudRate
number

Only applicable for MasterCard. This field can be used by Merchant to take advantage the MasterCard PSD2 extension if desired. Calculated as per PSD2* RTS* (EEA* card fraud divided by all EEA card volumes). Possible values:

1 - Represents fraud rate equal or less than 1.
2 - Represents fraud rate between 1 and 6 including 6.
3 - Represents fraud rate between 6 and 13 including 13.
4 - Represents fraud rate between 13 and 25 including 25.
5 - Represents fraud rate greater than 25.

EEA* = European Economic Area.
RTS* = Regulatory Technical Standards.
PSD2* = Payment Services Directive.

challengeWindowSize
string(2)

Sets the challenge window size to display to the end cardholder. The ACS will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window. Possible values:

01 - 250x400.
02 - 390x400.
03 - 500x600.
04 - 600x400.
05 - Full page.
decoupledMaxTime
number

Sets the maximum amount of time that the 3DS requester will wait for an ACS to provide the results of a decoupled authentication transaction. Possible values:
values between 1 and 10080 accepted.

decoupledIndicator
string

Sets whether the 3DS requester requests the ACS to utilize decoupled authentication and agrees to utilize decoupled authentication if the ACS confirms its use. Possible values:

Y - Decoupled authentication is supported and preferred if challenge is necessary.
N - Do not use decoupled authentication.

Default value: N.

recurringInfo
Object

Recurring transaction information. Required when submitting the first transaction in the sequence.

purchaseDate
datetime

Date of first purchase in the sequence of recurring authorizations.

recurringEnd
date

Date after which no further recurring authorizations should be performed.

recurringFrequency
number

Minimum number of days between recurring authorizations. A frequency of monthly is indicated by the value 28. Multiples of 28 days should be used to indicate the number of months.

bank
Object
conditional

Block needed for bank account transactions.

issuerId
Number
conditional

Identifier of the issuing bank. Mandatory for some transactions e.g. iDeal.

name
String(255)

Name of the bank.

countryCode
String(2)
conditional

Country code of the bank (ISO 3166-1 Alpha 2).

accountNumber
String(255)
conditional

Bank account number.

accountHolderName
String(255)
conditional

Bank account holder name.

iban
String(255)
conditional

International Bank Account Number. Mandatory for some transactions e.g. Direct Debit.

bic
String(11)
conditional

Bank Identifier Code (ISO 9362). The value must be either 8 or 11 characters long.

bankCode
String(15)
conditional

National bank code assigned to the bank by the central banking authority of the bank's country.

mandateId
String(35)
conditional

The Unique Mandate Reference (UMR).

dateMandateSigned
Date
conditional

Date the mandate was signed. Format: YYYY-MM-DD.

dateCollection
Date

Date the payment should be collected. Format YYYY-MM-DD.

account
Object
conditional

Account block. Used for wallets, vouchers, gift cards, etc.

id
String(255)
conditional

The account identifier. For gift cards, this is the gift card number.

key
String(255)
conditional

The security key/PIN for the account.

expiryDate
String(10)

The expiry date for the account. Required for some gift cards.

mobileRedirect
Object

Optional block for redirecting customers to complete payment on mobile devices (available for some alternative payment methods). For more information see QR codes and mobile intent links.

mode
string
conditional

Indicates the type of mobile redirect to be generated. Valid values:

QR - generates a QR code that can be scanned using a mobile app on a different device.
LINK - generates an intent link to launch the mobile app on the same device.
imageSize
Number

The size (in pixels) of the image (e.g. QR code) to be generated. Only supported by some alternative payment methods.

option
Object

Block to set options for the payment process. Please refer to the description per method/brand.

noShipping
Number(1)

PayPal only. Determines whether or not PayPal displays shipping address fields on the experience pages. Allowed values:

0 - PayPal displays the shipping address within the PayPal checkout.
1 - PayPal does not display the shipping address fields at all.
2 - If shipping address isn't provided, PayPal obtains it from the buyer’s account profile.

For digital goods, this field is required and must be set to 1.

brandName
String

PayPal only. Name of brand the business wants to indicate.

cartBorderColor
String

PayPal only. Cart border color.

headerImage
String

PayPal only. Header image.

quantity
Number(5)

PayPal only. Total quantity.

locale
String

PayPal only. Defines the language to be used in the PayPal checkout.

processingType
Number(1)

PayPal only. Indicates how the transaction is processed.

0 – Complete payment on PayPal site.
1 – Paypal Express.
minAgeRestriction
Number(3)

Used to restrict payments to customers who are at least the specified number of years old. Supported only by some payment methods (e.g. PaySafeCard).

countryRestriction
String(2)

Country code (ISO 3166-1 Alpha 2) used to restrict payments to customers of the specified country. Supported only by some payment methods (e.g. PaySafeCard).

customer
Object

Customer specific data. Needed for some alternative payment methods and fraud checks.

customerId
String(255)

The ID you want to use to identify a customer.

givenName
String(255)

Given name of the customer.

familyName
String(255)

Last name of the customer.

sex
String(1)

Gender of customer. M=Male, F=Female.

birthDate
Date

Birth date of the customer. Required for some risk checks.

phoneNumber
String(64)

Phone number of the customer. Recommended format E.164. Required for some risk checks.

mobileNumber
String(64)

Mobile number of the customer. Recommended format E.164. Required for some risk checks.

email
String(255)

Email address of the customer.

companyName
String(255)

Company name of the customer.

identificationTypeId
Number(5)

Type of National Identification Number

1 – Passport
2 – Driver’s license
3 – ID card
4 – Tax statement
identificationNumber
String(255)

National Identification Number. The number used on the document identified by the identificationTypeId. This value is mandatory if identificationTypeId is 4.

ipAddress
String(64)

IPV4 or IPV6 address of customer (as registered by merchant).

type
Number(1)

Customer type:

1 - personal
2 - company
taxNumber
String(255)

Tax number.

httpUserAgent
String(255)

HTTP User agent as detected by the business.

deviceType
Number (1)

Device types supported:

1 - Desktop Web
2 - Desktop App
3 - Mobile Web
4 - Mobile App
5 - Tablet Web
6 - Tablet App
workPhoneNumber
String(64)

Work phone number of the customer. Recommended format E.164. Required for some risk checks.

authInfo
Object

Authentication information data for 3DS2. For more information see 3D Secure.

alternateAuthenticationMethod
String(2)

Sets the mechanism used by the cardholder to authenticate to the 3DS requester. Possible values:

01 - No authentication occurred.value.
02 - Login to the cardholder account at the merchant system using merchant system credentials.
03 - Login to the cardholder account at the merchant system using a federated ID.
04 - Login to the cardholder account at the merchant system using Issuer credentials.
05 - Login to the cardholder account at the merchant system using third-party authentication.
06 - Login to the cardholder account at the merchant system using FIDO authenticator.
alternateAuthenticationDate
DateTime

Sets date and time in UTC of the cardholder authentication.

alternateAuthenticationData
String
conditional

Sets the data that documents and supports a specific authentication process that was sent in the alternateAuthenticationDate.

priorAuthInfo
Object

Prior Authentication information data for 3DS2. For more information see 3D Secure.

authenticationData
String

Sets the data that the ACS can use to verify the authentication process.

authenticationMethod
String(2)

Mechanism used by the cardholder to previously authenticate to the 3DS requestor. Possible values:

01 - Frictionless authentication occurred by ACS.
02 - Cardholder challenge occurred by ACS.
03 - AVS verified.
04 - Other issuer methods.
05-79 - Reserved for EMVCo future use.
80-99 - Reserved for DS use.
authenticationDate
DateTime

Sets date and time in UTC of the prior cardholder authentication.

authenticationRef
String

The data element contains a ACS transaction ID for a prior authenticated transaction.

billingAddress
Object
conditional

Billing address data of the customer, for specific brands, also needed for AVS and fraud checks.

street
String(255)

The name of the street.

houseNumber
String(255)

The number of the house.

houseNumberSuffix
String(255)

The suffix of the house number.

streetInfo
String(255)

Additional street information.

city
String(255)

The name of the city.

stateCode
String(3)

State code (ISO 3166-2).

zip
String(20)

Zip code/postal code for the billing address.

countryCode
String(2)

Country code (ISO 3166-2).

shippingAddress
Object
conditional

Shipping address data of the customer. Needed for some brands (PayPal) and fraud checks.

street
String(255)

The name of the street.

houseNumber
String(255)

The number of the house.

houseNumberSuffix
String(255)

The suffix of the house number.

streetInfo
String(255)

Additional street information.

city
String(255)

The name of the City.

stateCode
String(3)

State code (ISO 3166-2).

zip
String(20)

Zip code/postal code for the shipping address.

countryCode
String(2)

Country code (ISO 3166-2).

customer
Object

Customer specific data, needed for some alternative payment methods and fraud checks.

customerId
String(255)

The ID you want to use to identify a customer.

givenName
String(255)

Given name of the customer.

familyName
String(255)

Last name of the customer.

sex
String(1)

Gender of customer. M=Male, F=Female.

birthDate
Date

The customer's date of birth. Format: YYYY-MM-DD. Required for some risk checks.

phoneNumber
String(64)

Phone number of the customer. Recommended format E.164. Required for some risk checks.

mobileNumber
String(64)

Mobile number of the customer. Recommended format E.164. Required for some risk checks.

email
String(255)

Email address of the customer.

companyName
String(255)

Company name of the customer.

identificationTypeId
Number(5)

Type of National Identification Number

1 – Passport
2 – Driver’s license
3 – ID card
4 – Tax statement
identificationNumber
String(255)

National Identification Number. The number used on the document identified by the identificationTypeId. This value is mandatory if identificationTypeId is 4.

ipAddress
String(64)

IPV4 or IPV6 address of customer (as registered by merchant).

type
Number(1)

Customer type:

1 - personal
2 - company
taxNumber
String(255)

Tax number.

httpUserAgent
String(255)

HTTP User agent as detected by the business.

deviceType
Number (1)

Device types supported:

1 - Desktop Web
2 - Desktop App
3 - Mobile Web
4 - Mobile App
5 - Tablet Web
6 - Tablet App
workPhoneNumber
String(64)

Work phone number of the customer. Recommended format E.164. Required for some risk checks.

riskInfo
Object

Risk information data for 3DS2. For more information see 3D Secure.

shippingMethodIndicator
string(2)

Shipping method chosen for the transaction Possible values:

01 - Ship to cardholder billing address.
02 - Ship to another verified address on file with merchant.
03 - Ship to address that is different than billing address.
04 - Ship to store (store address should be populated on request).
05 - Digital goods.
06 - Travel and event tickets, not shipped.
07 - Other.
deliveryTimeframe
string(2)

Indicates the delivery timeframe. Possible values:

01 - Electronic delivery.
02 - Same day shipping.
03 - Overnight shipping.
04 - Two or more-day shipping.
deliveryEmail
string(255)

Email address to which the merchandise was delivered. Only for electronic delivery.

reorderIndicator
string(2)

Indicates whether the cardholder is reordering previously purchased merchandise. Possible values:

01 - First time ordered.
02 - Reordered.
preOrderIndicator
string(2)

Indicates whether cardholder is placing an order with a future availability or release date. Possible values:

01 - Merchandise available.
02 - Future availability.
preOrderDate
date

Expected date that a pre-ordered purchase will be available.

giftCard
Object

Gift card data for 3DS2. For more information see 3D Secure.

amount
amount

Sets the total purchase amount for prepaid gift cards.

currencyCode
string(3)

Currency code for the transaction amount (ISO 4217-Alpha 3).

count
number

Total count of individual prepaid gift cards purchased.

cardHolderInfo
Object

Card holder information for 3DS2. For more information see 3D Secure.

accountAgeIndicator
string(2)

Length of time the cardholder has had the account. Possible values:

01 - No account.
02 - Created during transaction.
03 - Less than 30 days.
04 - 30-60 days.
05 - More than 60 days.
accountCreateDate
date

Date the cardholder opened the account.

accountChangeIndicator
string(2)

Length of time the cardholder has had the account. Possible values:

01 - Changed during transaction.
02 - Less than 30 days.
03 - 30-60 days.
04 - More than 60 days.
accountChangeDate
date

Date the account of the cardholder was last changed. This includes changes to the billing or shipping address, new payment accounts or new users added.

accountPwdChangeIndicator
string(2)

Length of time since the cardholder changed or reset the password on the account. Possible values:

01 - No change.
02 - Changed during transaction.
03 - Less than 30 days.
04 - 30-60 days.
05 - More than 60 days.
accountPwdChangeDate
date

Date the cardholder last changed or reset password on account.

shippingAddressUsageIndicator
string(2)

Indicator about when the shipping address used for transaction was first used. Possible values:

01 - This transaction.
02 - Less than 30 days.
03 - 30-60 days.
04 - More than 60 days.
shippingAddressUsageDate
date

Date when the shipping address used for this transaction was first used.

transactionCountDay
number

Number of transactions (successful or abandoned) for this cardholder account within the last 24 hours.

transactionCountYear
number

Number of transactions (successful or abandoned) for this cardholder account within the last year.

addCardAttempts
number

Number of add card attempts in the last 24 hours.

accountPurchases
number

Number of purchases with this cardholder account during the previous six months.

fraudActivity
string(2)

Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account. Possible values:

01 - No suspicious activity.
02 - Suspicious activity observed.
paymentAccountIndicator
string(2)

Length of time that the payment account was enrolled in the merchant account. Possible values:

01 - No account (guest checkout).
02 - During the transaction.
03 - Less than 30 days.
04 - 30-60 days.
05 - More than 60 days.
paymentAccountAge
date

Date the payment account was added to the cardholder account.

order
Object
conditional

Order information, including the products of the transaction.

orderlines
array[object]
conditional

Zero, one or multiple order lines.

productName
String(255)

Name of the product or service.

productCode
String(255)

Code of the product or service.

description
String(2048)

Line description.

itemAmount
Amount(10,2)

Price per item.

quantity
Number(5)

Number of items.

totalAmount
Amount(10,2)

Total amount of line.

purchaseType
String(255)

Identifier assigned by the payment acceptor that categorizes the item being purchased.

taxPercentage
Number(3,2)

The percentage used for the tax or VAT.

Response Body Params

result
Number
required

The result of the payment. See result codes.

description
String(150)
required

A short description of the result.

header
Object
required

Header block.

requestTimestamp
Date-time
required

The combined date and time in UTC (ISO8601).

requestCode
String(64)

An internally-generated tracking code.

body
Object
required

Body block.

transaction
Object
conditional

Transaction data.

action
String(50)
required

Actual action performed. Valid values:

payment - a final payment. No cancellation possible.
authorize - a payment that can later be captured or cancelled.

In case a separate capture is NOT possible, the transaction will be interpreted and performed as a payment transaction and cannot be cancelled, but can be refunded and with result=0 considered as a “successful payment".

id
String(100)
required

Unique transaction ID given to each transaction.

trackingCode
String(100)
required

Your unique transaction reference.

amount
Amount
required

Amount of the transaction.

currencyCode
String(3)
required

Currency code of the amount of the transaction.

brandId
Number

Identified payment brand. See brand list.

descriptor
String(127)

Descriptor determined by Gateway.

schemeTransactionId
String(15)

The Scheme Transaction Id for the transaction. This value is returned by the relevant card scheme for each payment transaction (authorize/payment).

redirect
Object
conditional

Returned in case of payment brands for which the customer needs to be redirected to the bank/payment provider page (asynchronous workflow)

method
String(4)
conditional

POST or GET (depends on brand used). The default value is POST

url
String
conditional

URL including the query string to which your customer is redirected (depends on brand used).

fields
Object
conditional

Hidden fields (parameters) to post in the body of the message (can be present for redirect method POST only).

{key}*
String(4000)
conditional

Keys to be POST in hidden parameters when redirecting the customer. All keys need to be posted.

card
Object
conditional

Data referencing the card payment made.

brandId
number

The payment brand id of the card used in a digital wallet transaction. Only returned for digital wallet transactions. See brand list.

approvalCode
String(10)

Approval code of issuer/supplier.

avsResult
String(1)

Result of the AVS check. See AVS Result.

cvvResult
String(1)

Result of the CVV check. See CVV Result.

firstSixDigits
String(6)

Initial six digits or bin of the credit or debit card.

lastFourDigits
String(4)

Last four digits of the card number used (credit or debit). For digital wallet transactions, this could be the digital PAN (DPAN) rather than the funding PAN (FPAN).

lastFourDigitsSource
String(4)

For digital wallet transactions, the last four digits of the source account used to fund the transaction (e.g. credit card number, debit card number).

expiryMonth
String(2)

Month part of the expiry date of the card.

expiryYear
String(4)

Year part of the expiry date of the card.

holderName
String(255)

Name of the card holder as printed on the card.

avsAuthorizationEntity
String(1)

The code for the entity checking the AVS.

recurringAdvice
String(2)
conditional

For recurring transactions a recurring advice code may be returned by card schemes. See recurring advice code.

threeDResult
String(1)
conditional

Result of the AVV (CAVV or UCAF) check. See 3D Secure Result.

threeDSecure
Object
conditional

3D Secure results. For more information see 3D Secure.

enrollmentResult
String(1)

Enrollment result:

  • Y - Yes, consumer enrolled in 3D Secure program and eligible for authentication.
  • N - No, consumer not enrolled in 3D Secure program.
  • U - Unavailable, Directory Server (DS) or Access Control Server (ACS) not available at the time of the request.
  • B - Bypass, 3D Secure program not applied.
authenticationResult
String(1)

Authentication result:

  • Y - Authenticated (Issuer liability).
  • A - Attempted.
  • N - Failed (Merchant liability).
  • U - Unavailable (Merchant liability).
  • R - Rejected (Merchant liability).
  • I - Information only due to 3DS exemption (Merchant liability).
flow
String

In case of 3DS 2.0, indicates the flow used:

  • FRICTIONLESS.
  • CHALLENGE.
version
String

In case of 3DS 2.0, indicates the version of the protocol used.

bank
Object
conditional

Block containing bank information.

name
String(255)

Name of the bank.

countryCode
String(2)

Country code of the bank (ISO 3166-1 Alpha 2).

accountNumber
String(255)

Bank account number.

accountHolderName
String(255)

Bank account holder name.

iban
String(255)
conditional

International Bank Account Number.

bic
String(11)

Bank Identifier Code (ISO 9362).

mandateId
String(35)
conditional

The Unique Mandate Reference (UMR).

dateMandateSigned
Date
conditional

Date the mandate was signed. Format: YYYY-MM-DD.

dateCollection
Date

Date the payment should be collected. Format YYYY-MM-DD.

account
Object
conditional

Account block. Used for wallets, vouchers, gift cards, etc.

id
String(255)
conditional

The account identifier. For gift cards, this is the gift card number.

accountBrand
String(255)

The brand of the account (if available).

balance
decimal
conditional

The remaining balance in the account.

clientTransactionReference
String(255)

The reference to be used by the client when disputing a transaction on the account.

mobileRedirect
Object
conditional

Data for redirecting to a mobile app. Only returned if mobileRedirect requested and it is supported by the payment method.

qr
Object

Data for redirection via QR code.

resource
String

URL/Location of the QR code image. Available for iDEAL QR only.

encodedData
String

The content of the QR code image in Base-64 encoded format.

mimeType
string

The MIME type of the encodedData file e.g. image/png.

url
String

The URL/Location to which the QR code redirects. This can be used to generate a QR code.

link
Object

Data for redirection via intent link.

token
Object
conditional

Block containing token information. It will be returned when in the transaction request the tokenize field is set to true or when a token has been used. See the tokenization section for further information.

token
String(50)
required

Token identifier.

displayHint
String(19)
required

The masked card/account number. Only the last four digits will be visible e.g. ************1234.

error
Object

Contains the error(s) when the transaction resulted in an error.

code
Number
required

Multiple errors are possible. Not mandatory for a number of results.

message
String
required

Error code (internally raised EVENT/ERROR CODE) on detailed level.

detailedMessage
String
required

A more detailed error message when available. If not available, contains the same as error.message.

messages[]
Object[]

An array containing any messages resulting from the transaction.

type
String
required

The type of the message. Valid values:

INFO - a message that provides additional information.
WARNING - a warning message that may indicate that some action should be taken.
code
Number
required

A code identifying the message.

message
String
required

The message text.

detailedMessage
String
required

A more detailed message when available. If not available, contains the same as messages[].message

additionalInfo
Object

Contains additional info from the provider (when available).

customer
Object
conditional

The customer's details. Returned for PayPal Express Checkout transactions.

phone
String

The phone number of the customer.

email
String

The email address of the customer.

status
String

The status of the customer's account (e.g. Verified) as reported by the provider.

shippingAddress
Object
conditional

The shipping address for the order. Returned for PayPal Express Checkout transactions.

customer
Object
conditional

The details of the customer receiving the order.

givenName
String
conditional

The given name of the customer.

familyName
String
conditional

The family name of the customer.

street
String
conditional

The street name (and number, if relevant) for the shipping address.

street2
String
conditional

Apartment, building name, etc. (if relevant) for the shipping address.

city
String
conditional

The city for the shipping address.

stateCode
String
conditional

The code representing the state for the shipping address. Not provided for all countries.

countryCode
String
conditional

The code representing the country for the shipping address. Complies with ISO 3166-1 Alpha 2 format.

zip
String
conditional

The zip/postal code for the shipping address. Not provided for all countries.

status
String
conditional

The status of the address as reported by the provider. Only supported by some providers.

Language