POST /donations

Takes in the donation token generated by the /payments request and uses it to make the donation for the donation account specified in the request.

For more information, see Donations.

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Idempotency-Key String No

A unique identifier for the message with a maximum of 64 characters (we recommend a UUID).

Request body fields

Name Type Required Description
donationOriginalPspReference String No

PSP reference of the transaction from which the donation token is generated. Required when donationToken is provided.

paymentMethod Object Yes

The type and required details of a payment method to use.

shopperReference String No

Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. Minimum length: 3 characters.

Your reference must not include personally identifiable information (PII), for example name or email address.

donationAccount String No

Donation account to which the transaction is credited.

shopperIP String No

The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).

For 3D Secure 2 transactions, schemes require shopperIP for all browser-based implementations. This field is also mandatory for some merchants depending on your business model. For more information, contact Support.

shopperName Object No

The shopper's full name.

shopperName.lastName String Yes

The last name.

shopperName.firstName String Yes

The first name.

deviceFingerprint String No

A string containing the shopper's device fingerprint. For more information, refer to Device fingerprinting.

donationCampaignId String No

The donation campaign ID received in the /donationCampaigns call.

metadata Object No

Metadata consists of entries, each of which includes a key and a value. Limits:

  • Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit".
  • Maximum 20 characters per key.
  • Maximum 80 characters per value.
conversionId String No

Conversion ID that corresponds to the Id generated by the client SDK for tracking user payment journey.

merchantAccount String Yes

The merchant account identifier, with which you want to process the transaction.

additionalData Object No

This field contains additional data, which may be required for a particular payment request.

The additionalData object consists of entries, each of which includes the key and value.

shopperLocale String No

The combination of a language code and a country code to specify the language to be used in the payment.

telephoneNumber String No

The shopper's telephone number.

recurringProcessingModel String No

Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details. Allowed values:

  • Subscription – A transaction for a fixed or variable amount, which follows a fixed schedule.
  • CardOnFile – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.
  • UnscheduledCardOnFile – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.

Possible values:

  • "CardOnFile"
  • "Subscription"
  • "UnscheduledCardOnFile"
redirectToIssuerMethod String No

Specifies the redirect method (GET or POST) when redirecting to the issuer.

shopperInteraction String No

Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default.

This field has the following possible values:

  • Ecommerce - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.
  • ContAuth - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).
  • Moto - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.
  • POS - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.

Possible values:

  • "ContAuth"
  • "Ecommerce"
  • "POS"
  • "Moto"
redirectFromIssuerMethod String No

Specifies the redirect method (GET or POST) when redirecting back from the issuer.

authenticationData Object No

Data for 3DS authentication.

authenticationData.attemptAuthentication String No

Indicates when 3D Secure authentication should be attempted. This overrides all other rules, including Dynamic 3D Secure settings.

Possible values:

  • always: Perform 3D Secure authentication.
  • never: Don't perform 3D Secure authentication. If PSD2 SCA or other national regulations require authentication, the transaction gets declined.

Possible values:

  • "never"
  • "always"
authenticationData.threeDSRequestData Object No

Object with additional parameters for the 3D Secure authentication flow.

authenticationData.threeDSRequestData.nativeThreeDS String No

Indicates if native 3D Secure authentication should be used when available.

Possible values:

  • preferred: Use native 3D Secure authentication when available.
  • disabled: Only use the redirect 3D Secure authentication flow.

Possible values:

  • "preferred"
  • "disabled"
authenticationData.threeDSRequestData.threeDSVersion String No

The version of 3D Secure to use.

Possible values:

  • 2.1.0
  • 2.2.0

Possible values:

  • "2.1.0"
  • "2.2.0"
authenticationData.threeDSRequestData.dataOnly String No

Flag for data only flow.

Possible values:

  • "false"
  • "true"
authenticationData.threeDSRequestData.challengeWindowSize String No

Dimensions of the 3DS2 challenge window to be displayed to the cardholder.

Possible values:

  • 01 - size of 250x400
  • 02 - size of 390x400
  • 03 - size of 500x600
  • 04 - size of 600x400
  • 05 - Fullscreen

Possible values:

  • "05"
  • "04"
  • "03"
  • "02"
  • "01"
authenticationData.authenticationOnly Boolean No

If set to true, you will only perform the 3D Secure 2 authentication, and not the payment authorisation. Default: false.

Default value: false

