Adyen · Schema
ThreeDS2RequestFields
ThreeDS2RequestFields schema from Adyen API
PaymentsFinancial ServicesFintech
Properties
| Name | Type | Description |
|---|---|---|
| acctInfo | object | Additional information about the Cardholder’s account provided by the 3DS Requestor. |
| acctType | string | 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 |
| acquirerBIN | string | Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should mat |
| acquirerMerchantID | string | Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant's |
| addrMatch | string | 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 m |
| authenticationOnly | boolean | If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation. |
| challengeIndicator | string | Possibility to specify a preference for receiving a challenge from the issuer. Allowed values: * `noPreference` * `requestNoChallenge` * `requestChallenge` * `requestChallengeAsMandate` |
| deviceRenderOptions | object | Display options for the 3D Secure 2 SDK. Optional and only for `deviceChannel` **app**. |
| homePhone | object | The home phone number provided by the Cardholder. |
| mcc | string | Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/a |
| merchantName | string | Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they |
| messageVersion | string | The `messageVersion` value indicating the 3D Secure 2 protocol version. |
| mobilePhone | object | The mobile phone number provided by the Cardholder. |
| notificationURL | string | 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**. |
| payTokenInd | boolean | Value **true** indicates that the transaction was de-tokenised prior to being received by the ACS. |
| paymentAuthenticationUseCase | string | Indicates the type of payment for which an authentication is requested (message extension) |
| platform | string | The platform of the shopper. Allowed values: * `iOS` * `android` * `browser` |
| purchaseInstalData | string | Indicates the maximum number of authorisations permitted for instalment payments. Length: 1–3 characters. |
| recurringExpiry | string | Date after which no further authorisations shall be performed. Format: YYYYMMDD |
| recurringFrequency | string | Indicates the minimum number of days between authorisations. Maximum length: 4 characters. |
| sdkAppID | string | The `sdkAppID` value as received from the 3D Secure 2 SDK. |
| sdkEphemPubKey | object | The `sdkEphemPubKey` value as received from the 3D Secure 2 SDK. |
| sdkMaxTimeout | integer | 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. |
| sdkReferenceNumber | string | The `sdkReferenceNumber` value as received from the 3D Secure 2 SDK. |
| sdkTransID | string | The `sdkTransID` value as received from the 3D Secure 2 SDK. |
| threeDSCompInd | string | Completion indicator for the device fingerprinting. |
| threeDSRequestorAuthenticationInd | string | Indicates the type of Authentication request. |
| threeDSRequestorAuthenticationInfo | object | Information about how the 3DS Requestor authenticated the cardholder before or during the transaction |
| threeDSRequestorChallengeInd | string | Indicates whether a challenge is requested for this transaction. Possible values: * **01** — No preference * **02** — No challenge requested * **03** — Challenge requested (3DS Requestor preference) * |
| threeDSRequestorID | string | Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Dir |
| threeDSRequestorName | string | Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory |
| threeDSRequestorPriorAuthenticationInfo | object | Information about how the 3DS Requestor authenticated the cardholder as part of a previous 3DS transaction. |
| threeDSRequestorURL | string | URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process. |
| transType | string | Identifies the type of transaction being authenticated. Length: 2 characters. Allowed values: * **01** — Goods/Service Purchase * **03** — Check Acceptance * **10** — Account Funding * **11** — Quasi- |
| transactionType | string | Identify the type of the transaction being authenticated. |
| whiteListStatus | string | The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0. |
| workPhone | object | The work phone number provided by the Cardholder. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/adyen/refs/heads/main/json-schema/checkout-three-ds2-request-fields-schema.json",
"title": "ThreeDS2RequestFields",
"description": "ThreeDS2RequestFields schema from Adyen API",
"type": "object",
"properties": {
"acctInfo": {
"x-addedInVersion": "68",
"description": "Additional information about the Cardholder\u2019s account provided by the 3DS Requestor.",
"$ref": "#/components/schemas/AcctInfo"
},
"acctType": {
"x-addedInVersion": "68",
"description": "Indicates the type of account. For example, for a multi-account card product. Length: 2 characters. Allowed values:\n* **01** \u2014 Not applicable\n* **02** \u2014 Credit\n* **03** \u2014 Debit",
"enum": [
"01",
"02",
"03"
],
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"acquirerBIN": {
"x-addedInVersion": "49",
"description": "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). 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.",
"type": "string"
},
"acquirerMerchantID": {
"x-addedInVersion": "49",
"description": "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). 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.",
"type": "string"
},
"addrMatch": {
"x-addedInVersion": "68",
"description": "Indicates whether the Cardholder Shipping Address and Cardholder Billing Address are the same. Allowed values:\n* **Y** \u2014 Shipping Address matches Billing Address.\n* **N** \u2014 Shipping Address does not match Billing Address.",
"enum": [
"Y",
"N"
],
"maxLength": 1,
"minLength": 1,
"type": "string"
},
"authenticationOnly": {
"deprecated": true,
"x-deprecatedInVersion": "50",
"x-deprecatedMessage": "Use `threeDSAuthenticationOnly` instead.",
"default": false,
"description": "If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation.",
"type": "boolean"
},
"challengeIndicator": {
"deprecated": true,
"x-deprecatedInVersion": "68",
"x-deprecatedMessage": "Use `threeDSRequestorChallengeInd` instead.",
"description": "Possibility to specify a preference for receiving a challenge from the issuer.\nAllowed values:\n* `noPreference`\n* `requestNoChallenge`\n* `requestChallenge`\n* `requestChallengeAsMandate`\n",
"enum": [
"noPreference",
"requestNoChallenge",
"requestChallenge",
"requestChallengeAsMandate"
],
"type": "string"
},
"deviceRenderOptions": {
"description": "Display options for the 3D Secure 2 SDK.\nOptional and only for `deviceChannel` **app**.",
"$ref": "#/components/schemas/DeviceRenderOptions"
},
"homePhone": {
"x-addedInVersion": "68",
"description": "The home phone number provided by the Cardholder.",
"$ref": "#/components/schemas/Phone"
},
"mcc": {
"x-addedInVersion": "49",
"description": "Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). The `mcc` is a four-digit code with which the previously given `acquirerMerchantID` is registered at the scheme.",
"type": "string"
},
"merchantName": {
"x-addedInVersion": "49",
"description": "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only). 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.\n> Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/online-payments/3d-secure/native-3ds2/api-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.",
"type": "string"
},
"messageVersion": {
"description": "The `messageVersion` value indicating the 3D Secure 2 protocol version.",
"type": "string"
},
"mobilePhone": {
"x-addedInVersion": "68",
"description": "The mobile phone number provided by the Cardholder.",
"$ref": "#/components/schemas/Phone"
},
"notificationURL": {
"description": "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**.",
"type": "string"
},
"payTokenInd": {
"x-addedInVersion": "68",
"description": "Value **true** indicates that the transaction was de-tokenised prior to being received by the ACS.",
"type": "boolean"
},
"paymentAuthenticationUseCase": {
"x-addedInVersion": "68",
"description": "Indicates the type of payment for which an authentication is requested (message extension)",
"type": "string"
},
"platform": {
"description": "The platform of the shopper.\nAllowed values:\n* `iOS`\n* `android`\n* `browser`",
"enum": [
"iOS",
"android",
"browser"
],
"type": "string"
},
"purchaseInstalData": {
"x-addedInVersion": "68",
"description": "Indicates the maximum number of authorisations permitted for instalment payments. Length: 1\u20133 characters.",
"maxLength": 3,
"minLength": 1,
"type": "string"
},
"recurringExpiry": {
"x-addedInVersion": "68",
"description": "Date after which no further authorisations shall be performed. Format: YYYYMMDD",
"type": "string"
},
"recurringFrequency": {
"x-addedInVersion": "68",
"description": "Indicates the minimum number of days between authorisations. Maximum length: 4 characters.",
"maxLength": 4,
"type": "string"
},
"sdkAppID": {
"description": "The `sdkAppID` value as received from the 3D Secure 2 SDK.",
"type": "string"
},
"sdkEphemPubKey": {
"description": "The `sdkEphemPubKey` value as received from the 3D Secure 2 SDK.",
"$ref": "#/components/schemas/SDKEphemPubKey"
},
"sdkMaxTimeout": {
"default": 60,
"description": "The maximum amount of time in minutes for the 3D Secure 2 authentication process.\nOptional and only for `deviceChannel` set to **app**. Defaults to **60** minutes.",
"format": "int32",
"type": "integer"
},
"sdkReferenceNumber": {
"description": "The `sdkReferenceNumber` value as received from the 3D Secure 2 SDK.",
"type": "string"
},
"sdkTransID": {
"description": "The `sdkTransID` value as received from the 3D Secure 2 SDK.",
"type": "string"
},
"threeDSCompInd": {
"description": "Completion indicator for the device fingerprinting.",
"type": "string"
},
"threeDSRequestorAuthenticationInd": {
"x-addedInVersion": "68",
"description": "Indicates the type of Authentication request.",
"type": "string"
},
"threeDSRequestorAuthenticationInfo": {
"x-addedInVersion": "68",
"description": "Information about how the 3DS Requestor authenticated the cardholder before or during the transaction",
"$ref": "#/components/schemas/ThreeDSRequestorAuthenticationInfo"
},
"threeDSRequestorChallengeInd": {
"x-addedInVersion": "68",
"description": "Indicates whether a challenge is requested for this transaction. Possible values:\n* **01** \u2014 No preference\n* **02** \u2014 No challenge requested\n* **03** \u2014 Challenge requested (3DS Requestor preference)\n* **04** \u2014 Challenge requested (Mandate)\n* **05** \u2014 No challenge (transactional risk analysis is already performed)\n* **06** \u2014 Data Only",
"enum": [
"01",
"02",
"03",
"04",
"05",
"06"
],
"type": "string"
},
"threeDSRequestorID": {
"description": "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.",
"type": "string"
},
"threeDSRequestorName": {
"description": "Required for [authentication-only integration](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.",
"type": "string"
},
"threeDSRequestorPriorAuthenticationInfo": {
"x-addedInVersion": "68",
"description": "Information about how the 3DS Requestor authenticated the cardholder as part of a previous 3DS transaction.",
"$ref": "#/components/schemas/ThreeDSRequestorPriorAuthenticationInfo"
},
"threeDSRequestorURL": {
"description": "URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process.",
"type": "string"
},
"transType": {
"x-addedInVersion": "68",
"description": "Identifies the type of transaction being authenticated. Length: 2 characters. Allowed values:\n* **01** \u2014 Goods/Service Purchase\n* **03** \u2014 Check Acceptance\n* **10** \u2014 Account Funding\n* **11** \u2014 Quasi-Cash Transaction\n* **28** \u2014 Prepaid Activation and Load",
"enum": [
"01",
"03",
"10",
"11",
"28"
],
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"transactionType": {
"x-addedInVersion": "50",
"description": "Identify the type of the transaction being authenticated.",
"enum": [
"goodsOrServicePurchase",
"checkAcceptance",
"accountFunding",
"quasiCashTransaction",
"prepaidActivationAndLoad"
],
"type": "string"
},
"whiteListStatus": {
"x-addedInVersion": "49",
"description": "The `whiteListStatus` value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0.",
"type": "string"
},
"workPhone": {
"x-addedInVersion": "68",
"description": "The work phone number provided by the Cardholder.",
"$ref": "#/components/schemas/Phone"
}
}
}