Adyen · Schema

PaymentRequest3ds2

PaymentsFinancial ServicesFintech

Properties

Name Type Description
accountInfo object 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.
additionalAmount object If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while th
additionalData object 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.
amount object The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/
applicationInfo object Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).
billingAddress object 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 browse
browserInfo object 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 yo
captureDelayHours integer The delay between the authorisation and scheduled auto-capture, specified in hours.
dateOfBirth string The shopper's date of birth. Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD
dccQuote object The forex quote as returned in the response of the forex service.
deliveryAddress object The address where the purchased goods should be delivered.
deliveryDate string The date and time the purchased goods should be delivered. Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD Example: 2017-07-17T13:42:40.428+01:00
deviceFingerprint string A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).
fraudOffset integer An integer value that is added to the normal fraud score. The value can be either positive or negative.
installments object Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).
localizedShopperStatement object The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement
mcc string The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activi
merchantAccount string The merchant account identifier, with which you want to process the transaction.
merchantOrderReference string This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference sho
merchantRiskIndicator object 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.
metadata object 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". * Maxim
orderReference string When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking mu
recurring object The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).
recurringProcessingModel string 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 amou
reference string 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 require
selectedBrand string Some payment methods require defining a value for this field to specify how to process the transaction. For the Bancontact payment method, it can be set to: * `maestro` (default), to be processed like
selectedRecurringDetailReference string The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.
sessionId string A session ID used to identify a payment session.
shopperEmail string 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 m
shopperIP string 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 Se
shopperInteraction string 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 b
shopperLocale string The combination of a language code and a country code to specify the language to be used in the payment.
shopperName object The shopper's full name.
shopperReference string 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 identif
shopperStatement string The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: **a-z**, **A-Z**, **0-9**, spaces,
socialSecurityNumber string The shopper's social security number.
splits array An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/marketplaces-and-platforms/processing-payments#providing-split-information) or [I
store string The ecommerce or point-of-sale store that is processing the payment. Used in: * [Partner platform integrations](https://docs.adyen.com/marketplaces-and-platforms/classic/platforms-for-partners#route-p
telephoneNumber string The shopper's telephone number.
threeDS2RequestData object Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](h
threeDS2Result object Thre ThreeDS2Result that was returned in the final CRes.
threeDS2Token string The ThreeDS2Token that was returned in the /authorise call.
threeDSAuthenticationOnly 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.
totalsGroup string The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).
trustedShopper boolean Set to true if the payment should be routed to a trusted MID.
View JSON Schema on GitHub

JSON Schema