returnUrl String Yes

The URL to return to in case of a redirection. The format depends on the channel. This URL can have a maximum of 1024 characters.

  • For web, include the protocol http:// or https://. You can also include your own additional query parameters, for example, shopper ID or order reference number. Example: https://your-company.com/checkout?shopperOrder=12xy
  • For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the Apple Developer documentation. Example: my-app://
  • For Android, use a custom URL handled by an Activity on your app. You can configure it with an intent filter. Example: my-app://your.package.name

If the URL to return to includes non-ASCII characters, like spaces or special letters, URL encode the value.

The URL must not include personally identifiable information (PII), for example name or email address.

merchantRiskIndicator Object No

Additional risk fields for 3D Secure 2.

For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.

merchantRiskIndicator.giftCardCount Integer No

For prepaid or gift card purchase, total count of individual prepaid or gift cards/codes purchased.

merchantRiskIndicator.giftCardCurr String No

For prepaid or gift card purchase, ISO 4217 three-digit currency code of the gift card, other than those listed in Table A.5 of the EMVCo 3D Secure Protocol and Core Functions Specification.

merchantRiskIndicator.reorderItemsInd String No

Indicates whether the cardholder is reordering previously purchased merchandise.

merchantRiskIndicator.reorderItems Boolean No

Indicator for whether the shopper has already purchased the same items in the past.

merchantRiskIndicator.giftCardAmount Object No

For prepaid or gift card purchase, the purchase amount total of prepaid or gift card(s).

merchantRiskIndicator.giftCardAmount.value Integer Yes

The amount of the transaction, in minor units.

merchantRiskIndicator.giftCardAmount.currency String Yes

The three-character ISO currency code.

merchantRiskIndicator.preOrderDate String No

For pre-order purchases, the expected date this product will be available to the shopper.

merchantRiskIndicator.deliveryAddressIndicator String No

Indicator regarding the delivery address. Allowed values:

  • shipToBillingAddress
  • shipToVerifiedAddress
  • shipToNewAddress
  • shipToStore
  • digitalGoods
  • goodsNotShipped
  • other

Possible values:

  • "digitalGoods"
  • "shipToBillingAddress"
  • "other"
  • "shipToStore"
  • "goodsNotShipped"
  • "shipToVerifiedAddress"
  • "shipToNewAddress"
merchantRiskIndicator.addressMatch Boolean No

Whether the chosen delivery address is identical to the billing address.

merchantRiskIndicator.deliveryEmail String No

The delivery email address (for digital goods).

merchantRiskIndicator.deliveryEmailAddress String No

For Electronic delivery, the email address to which the merchandise was delivered. Maximum length: 254 characters.

merchantRiskIndicator.preOrderPurchase Boolean No

Indicator for whether this transaction is for pre-ordering a product.

merchantRiskIndicator.deliveryTimeframe String No

The estimated delivery time for the shopper to receive the goods. Allowed values:

  • electronicDelivery
  • sameDayShipping
  • overnightShipping
  • twoOrMoreDaysShipping

Possible values:

  • "overnightShipping"
  • "twoOrMoreDaysShipping"
  • "electronicDelivery"
  • "sameDayShipping"
merchantRiskIndicator.preOrderPurchaseInd String No

Indicates whether Cardholder is placing an order for merchandise with a future availability or release date.

merchantRiskIndicator.shipIndicator String No

Indicates shipping method chosen for the transaction.

threeDSAuthenticationOnly Boolean No

If set to true, you will only perform the 3D Secure 2 authentication, and not the payment authorisation.

Default value: false

reference String Yes

The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters.

socialSecurityNumber String No

The shopper's social security number.

lineItems[] Array No

Price and product information about the purchased items, to be included on the invoice sent to the shopper.

This field is required for 3x 4x Oney, Affirm, Afterpay, Clearpay, Klarna, Ratepay, Riverty, and Zip.

lineItems[].size String No

Size of the item.

lineItems[].description String No

Description of the line item.

lineItems[].brand String No

Brand of the item.

lineItems[].taxAmount Integer No

Tax amount, in minor units.

lineItems[].quantity Integer No

Number of items.

lineItems[].productUrl String No

Link to the purchased item.

lineItems[].amountExcludingTax Integer No

Item amount excluding the tax, in minor units.

lineItems[].imageUrl String No

Link to the picture of the purchased item.

