Adyen · Schema
DonationPaymentRequest
PaymentsFinancial ServicesFintechAgentic CommercePoint-of-SalePayment Processing
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. |
| 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). |
| authenticationData | object | Data for 3DS authentication. |
| 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 |
| channel | string | 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 |
| checkoutAttemptId | string | Checkout attempt ID that corresponds to the Id generated by the client SDK for tracking user payment journey. |
| conversionId | string | Conversion ID that corresponds to the Id generated by the client SDK for tracking user payment journey. |
| countryCode | string | The shopper country. Format: [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) Example: NL or DE |
| dateOfBirth | string | The shopper's date of birth. Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD |
| deliverAt | 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 |
| deliveryAddress | object | The address where the purchased goods should be delivered. |
| 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). |
| donationAccount | string | Donation account to which the transaction is credited. |
| donationOriginalPspReference | string | PSP reference of the transaction from which the donation token is generated. Required when `donationToken` is provided. |
| donationToken | string | Donation token received in the `/payments` call. |
| lineItems | array | 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, and Zi |
| merchantAccount | string | The merchant account identifier, with which you want to process the transaction. |
| 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 |
| mpiData | object | Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires). |
| origin | string | 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. |
| paymentMethod | object | The type and required details of a payment method to use. |
| 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 amount |
| redirectFromIssuerMethod | string | Specifies the redirect method (GET or POST) when redirecting back from the issuer. |
| redirectToIssuerMethod | string | Specifies the redirect method (GET or POST) when redirecting to the issuer. |
| 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 |
| returnUrl | string | 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 |
| sessionValidity | string | The date and time until when the session remains valid, in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format. For example: 2020-07-18T15:42:40.428+01:00 |
| 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 |
| socialSecurityNumber | string | The shopper's social security number. |
| 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 |
| 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. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/adyen/main/json-schema/adyen-donation-payment-request-schema.json",
"title": "DonationPaymentRequest",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/adyen-donations-api-openapi.yml#/components/schemas/DonationPaymentRequest",
"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": "#/$defs/AccountInfo"
},
"additionalData": {
"additionalProperties": {
"type": "string"
},
"x-anyOf": [
{
"$ref": "#/$defs/AdditionalData3DSecure"
},
{
"$ref": "#/$defs/AdditionalDataAirline"
},
{
"$ref": "#/$defs/AdditionalDataCarRental"
},
{
"$ref": "#/$defs/AdditionalDataCommon"
},
{
"$ref": "#/$defs/AdditionalDataLevel23"
},
{
"$ref": "#/$defs/AdditionalDataLodging"
},
{
"$ref": "#/$defs/AdditionalDataOpenInvoice"
},
{
"$ref": "#/$defs/AdditionalDataOpi"
},
{
"$ref": "#/$defs/AdditionalDataRatepay"
},
{
"$ref": "#/$defs/AdditionalDataRetry"
},
{
"$ref": "#/$defs/AdditionalDataRisk"
},
{
"$ref": "#/$defs/AdditionalDataRiskStandalone"
},
{
"$ref": "#/$defs/AdditionalDataSubMerchant"
},
{
"$ref": "#/$defs/AdditionalDataTemporaryServices"
},
{
"$ref": "#/$defs/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": "#/$defs/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": "#/$defs/ApplicationInfo"
},
"authenticationData": {
"x-addedInVersion": "69",
"description": "Data for 3DS authentication.",
"$ref": "#/$defs/AuthenticationData"
},
"billingAddress": {
"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": "#/$defs/BillingAddress"
},
"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": "#/$defs/BrowserInfo"
},
"channel": {
"description": "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`.\n\nPossible values:\n* iOS\n* Android\n* Web",
"enum": [
"iOS",
"Android",
"Web"
],
"type": "string"
},
"checkoutAttemptId": {
"x-addedInVersion": "68",
"description": "Checkout attempt ID that corresponds to the Id generated by the client SDK for tracking user payment journey.",
"type": "string"
},
"conversionId": {
"x-addedInVersion": "49",
"deprecated": true,
"x-deprecatedInVersion": "68",
"x-deprecatedMessage": "Use `checkoutAttemptId` instead",
"description": "Conversion ID that corresponds to the Id generated by the client SDK for tracking user payment journey.",
"type": "string"
},
"countryCode": {
"description": "The shopper country.\n\nFormat: [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\nExample: NL or DE",
"type": "string"
},
"dateOfBirth": {
"description": "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD",
"format": "date-time",
"type": "string"
},
"deliverAt": {
"x-addedInVersion": "70",
"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"
},
"deliveryAddress": {
"description": "The address where the purchased goods should be delivered.",
"$ref": "#/$defs/DeliveryAddress"
},
"deviceFingerprint": {
"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"
},
"donationAccount": {
"description": "Donation account to which the transaction is credited.",
"type": "string"
},
"donationOriginalPspReference": {
"description": "PSP reference of the transaction from which the donation token is generated. Required when `donationToken` is provided.",
"type": "string"
},
"donationToken": {
"description": "Donation token received in the `/payments` call.",
"type": "string"
},
"lineItems": {
"x-addedInVersion": "32",
"description": "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\n> This field is required for 3x 4x Oney, Affirm, Afterpay, Clearpay, Klarna, Ratepay, and Zip.",
"items": {
"$ref": "#/$defs/LineItem"
},
"type": "array"
},
"merchantAccount": {
"description": "The merchant account identifier, with which you want to process the transaction.",
"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": "#/$defs/MerchantRiskIndicator"
},
"metadata": {
"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"
},
"mpiData": {
"description": "Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).",
"$ref": "#/$defs/ThreeDSecureData"
},
"origin": {
"x-addedInVersion": "40",
"description": "Required for the 3D Secure 2 `channel` **Web** integration.\n\nSet this parameter to the origin URL of the page that you are loading the 3D Secure Component from.",
"maxLength": 80,
"type": "string"
},
"paymentMethod": {
"description": "The type and required details of a payment method to use.",
"oneOf": [
{
"$ref": "#/$defs/ApplePayDonations"
},
{
"$ref": "#/$defs/CardDonations"
},
{
"$ref": "#/$defs/GooglePayDonations"
},
{
"$ref": "#/$defs/IdealDonations"
},
{
"$ref": "#/$defs/PayWithGoogleDonations"
}
]
},
"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` A transaction for a fixed or variable amount, which follows a fixed schedule.\n* `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.\n* `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.\n",
"enum": [
"CardOnFile",
"Subscription",
"UnscheduledCardOnFile"
],
"type": "string"
},
"redirectFromIssuerMethod": {
"x-addedInVersion": "32",
"description": "Specifies the redirect method (GET or POST) when redirecting back from the issuer.",
"type": "string"
},
"redirectToIssuerMethod": {
"x-addedInVersion": "32",
"description": "Specifies the redirect method (GET or POST) when redirecting to the issuer.",
"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"
},
"returnUrl": {
"description": "The URL to return to in case of a redirection.\nThe format depends on the channel. This URL can have a maximum of 1024 characters.\n* 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.\nExample: `https://your-company.com/checkout?shopperOrder=12xy`\n* For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the [Apple Developer documentation](https://developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app).\nExample: `my-app://`\n* For Android, use a custom URL handled by an Activity on your app. You can configure it with an [intent filter](https://developer.android.com/guide/components/intents-filters).\nExample: `my-app://your.package.name`",
"maxLength": 8000,
"type": "string"
},
"sessionValidity": {
"description": "The date and time until when the session remains valid, in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format.\n\nFor example: 2020-07-18T15:42:40.428+01:00",
"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": {
"description": "The combination of a language code and a country code to specify the language to be used in the payment.",
"type": "string"
},
"shopperName": {
"description": "The shopper's full name.",
"$ref": "#/$defs/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.",
"maxLength": 256,
"minLength": 3,
"type": "string"
},
"socialSecurityNumber": {
"description": "The shopper's social security number.",
"type": "string"
},
"telephoneNumber": {
"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": "#/$defs/ThreeDS2RequestFields"
},
"threeDSAuthenticationOnly": {
"x-addedInVersion": "50",
"deprecated": true,
"x-deprecatedInVersion": "69",
"x-deprecatedMessage": "Use `authenticationData.authenticationOnly` 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"
}
},
"required": [
"paymentMethod",
"returnUrl",
"merchantAccount",
"reference",
"amount"
],
"type": "object",
"$defs": {
"AccountInfo": {
"properties": {
"accountAgeIndicator": {
"description": "Indicator for the length of time since this shopper account was created in the merchant's environment.\nAllowed values:\n* notApplicable\n* thisTransaction\n* lessThan30Days\n* from30To60Days\n* moreThan60Days",
"enum": [
"notApplicable",
"thisTransaction",
"lessThan30Days",
"from30To60Days",
"moreThan60Days"
],
"type": "string"
},
"accountChangeDate": {
"description": "Date when the shopper's account was last changed.",
"format": "date-time",
"type": "string"
},
"accountChangeIndicator": {
"description": "Indicator for the length of time since the shopper's account was last updated.\nAllowed values:\n* thisTransaction\n* lessThan30Days\n* from30To60Days\n* moreThan60Days",
"enum": [
"thisTransaction",
"lessThan30Days",
"from30To60Days",
"moreThan60Days"
],
"type": "string"
},
"accountCreationDate": {
"description": "Date when the shopper's account was created.",
"format": "date-time",
"type": "string"
},
"accountType": {
"x-addedInVersion": "50",
"description": "Indicates the type of account. For example, for a multi-account card product.\nAllowed values:\n* notApplicable\n* credit\n* debit",
"enum": [
"notApplicable",
"credit",
"debit"
],
"type": "string"
},
"addCardAttemptsDay": {
"description": "Number of attempts the shopper tried to add a card to their account in the last day.",
"format": "int32",
"type": "integer"
},
"deliveryAddressUsageDate": {
"description": "Date the selected delivery address was first used.",
"format": "date-time",
"type": "string"
},
"deliveryAddressUsageIndicator": {
"description": "Indicator for the length of time since this delivery address was first used.\nAllowed values:\n* thisTransaction\n* lessThan30Days\n* from30To60Days\n* moreThan60Days",
"enum": [
"thisTransaction",
"lessThan30Days",
"from30To60Days",
"moreThan60Days"
],
"type": "string"
},
"homePhone": {
"deprecated": true,
"x-deprecatedInVersion": "68",
"x-deprecatedMessage": "Use `ThreeDS2RequestData.homePhone` instead.",
"description": "Shopper's home phone number (including the country code).",
"type": "string"
},
"mobilePhone": {
"deprecated": true,
"x-deprecatedInVersion": "68",
"x-deprecatedMessage": "Use `ThreeDS2RequestData.mobilePhone` instead.",
"description": "Shopper's mobile phone number (including the country code).",
"type": "string"
},
"passwordChangeDate": {
"description": "Date when the shopper last changed their password.",
"format": "date-time",
"type": "string"
},
"passwordChangeIndicator": {
"description": "Indicator when the shopper has changed their password.\nAllowed values:\n* notApplicable\n* thisTransaction\n* lessThan30Days\n* from30To60Days\n* moreThan60Days",
"enum": [
"notApplicable",
"thisTransaction",
"lessThan30Days",
"from30To60Days",
"moreThan60Days"
],
"type": "string"
},
"pastTransactionsDay": {
"description": "Number of all transactions (successful and abandoned) from this shopper in the past 24 hours.",
"format": "int32",
"type": "integer"
},
"pastTransactionsYear": {
"description": "Number of all transactions (successful and abandoned) from this shopper in the past year.",
"format": "int32",
"type": "integer"
},
"paymentAccountAge": {
"description": "Date this payment method was added to the shopper's account.",
"format": "date-time",
"type": "string"
},
"paymentAccountIndicator": {
"description": "Indicator for the length of time since this payment method was added to this shopper's account.\nAllowed values:\n* notApplicable\n* thisTransaction\n* lessThan30Days\n* from30To60Days\n* moreThan60Days",
"enum": [
"notApplicable",
"thisTransaction",
"lessThan30Days",
"from30To60Days",
"moreThan60Days"
],
"type": "string"
},
"purchasesLast6Months": {
"description": "Number of successful purchases in the last six months.",
"format": "int32",
"type": "integer"
},
"suspiciousActivity": {
"description": "Whether suspicious activity was recorded on this account.",
"type": "boolean"
},
"workPhone": {
"deprecated": true,
"x-deprecatedInVersion": "68",
"x-deprecatedMessage": "Use `ThreeDS2RequestData.workPhone` instead.",
"description": "Shopper's work phone number (including the country code).",
"type": "string"
}
},
"type": "object"
},
"AcctInfo": {
"properties": {
"chAccAgeInd": {
"description": "Length of time that the cardholder has had the account with the 3DS Requestor. \nAllowed values:\n* **01** No account\n* **02** Created during this transaction\n* **03** Less than 30 days\n* **04** 3060 days\n* **05** More than 60 days",
"enum": [
"01",
"02",
"03",
"04",
"05"
],
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"chAccChange": {
"description": "Date that the cardholders account with the 3DS Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added. \nFormat: **YYYYMMDD**",
"type": "string"
},
"chAccChangeInd": {
"description": "Length of time since the cardholders account information with the 3DS Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added. \nAllowed values:\n* **01** Changed during this transaction\n* **02** Less than 30 days\n* **03** 3060 days\n* **04** More than 60 days",
"enum": [
"01",
"02",
"03",
"04"
],
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"chAccPwChange": {
"description": "Date that cardholders account with the 3DS Requestor had a password change or account reset. \nFormat: **YYYYMMDD**",
"type": "string"
},
"chAccPwChangeInd": {
"description": "Indicates the length of time since the cardholders account with the 3DS Requestor had a password change or account reset. \nAllowed values:\n* **01** No change\n* **02** Changed during this transaction\n* **03** Less than 30 days\n* **04** 3060 days\n* **05** More than 60 days",
"enum": [
"01",
"02",
"03",
"04",
"05"
],
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"chAccString": {
"description": "Date that the cardholder opened the account with the 3DS Requestor. \nFormat: **YYYYMMDD**",
"type": "string"
},
"nbPurchaseAccount": {
"description": "Number of purchases with this cardholder account during the previous six months. Max length: 4 characters.",
"type": "string"
},
"paymentAccAge": {
"description": "String that the payment account was enrolled in the cardholders account with the 3DS Requestor. \nFormat: **YYYYMMDD**",
"type": "string"
},
"paymentAccInd": {
"description": "Indicates the length of time that the payment account was enrolled in the cardholders account with the 3DS Requestor. \nAllowed values:\n* **01** No account (guest checkout)\n* **02** During this transaction\n* **03** Less than 30 days\n* **04** 3060 days\n* **05** More than 60 days",
"enum": [
"01",
"02",
"03",
"04",
"05"
],
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"provisionAttemptsDay": {
"description": "Number of Add Card attempts in the last 24 hours. Max length: 3 characters.",
"type": "string"
},
"shipAddressUsage": {
"description": "String when the shipping address used for this transaction was first used with the 3DS Requestor. \nFormat: **YYYYMMDD**",
"type": "string"
},
"shipAddressUsageInd": {
"description": "Indicates when the shipping address used for this transaction was first used with the 3DS Requestor. \nAllowed values:\n* **01** This transaction\n* **02** Less than 30 days\n* **03** 3060 days\n* **04** More than 60 days",
"enum": [
"01",
"02",
"03",
"04"
],
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"shipNameIndicator": {
"description": "Indicates if the Cardholder Name on the account is identical to the shipping Name used for this transaction. \nAllowed values:\n* **01** Account Name identical to shipping Name\n* **02** Account Name different to shipping Name",
"enum": [
"01",
"02"
],
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"suspiciousAccActivity": {
"description": "Indicates whether the 3DS Requestor has experienced suspicious activity (including previous fraud) on the cardholder account. \nAllowed values:\n* **01** No suspicious activity has been observed\n* **02** Suspicious activity has been observed",
"enum": [
"01",
"02"
],
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"txnActivityDay": {
"description": "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.",
"maxLength": 3,
"type": "string"
},
"txnActivityYear": {
"description": "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.",
"maxLength": 3,
"type": "string"
}
},
"type": "object"
},
"AdditionalData3DSecure": {
"properties": {
"allow3DS2": {
"deprecated": true,
"x-deprecatedInVersion": "69",
"x-deprecatedMessage": "Use `authenticationData.threeDSRequestData.nativeThreeDS` instead.",
"description": "Indicates if you are able to process 3D Secure 2 transactions natively on your payment page. Send this parameter when you are using `/payments` endpoint with any of our [native 3D Secure 2 solutions](https://docs.adyen.com/online-payments/3d-secure/native-3ds2).\n\n > This parameter only indicates readiness to support native 3D Secure 2 authentication. To specify if you _want_ to perform 3D Secure, use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure)\nor send the `executeThreeD` parameter.\nPossible values:\n* **true** - Ready to support native 3D Secure 2 authentication. Setting this to true does not mean always applying 3D Secure 2. Adyen still selects the version of 3D Secure based on configuration to optimize authorisation rates and improve the shopper's experience.\n* **false** Not ready to support native 3D Secure 2 authentication. Adyen will not offer 3D Secure 2 to your shopper regardless of your configuration.\n",
"type": "string"
},
"challengeWindowSize": {
"description": "Dimensions of the 3DS2 challenge window to be displayed to the cardholder.\n\nPossible values:\n\n* **01** - size of 250x400 \n* **02** - size of 390x400\n* **03** - size of 500x600\n* **04** - size of 600x400\n* **05** - Fullscreen",
"enum": [
"01",
"02",
"03",
"04",
"05"
],
"type": "string"
},
"executeThreeD": {
"deprecated": true,
"x-deprecatedInVersion": "69",
"x-deprecatedMessage": "Use [`authenticationData.attemptAuthentication`](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments?target=_blank#request-authenticationData-attemptAuthentication) instead",
"description": "Indicates if you want to perform 3D Secure authentication on a transaction.\n\n > Alternatively, you can use [Dynamic 3D Secure](/risk-management/dynamic-3d-secure) to configure rules for applying 3D Secure.\n\nPossible values:\n* **true** Perform 3D Secure authentication.\n* **false** Don't perform 3D Secure authentication. Note that this setting results in refusals if the issuer mandates 3D Secure because of the PSD2 directive or other, national regulations. \n",
"type": "string"
},
"mpiImplementationType": {
"description": "In case of Secure+, this field must be set to **CUPSecurePlus**.",
"type": "string"
},
"scaExemption": {
"description": "Indicates the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that you want to request for the transaction.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ",
"type": "string"
},
"threeDSVersion": {
"description": "Indicates your preference for the 3D Secure version. \n> If you use this parameter, you override the checks from Adyen's Authentication Engine. We recommend to use this field only if you have an extensive knowledge of 3D Secure.\n\nPossible values:\n* **1.0.2**: Apply 3D Secure version 1.0.2. \n* **2.1.0**: Apply 3D Secure version 2.1.0. \n* **2.2.0**: Apply 3D Secure version 2.2.0. If the issuer does not support version 2.2.0, we will fall back to 2.1.0.\n\nThe following rules apply:\n* If you prefer 2.1.0 or 2.2.0 but we receive a negative `transStatus` in the `ARes`, we will apply the fallback policy configured in your account. For example, if the configuration is to fall back to 3D Secure 1, we will apply version 1.0.2.\n* If you prefer 2.1.0 or 2.2.0 but the BIN is not enrolled, you will receive an error.\n\n",
"type": "string"
}
},
"type": "object"
},
"AdditionalDataAirline": {
"properties": {
"airline.agency_invoice_number": {
"description": "The reference number for the invoice, issued by the agency.\n* Encoding: ASCII\n* minLength: 1 character\n* maxLength: 6 characters",
"type": "string"
},
"airline.agency_plan_name": {
"description": "The two-letter agency plan identifier.\n* Encoding: ASCII\n* minLength: 2 characters\n* maxLength: 2 characters",
"type": "string"
},
"airline.airline_code": {
"description": "The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX) that identifies the carrier.\n* Format: IATA 3-digit accounting code (PAX)\n* Example: KLM = 074\n* minLength: 3 characters\n* maxLength: 3 characters\n* Must not be all spaces\n*Must not be all zeros.",
"type": "string"
},
"airline.airline_designator_code": {
"description": "The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that identifies the carrier.\n* Encoding: ASCII\n* Example: KLM = KL\n* minLength: 2 characters\n* maxLength: 2 characters\n* Must not be all spaces\n*Must not be all zeros.",
"type": "string"
},
"airline.boarding_fee": {
"description": "The amount charged for boarding the plane, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* Encoding: Numeric\n* minLength: 1 character\n* maxLength: 18 characters",
"type": "string"
},
"airline.computerized_reservation_system": {
"description": "The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the reservation and purchase the ticket.\n* Encoding: ASCII\n* minLength: 4 characters\n* maxLength: 4 characters",
"type": "string"
},
"airline.customer_r
# --- truncated at 32 KB (131 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adyen/refs/heads/main/json-schema/adyen-donation-payment-request-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/adyen-donation-payment-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.