adyen-paymentrequest3ds2-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/PaymentRequest3ds2",
  "title": "PaymentRequest3ds2",
  "properties": {
    "accountInfo": {
      "x-addedInVersion": "40",
      "description": "Shopper account information for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.",
      "$ref": "#/components/schemas/AccountInfo"
    },
    "additionalAmount": {
      "description": "If you want a [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) request to use a non-zero value, assign this value to `additionalAmount` (while the amount must be still set to 0 to trigger BIN or card verification).\nRequired to be in the same currency as the `amount`. ",
      "$ref": "#/components/schemas/Amount"
    },
    "additionalData": {
      "additionalProperties": {
        "type": "string"
      },
      "x-anyOf": [
        {
          "$ref": "#/components/schemas/AdditionalData3DSecure"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataAirline"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataCarRental"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataCommon"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataLevel23"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataLodging"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataOpenInvoice"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataOpi"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataRatepay"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataRetry"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataRisk"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataRiskStandalone"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataSubMerchant"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataTemporaryServices"
        },
        {
          "$ref": "#/components/schemas/AdditionalDataWallets"
        }
      ],
      "description": "This field contains additional data, which may be required for a particular payment request.\n\nThe `additionalData` object consists of entries, each of which includes the key and value.",
      "type": "object"
    },
    "amount": {
      "description": "The amount information for the transaction (in [minor units](https://docs.adyen.com/development-resources/currency-codes)). For [BIN or card verification](https://docs.adyen.com/payment-methods/cards/bin-data-and-card-verification) requests, set amount to 0 (zero).",
      "$ref": "#/components/schemas/Amount"
    },
    "applicationInfo": {
      "x-addedInVersion": "40",
      "description": "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).",
      "$ref": "#/components/schemas/ApplicationInfo"
    },
    "billingAddress": {
      "x-addedInVersion": "4",
      "description": "The address where to send the invoice.\n> The `billingAddress` object is required in the following scenarios. Include all of the fields within this object.\n>* For 3D Secure 2 transactions in all browser-based and mobile implementations.\n>* For cross-border payouts to and from Canada.",
      "$ref": "#/components/schemas/Address"
    },
    "browserInfo": {
      "description": "The shopper's browser information.\n> 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.",
      "$ref": "#/components/schemas/BrowserInfo"
    },
    "captureDelayHours": {
      "x-addedInVersion": "2",
      "description": "The delay between the authorisation and scheduled auto-capture, specified in hours.",
      "format": "int32",
      "type": "integer"
    },
    "dateOfBirth": {
      "x-addedInVersion": "7",
      "description": "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD",
      "format": "date",
      "type": "string"
    },
    "dccQuote": {
      "description": "The forex quote as returned in the response of the forex service.",
      "$ref": "#/components/schemas/ForexQuote"
    },
    "deliveryAddress": {
      "description": "The address where the purchased goods should be delivered.",
      "$ref": "#/components/schemas/Address"
    },
    "deliveryDate": {
      "x-addedInVersion": "8",
      "description": "The date and time the purchased goods should be delivered.\n\nFormat [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD\n\nExample: 2017-07-17T13:42:40.428+01:00",
      "format": "date-time",
      "type": "string"
    },
    "deviceFingerprint": {
      "x-addedInVersion": "2",
      "description": "A string containing the shopper's device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting).",
      "maxLength": 5000,
      "type": "string"
    },
    "fraudOffset": {
      "description": "An integer value that is added to the normal fraud score. The value can be either positive or negative.",
      "format": "int32",
      "type": "integer"
    },
    "installments": {
      "x-addedInVersion": "4",
      "description": "Contains installment settings. For more information, refer to [Installments](https://docs.adyen.com/payment-methods/cards/credit-card-installments).",
      "$ref": "#/components/schemas/Installments"
    },
    "localizedShopperStatement": {
      "x-addedInVersion": "68",
      "additionalProperties": {
        "type": "string"
      },
      "description": "The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set.\nIf not supplied, left empty, or for cross-border transactions, **shopperStatement** is used.\n\nAdyen currently supports the ja-Kana character set for Visa and Mastercard payments in Japan using Japanese cards. This character set supports:\n\n* UTF-8 based Katakana, capital letters, numbers and special characters. \n* Half-width or full-width characters.",
      "type": "object"
    },
    "mcc": {
      "x-addedInVersion": "12",
      "description": "The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.",
      "type": "string"
    },
    "merchantAccount": {
      "description": "The merchant account identifier, with which you want to process the transaction.",
      "type": "string"
    },
    "merchantOrderReference": {
      "x-addedInVersion": "9",
      "description": "This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle.\nThe same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.\n> We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`.",
      "type": "string"
    },
    "merchantRiskIndicator": {
      "x-addedInVersion": "40",
      "description": "Additional risk fields for 3D Secure 2.\n> For 3D Secure 2 transactions, we recommend that you include this object to increase the chances of achieving a frictionless flow.",
      "$ref": "#/components/schemas/MerchantRiskIndicator"
    },
    "metadata": {
      "x-addedInVersion": "17",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Metadata consists of entries, each of which includes a key and a value.\nLimits:\n* Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\".\n* Maximum 20 characters per key.\n* Maximum 80 characters per value. ",
      "type": "object"
    },
    "orderReference": {
      "description": "When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead.",
      "type": "string"
    },
    "recurring": {
      "description": "The recurring settings for the payment. Use this property when you want to enable [recurring payments](https://docs.adyen.com/classic-integration/recurring-payments).",
      "$ref": "#/components/schemas/Recurring"
    },
    "recurringProcessingModel": {
      "x-addedInVersion": "30",
      "description": "Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details.\nAllowed values:\n* `Subscription` \u2013 A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `CardOnFile` \u2013 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.\n* `UnscheduledCardOnFile` \u2013 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.\n",
      "enum": [
        "CardOnFile",
        "Subscription",
        "UnscheduledCardOnFile"
      ],
      "type": "string"
    },
    "reference": {
      "description": "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.\nIf you need to provide multiple references for a transaction, separate them with hyphens (\"-\").\nMaximum length: 80 characters.",
      "type": "string"
    },
    "selectedBrand": {
      "description": "Some payment methods require defining a value for this field to specify how to process the transaction.\n\nFor the Bancontact payment method, it can be set to:\n* `maestro` (default), to be processed like a Maestro card, or\n* `bcmc`, to be processed like a Bancontact card.",
      "type": "string"
    },
    "selectedRecurringDetailReference": {
      "description": "The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail.",
      "type": "string"
    },
    "sessionId": {
      "description": "A session ID used to identify a payment session.",
      "type": "string"
    },
    "shopperEmail": {
      "description": "The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.\n> For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.",
      "type": "string"
    },
    "shopperIP": {
      "description": "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).\n> For 3D Secure 2 transactions, schemes require `shopperIP` for all browser-based implementations.\nThis field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).",
      "type": "string"
    },
    "shopperInteraction": {
      "description": "Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer.\nFor the web service API, Adyen assumes Ecommerce shopper interaction by default.\n\nThis field has the following possible values:\n* `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.\n* `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).\n* `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.\n* `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.",
      "enum": [
        "Ecommerce",
        "ContAuth",
        "Moto",
        "POS"
      ],
      "type": "string"
    },
    "shopperLocale": {
      "x-addedInVersion": "7",
      "description": "The combination of a language code and a country code to specify the language to be used in the payment.",
      "type": "string"
    },
    "shopperName": {
      "x-addedInVersion": "7",
      "description": "The shopper's full name.",
      "$ref": "#/components/schemas/Name"
    },
    "shopperReference": {
      "description": "Required for recurring payments. \nYour reference to uniquely identify this shopper, for example user ID or account ID. Minimum length: 3 characters.\n> Your reference must not include personally identifiable information (PII), for example name or email address.",
      "type": "string"
    },
    "shopperStatement": {
      "description": "The text to be shown on the shopper's bank statement.\n We recommend sending a maximum of 22 characters, otherwise banks might truncate the string.\n Allowed characters: **a-z**, **A-Z**, **0-9**, spaces, and special characters **. , ' _ - ? + * /**.",
      "type": "string"
    },
    "socialSecurityNumber": {
      "x-addedInVersion": "4",
      "description": "The shopper's social security number.",
      "type": "string"
    },
    "splits": {
      "x-addedInVersion": "37",
      "description": "An array of objects specifying how the payment should be split when using [Adyen for Platforms](https://docs.adyen.com/marketplaces-and-platforms/processing-payments#providing-split-information) or [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).",
      "items": {
        "$ref": "#/components/schemas/Split"
      },
      "type": "array"
    },
    "store": {
      "x-addedInVersion": "23",
      "description": "The ecommerce or point-of-sale store that is processing the payment. Used in:\n\n* [Partner platform integrations](https://docs.adyen.com/marketplaces-and-platforms/classic/platforms-for-partners#route-payments) for the [Classic Platforms integration](https://docs.adyen.com/marketplaces-and-platforms/classic).\n* [Platform setup integrations](https://docs.adyen.com/marketplaces-and-platforms/additional-for-platform-setup/route-payment-to-store) for the [Balance Platform](https://docs.adyen.com/marketplaces-and-platforms).",
      "maxLength": 16,
      "minLength": 1,
      "type": "string"
    },
    "telephoneNumber": {
      "x-addedInVersion": "7",
      "description": "The shopper's telephone number.",
      "type": "string"
    },
    "threeDS2RequestData": {
      "x-addedInVersion": "40",
      "description": "Request fields for 3D Secure 2. To check if any of the following fields are required for your integration, refer to [Online payments](https://docs.adyen.com/online-payments) or [Classic integration](https://docs.adyen.com/classic-integration) documentation.",
      "$ref": "#/components/schemas/ThreeDS2RequestData"
    },
    "threeDS2Result": {
      "description": "Thre ThreeDS2Result that was returned in the final CRes.",
      "$ref": "#/components/schemas/ThreeDS2Result"
    },
    "threeDS2Token": {
      "description": "The ThreeDS2Token that was returned in the /authorise call.",
      "type": "string"
    },
    "threeDSAuthenticationOnly": {
      "x-addedInVersion": "50",
      "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"
    },
    "totalsGroup": {
      "x-addedInVersion": "23",
      "description": "The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available).",
      "maxLength": 16,
      "minLength": 1,
      "type": "string"
    },
    "trustedShopper": {
      "x-addedInVersion": "37",
      "description": "Set to true if the payment should be routed to a trusted MID.",
      "type": "boolean"
    }
  },
  "required": [
    "merchantAccount",
    "reference",
    "amount"
  ],
  "type": "object"
}