lineItems[].marketplaceSellerId String No

Marketplace seller id.

lineItems[].id String No

ID of the line item.

lineItems[].amountIncludingTax Integer No

Item amount including the tax, in minor units.

lineItems[].itemCategory String No

Item category, used by the payment methods PayPal and Ratepay.

lineItems[].receiverEmail String No

Email associated with the given product in the basket (usually in electronic gift cards).

lineItems[].sku String No

Stock keeping unit.

lineItems[].manufacturer String No

Manufacturer of the item.

lineItems[].taxPercentage Integer No

Tax percentage, in minor units.

lineItems[].upc String No

Universal Product Code.

lineItems[].color String No

Color of the item.

deliveryAddress Object No

The address where the purchased goods should be delivered.

deliveryAddress.postalCode String Yes

A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.

deliveryAddress.lastName String No
deliveryAddress.stateOrProvince String No

The two-character ISO 3166-2 state or province code. For example, CA in the US or ON in Canada.

Required for the US and Canada.

deliveryAddress.firstName String No
deliveryAddress.country String Yes

The two-character ISO-3166-1 alpha-2 country code. For example, US.

If you don't know the country or are not collecting the country from the shopper, provide country as ZZ.

deliveryAddress.houseNumberOrName String Yes

The number or name of the house. Maximum length: 3000 characters.

deliveryAddress.street String Yes

The name of the street. Maximum length: 3000 characters.

The house number should not be included in this field; it should be separately provided via houseNumberOrName.

deliveryAddress.city String Yes

The name of the city. Maximum length: 3000 characters.

browserInfo Object No

The shopper's browser information.

For 3D Secure, the full object is required for web integrations. For mobile app integrations, include the userAgent and acceptHeader fields to indicate that your integration can support a redirect in case a payment is routed to 3D Secure 1.

browserInfo.javaScriptEnabled Boolean No

Boolean value indicating if the shopper's browser is able to execute JavaScript. A default 'true' value is assumed if the field is not present.

Default value: true

browserInfo.screenWidth Integer Yes

The total width of the shopper's device screen in pixels.

browserInfo.timeZoneOffset Integer Yes

Time difference between UTC time and the shopper's browser local time, in minutes.

browserInfo.screenHeight Integer Yes

The total height of the shopper's device screen in pixels.

browserInfo.acceptHeader String Yes

The accept header value of the shopper's browser.

browserInfo.colorDepth Integer Yes

The color depth of the shopper's browser in bits per pixel. This should be obtained by using the browser's screen.colorDepth property. Accepted values: 1, 4, 8, 15, 16, 24, 30, 32 or 48 bit color depth.

browserInfo.javaEnabled Boolean Yes

Boolean value indicating if the shopper's browser is able to execute Java.

browserInfo.language String Yes

The navigator.language value of the shopper's browser (as defined in IETF BCP 47).

browserInfo.userAgent String Yes

The user agent value of the shopper's browser.

deliverAt String No

The date and time the purchased goods should be delivered.

Format ISO 8601: YYYY-MM-DDThh:mm:ss.sssTZD

Example: 2017-07-17T13:42:40.428+01:00

threeDS2RequestData Object No

Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to Online payments or Classic integration documentation.

threeDS2RequestData.threeDSCompInd String No

Completion indicator for the device fingerprinting.

threeDS2RequestData.sdkEphemPubKey Object No

The sdkEphemPubKey value as received from the 3D Secure 2 SDK.

threeDS2RequestData.sdkEphemPubKey.kty String No

The kty value as received from the 3D Secure 2 SDK.

threeDS2RequestData.sdkEphemPubKey.crv String No

The crv value as received from the 3D Secure 2 SDK.

threeDS2RequestData.sdkEphemPubKey.x String No

The x value as received from the 3D Secure 2 SDK.

threeDS2RequestData.sdkEphemPubKey.y String No

The y value as received from the 3D Secure 2 SDK.

threeDS2RequestData.sdkReferenceNumber String No

The sdkReferenceNumber value as received from the 3D Secure 2 SDK.

threeDS2RequestData.transType String No

Identifies the type of transaction being authenticated. Length: 2 characters. Allowed values:

  • 01 — Goods/Service Purchase
  • 03 — Check Acceptance
  • 10 — Account Funding
  • 11 — Quasi-Cash Transaction
  • 28 — Prepaid Activation and Load

Possible values:

  • "11"
  • "10"
  • "28"
  • "03"
  • "01"
threeDS2RequestData.mcc String No

Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly authentication-only integrations. The mcc is a four-digit code with which the previously given acquirerMerchantID is registered at the scheme.

threeDS2RequestData.threeDSRequestorName String No

Required for authentication-only integration for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.

threeDS2RequestData.recurringExpiry String No

Date after which no further authorisations shall be performed. Format: YYYYMMDD

threeDS2RequestData.threeDSRequestorChallengeInd String No

Indicates whether a challenge is requested for this transaction. Possible values:

  • 01 — No preference
  • 02 — No challenge requested
  • 03 — Challenge requested (3DS Requestor preference)
  • 04 — Challenge requested (Mandate)
  • 05 — No challenge (transactional risk analysis is already performed)
  • 06 — Data Only

Possible values:

  • "06"
  • "05"
  • "04"
  • "03"
  • "02"
  • "01"
threeDS2RequestData.acctInfo Object No

Additional information about the Cardholder’s account provided by the 3DS Requestor.

threeDS2RequestData.acctInfo.chAccChange String No

Date that the cardholder’s account with the 3DS Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added. Format: YYYYMMDD

threeDS2RequestData.acctInfo.chAccPwChangeInd String No

Indicates the length of time since the cardholder’s account with the 3DS Requestor had a password change or account reset. Allowed values:

  • 01 — No change
  • 02 — Changed during this transaction
  • 03 — Less than 30 days
  • 04 — 30–60 days
  • 05 — More than 60 days

Possible values:

  • "05"
  • "04"
  • "03"
  • "02"
  • "01"
threeDS2RequestData.acctInfo.suspiciousAccActivity String No

Indicates whether the 3DS Requestor has experienced suspicious activity (including previous fraud) on the cardholder account. Allowed values:

  • 01 — No suspicious activity has been observed
  • 02 — Suspicious activity has been observed

Possible values:

  • "02"
  • "01"
threeDS2RequestData.acctInfo.txnActivityDay String No

Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous 24 hours. Max length: 3 characters.

threeDS2RequestData.acctInfo.nbPurchaseAccount String No

Number of purchases with this cardholder account during the previous six months. Max length: 4 characters.

threeDS2RequestData.acctInfo.chAccChangeInd String No

Length of time since the cardholder’s account information with the 3DS Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added. Allowed values:

  • 01 — Changed during this transaction
  • 02 — Less than 30 days
  • 03 — 30–60 days
  • 04 — More than 60 days

Possible values:

  • "04"
  • "03"
  • "02"
  • "01"
threeDS2RequestData.acctInfo.chAccPwChange String No

Date that cardholder’s account with the 3DS Requestor had a password change or account reset. Format: YYYYMMDD

threeDS2RequestData.acctInfo.shipAddressUsage String No

String when the shipping address used for this transaction was first used with the 3DS Requestor. Format: YYYYMMDD

threeDS2RequestData.acctInfo.shipNameIndicator String No

Indicates if the Cardholder Name on the account is identical to the shipping Name used for this transaction. Allowed values:

  • 01 — Account Name identical to shipping Name
  • 02 — Account Name different to shipping Name

Possible values:

  • "02"
  • "01"
threeDS2RequestData.acctInfo.paymentAccAge String No

String that the payment account was enrolled in the cardholder’s account with the 3DS Requestor. Format: YYYYMMDD

threeDS2RequestData.acctInfo.paymentAccInd String No

Indicates the length of time that the payment account was enrolled in the cardholder’s account with the 3DS Requestor. Allowed values:

  • 01 — No account (guest checkout)
  • 02 — During this transaction
  • 03 — Less than 30 days
  • 04 — 30–60 days
  • 05 — More than 60 days

Possible values:

  • "05"
  • "04"
  • "03"
  • "02"
  • "01"
threeDS2RequestData.acctInfo.txnActivityYear String No

Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous year. Max length: 3 characters.

threeDS2RequestData.acctInfo.chAccAgeInd String No

Length of time that the cardholder has had the account with the 3DS Requestor. Allowed values:

  • 01 — No account
  • 02 — Created during this transaction
  • 03 — Less than 30 days
  • 04 — 30–60 days
  • 05 — More than 60 days

Possible values:

  • "05"
  • "04"
  • "03"
  • "02"
  • "01"
threeDS2RequestData.acctInfo.chAccString String No

Date that the cardholder opened the account with the 3DS Requestor. Format: YYYYMMDD

threeDS2RequestData.acctInfo.provisionAttemptsDay String No

Number of Add Card attempts in the last 24 hours. Max length: 3 characters.

threeDS2RequestData.acctInfo.shipAddressUsageInd String No

Indicates when the shipping address used for this transaction was first used with the 3DS Requestor. Allowed values:

  • 01 — This transaction
  • 02 — Less than 30 days
  • 03 — 30–60 days
  • 04 — More than 60 days

Possible values:

  • "04"
  • "03"
  • "02"
  • "01"
threeDS2RequestData.recurringFrequency String No

Indicates the minimum number of days between authorisations. Maximum length: 4 characters.

threeDS2RequestData.messageVersion String No

The messageVersion value indicating the 3D Secure 2 protocol version.

threeDS2RequestData.addrMatch String No

Indicates whether the Cardholder Shipping Address and Cardholder Billing Address are the same. Allowed values:

  • Y — Shipping Address matches Billing Address.
  • N — Shipping Address does not match Billing Address.

Possible values:

  • "N"
  • "Y"
threeDS2RequestData.merchantName String No

Required for authentication-only integration. The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters.

Optional for a full 3D Secure 2 integration. Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account.

threeDS2RequestData.paymentAuthenticationUseCase String No

Indicates the type of payment for which an authentication is requested (message extension)

threeDS2RequestData.threeDSRequestorID String No

Required for authentication-only integration for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.

threeDS2RequestData.acquirerMerchantID String No

Required for authentication-only integration. The merchantId that is enrolled for 3D Secure 2 by the merchant's acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.

threeDS2RequestData.authenticationOnly Boolean No

If set to true, you will only perform the 3D Secure 2 authentication, and not the payment authorisation.

Default value: false

threeDS2RequestData.sdkAppID String No

The sdkAppID value as received from the 3D Secure 2 SDK.

threeDS2RequestData.threeDSRequestorAuthenticationInd String No

Indicates the type of Authentication request.

threeDS2RequestData.transactionType String No

Identify the type of the transaction being authenticated.

Possible values:

  • "accountFunding"
  • "checkAcceptance"
  • "goodsOrServicePurchase"
  • "quasiCashTransaction"
  • "prepaidActivationAndLoad"
threeDS2RequestData.threeDSRequestorURL String No

URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process.

threeDS2RequestData.acquirerBIN String No

Required for authentication-only integration. The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform.

threeDS2RequestData.purchaseInstalData String No

Indicates the maximum number of authorisations permitted for instalment payments. Length: 1–3 characters.

threeDS2RequestData.payTokenInd Boolean No

Value true indicates that the transaction was de-tokenised prior to being received by the ACS.

threeDS2RequestData.sdkTransID String No

The sdkTransID value as received from the 3D Secure 2 SDK.

threeDS2RequestData.homePhone Object No

The home phone number provided by the Cardholder.

threeDS2RequestData.homePhone.cc String No

Country code. Length: 1–3 characters.

threeDS2RequestData.homePhone.subscriber String No

Subscriber number. Maximum length: 15 characters.

threeDS2RequestData.whiteListStatus String No

The whiteListStatus value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.

threeDS2RequestData.workPhone Object No

The work phone number provided by the Cardholder.

threeDS2RequestData.workPhone.cc String No

Country code. Length: 1–3 characters.

threeDS2RequestData.workPhone.subscriber String No

Subscriber number. Maximum length: 15 characters.

threeDS2RequestData.threeDSRequestorPriorAuthenticationInfo Object No

Information about how the 3DS Requestor authenticated the cardholder as part of a previous 3DS transaction.

threeDS2RequestData.threeDSRequestorPriorAuthenticationInfo.threeDSReqPriorRef String No

This data element provides additional information to the ACS to determine the best approach for handing a request. This data element contains an ACS Transaction ID for a prior authenticated transaction. For example, the first recurring transaction that was authenticated with the cardholder. Length: 30 characters.

threeDS2RequestData.threeDSRequestorPriorAuthenticationInfo.threeDSReqPriorAuthTimestamp String No

Date and time in UTC of the prior cardholder authentication. Format: YYYYMMDDHHMM

threeDS2RequestData.threeDSRequestorPriorAuthenticationInfo.threeDSReqPriorAuthMethod String No

Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor. Allowed values:

  • 01 — Frictionless authentication occurred by ACS.
  • 02 — Cardholder challenge occurred by ACS.
  • 03 — AVS verified.
  • 04 — Other issuer methods.

Possible values:

  • "04"
  • "03"
  • "02"
  • "01"
threeDS2RequestData.threeDSRequestorPriorAuthenticationInfo.threeDSReqPriorAuthData String No

Data that documents and supports a specific authentication process. Maximum length: 2048 bytes.

threeDS2RequestData.acctType String No

Indicates the type of account. For example, for a multi-account card product. Length: 2 characters. Allowed values:

  • 01 — Not applicable
  • 02 — Credit
  • 03 — Debit

Possible values:

  • "03"
  • "02"
  • "01"
threeDS2RequestData.challengeIndicator String No

Possibility to specify a preference for receiving a challenge from the issuer. Allowed values:

  • noPreference
  • requestNoChallenge
  • requestChallenge
  • requestChallengeAsMandate

Possible values:

  • "requestChallenge"
  • "requestChallengeAsMandate"
  • "noPreference"
  • "requestNoChallenge"
threeDS2RequestData.deviceRenderOptions Object No

Display options for the 3D Secure 2 SDK. Optional and only for deviceChannel app.

threeDS2RequestData.deviceRenderOptions.sdkUiType[] Array No

UI types supported for displaying specific challenges. Allowed values:

  • text
  • singleSelect
  • outOfBand
  • otherHtml
  • multiSelect
threeDS2RequestData.deviceRenderOptions.sdkInterface String No

Supported SDK interface types. Allowed values:

  • native
  • html
  • both

Possible values:

  • "html"
  • "both"
  • "native"

Default value: "both"

threeDS2RequestData.mobilePhone Object No

The mobile phone number provided by the Cardholder.

threeDS2RequestData.mobilePhone.cc String No

Country code. Length: 1–3 characters.

threeDS2RequestData.mobilePhone.subscriber String No

Subscriber number. Maximum length: 15 characters.

threeDS2RequestData.notificationURL String No

URL to where the issuer should send the CRes. Required if you are not using components for channel Web or if you are using classic integration deviceChannel browser.

threeDS2RequestData.sdkMaxTimeout Integer No

The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for deviceChannel set to app. Defaults to 60 minutes.

Default value: 60

threeDS2RequestData.threeDSRequestorAuthenticationInfo Object No

Information about how the 3DS Requestor authenticated the cardholder before or during the transaction

threeDS2RequestData.threeDSRequestorAuthenticationInfo.threeDSReqAuthMethod String No

Mechanism used by the Cardholder to authenticate to the 3DS Requestor. Allowed values:

  • 01 — No 3DS Requestor authentication occurred (for example, cardholder “logged in” as guest).
  • 02 — Login to the cardholder account at the 3DS Requestor system using 3DS Requestor’s own credentials.
  • 03 — Login to the cardholder account at the 3DS Requestor system using federated ID.
  • 04 — Login to the cardholder account at the 3DS Requestor system using issuer credentials.
  • 05 — Login to the cardholder account at the 3DS Requestor system using third-party authentication.
  • 06 — Login to the cardholder account at the 3DS Requestor system using FIDO Authenticator.

Possible values:

  • "06"
  • "05"
  • "04"
  • "03"
  • "02"
  • "01"
threeDS2RequestData.threeDSRequestorAuthenticationInfo.threeDSReqAuthData String No

Data that documents and supports a specific authentication process. Maximum length: 2048 bytes.

threeDS2RequestData.threeDSRequestorAuthenticationInfo.threeDSReqAuthTimestamp String No

Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM

accountInfo Object No

Shopper account information for 3D Secure 2.

For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.

accountInfo.deliveryAddressUsageDate String No

Date the selected delivery address was first used.

accountInfo.passwordChangeIndicator String No

Indicator when the shopper has changed their password. Allowed values:

  • notApplicable
  • thisTransaction
  • lessThan30Days
  • from30To60Days
  • moreThan60Days

Possible values:

  • "moreThan60Days"
  • "notApplicable"
  • "thisTransaction"
  • "lessThan30Days"
  • "from30To60Days"
accountInfo.accountAgeIndicator String No

Indicator for the length of time since this shopper account was created in the merchant's environment. Allowed values:

  • notApplicable
  • thisTransaction
  • lessThan30Days
  • from30To60Days
  • moreThan60Days

Possible values:

  • "moreThan60Days"
  • "notApplicable"
  • "thisTransaction"
  • "lessThan30Days"
  • "from30To60Days"
accountInfo.addCardAttemptsDay Integer No

Number of attempts the shopper tried to add a card to their account in the last day.

accountInfo.accountCreationDate String No

Date when the shopper's account was created.

accountInfo.purchasesLast6Months Integer No

Number of successful purchases in the last six months.

accountInfo.pastTransactionsDay Integer No

Number of all transactions (successful and abandoned) from this shopper in the past 24 hours.

accountInfo.accountChangeIndicator String No

Indicator for the length of time since the shopper's account was last updated. Allowed values:

  • thisTransaction
  • lessThan30Days
  • from30To60Days
  • moreThan60Days

Possible values:

  • "moreThan60Days"
  • "thisTransaction"
  • "lessThan30Days"
  • "from30To60Days"
accountInfo.homePhone String No

Shopper's home phone number (including the country code).

accountInfo.deliveryAddressUsageIndicator String No

Indicator for the length of time since this delivery address was first used. Allowed values:

  • thisTransaction
  • lessThan30Days
  • from30To60Days
  • moreThan60Days

Possible values:

  • "moreThan60Days"
  • "thisTransaction"
  • "lessThan30Days"
  • "from30To60Days"
accountInfo.suspiciousActivity Boolean No

Whether suspicious activity was recorded on this account.

accountInfo.workPhone String No

Shopper's work phone number (including the country code).

accountInfo.passwordChangeDate String No

Date when the shopper last changed their password.

accountInfo.paymentAccountIndicator String No

Indicator for the length of time since this payment method was added to this shopper's account. Allowed values:

  • notApplicable
  • thisTransaction
  • lessThan30Days
  • from30To60Days
  • moreThan60Days

Possible values:

  • "moreThan60Days"
  • "notApplicable"
  • "thisTransaction"
  • "lessThan30Days"
  • "from30To60Days"
accountInfo.mobilePhone String No

Shopper's mobile phone number (including the country code).

accountInfo.accountChangeDate String No

Date when the shopper's account was last changed.

accountInfo.accountType String No

Indicates the type of account. For example, for a multi-account card product. Allowed values:

  • notApplicable
  • credit
  • debit

Possible values:

  • "credit"
  • "notApplicable"
  • "debit"
accountInfo.paymentAccountAge String No

Date this payment method was added to the shopper's account.

accountInfo.pastTransactionsYear Integer No

Number of all transactions (successful and abandoned) from this shopper in the past year.

mpiData Object No

Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).

mpiData.riskScore String No

Risk score calculated by Directory Server (DS). Required for Cartes Bancaires integrations.

mpiData.eci String No

The electronic commerce indicator.

mpiData.cavvAlgorithm String No

The CAVV algorithm used. Include this only for 3D Secure 1.

mpiData.authenticationResponse String No

In 3D Secure 1, the authentication response if the shopper was redirected.

In 3D Secure 2, this is the transStatus from the challenge result. If the transaction was frictionless, omit this parameter.

Possible values:

  • "A"
  • "N"
  • "Y"
  • "U"
mpiData.directoryResponse String No

In 3D Secure 1, this is the enrollment response from the 3D directory server.

In 3D Secure 2, this is the transStatus from the ARes.

Possible values:

  • "D"
  • "C"
  • "R"
  • "A"
  • "N"
  • "I"
  • "Y"
  • "U"
mpiData.threeDSVersion String No

The version of the 3D Secure protocol.

mpiData.challengeCancel String No

Indicator informing the Access Control Server (ACS) and the Directory Server (DS) that the authentication has been cancelled. For possible values, refer to 3D Secure API reference.

Possible values:

  • "07"
  • "06"
  • "05"
  • "04"
  • "03"
  • "02"
  • "01"
mpiData.dsTransID String No

Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.

mpiData.tokenAuthenticationVerificationValue String No

Network token authentication verification value (TAVV). The network token cryptogram.

mpiData.xid String No

Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).

mpiData.transStatusReason String No

Provides information on why the transStatus field has the specified value. For possible values, refer to our docs.

mpiData.cavv String No

The cardholder authentication value (base64 encoded, 20 bytes in a decoded form).

billingAddress Object No

The address where to send the invoice.

The billingAddress object is required in the following scenarios. Include all of the fields within this object.

  • For 3D Secure 2 transactions in all browser-based and mobile implementations.
  • For cross-border payouts to and from Canada.
billingAddress.postalCode String Yes

A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.

billingAddress.stateOrProvince String No

The two-character ISO 3166-2 state or province code. For example, CA in the US or ON in Canada.

Required for the US and Canada.

billingAddress.country String Yes

The two-character ISO-3166-1 alpha-2 country code. For example, US.

If you don't know the country or are not collecting the country from the shopper, provide country as ZZ.

billingAddress.houseNumberOrName String Yes

The number or name of the house. Maximum length: 3000 characters.

billingAddress.street String Yes

The name of the street. Maximum length: 3000 characters.

The house number should not be included in this field; it should be separately provided via houseNumberOrName.

billingAddress.city String Yes

The name of the city. Maximum length: 3000 characters.

countryCode String No

The shopper country.

Format: ISO 3166-1 alpha-2 Example: NL or DE

applicationInfo Object No

Information about your application. For more details, see Building Adyen solutions.

applicationInfo.merchantApplication Object No

Merchant developed software, such as cashier application, used to interact with the Adyen API.

applicationInfo.merchantApplication.name String No

Name of the field. For example, Name of External Platform.

applicationInfo.merchantApplication.version String No

Version of the field. For example, Version of External Platform.

applicationInfo.externalPlatform Object No

Third-party developed platform used to initiate payment requests. For example, Magento, Zuora, etc.

applicationInfo.externalPlatform.integrator String No

External platform integrator.

applicationInfo.externalPlatform.name String No

Name of the field. For example, Name of External Platform.

applicationInfo.externalPlatform.version String No

Version of the field. For example, Version of External Platform.

applicationInfo.merchantDevice Object No

Merchant device information.

applicationInfo.merchantDevice.osVersion String No

Version of the operating system on the merchant device.

applicationInfo.merchantDevice.os String No

Operating system running on the merchant device.

applicationInfo.merchantDevice.reference String No

Merchant device reference.

applicationInfo.adyenLibrary Object No

Adyen-developed software, such as libraries and plugins, used to interact with the Adyen API. For example, Magento plugin, Java API library, etc.

applicationInfo.adyenLibrary.name String No

Name of the field. For example, Name of External Platform.

applicationInfo.adyenLibrary.version String No

Version of the field. For example, Version of External Platform.

applicationInfo.shopperInteractionDevice Object No

Shopper interaction device, such as terminal, mobile device or web browser, to initiate payment requests.

applicationInfo.shopperInteractionDevice.osVersion String No

Version of the operating system on the shopper interaction device.

applicationInfo.shopperInteractionDevice.locale String No

Locale on the shopper interaction device.

applicationInfo.shopperInteractionDevice.os String No

Operating system running on the shopper interaction device.

applicationInfo.adyenPaymentSource Object No

Adyen-developed software to get payment details. For example, Checkout SDK, Secured Fields SDK, etc.

applicationInfo.adyenPaymentSource.name String No

Name of the field. For example, Name of External Platform.

applicationInfo.adyenPaymentSource.version String No

Version of the field. For example, Version of External Platform.

channel String No

The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the sdkVersion or token.

Possible values:

  • iOS
  • Android
  • Web

Possible values:

  • "iOS"
  • "Web"
  • "Android"
donationToken String No

Donation token received in the /payments call.

shopperEmail String No

The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.

For 3D Secure 2 transactions, schemes require shopperEmail for all browser-based and mobile implementations.

sessionValidity String No

The date and time until when the session remains valid, in ISO 8601 format.

For example: 2020-07-18T15:42:40.428+01:00

amount Object Yes

The amount information for the transaction (in minor units). For BIN or card verification requests, set amount to 0 (zero).

amount.value Integer Yes

The amount of the transaction, in minor units.

amount.currency String Yes

The three-character ISO currency code.

origin String No

Required for the 3D Secure 2 channel Web integration.

Set this parameter to the origin URL of the page that you are loading the 3D Secure Component from.

checkoutAttemptId String No

Checkout attempt ID that corresponds to the Id generated by the client SDK for tracking user payment journey.

dateOfBirth String No

The shopper's date of birth.

Format ISO-8601: YYYY-MM-DD

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.