{
   "openapi" : "3.1.0",
   "servers" : [
      {
         "url" : "https://pal-test.adyen.com/pal/servlet/Payment/v50"
      }
   ],
   "info" : {
      "version" : "50",
      "x-publicVersion" : true,
      "title" : "Adyen Payment API",
      "description" : "A set of API endpoints that allow you to initiate, settle, and modify payments on the Adyen payments platform. You can use the API to accept card payments (including One-Click and 3D Secure), bank transfers, ewallets, and many other payment methods.\n\nTo learn more about the API, visit [Classic integration](https://docs.adyen.com/classic-integration).\n\n## Authentication\nYou need an [API credential](https://docs.adyen.com/development-resources/api-credentials) to authenticate to the API.\n\nIf using an API key, add an `X-API-Key` header with the API key as the value, for example:\n\n ```\ncurl\n-H \"Content-Type: application/json\" \\\n-H \"X-API-Key: YOUR_API_KEY\" \\\n...\n```\n\nAlternatively, you can use the username and password to connect to the API using basic authentication, for example:\n\n```\ncurl\n-U \"ws@Company.YOUR_COMPANY_ACCOUNT\":\"YOUR_BASIC_AUTHENTICATION_PASSWORD\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\n\n## Versioning\nPayments API supports [versioning](https://docs.adyen.com/development-resources/versioning) using a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.\n\nFor example:\n```\nhttps://pal-test.adyen.com/pal/servlet/Payment/v50/authorise\n```\n\n## Going live\n\nTo authenticate to the live endpoints, you need an [API credential](https://docs.adyen.com/development-resources/api-credentials) from your live Customer Area.\n\nThe live endpoint URLs contain a prefix which is unique to your company account:\n```\n\nhttps://{PREFIX}-pal-live.adyenpayments.com/pal/servlet/Payment/v50/authorise\n```\n\nGet your `{PREFIX}` from your live Customer Area under **Developers** > **API URLs** > **Prefix**.",
      "termsOfService" : "https://www.adyen.com/legal/terms-and-conditions",
      "contact" : {
         "name" : "Adyen Developer Experience team",
         "url" : "https://github.com/Adyen/adyen-openapi"
      }
   },
   "tags" : [
      {
         "name" : "Payments"
      },
      {
         "name" : "Modifications"
      }
   ],
   "paths" : {
      "/adjustAuthorisation" : {
         "post" : {
            "tags" : [
               "Modifications"
            ],
            "summary" : "Change the authorised amount",
            "description" : "Allows you to increase or decrease the authorised amount after the initial authorisation has taken place. This functionality enables for example tipping, improving the chances your authorisation will be valid, or charging the shopper when they have already left the merchant premises.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce).\n> If you have a [newer integration](https://docs.adyen.com/online-payments), and are doing:\n> * [Asynchronous adjustments](https://docs.adyen.com/online-payments/adjust-authorisation#asynchronous-or-synchronous-adjustment), use the [`/payments/{paymentPspReference}/amountUpdates`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/{paymentPspReference}/amountUpdates) endpoint on Checkout API.\n> * [Synchronous adjustments](https://docs.adyen.com/online-payments/adjust-authorisation#asynchronous-or-synchronous-adjustment), use this endpoint.",
            "x-addedInVersion" : "30",
            "operationId" : "post-adjustAuthorisation",
            "x-sortIndex" : 6,
            "x-methodName" : "adjustAuthorisation",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "adjustAuthorisation" : {
                           "$ref" : "#/components/examples/post-adjustAuthorisation-adjustAuthorisation"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/AdjustAuthorisationRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "adjustAuthorisation" : {
                              "$ref" : "#/components/examples/post-adjustAuthorisation-adjustAuthorisation-200"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ModificationResult"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-400"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-401"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-500"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/authorise" : {
         "post" : {
            "tags" : [
               "Payments"
            ],
            "summary" : "Create an authorisation",
            "description" : "Creates a payment with a unique reference (`pspReference`) and attempts to obtain an authorisation hold. For cards, this amount can be captured or cancelled later. Non-card payment methods typically don't support this and will automatically capture as part of the authorisation.\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments) endpoint under Checkout API instead.",
            "operationId" : "post-authorise",
            "x-sortIndex" : 1,
            "x-methodName" : "authorise",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "authorise-3d-secure-2" : {
                           "$ref" : "#/components/examples/post-authorise-authorise-3d-secure-2"
                        },
                        "authorise-3dsecure" : {
                           "$ref" : "#/components/examples/post-authorise-authorise-3dsecure"
                        },
                        "authorise-card" : {
                           "$ref" : "#/components/examples/post-authorise-authorise-card"
                        },
                        "authorise-recurringcontauth" : {
                           "$ref" : "#/components/examples/post-authorise-authorise-recurringcontauth"
                        },
                        "authorise-recurringoneclick" : {
                           "$ref" : "#/components/examples/post-authorise-authorise-recurringoneclick"
                        },
                        "authorise-recurringstore" : {
                           "$ref" : "#/components/examples/post-authorise-authorise-recurringstore"
                        },
                        "authorise-split" : {
                           "$ref" : "#/components/examples/post-authorise-authorise-split"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/PaymentRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/PaymentResult"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-400"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-401"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-500"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/authorise3d" : {
         "post" : {
            "tags" : [
               "Payments"
            ],
            "summary" : "Complete a 3DS authorisation",
            "description" : "For an authenticated 3D Secure session, completes the payment authorisation. This endpoint must receive the `md` and `paResponse` parameters that you get from the card issuer after a shopper pays via 3D Secure.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.",
            "operationId" : "post-authorise3d",
            "x-sortIndex" : 2,
            "x-methodName" : "authorise3d",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "authorise3d" : {
                           "$ref" : "#/components/examples/post-authorise3d-authorise3d"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/PaymentRequest3d"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/PaymentResult"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-400"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-401"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-500"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/authorise3ds2" : {
         "post" : {
            "tags" : [
               "Payments"
            ],
            "summary" : "Complete a 3DS2 authorisation",
            "description" : "For an authenticated 3D Secure 2 session, completes the payment authorisation. This endpoint must receive the `threeDS2Token` and `threeDS2Result` parameters.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce/3d-secure). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/details`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/details) endpoint under Checkout API instead.",
            "x-addedInVersion" : "37",
            "operationId" : "post-authorise3ds2",
            "x-sortIndex" : 3,
            "x-methodName" : "authorise3ds2",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "authorise3ds2" : {
                           "$ref" : "#/components/examples/post-authorise3ds2-authorise3ds2"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/PaymentRequest3ds2"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/PaymentResult"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-400"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-401"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-500"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/cancel" : {
         "post" : {
            "tags" : [
               "Modifications"
            ],
            "summary" : "Cancel an authorisation",
            "description" : "Cancels the authorisation hold on a payment, returning a unique reference for this request. You can cancel payments after authorisation only for payment methods that support distinct authorisations and captures.\n\nFor more information, refer to [Cancel](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/cancel).\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/{paymentPspReference}/cancels`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/{paymentPspReference}/cancels) endpoint under Checkout API instead.",
            "operationId" : "post-cancel",
            "x-sortIndex" : 2,
            "x-methodName" : "cancel",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "cancel" : {
                           "$ref" : "#/components/examples/post-cancel-cancel"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/CancelRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ModificationResult"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-400"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-401"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-500"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/cancelOrRefund" : {
         "post" : {
            "tags" : [
               "Modifications"
            ],
            "summary" : "Cancel or refund a payment",
            "description" : "Cancels a payment if it has not been captured yet, or refunds it if it has already been captured. This is useful when it is not certain if the payment has been captured or not (for example, when using auto-capture).\n\nDo not use this endpoint for payments that involve:\n * [Multiple partial captures](https://docs.adyen.com/online-payments/capture).\n * [Split data](https://docs.adyen.com/classic-platforms/processing-payments#providing-split-information) either at time of payment or capture for Adyen for Platforms.\n\n Instead, check if the payment has been captured and make a corresponding [`/refund`](https://docs.adyen.com/api-explorer/#/Payment/refund) or [`/cancel`](https://docs.adyen.com/api-explorer/#/Payment/cancel) call.\n\nFor more information, refer to [Cancel or refund](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/cancel-or-refund).\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/{paymentPspReference}/reversals`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/{paymentPspReference}/reversals) endpoint under Checkout API instead.",
            "operationId" : "post-cancelOrRefund",
            "x-sortIndex" : 4,
            "x-methodName" : "cancelOrRefund",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "cancelOrRefund" : {
                           "$ref" : "#/components/examples/post-cancelOrRefund-cancelOrRefund"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/CancelOrRefundRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "cancelOrRefund" : {
                              "$ref" : "#/components/examples/post-cancelOrRefund-cancelOrRefund-200"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ModificationResult"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-400"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-401"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-500"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/capture" : {
         "post" : {
            "tags" : [
               "Modifications"
            ],
            "summary" : "Capture an authorisation",
            "description" : "Captures the authorisation hold on a payment, returning a unique reference for this request. Usually the full authorisation amount is captured, however it's also possible to capture a smaller amount, which results in cancelling the remaining authorisation balance.\n\nPayment methods that are captured automatically after authorisation don't need to be captured. However, submitting a capture request on these transactions will not result in double charges. If immediate or delayed auto-capture is enabled, calling the capture method is not necessary.\n\nFor more information refer to [Capture](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/capture).\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/{paymentPspReference}/captures`](https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments/{paymentPspReference}/captures) endpoint on Checkout API instead.\n\n",
            "operationId" : "post-capture",
            "x-sortIndex" : 1,
            "x-methodName" : "capture",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "capture" : {
                           "$ref" : "#/components/examples/post-capture-capture"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/CaptureRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "capture" : {
                              "$ref" : "#/components/examples/post-capture-capture-200"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ModificationResult"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-400"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-401"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-500"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/donate" : {
         "post" : {
            "tags" : [
               "Modifications"
            ],
            "summary" : "Create a donation",
            "description" : "Schedules a new payment to be created (including a new authorisation request) for the specified donation using the payment details of the original payment.\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/donations`](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/post/donations) endpoint under Checkout API instead.",
            "deprecated" : true,
            "x-addedInVersion" : "40",
            "operationId" : "post-donate",
            "x-sortIndex" : 6,
            "x-methodName" : "donate",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "donate" : {
                           "$ref" : "#/components/examples/post-donate-donate"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/DonationRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ModificationResult"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-400"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-401"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-500"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/refund" : {
         "post" : {
            "tags" : [
               "Modifications"
            ],
            "summary" : "Refund a captured payment",
            "description" : "Refunds a payment that has previously been captured, returning a unique reference for this request. Refunding can be done on the full captured amount or a partial amount. Multiple (partial) refunds will be accepted as long as their sum doesn't exceed the captured amount. Payments which have been authorised, but not captured, cannot be refunded, use the /cancel method instead.\n\nSome payment methods/gateways do not support partial/multiple refunds.\nA margin above the captured limit can be configured to cover shipping/handling costs.\n\nFor more information, refer to [Refund](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/refund).\n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/payments/{paymentPspReference}/refunds`](https://docs.adyen.com/api-explorer/#/CheckoutService/payments/{paymentPspReference}/refunds) endpoint under Checkout API instead.",
            "operationId" : "post-refund",
            "x-sortIndex" : 3,
            "x-methodName" : "refund",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "refund" : {
                           "$ref" : "#/components/examples/post-refund-refund"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/RefundRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "refund" : {
                              "$ref" : "#/components/examples/post-refund-refund-200"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ModificationResult"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-400"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-401"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-500"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/retrieve3ds2Result" : {
         "post" : {
            "tags" : [
               "Payments"
            ],
            "summary" : "Get the 3DS2 authentication result",
            "description" : "Retrieves the `threeDS2Result` after doing a 3D Secure 2 authentication only.",
            "x-addedInVersion" : "40",
            "operationId" : "post-retrieve3ds2Result",
            "x-sortIndex" : 4,
            "x-methodName" : "retrieve3ds2Result",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "retrieve3ds2Result" : {
                           "$ref" : "#/components/examples/post-retrieve3ds2Result-retrieve3ds2Result"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/ThreeDS2ResultRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ThreeDS2ResultResponse"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-400"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-401"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-500"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/technicalCancel" : {
         "post" : {
            "tags" : [
               "Modifications"
            ],
            "summary" : "Cancel an authorisation using your reference",
            "description" : "This endpoint allows you to cancel a payment if you do not have the PSP reference of the original payment request available.\n\nIn your call, refer to the original payment by using the `reference` that you specified in your payment request.\n\nFor more information, see [Technical cancel](https://docs.adyen.com/online-payments/classic-integrations/modify-payments/cancel#technical-cancel). \n\n> This endpoint is part of our [classic API integration](https://docs.adyen.com/online-payments/classic-integrations/api-integration-ecommerce). If using a [newer integration](https://docs.adyen.com/online-payments), use the [`/cancels`](https://docs.adyen.com/api-explorer/#/CheckoutService/cancels) endpoint under Checkout API instead.",
            "x-addedInVersion" : "30",
            "operationId" : "post-technicalCancel",
            "x-sortIndex" : 5,
            "x-methodName" : "technicalCancel",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "technicalCancel" : {
                           "$ref" : "#/components/examples/post-technicalCancel-technicalCancel"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/TechnicalCancelRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "technicalCancel" : {
                              "$ref" : "#/components/examples/post-technicalCancel-technicalCancel-200"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ModificationResult"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-400"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-401"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-500"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      },
      "/voidPendingRefund" : {
         "post" : {
            "tags" : [
               "Modifications"
            ],
            "summary" : "Cancel an in-person refund",
            "description" : "This endpoint allows you to cancel an unreferenced refund request before it has been completed.\n\nIn your call, you can refer to the original refund request either by using the `tenderReference`, or the `pspReference`. We recommend implementing based on the `tenderReference`, as this is generated for both offline and online transactions.\n\nFor more information, refer to [Cancel an unreferenced refund](https://docs.adyen.com/point-of-sale/refund-payment/cancel-unreferenced).",
            "x-addedInVersion" : "25",
            "operationId" : "post-voidPendingRefund",
            "x-sortIndex" : 7,
            "x-methodName" : "voidPendingRefund",
            "security" : [
               {
                  "BasicAuth" : [
                     ]
               },
               {
                  "ApiKeyAuth" : [
                     ]
               }
            ],
            "requestBody" : {
               "content" : {
                  "application/json" : {
                     "examples" : {
                        "voidpendingrefund-pspreference" : {
                           "$ref" : "#/components/examples/post-voidPendingRefund-voidpendingrefund-pspreference"
                        },
                        "voidpendingrefund-tenderreference" : {
                           "$ref" : "#/components/examples/post-voidPendingRefund-voidpendingrefund-tenderreference"
                        }
                     },
                     "schema" : {
                        "$ref" : "#/components/schemas/VoidPendingRefundRequest"
                     }
                  }
               }
            },
            "responses" : {
               "200" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "voidpendingrefund-pspreference" : {
                              "$ref" : "#/components/examples/post-voidPendingRefund-voidpendingrefund-pspreference-200"
                           },
                           "voidpendingrefund-tenderreference" : {
                              "$ref" : "#/components/examples/post-voidPendingRefund-voidpendingrefund-tenderreference-200"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ModificationResult"
                        }
                     }
                  },
                  "description" : "OK - the request has succeeded."
               },
               "400" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-400"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Bad Request - a problem reading or understanding the request."
               },
               "401" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-401"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unauthorized - authentication required."
               },
               "403" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Forbidden - insufficient permissions to process the request."
               },
               "422" : {
                  "content" : {
                     "application/json" : {
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Unprocessable Entity - a request validation error."
               },
               "500" : {
                  "content" : {
                     "application/json" : {
                        "examples" : {
                           "generic" : {
                              "$ref" : "#/components/examples/generic-500"
                           }
                        },
                        "schema" : {
                           "$ref" : "#/components/schemas/ServiceError"
                        }
                     }
                  },
                  "description" : "Internal Server Error - the server could not process the request."
               }
            }
         }
      }
   },
   "components" : {
      "schemas" : {
         "AccountInfo" : {
            "additionalProperties" : false,
            "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" : {
                  "description" : "Shopper's home phone number (including the country code).",
                  "type" : "string"
               },
               "mobilePhone" : {
                  "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" : {
                  "description" : "Shopper's work phone number (including the country code).",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalData3DSecure" : {
            "additionalProperties" : false,
            "properties" : {
               "allow3DS2" : {
                  "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) or send the `executeThreeD` parameter.\n\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 selects redirect or native authentication based on your configuration to optimize authorization rates and improve the shopper's experience.\n* **false** – Not ready to support native 3D Secure 2 authentication. Adyen offers redirect 3D Secure 2 authentication instead, based on 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" : {
                  "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* **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.\n* If you the BIN is not enrolled, you will receive an error.\n\n",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataAirline" : {
            "additionalProperties" : false,
            "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_reference_number" : {
                  "description" : "The alphanumeric customer reference number.\n* Encoding: ASCII\n* maxLength: 20 characters\n* If you send more than 20 characters, the customer reference number is truncated\n* Must not be all spaces",
                  "type" : "string"
               },
               "airline.document_type" : {
                  "description" : "A code that identifies the type of item bought. The description of the code can appear on credit card statements.\n* Encoding: ASCII\n* Example: Passenger ticket = 01\n* minLength: 2 characters\n* maxLength: 2 characters",
                  "type" : "string"
               },
               "airline.flight_date" : {
                  "description" : "The flight departure date. Local time `(HH:mm)` is optional.\n* Date format: `yyyy-MM-dd`\n* Date and time format: `yyyy-MM-dd HH:mm`\n* minLength: 10 characters\n* maxLength: 16 characters",
                  "type" : "string"
               },
               "airline.issue_date" : {
                  "description" : "The date that the ticket was issued to the passenger.\n* minLength: 6 characters\n* maxLength: 6 characters\n* Date format: YYMMDD",
                  "type" : "string"
               },
               "airline.leg.carrier_code" : {
                  "description" : "The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that identifies the carrier.\nThis field is required if the airline data includes leg details.\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.leg.class_of_travel" : {
                  "description" : "A one-letter travel class identifier.\n The following are common:\n * F: first class\n* J: business class\n* Y: economy class\n* W: premium economy\n\n* Encoding: ASCII\n* minLength: 1 character\n* maxLength: 1 character\n* Must not be all spaces\n* Must not be all zeros.",
                  "type" : "string"
               },
               "airline.leg.date_of_travel" : {
                  "description" : "\t\nDate and time of travel in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format `yyyy-MM-dd HH:mm`.\n* Encoding: ASCII\n* minLength: 16 characters\n* maxLength: 16 characters",
                  "type" : "string"
               },
               "airline.leg.depart_airport" : {
                  "description" : "The [IATA](https://www.iata.org/services/pages/codes.aspx) three-letter airport code of the departure airport.\nThis field is required if the airline data includes leg details.\n\n* Encoding: ASCII\n* Example: Amsterdam = AMS\n* minLength: 3 characters\n* maxLength: 3 characters\n* Must not be all spaces\n* Must not be all zeros.",
                  "type" : "string"
               },
               "airline.leg.depart_tax" : {
                  "description" : "The amount of [departure tax](https://en.wikipedia.org/wiki/Departure_tax) charged, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* Encoding: Numeric\n* minLength: 1\n* maxLength: 12\n* Must not be all zeros.",
                  "type" : "string"
               },
               "airline.leg.destination_code" : {
                  "description" : "The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code of the destination airport.\nThis field is required if the airline data includes leg details.\n* Example: Amsterdam = AMS\n* Encoding: ASCII\n* minLength: 3 characters\n* maxLength: 3 characters\n* Must not be all spaces\n* Must not be all zeros.",
                  "type" : "string"
               },
               "airline.leg.fare_base_code" : {
                  "description" : "The [fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code), alphanumeric.\n* minLength: 1 character\n* maxLength: 6 characters\n* Must not be all spaces\n* Must not be all zeros.",
                  "type" : "string"
               },
               "airline.leg.flight_number" : {
                  "description" : "The flight identifier.\n* minLength: 1 character\n* maxLength: 5 characters\n* Must not be all spaces\n* Must not be all zeros.",
                  "type" : "string"
               },
               "airline.leg.stop_over_code" : {
                  "description" : "A one-letter code that indicates whether the passenger is entitled to make a stopover. Can be a space, O if the passenger is entitled to make a stopover, or X if they are not.\n* Encoding: ASCII\n* minLength: 1 character\n* maxLength: 1 character",
                  "type" : "string"
               },
               "airline.passenger.date_of_birth" : {
                  "description" : "The passenger's date of birth.\n\nDate format: `yyyy-MM-dd`\n* minLength: 10\n* maxLength: 10",
                  "type" : "string"
               },
               "airline.passenger.first_name" : {
                  "description" : "The passenger's first name.\n> This field is required if the airline data includes passenger details or leg details.\n* Encoding: ASCII",
                  "type" : "string"
               },
               "airline.passenger.last_name" : {
                  "description" : "The passenger's last name.\n> This field is required if the airline data includes passenger details or leg details.\n* Encoding: ASCII",
                  "type" : "string"
               },
               "airline.passenger.phone_number" : {
                  "description" : "The passenger's phone number, including country code. This is an alphanumeric field that can include the '+' and '-' signs.\n* Encoding: ASCII\n* minLength: 3 characters\n* maxLength: 30 characters",
                  "type" : "string"
               },
               "airline.passenger.traveller_type" : {
                  "description" : "The IATA passenger type code (PTC).\n* Encoding: ASCII\n* minLength: 3 characters\n* maxLength: 6 characters",
                  "type" : "string"
               },
               "airline.passenger_name" : {
                  "description" : "The passenger's name, initials, and title.\n* Format: last name + first name or initials + title\n* Example: *FLYER / MARY MS*\n* minLength: 1 character\n* maxLength: 20 characters\n* If you send more than 20 characters, the name is truncated\n* Must not be all spaces \n* Must not be all zeros.",
                  "type" : "string"
               },
               "airline.ticket_issue_address" : {
                  "description" : "The address of the organization that issued the ticket.\n* minLength: 0 characters\n* maxLength: 16 characters",
                  "type" : "string"
               },
               "airline.ticket_number" : {
                  "description" : "The ticket's unique identifier.\n* minLength: 1 character\n* maxLength: 15 characters\n* Must not be all spaces\n* Must not be all zeros.",
                  "type" : "string"
               },
               "airline.travel_agency_code" : {
                  "description" : "The unique identifier from IATA or ARC for the travel agency that issues the ticket.\n* Encoding: ASCII\n* minLength: 1 character\n* maxLength: 8 characters\n* Must not be all spaces\n* Must not be all zeros.",
                  "type" : "string"
               },
               "airline.travel_agency_name" : {
                  "description" : "The name of the travel agency.\n\n* Encoding: ASCII\n* minLength: 1 character\n* maxLength: 25 characters\n* Must not be all spaces\n* Must not be all zeros.",
                  "type" : "string"
               }
            },
            "required" : [
               "airline.passenger_name"
            ],
            "type" : "object"
         },
         "AdditionalDataCarRental" : {
            "additionalProperties" : false,
            "properties" : {
               "carRental.checkOutDate" : {
                  "description" : "The pick-up date.\n* Date format: `yyyyMMdd`",
                  "type" : "string"
               },
               "carRental.customerServiceTollFreeNumber" : {
                  "description" : "The customer service phone number of the car rental company.\n* Format: Alphanumeric\n* maxLength: 17\n* For US and CA numbers must be 10 characters in length\n* Must not start with a space\n* Must not contain any special characters such as + or -\n*Must not be all zeros.",
                  "type" : "string"
               },
               "carRental.daysRented" : {
                  "description" : "Number of days for which the car is being rented.\n* Format: Numeric\n* maxLength: 4\n* Must not be all spaces",
                  "type" : "string"
               },
               "carRental.fuelCharges" : {
                  "description" : "Any fuel charges associated with the rental, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* Format: Numeric\n* maxLength: 12",
                  "type" : "string"
               },
               "carRental.insuranceCharges" : {
                  "description" : "Any insurance charges associated with the rental, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* Format: Numeric\n* maxLength: 12\n* Must not be all spaces\n*Must not be all zeros.",
                  "type" : "string"
               },
               "carRental.locationCity" : {
                  "description" : "The city where the car is rented.\n* Format: Alphanumeric\n* maxLength: 18\n* Must not start with a space or be all spaces\n*Must not be all zeros.",
                  "type" : "string"
               },
               "carRental.locationCountry" : {
                  "description" : "The country where the car is rented, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n* Format: Alphanumeric\n* maxLength: 2",
                  "type" : "string"
               },
               "carRental.locationStateProvince" : {
                  "description" : "The state or province where the car is rented.\n* Format: Alphanumeric\n* maxLength: 2\n* Must not start with a space or be all spaces\n*Must not be all zeros.",
                  "type" : "string"
               },
               "carRental.noShowIndicator" : {
                  "description" : "Indicates if the customer didn't pick up their rental car.\n* Y - Customer did not pick up their car\n* N - Not applicable",
                  "type" : "string"
               },
               "carRental.oneWayDropOffCharges" : {
                  "description" : "The charge for not returning a car to the original rental location, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* maxLength: 12",
                  "type" : "string"
               },
               "carRental.rate" : {
                  "description" : "The daily rental rate, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* Format: Alphanumeric\n* maxLength: 12",
                  "type" : "string"
               },
               "carRental.rateIndicator" : {
                  "description" : "Specifies whether the given rate is applied daily or weekly.\n* D - Daily rate\n* W - Weekly rate",
                  "type" : "string"
               },
               "carRental.rentalAgreementNumber" : {
                  "description" : "The rental agreement number for the car rental.\n* Format: Alphanumeric\n* maxLength: 9\n* Must not start with a space or be all spaces\n*Must not be all zeros.",
                  "type" : "string"
               },
               "carRental.rentalClassId" : {
                  "description" : "The classification of the rental car.\n* Format: Alphanumeric\n* maxLength: 4\n* Must not start with a space or be all spaces\n*Must not be all zeros.",
                  "type" : "string"
               },
               "carRental.renterName" : {
                  "description" : "The name of the person renting the car.\n* Format: Alphanumeric\n* maxLength: 26\n* If you send more than 26 characters, the name is truncated\n* Must not start with a space or be all spaces\n*Must not be all zeros.",
                  "type" : "string"
               },
               "carRental.returnCity" : {
                  "description" : "The city where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 18\n* Must not start with a space or be all spaces\n*Must not be all zeros.",
                  "type" : "string"
               },
               "carRental.returnCountry" : {
                  "description" : "The country where the car must be returned, in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.\n* Format: Alphanumeric\n* maxLength: 2",
                  "type" : "string"
               },
               "carRental.returnDate" : {
                  "description" : "The last date to return the car by.\n* Date format: `yyyyMMdd`\n* maxLength: 8",
                  "type" : "string"
               },
               "carRental.returnLocationId" : {
                  "description" : "The agency code, phone number, or address abbreviation\n* Format: Alphanumeric\n* maxLength: 10\n* Must not start with a space or be all spaces\n*Must not be all zeros.",
                  "type" : "string"
               },
               "carRental.returnStateProvince" : {
                  "description" : "The state or province where the car must be returned.\n* Format: Alphanumeric\n* maxLength: 3\n* Must not start with a space or be all spaces\n*Must not be all zeros.",
                  "type" : "string"
               },
               "carRental.taxExemptIndicator" : {
                  "description" : "Indicates if the goods or services were tax-exempt, or if tax was not paid on them.\n\nValues:\n* Y - Goods or services were tax exempt\n* N - Tax was not collected",
                  "type" : "string"
               },
               "travelEntertainmentAuthData.duration" : {
                  "description" : "Number of days the car is rented for. This should be included in the auth message.\n* Format: Numeric\n* maxLength: 4",
                  "type" : "string"
               },
               "travelEntertainmentAuthData.market" : {
                  "description" : "Indicates what market-specific dataset will be submitted or is being submitted. Value should be 'A' for car rental. This should be included in the auth message.\n* Format: Alphanumeric\n* maxLength: 1",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataCommon" : {
            "additionalProperties" : false,
            "properties" : {
               "RequestedTestAcquirerResponseCode" : {
                  "description" : "Triggers test scenarios that allow to replicate certain acquirer response codes. See [Testing result codes and refusal reasons](https://docs.adyen.com/development-resources/testing/result-codes/) to learn about the possible values, and the `refusalReason` values you can trigger. ",
                  "type" : "string"
               },
               "RequestedTestErrorResponseCode" : {
                  "description" : "Triggers test scenarios that allow to replicate certain communication errors.\n\nAllowed values:\n* **NO_CONNECTION_AVAILABLE** – There wasn't a connection available to service the outgoing communication.\nThis is a transient, retriable error since no messaging could be initiated to an issuing system (or third-party acquiring system). Therefore, the header Transient-Error: true is returned in the response. A subsequent request using the same idempotency key will be processed as if it was the first request.\n* **IOEXCEPTION_RECEIVED** – Something went wrong during transmission of the message or receiving the response.\nThis is a classified as non-transient because the message could have been received by the issuing party and been acted upon. No transient error header is returned. If using idempotency, the (error) response is stored as the final result for the idempotency key. Subsequent messages with the same idempotency key not be processed beyond returning the stored response.",
                  "type" : "string"
               },
               "allowPartialAuth" : {
                  "description" : "Set to true to authorise a part of the requested amount in case the cardholder does not have enough funds on their account. \nIf a payment was partially authorised, the response includes resultCode: PartiallyAuthorised and the authorised amount in additionalData.authorisedAmountValue.\nTo enable this functionality, contact our Support Team.",
                  "type" : "string"
               },
               "authorisationType" : {
                  "description" : "Flags a card payment request for either pre-authorisation or final authorisation. For more information, refer to [Authorisation types](https://docs.adyen.com/online-payments/adjust-authorisation#authorisation-types).\n\nAllowed values:\n* **PreAuth** – flags the payment request to be handled as a pre-authorisation.\n* **FinalAuth** – flags the payment request to be handled as a final authorisation.",
                  "type" : "string"
               },
               "autoRescue" : {
                  "description" : "Set to **true** to enable [Auto Rescue](https://docs.adyen.com/online-payments/auto-rescue/) for a transaction. Use the `maxDaysToRescue` to specify a rescue window.",
                  "type" : "string"
               },
               "customRoutingFlag" : {
                  "description" : "Allows you to determine or override the acquirer account that should be used for the transaction.\n\nIf you need to process a payment with an acquirer different from a default one, you can set up a corresponding configuration on the Adyen payments platform. Then you can pass a custom routing flag in a payment request's additional data to target a specific acquirer.\n\nTo enable this functionality, contact [Support](https://www.adyen.help/hc/en-us/requests/new).",
                  "type" : "string"
               },
               "industryUsage" : {
                  "description" : "In case of [asynchronous authorisation adjustment](https://docs.adyen.com/online-payments/adjust-authorisation#adjust-authorisation), this field denotes why the additional payment is made.\n\nPossible values:\n\n * **NoShow**: An incremental charge is carried out because of a no-show for a guaranteed reservation.\n\n * **DelayedCharge**: An incremental charge is carried out to process an additional payment after the original services have been rendered and the respective payment has been processed.",
                  "enum" : [
                     "NoShow",
                     "DelayedCharge"
                  ],
                  "type" : "string"
               },
               "manualCapture" : {
                  "description" : "Set to **true** to require [manual capture](https://docs.adyen.com/online-payments/capture) for the transaction.",
                  "type" : "string"
               },
               "maxDaysToRescue" : {
                  "description" : "The rescue window for a transaction, in days, when `autoRescue` is set to **true**. You can specify a value between 1 and 48.\n\n* For [cards](https://docs.adyen.com/online-payments/auto-rescue/cards/), the default is one calendar month.\n * For [SEPA](https://docs.adyen.com/online-payments/auto-rescue/sepa/), the default is 42 days.",
                  "type" : "string"
               },
               "networkTxReference" : {
                  "description" : "Allows you to link the transaction to the original or previous one in a subscription/card-on-file chain. This field is required for token-based transactions where Adyen does not tokenize the card.\n\nTransaction identifier from card schemes, for example, Mastercard Trace ID or the Visa Transaction ID.\n\nSubmit the original transaction ID of the contract in your payment request if you are not tokenizing card details with Adyen and are making a merchant-initiated transaction (MIT) for subsequent charges.\n\nMake sure you are sending `shopperInteraction` **ContAuth** and `recurringProcessingModel` **Subscription** or **UnscheduledCardOnFile** to ensure that the transaction is classified as MIT.",
                  "type" : "string"
               },
               "overwriteBrand" : {
                  "description" : "Boolean indicator that can be optionally used for performing debit transactions on combo cards (for example, combo cards in Brazil). This is not mandatory but we recommend that you set this to true if you want to use the `selectedBrand` value to specify how to process the transaction.",
                  "type" : "string"
               },
               "subMerchantCity" : {
                  "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the city of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 13 characters.",
                  "type" : "string"
               },
               "subMerchantCountry" : {
                  "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the three-letter country code of the actual merchant's address.\n* Format: alpha-numeric.\n* Fixed length: 3 characters.",
                  "type" : "string"
               },
               "subMerchantEmail" : {
                  "description" : "This field is required for transactions performed by registered payment facilitators. This field contains the email address of the sub-merchant.\n* Format: Alphanumeric\n* Maximum length: 40 characters",
                  "type" : "string"
               },
               "subMerchantID" : {
                  "description" : "This field contains an identifier of the actual merchant when a transaction is submitted via a payment facilitator. The payment facilitator must send in this unique ID.\n\nA unique identifier per submerchant that is required if the transaction is performed by a registered payment facilitator.\n* Format: alpha-numeric.\n* Fixed length: 15 characters.",
                  "type" : "string"
               },
               "subMerchantName" : {
                  "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the name of the actual merchant.\n* Format: alpha-numeric.\n* Maximum length: 22 characters.",
                  "type" : "string"
               },
               "subMerchantPhoneNumber" : {
                  "description" : "This field is required for transactions performed by registered payment facilitators. This field contains the phone number of the sub-merchant.* Format: Alphanumeric\n* Maximum length: 20 characters",
                  "type" : "string"
               },
               "subMerchantPostalCode" : {
                  "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the postal code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 10 characters.",
                  "type" : "string"
               },
               "subMerchantState" : {
                  "description" : "This field is required if the transaction is performed by a registered payment facilitator, and if applicable to the country. This field must contain the state code of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 3 characters.",
                  "type" : "string"
               },
               "subMerchantStreet" : {
                  "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the street of the actual merchant's address.\n* Format: alpha-numeric.\n* Maximum length: 60 characters.",
                  "type" : "string"
               },
               "subMerchantTaxId" : {
                  "description" : "This field is required if the transaction is performed by a registered payment facilitator. This field must contain the tax ID of the actual merchant.\n* Format: alpha-numeric.\n* Fixed length: 11 or 14 characters.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataLevel23" : {
            "additionalProperties" : false,
            "properties" : {
               "enhancedSchemeData.customerReference" : {
                  "description" : "The reference number to identify the customer and their order. \n* Encoding: ASCII\n* Max length: 25 characters\n* Must not start with a space or be all spaces.\n* Must not be all zeros.",
                  "type" : "string"
               },
               "enhancedSchemeData.destinationCountryCode" : {
                  "description" : "The three-letter [ISO 3166-1 alpha-3 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) for the destination address.\n* Encoding: ASCII\n* Fixed length: 3 characters",
                  "type" : "string"
               },
               "enhancedSchemeData.destinationPostalCode" : {
                  "description" : "The postal code of the destination address.\n* Encoding: ASCII\n* Max length: 10 characters\n* Must not start with a space.\n* For the US, it must be in five or nine digits format. For example, 10001 or 10001-0000.\n* For Canada, it must be in 6 digits format. For example, M4B 1G5.",
                  "type" : "string"
               },
               "enhancedSchemeData.destinationStateProvinceCode" : {
                  "description" : "The state or province code of the destination address.\n* Encoding: ASCII\n* Max length: 3 characters\n* Must not start with a space.",
                  "type" : "string"
               },
               "enhancedSchemeData.dutyAmount" : {
                  "description" : "The duty tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* For example, 2000 means USD 20.00.\n* Encoding: Numeric\n* Max length: 12 characters",
                  "type" : "string"
               },
               "enhancedSchemeData.freightAmount" : {
                  "description" : "The shipping amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* For example, 2000 means USD 20.00.\n* Encoding: Numeric\n* Max length: 12 characters",
                  "type" : "string"
               },
               "enhancedSchemeData.itemDetailLine[itemNr].commodityCode" : {
                  "description" : "The code that identifies the item in a standardized commodity coding scheme. There are different commodity coding schemes:\n* [UNSPSC commodity codes](https://www.unspsc.org/)\n* [HS commodity codes](https://www.wcoomd.org/en/topics/nomenclature/overview.aspx)\n* [NAICS commodity codes](https://www.census.gov/naics/)\n* [NAPCS commodity codes](https://www.census.gov/naics/napcs/)\n\n\n* Encoding: ASCII\n* Max length: 12 characters\n* Must not start with a space or be all spaces.\n* Must not be all zeros.",
                  "type" : "string"
               },
               "enhancedSchemeData.itemDetailLine[itemNr].description" : {
                  "description" : "A description of the item.\n* Encoding: ASCII\n* Max length: 26 characters\n* Must not be a single character.\n* Must not be blank.\n* Must not start with a space or be all spaces.\n* Must not be all zeros.",
                  "type" : "string"
               },
               "enhancedSchemeData.itemDetailLine[itemNr].discountAmount" : {
                  "description" : "The discount amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* For example, 2000 means USD 20.00.\n* Encoding: Numeric\n* Max length: 12 characters",
                  "type" : "string"
               },
               "enhancedSchemeData.itemDetailLine[itemNr].productCode" : {
                  "description" : "The product code. Must be a unique product code associated with the item or service. This can be your unique code for the item, or the manufacturer's product code. \n* Encoding: ASCII.\n* Max length: 12 characters\n* Must not start with a space or be all spaces.\n* Must not be all zeros.",
                  "type" : "string"
               },
               "enhancedSchemeData.itemDetailLine[itemNr].quantity" : {
                  "description" : "The number of items. Must be an integer greater than zero.\n* Encoding: Numeric\n* Max length: 12 characters\n* Must not start with a space or be all spaces.",
                  "type" : "string"
               },
               "enhancedSchemeData.itemDetailLine[itemNr].totalAmount" : {
                  "description" : "The total amount for the line item, in [minor units](https://docs.adyen.com/development-resources/currency-codes). See [Amount requirements for level 2/3 ESD](https://docs.adyen.com//payment-methods/cards/enhanced-scheme-data/l2-l3#amount-requirements) to learn more about how to calculate the line item total.\n* For example, 2000 means USD 20.00.\n* Max length: 12 characters\n* Must not start with a space or be all spaces.\n* Must not be all zeros.",
                  "type" : "string"
               },
               "enhancedSchemeData.itemDetailLine[itemNr].unitOfMeasure" : {
                  "description" : "The unit of measurement for an item.\n* Encoding: ASCII\n* Max length: 3 characters\n* Must not start with a space or be all spaces.\n* Must not be all zeros.",
                  "type" : "string"
               },
               "enhancedSchemeData.itemDetailLine[itemNr].unitPrice" : {
                  "description" : "The unit price in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* For example, 2000 means USD 20.00.\n* Encoding: Numeric\n* Max length: 12 characters\n* Must not be all zeros.",
                  "type" : "string"
               },
               "enhancedSchemeData.orderDate" : {
                  "description" : "The order date.\n* Format: `ddMMyy`\n* Encoding: ASCII\n* Max length: 6 characters",
                  "type" : "string"
               },
               "enhancedSchemeData.shipFromPostalCode" : {
                  "description" : "The postal code of the address where the item is shipped from.\n* Encoding: ASCII\n* Max length: 10 characters\n* Must not start with a space or be all spaces.\n* Must not be all zeros.For the US, it must be in five or nine digits format. For example, 10001 or 10001-0000.\n* For Canada, it must be in 6 digits format. For example, M4B 1G5.",
                  "type" : "string"
               },
               "enhancedSchemeData.totalTaxAmount" : {
                  "description" : "The amount of state or provincial [tax included in the total transaction amount](https://docs.adyen.com/payment-methods/cards/enhanced-scheme-data/l2-l3#requirements-to-send-level-2-3-esd), in [minor units](https://docs.adyen.com/development-resources/currency-codes). \n* For example, 2000 means USD 20.00.\n* Encoding: Numeric \n* Max length: 12 characters\n* Must not be all zeros.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataLodging" : {
            "additionalProperties" : false,
            "properties" : {
               "lodging.SpecialProgramCode" : {
                  "description" : "A code that corresponds to the category of lodging charges for the payment. Possible values:\n* 1: Lodging\n* 2: No show reservation\n* 3: Advanced deposit",
                  "type" : "string"
               },
               "lodging.checkInDate" : {
                  "description" : "The arrival date.\n* Date format: **yyyyMmDd**. For example, for 2023 April 22, **20230422**.",
                  "type" : "string"
               },
               "lodging.checkOutDate" : {
                  "description" : "The departure date.\n* Date format: **yyyyMmDd**. For example, for 2023 April 22, **20230422**.",
                  "type" : "string"
               },
               "lodging.customerServiceTollFreeNumber" : {
                  "description" : "The toll-free phone number for the lodging.\n* Format: numeric\n* Max length: 17 characters.\n* For US and CA numbers must be 10 characters in length\n* Must not start with a space\n* Must not contain any special characters such as + or -\n* Must not be all zeros.",
                  "type" : "string"
               },
               "lodging.fireSafetyActIndicator" : {
                  "description" : "Identifies that the facility complies with the Hotel and Motel Fire Safety Act of 1990. Must be 'Y' or 'N'.\n* Format: alphabetic\n* Max length: 1 character",
                  "type" : "string"
               },
               "lodging.folioCashAdvances" : {
                  "description" : "The folio cash advances, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* Format: numeric\n* Max length: 12 characters",
                  "type" : "string"
               },
               "lodging.folioNumber" : {
                  "description" : "The card acceptor’s internal invoice or billing ID reference number.\n* Max length: 25 characters\n* Must not start with a space\n* Must not contain any special characters\n* Must not be all zeros.",
                  "type" : "string"
               },
               "lodging.foodBeverageCharges" : {
                  "description" : "Any charges for food and beverages associated with the booking, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* Format: numeric\n* Max length: 12 characters",
                  "type" : "string"
               },
               "lodging.noShowIndicator" : {
                  "description" : "Indicates if the customer didn't check in for their booking.\n Possible values: \n* **Y**: the customer didn't check in \n* **N**: the customer checked in",
                  "type" : "string"
               },
               "lodging.prepaidExpenses" : {
                  "description" : "The prepaid expenses for the booking.\n* Format: numeric\n* Max length: 12 characters",
                  "type" : "string"
               },
               "lodging.propertyPhoneNumber" : {
                  "description" : "The lodging property location's phone number.\n* Format: numeric\n* Min length: 10 characters\n* Max length: 17 characters\n* For US and CA numbers must be 10 characters in length\n* Must not start with a space\n* Must not contain any special characters such as + or -\n* Must not be all zeros.",
                  "type" : "string"
               },
               "lodging.room1.numberOfNights" : {
                  "description" : "The total number of nights the room is booked for.\n* Format: numeric\n* Must be a number between 0 and 99\n* Max length: 4 characters",
                  "type" : "string"
               },
               "lodging.room1.rate" : {
                  "description" : "The rate for the room, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* Format: numeric\n* Max length: 12 characters\n* Must not be a negative number",
                  "type" : "string"
               },
               "lodging.totalRoomTax" : {
                  "description" : "The total room tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* Format: numeric\n* Max length: 12 characters\n* Must not be a negative number",
                  "type" : "string"
               },
               "lodging.totalTax" : {
                  "description" : "The total tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* Format: numeric\n* Max length: 12 characters\n* Must not be a negative number",
                  "type" : "string"
               },
               "travelEntertainmentAuthData.duration" : {
                  "description" : "The number of nights. This should be included in the auth message.\n* Format: numeric\n* Max length: 4 characters",
                  "type" : "string"
               },
               "travelEntertainmentAuthData.market" : {
                  "description" : "Indicates what market-specific dataset will be submitted. Must be 'H' for Hotel. This should be included in the auth message.\n\n* Format: alphanumeric\n* Max length: 1 character",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataModifications" : {
            "additionalProperties" : false,
            "properties" : {
               "installmentPaymentData.selectedInstallmentOption" : {
                  "description" : "This is the installment option selected by the shopper. It is required only if specified by the user.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataOpenInvoice" : {
            "additionalProperties" : false,
            "properties" : {
               "openinvoicedata.merchantData" : {
                  "description" : "Holds different merchant data points like product, purchase, customer, and so on. It takes data in a Base64 encoded string.\n\nThe `merchantData` parameter needs to be added to the `openinvoicedata` signature at the end.\n\nSince the field is optional, if it's not included it does not impact computing the merchant signature.\n\nApplies only to Klarna.\n\nYou can contact Klarna for the format and structure of the string.",
                  "type" : "string"
               },
               "openinvoicedata.numberOfLines" : {
                  "description" : "The number of invoice lines included in `openinvoicedata`.\n\nThere needs to be at least one line, so `numberOfLines` needs to be at least 1.",
                  "type" : "string"
               },
               "openinvoicedata.recipientFirstName" : {
                  "description" : "First name of the recipient. If the delivery address and the billing address are different, specify the `recipientFirstName` and `recipientLastName` to share the delivery address with Klarna. Otherwise, only the billing address is shared with Klarna.",
                  "type" : "string"
               },
               "openinvoicedata.recipientLastName" : {
                  "description" : "Last name of the recipient. If the delivery address and the billing address are different, specify the `recipientFirstName` and `recipientLastName` to share the delivery address with Klarna. Otherwise, only the billing address is shared with Klarna.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].currencyCode" : {
                  "description" : "The three-character ISO currency code.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].description" : {
                  "description" : "A text description of the product the invoice line refers to.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].itemAmount" : {
                  "description" : "The price for one item in the invoice line, represented in minor units.\n\nThe due amount for the item, VAT excluded.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].itemId" : {
                  "description" : "A unique id for this item. Required for RatePay if the description of each item is not unique.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].itemVatAmount" : {
                  "description" : "The VAT due for one item in the invoice line, represented in minor units.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].itemVatPercentage" : {
                  "description" : "The VAT percentage for one item in the invoice line, represented in minor units.\n\nFor example, 19% VAT is specified as 1900.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].numberOfItems" : {
                  "description" : "The number of units purchased of a specific product.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].returnShippingCompany" : {
                  "description" : "Name of the shipping company handling the the return shipment.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].returnTrackingNumber" : {
                  "description" : "The tracking number for the return of the shipment.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].returnTrackingUri" : {
                  "description" : "URI where the customer can track the return of their shipment.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].shippingCompany" : {
                  "description" : "Name of the shipping company handling the delivery.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].shippingMethod" : {
                  "description" : "Shipping method.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].trackingNumber" : {
                  "description" : "The tracking number for the shipment.",
                  "type" : "string"
               },
               "openinvoicedataLine[itemNr].trackingUri" : {
                  "description" : "URI where the customer can track their shipment.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataOpi" : {
            "additionalProperties" : false,
            "properties" : {
               "opi.includeTransToken" : {
                  "description" : "Optional boolean indicator. Set to **true** if you want an ecommerce transaction to return an `opi.transToken` as additional data in the response.\n\nYou can store this Oracle Payment Interface token in your Oracle Opera database. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataRatepay" : {
            "additionalProperties" : false,
            "properties" : {
               "ratepay.installmentAmount" : {
                  "description" : "Amount the customer has to pay each month.",
                  "type" : "string"
               },
               "ratepay.interestRate" : {
                  "description" : "Interest rate of this installment.",
                  "type" : "string"
               },
               "ratepay.lastInstallmentAmount" : {
                  "description" : "Amount of the last installment.",
                  "type" : "string"
               },
               "ratepay.paymentFirstday" : {
                  "description" : "Calendar day of the first payment.",
                  "type" : "string"
               },
               "ratepaydata.deliveryDate" : {
                  "description" : "Date the merchant delivered the goods to the customer.",
                  "type" : "string"
               },
               "ratepaydata.dueDate" : {
                  "description" : "Date by which the customer must settle the payment.",
                  "type" : "string"
               },
               "ratepaydata.invoiceDate" : {
                  "description" : "Invoice date, defined by the merchant. If not included, the invoice date is set to the delivery date.",
                  "type" : "string"
               },
               "ratepaydata.invoiceId" : {
                  "description" : "Identification name or number for the invoice, defined by the merchant.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataRetry" : {
            "additionalProperties" : false,
            "properties" : {
               "retry.chainAttemptNumber" : {
                  "description" : "The number of times the transaction (not order) has been retried between different payment service providers. For instance, the `chainAttemptNumber` set to 2 means that this transaction has been recently tried on another provider before being sent to Adyen.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.",
                  "type" : "string"
               },
               "retry.orderAttemptNumber" : {
                  "description" : "The index of the attempt to bill a particular order, which is identified by the `merchantOrderReference` field. For example, if a recurring transaction fails and is retried one day later, then the order number for these attempts would be 1 and 2, respectively.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.",
                  "type" : "string"
               },
               "retry.skipRetry" : {
                  "description" : "The Boolean value indicating whether Adyen should skip or retry this transaction, if possible.\n\n> If you submit `retry.chainAttemptNumber`, `retry.orderAttemptNumber`, and `retry.skipRetry` values, we also recommend you provide the `merchantOrderReference` to facilitate linking payment attempts together.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataRisk" : {
            "additionalProperties" : false,
            "properties" : {
               "riskdata.[customFieldName]" : {
                  "description" : "The data for your custom risk field. For more information, refer to [Create custom risk fields](https://docs.adyen.com/risk-management/configure-custom-risk-rules#step-1-create-custom-risk-fields).",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].amountPerItem" : {
                  "description" : "The price of item in the basket, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].brand" : {
                  "description" : "Brand of the item.",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].category" : {
                  "description" : "Category of the item.",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].color" : {
                  "description" : "Color of the item.",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].currency" : {
                  "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].itemID" : {
                  "description" : "ID of the item.",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].manufacturer" : {
                  "description" : "Manufacturer of the item.",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].productTitle" : {
                  "description" : "A text description of the product the invoice line refers to.",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].quantity" : {
                  "description" : "Quantity of the item purchased.",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].receiverEmail" : {
                  "description" : "Email associated with the given product in the basket (usually in electronic gift cards).",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].size" : {
                  "description" : "Size of the item.",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].sku" : {
                  "description" : "[Stock keeping unit](https://en.wikipedia.org/wiki/Stock_keeping_unit).",
                  "type" : "string"
               },
               "riskdata.basket.item[itemNr].upc" : {
                  "description" : "[Universal Product Code](https://en.wikipedia.org/wiki/Universal_Product_Code).",
                  "type" : "string"
               },
               "riskdata.promotions.promotion[itemNr].promotionCode" : {
                  "description" : "Code of the promotion.",
                  "type" : "string"
               },
               "riskdata.promotions.promotion[itemNr].promotionDiscountAmount" : {
                  "description" : "The discount amount of the promotion, represented in [minor units](https://docs.adyen.com/development-resources/currency-codes).",
                  "type" : "string"
               },
               "riskdata.promotions.promotion[itemNr].promotionDiscountCurrency" : {
                  "description" : "The three-character [ISO currency code](https://en.wikipedia.org/wiki/ISO_4217).",
                  "type" : "string"
               },
               "riskdata.promotions.promotion[itemNr].promotionDiscountPercentage" : {
                  "description" : "Promotion's percentage discount. It is represented in percentage value and there is no need to include the '%' sign.\n\ne.g. for a promotion discount of 30%, the value of the field should be 30.",
                  "type" : "string"
               },
               "riskdata.promotions.promotion[itemNr].promotionName" : {
                  "description" : "Name of the promotion.",
                  "type" : "string"
               },
               "riskdata.riskProfileReference" : {
                  "description" : "Reference number of the risk profile that you want to apply to the payment. If not provided or left blank, the merchant-level account's default risk profile will be applied to the payment. For more information, see [dynamically assign a risk profile to a payment](https://docs.adyen.com/risk-management/create-and-use-risk-profiles#dynamically-assign-a-risk-profile-to-a-payment).",
                  "type" : "string"
               },
               "riskdata.skipRisk" : {
                  "description" : "If this parameter is provided with the value **true**, risk checks for the payment request are skipped and the transaction will not get a risk score.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataRiskStandalone" : {
            "additionalProperties" : false,
            "properties" : {
               "PayPal.CountryCode" : {
                  "description" : "Shopper's country of residence in the form of ISO standard 3166 2-character country codes.",
                  "type" : "string"
               },
               "PayPal.EmailId" : {
                  "description" : "Shopper's email.",
                  "type" : "string"
               },
               "PayPal.FirstName" : {
                  "description" : "Shopper's first name.",
                  "type" : "string"
               },
               "PayPal.LastName" : {
                  "description" : "Shopper's last name.",
                  "type" : "string"
               },
               "PayPal.PayerId" : {
                  "description" : "Unique PayPal Customer Account identification number. Character length and limitations: 13 single-byte alphanumeric characters.",
                  "type" : "string"
               },
               "PayPal.Phone" : {
                  "description" : "Shopper's phone number.",
                  "type" : "string"
               },
               "PayPal.ProtectionEligibility" : {
                  "description" : "Allowed values:\n* **Eligible** — Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.\n\n* **PartiallyEligible** — Merchant is protected by PayPal's Seller Protection Policy for Item Not Received.\n\n* **Ineligible** — Merchant is not protected under the Seller Protection Policy.",
                  "type" : "string"
               },
               "PayPal.TransactionId" : {
                  "description" : "Unique transaction ID of the payment.",
                  "type" : "string"
               },
               "avsResultRaw" : {
                  "description" : "Raw AVS result received from the acquirer, where available. Example: D",
                  "type" : "string"
               },
               "bin" : {
                  "description" : "The Bank Identification Number of a credit card, which is the first six digits of a card number. Required for [tokenized card request](https://docs.adyen.com/online-payments/tokenization).",
                  "type" : "string"
               },
               "cvcResultRaw" : {
                  "description" : "Raw CVC result received from the acquirer, where available. Example: 1",
                  "type" : "string"
               },
               "riskToken" : {
                  "description" : "Unique identifier or token for the shopper's card details.",
                  "type" : "string"
               },
               "threeDAuthenticated" : {
                  "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true",
                  "type" : "string"
               },
               "threeDOffered" : {
                  "description" : "A Boolean value indicating whether 3DS was offered for this payment. Example: true",
                  "type" : "string"
               },
               "tokenDataType" : {
                  "description" : "Required for PayPal payments only. The only supported value is: **paypal**.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataSubMerchant" : {
            "additionalProperties" : false,
            "properties" : {
               "subMerchant.numberOfSubSellers" : {
                  "description" : "Required for transactions performed by registered payment facilitators. Indicates the number of sub-merchants contained in the request. For example, **3**.",
                  "type" : "string"
               },
               "subMerchant.subSeller[subSellerNr].city" : {
                  "description" : "Required for transactions performed by registered payment facilitators. The city of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 13 characters",
                  "type" : "string"
               },
               "subMerchant.subSeller[subSellerNr].country" : {
                  "description" : "Required for transactions performed by registered payment facilitators. The three-letter country code of the sub-merchant's address. For example, **BRA** for Brazil. \n* Format: [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)\n* Fixed length: 3 characters",
                  "type" : "string"
               },
               "subMerchant.subSeller[subSellerNr].email" : {
                  "description" : "Required for transactions performed by registered payment facilitators. The email address of the sub-merchant.\n* Format: Alphanumeric\n* Maximum length: 40 characters",
                  "type" : "string"
               },
               "subMerchant.subSeller[subSellerNr].id" : {
                  "description" : "Required for transactions performed by registered payment facilitators. A unique identifier that you create for the sub-merchant, used by schemes to identify the sub-merchant. \n* Format: Alphanumeric\n* Maximum length: 15 characters",
                  "type" : "string"
               },
               "subMerchant.subSeller[subSellerNr].mcc" : {
                  "description" : "Required for transactions performed by registered payment facilitators. The sub-merchant's 4-digit Merchant Category Code (MCC). \n* Format: Numeric\n* Fixed length: 4 digits",
                  "type" : "string"
               },
               "subMerchant.subSeller[subSellerNr].name" : {
                  "description" : "Required for transactions performed by registered payment facilitators. The name of the sub-merchant. Based on scheme specifications, this value will overwrite the shopper statement  that will appear in the card statement.\n* Format: Alphanumeric\n* Maximum length: 22 characters",
                  "type" : "string"
               },
               "subMerchant.subSeller[subSellerNr].phoneNumber" : {
                  "description" : "Required for transactions performed by registered payment facilitators. The phone number of the sub-merchant.* Format: Alphanumeric\n* Maximum length: 20 characters",
                  "type" : "string"
               },
               "subMerchant.subSeller[subSellerNr].postalCode" : {
                  "description" : "Required for transactions performed by registered payment facilitators. The postal code of the sub-merchant's address, without dashes.\n* Format: Numeric\n* Fixed length: 8 digits",
                  "type" : "string"
               },
               "subMerchant.subSeller[subSellerNr].state" : {
                  "description" : "Required for transactions performed by registered payment facilitators. The state code of the sub-merchant's address, if applicable to the country.\n* Format: Alphanumeric\n* Maximum length: 2 characters",
                  "type" : "string"
               },
               "subMerchant.subSeller[subSellerNr].street" : {
                  "description" : "Required for transactions performed by registered payment facilitators. The street name and house number of the sub-merchant's address.\n* Format: Alphanumeric\n* Maximum length: 60 characters",
                  "type" : "string"
               },
               "subMerchant.subSeller[subSellerNr].taxId" : {
                  "description" : "Required for transactions performed by registered payment facilitators. The tax ID of the sub-merchant.\n* Format: Numeric\n* Fixed length: 11 digits for the CPF or 14 digits for the CNPJ",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataTemporaryServices" : {
            "additionalProperties" : false,
            "properties" : {
               "enhancedSchemeData.customerReference" : {
                  "description" : "The customer code, if supplied by a customer.\n* Encoding: ASCII\n* maxLength: 25",
                  "type" : "string"
               },
               "enhancedSchemeData.employeeName" : {
                  "description" : "The name or ID of the person working in a temporary capacity.\n* maxLength: 40.  \n* Must not be all spaces. \n*Must not be all zeros.",
                  "type" : "string"
               },
               "enhancedSchemeData.jobDescription" : {
                  "description" : "The job description of the person working in a temporary capacity.\n* maxLength: 40 \n* Must not be all spaces. \n*Must not be all zeros.",
                  "type" : "string"
               },
               "enhancedSchemeData.regularHoursRate" : {
                  "description" : "The amount paid for regular hours worked, [minor units](https://docs.adyen.com/development-resources/currency-codes).\n* maxLength: 7\n* Must not be empty\n* Can be all zeros",
                  "type" : "string"
               },
               "enhancedSchemeData.regularHoursWorked" : {
                  "description" : "The hours worked.\n* maxLength: 7\n* Must not be empty\n* Can be all zeros",
                  "type" : "string"
               },
               "enhancedSchemeData.requestName" : {
                  "description" : "The name of the person requesting temporary services.\n* maxLength: 40\n* Must not be all zeros\n* Must not be all spaces",
                  "type" : "string"
               },
               "enhancedSchemeData.tempStartDate" : {
                  "description" : "The billing period start date.\n* Format: ddMMyy\n* maxLength: 6",
                  "type" : "string"
               },
               "enhancedSchemeData.tempWeekEnding" : {
                  "description" : "The billing period end date.\n* Format: ddMMyy\n* maxLength: 6",
                  "type" : "string"
               },
               "enhancedSchemeData.totalTaxAmount" : {
                  "description" : "The total tax amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes). For example, 2000 means USD 20.00\n* maxLength: 12",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "AdditionalDataWallets" : {
            "additionalProperties" : false,
            "properties" : {
               "androidpay.token" : {
                  "description" : "The Android Pay token retrieved from the SDK.",
                  "type" : "string"
               },
               "masterpass.transactionId" : {
                  "description" : "The Mastercard Masterpass Transaction ID retrieved from the SDK.",
                  "type" : "string"
               },
               "payment.token" : {
                  "description" : "The Apple Pay token retrieved from the SDK.",
                  "type" : "string"
               },
               "paywithgoogle.token" : {
                  "description" : "The Google Pay token retrieved from the SDK.",
                  "type" : "string"
               },
               "samsungpay.token" : {
                  "description" : "The Samsung Pay token retrieved from the SDK.",
                  "type" : "string"
               },
               "visacheckout.callId" : {
                  "description" : "The Visa Checkout Call ID retrieved from the SDK.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "Address" : {
            "additionalProperties" : false,
            "properties" : {
               "city" : {
                  "description" : "The name of the city. Maximum length: 3000 characters.",
                  "maxLength" : 3000,
                  "type" : "string"
               },
               "country" : {
                  "description" : "The two-character ISO-3166-1 alpha-2 country code. For example, **US**.\n> If you don't know the country or are not collecting the country from the shopper, provide `country` as `ZZ`.",
                  "type" : "string"
               },
               "houseNumberOrName" : {
                  "description" : "The number or name of the house. Maximum length: 3000 characters.",
                  "maxLength" : 3000,
                  "type" : "string"
               },
               "postalCode" : {
                  "description" : "A maximum of five digits for an address in the US, or a maximum of ten characters for an address in all other countries.",
                  "type" : "string"
               },
               "stateOrProvince" : {
                  "description" : "The two-character ISO 3166-2 state or province code. For example, **CA** in the US or **ON** in Canada.\n> Required for the US and Canada.",
                  "type" : "string"
               },
               "street" : {
                  "description" : "The name of the street. Maximum length: 3000 characters.\n> The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.",
                  "maxLength" : 3000,
                  "type" : "string"
               }
            },
            "required" : [
               "street",
               "houseNumberOrName",
               "city",
               "postalCode",
               "country"
            ],
            "type" : "object"
         },
         "AdjustAuthorisationRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "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/AdditionalDataModifications"
                     },
                     {
                        "$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 modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.",
                  "type" : "object"
               },
               "merchantAccount" : {
                  "description" : "The merchant account that is used to process the payment.",
                  "type" : "string"
               },
               "modificationAmount" : {
                  "description" : "The amount that needs to be adjusted. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "mpiData" : {
                  "x-addedInVersion" : "46",
                  "description" : "Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).",
                  "$ref" : "#/components/schemas/ThreeDSecureData"
               },
               "originalMerchantReference" : {
                  "x-addedInVersion" : "30",
                  "description" : "The original merchant reference to cancel.",
                  "type" : "string"
               },
               "originalReference" : {
                  "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n",
                  "type" : "string"
               },
               "reference" : {
                  "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.",
                  "type" : "string"
               },
               "splits" : {
                  "x-addedInVersion" : "37",
                  "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to split payments for [platforms](https://docs.adyen.com/platforms/automatic-split-configuration/).",
                  "items" : {
                     "$ref" : "#/components/schemas/Split"
                  },
                  "type" : "array"
               },
               "tenderReference" : {
                  "x-addedInVersion" : "25",
                  "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.",
                  "type" : "string"
               },
               "uniqueTerminalId" : {
                  "x-addedInVersion" : "25",
                  "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.",
                  "type" : "string"
               }
            },
            "required" : [
               "merchantAccount",
               "modificationAmount",
               "originalReference"
            ],
            "type" : "object"
         },
         "Amount" : {
            "additionalProperties" : false,
            "properties" : {
               "currency" : {
                  "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes).",
                  "maxLength" : 3,
                  "minLength" : 3,
                  "type" : "string"
               },
               "value" : {
                  "description" : "The amount of the transaction, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).",
                  "format" : "int64",
                  "type" : "integer"
               }
            },
            "required" : [
               "value",
               "currency"
            ],
            "type" : "object"
         },
         "ApplicationInfo" : {
            "additionalProperties" : false,
            "properties" : {
               "adyenLibrary" : {
                  "description" : "Adyen-developed software, such as libraries and plugins, used to interact with the Adyen API. For example, Magento plugin, Java API library, etc.",
                  "$ref" : "#/components/schemas/CommonField"
               },
               "adyenPaymentSource" : {
                  "description" : "Adyen-developed software to get payment details. For example, Checkout SDK, Secured Fields SDK, etc.",
                  "$ref" : "#/components/schemas/CommonField"
               },
               "externalPlatform" : {
                  "description" : "Third-party developed platform used to initiate payment requests. For example, Magento, Zuora, etc.",
                  "$ref" : "#/components/schemas/ExternalPlatform"
               },
               "merchantApplication" : {
                  "description" : "Merchant developed software, such as cashier application, used to interact with the Adyen API.",
                  "$ref" : "#/components/schemas/CommonField"
               },
               "merchantDevice" : {
                  "description" : "Merchant device information.",
                  "$ref" : "#/components/schemas/MerchantDevice"
               },
               "shopperInteractionDevice" : {
                  "description" : "Shopper interaction device, such as terminal, mobile device or web browser, to initiate payment requests.",
                  "$ref" : "#/components/schemas/ShopperInteractionDevice"
               }
            },
            "type" : "object"
         },
         "BankAccount" : {
            "additionalProperties" : false,
            "properties" : {
               "bankAccountNumber" : {
                  "description" : "The bank account number (without separators).",
                  "type" : "string"
               },
               "bankCity" : {
                  "x-addedInVersion" : "18",
                  "description" : "The bank city.",
                  "type" : "string"
               },
               "bankLocationId" : {
                  "description" : "The location id of the bank. The field value is `nil` in most cases.",
                  "type" : "string"
               },
               "bankName" : {
                  "description" : "The name of the bank.",
                  "type" : "string"
               },
               "bic" : {
                  "description" : "The [Business Identifier Code](https://en.wikipedia.org/wiki/ISO_9362) (BIC) is the SWIFT address assigned to a bank. The field value is `nil` in most cases.",
                  "type" : "string"
               },
               "countryCode" : {
                  "description" : "Country code where the bank is located.\n\nA valid value is an ISO two-character country code (e.g. 'NL').",
                  "type" : "string"
               },
               "iban" : {
                  "description" : "The [International Bank Account Number](https://en.wikipedia.org/wiki/International_Bank_Account_Number) (IBAN).",
                  "type" : "string"
               },
               "ownerName" : {
                  "description" : "The name of the bank account holder.\nIf you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:\n* χ12 is converted to ch12.\n* üA is converted to euA.\n* Peter Møller is converted to Peter Mller, because banks don't accept 'ø'.\nAfter replacement, the ownerName must have at least three alphanumeric characters (A-Z, a-z, 0-9), and at least one of them must be a valid Latin character (A-Z, a-z). For example:\n* John17 - allowed.\n* J17 - allowed.\n* 171 - not allowed.\n* John-7 - allowed.\n> If provided details don't match the required format, the response returns the error message: 203 'Invalid bank account holder name'.",
                  "type" : "string"
               },
               "taxId" : {
                  "x-addedInVersion" : "18",
                  "description" : "The bank account holder's tax ID.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "BrowserInfo" : {
            "additionalProperties" : false,
            "properties" : {
               "acceptHeader" : {
                  "description" : "The accept header value of the shopper's browser.",
                  "type" : "string"
               },
               "colorDepth" : {
                  "x-addedInVersion" : "40",
                  "description" : "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.",
                  "format" : "int32",
                  "type" : "integer"
               },
               "javaEnabled" : {
                  "x-addedInVersion" : "40",
                  "description" : "Boolean value indicating if the shopper's browser is able to execute Java.",
                  "type" : "boolean"
               },
               "javaScriptEnabled" : {
                  "x-addedInVersion" : "40",
                  "default" : true,
                  "description" : "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.",
                  "type" : "boolean"
               },
               "language" : {
                  "x-addedInVersion" : "40",
                  "description" : "The `navigator.language` value of the shopper's browser (as defined in IETF BCP 47).",
                  "type" : "string"
               },
               "screenHeight" : {
                  "x-addedInVersion" : "40",
                  "description" : "The total height of the shopper's device screen in pixels.",
                  "format" : "int32",
                  "type" : "integer"
               },
               "screenWidth" : {
                  "x-addedInVersion" : "40",
                  "description" : "The total width of the shopper's device screen in pixels.",
                  "format" : "int32",
                  "type" : "integer"
               },
               "timeZoneOffset" : {
                  "x-addedInVersion" : "40",
                  "description" : "Time difference between UTC time and the shopper's browser local time, in minutes.",
                  "format" : "int32",
                  "type" : "integer"
               },
               "userAgent" : {
                  "description" : "The user agent value of the shopper's browser.",
                  "type" : "string"
               }
            },
            "required" : [
               "userAgent",
               "acceptHeader",
               "javaEnabled",
               "colorDepth",
               "screenHeight",
               "screenWidth",
               "timeZoneOffset",
               "language"
            ],
            "type" : "object"
         },
         "CancelOrRefundRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "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/AdditionalDataModifications"
                     },
                     {
                        "$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 modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.",
                  "type" : "object"
               },
               "merchantAccount" : {
                  "description" : "The merchant account that is used to process the payment.",
                  "type" : "string"
               },
               "mpiData" : {
                  "x-addedInVersion" : "46",
                  "description" : "Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).",
                  "$ref" : "#/components/schemas/ThreeDSecureData"
               },
               "originalMerchantReference" : {
                  "x-addedInVersion" : "30",
                  "description" : "The original merchant reference to cancel.",
                  "type" : "string"
               },
               "originalReference" : {
                  "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n",
                  "type" : "string"
               },
               "reference" : {
                  "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.",
                  "type" : "string"
               },
               "tenderReference" : {
                  "x-addedInVersion" : "25",
                  "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.",
                  "type" : "string"
               },
               "uniqueTerminalId" : {
                  "x-addedInVersion" : "25",
                  "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.",
                  "type" : "string"
               }
            },
            "required" : [
               "merchantAccount",
               "originalReference"
            ],
            "type" : "object"
         },
         "CancelRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "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/AdditionalDataModifications"
                     },
                     {
                        "$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 modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.",
                  "type" : "object"
               },
               "merchantAccount" : {
                  "description" : "The merchant account that is used to process the payment.",
                  "type" : "string"
               },
               "mpiData" : {
                  "x-addedInVersion" : "46",
                  "description" : "Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).",
                  "$ref" : "#/components/schemas/ThreeDSecureData"
               },
               "originalMerchantReference" : {
                  "x-addedInVersion" : "30",
                  "description" : "The original merchant reference to cancel.",
                  "type" : "string"
               },
               "originalReference" : {
                  "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n",
                  "type" : "string"
               },
               "reference" : {
                  "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.",
                  "type" : "string"
               },
               "splits" : {
                  "x-addedInVersion" : "37",
                  "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to split payments for [platforms](https://docs.adyen.com/platforms/automatic-split-configuration/).",
                  "items" : {
                     "$ref" : "#/components/schemas/Split"
                  },
                  "type" : "array"
               },
               "tenderReference" : {
                  "x-addedInVersion" : "25",
                  "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.",
                  "type" : "string"
               },
               "uniqueTerminalId" : {
                  "x-addedInVersion" : "25",
                  "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.",
                  "type" : "string"
               }
            },
            "required" : [
               "merchantAccount",
               "originalReference"
            ],
            "type" : "object"
         },
         "CaptureRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "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/AdditionalDataModifications"
                     },
                     {
                        "$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 modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.",
                  "type" : "object"
               },
               "merchantAccount" : {
                  "description" : "The merchant account that is used to process the payment.",
                  "type" : "string"
               },
               "modificationAmount" : {
                  "description" : "The amount that needs to be captured. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "mpiData" : {
                  "x-addedInVersion" : "46",
                  "description" : "Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).",
                  "$ref" : "#/components/schemas/ThreeDSecureData"
               },
               "originalMerchantReference" : {
                  "x-addedInVersion" : "30",
                  "description" : "The original merchant reference to cancel.",
                  "type" : "string"
               },
               "originalReference" : {
                  "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n",
                  "type" : "string"
               },
               "reference" : {
                  "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.",
                  "type" : "string"
               },
               "splits" : {
                  "x-addedInVersion" : "37",
                  "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to split payments for [platforms](https://docs.adyen.com/platforms/automatic-split-configuration/).",
                  "items" : {
                     "$ref" : "#/components/schemas/Split"
                  },
                  "type" : "array"
               },
               "tenderReference" : {
                  "x-addedInVersion" : "25",
                  "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.",
                  "type" : "string"
               },
               "uniqueTerminalId" : {
                  "x-addedInVersion" : "25",
                  "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.",
                  "type" : "string"
               }
            },
            "required" : [
               "merchantAccount",
               "modificationAmount",
               "originalReference"
            ],
            "type" : "object"
         },
         "Card" : {
            "additionalProperties" : false,
            "properties" : {
               "cvc" : {
                  "description" : "The [card verification code](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid) (1-20 characters). Depending on the card brand, it is known also as:\n* CVV2/CVC2 – length: 3 digits\n* CID – length: 4 digits\n> If you are using [Client-Side Encryption](https://docs.adyen.com/classic-integration/cse-integration-ecommerce), the CVC code is present in the encrypted data. You must never post the card details to the server.\n> This field must be always present in a [one-click payment request](https://docs.adyen.com/classic-integration/recurring-payments).\n> When this value is returned in a response, it is always empty because it is not stored.",
                  "maxLength" : 20,
                  "minLength" : 1,
                  "type" : "string"
               },
               "expiryMonth" : {
                  "description" : "The card expiry month.\nFormat: 2 digits, zero-padded for single digits. For example:\n* 03 = March\n* 11 = November",
                  "maxLength" : 2,
                  "minLength" : 1,
                  "type" : "string"
               },
               "expiryYear" : {
                  "description" : "The card expiry year.\nFormat: 4 digits. For example: 2020",
                  "maxLength" : 4,
                  "minLength" : 4,
                  "type" : "string"
               },
               "holderName" : {
                  "description" : "The name of the cardholder, as printed on the card.",
                  "maxLength" : 50,
                  "minLength" : 1,
                  "type" : "string"
               },
               "issueNumber" : {
                  "description" : "The issue number of the card (for some UK debit cards only).",
                  "maxLength" : 2,
                  "minLength" : 1,
                  "type" : "string"
               },
               "number" : {
                  "description" : "The card number (4-19 characters). Do not use any separators.\nWhen this value is returned in a response, only the last 4 digits of the card number are returned.",
                  "maxLength" : 19,
                  "minLength" : 4,
                  "type" : "string"
               },
               "startMonth" : {
                  "description" : "The month component of the start date (for some UK debit cards only).",
                  "maxLength" : 2,
                  "minLength" : 1,
                  "type" : "string"
               },
               "startYear" : {
                  "description" : "The year component of the start date (for some UK debit cards only).",
                  "maxLength" : 4,
                  "minLength" : 4,
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "CommonField" : {
            "additionalProperties" : false,
            "properties" : {
               "name" : {
                  "description" : "Name of the field. For example, Name of External Platform.",
                  "type" : "string"
               },
               "version" : {
                  "description" : "Version of the field. For example, Version of External Platform.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "DeviceRenderOptions" : {
            "additionalProperties" : false,
            "properties" : {
               "sdkInterface" : {
                  "default" : "both",
                  "description" : "Supported SDK interface types.\nAllowed values:\n* native\n* html\n* both",
                  "enum" : [
                     "native",
                     "html",
                     "both"
                  ],
                  "type" : "string"
               },
               "sdkUiType" : {
                  "description" : "UI types supported for displaying specific challenges.\nAllowed values:\n* text\n* singleSelect\n* outOfBand\n* otherHtml\n* multiSelect",
                  "items" : {
                     "enum" : [
                        "multiSelect",
                        "otherHtml",
                        "outOfBand",
                        "singleSelect",
                        "text"
                     ],
                     "type" : "string"
                  },
                  "type" : "array"
               }
            },
            "type" : "object"
         },
         "DonationRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "donationAccount" : {
                  "description" : "The Adyen account name of the charity.",
                  "type" : "string"
               },
               "merchantAccount" : {
                  "description" : "The merchant account that is used to process the payment.",
                  "type" : "string"
               },
               "modificationAmount" : {
                  "description" : "The amount to be donated.The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "originalReference" : {
                  "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n",
                  "type" : "string"
               },
               "reference" : {
                  "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.",
                  "type" : "string"
               }
            },
            "required" : [
               "merchantAccount",
               "donationAccount",
               "modificationAmount"
            ],
            "type" : "object"
         },
         "ExternalPlatform" : {
            "additionalProperties" : false,
            "properties" : {
               "integrator" : {
                  "description" : "External platform integrator.",
                  "type" : "string"
               },
               "name" : {
                  "description" : "Name of the field. For example, Name of External Platform.",
                  "type" : "string"
               },
               "version" : {
                  "description" : "Version of the field. For example, Version of External Platform.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "ForexQuote" : {
            "additionalProperties" : false,
            "properties" : {
               "account" : {
                  "description" : "The account name.",
                  "type" : "string"
               },
               "accountType" : {
                  "description" : "The account type.",
                  "type" : "string"
               },
               "baseAmount" : {
                  "description" : "The base amount.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "basePoints" : {
                  "description" : "The base points.",
                  "format" : "int32",
                  "type" : "integer"
               },
               "buy" : {
                  "description" : "The buy rate.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "interbank" : {
                  "description" : "The interbank amount.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "reference" : {
                  "description" : "The reference assigned to the forex quote request.",
                  "type" : "string"
               },
               "sell" : {
                  "description" : "The sell rate.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "signature" : {
                  "description" : "The signature to validate the integrity.",
                  "type" : "string"
               },
               "source" : {
                  "description" : "The source of the forex quote.",
                  "type" : "string"
               },
               "type" : {
                  "description" : "The type of forex.",
                  "type" : "string"
               },
               "validTill" : {
                  "description" : "The date until which the forex quote is valid.",
                  "format" : "date-time",
                  "type" : "string"
               }
            },
            "required" : [
               "validTill",
               "basePoints"
            ],
            "type" : "object"
         },
         "FraudCheckResult" : {
            "additionalProperties" : false,
            "properties" : {
               "accountScore" : {
                  "description" : "The fraud score generated by the risk check.",
                  "format" : "int32",
                  "type" : "integer"
               },
               "checkId" : {
                  "description" : "The ID of the risk check.",
                  "format" : "int32",
                  "type" : "integer"
               },
               "name" : {
                  "description" : "The name of the risk check.",
                  "type" : "string"
               }
            },
            "required" : [
               "checkId",
               "name",
               "accountScore"
            ],
            "type" : "object"
         },
         "FraudCheckResultWrapper" : {
            "properties" : {
               "FraudCheckResult" : {
                  "$ref" : "#/components/schemas/FraudCheckResult"
               }
            }
         },
         "FraudResult" : {
            "additionalProperties" : false,
            "properties" : {
               "accountScore" : {
                  "description" : "The total fraud score generated by the risk checks.",
                  "format" : "int32",
                  "type" : "integer"
               },
               "results" : {
                  "description" : "The result of the individual risk checks.",
                  "items" : {
                     "$ref" : "#/components/schemas/FraudCheckResultWrapper"
                  },
                  "type" : "array"
               }
            },
            "required" : [
               "accountScore"
            ],
            "type" : "object"
         },
         "Installments" : {
            "additionalProperties" : false,
            "properties" : {
               "value" : {
                  "description" : "Defines the number of installments.\nUsually, the maximum allowed number of installments is capped. For example, it may not be possible to split a payment in more than 24 installments. The acquirer sets this upper limit, so its value may vary.\nThis value can be zero for Installments processed in Mexico.",
                  "format" : "int32",
                  "type" : "integer"
               }
            },
            "required" : [
               "value"
            ],
            "type" : "object"
         },
         "Mandate" : {
            "additionalProperties" : false,
            "properties" : {
               "amount" : {
                  "description" : "The billing amount (in minor units) of the recurring transactions.",
                  "type" : "string"
               },
               "amountRule" : {
                  "description" : "The limitation rule of the billing amount.\n\nPossible values:\n * **max**: The transaction amount can not exceed the `amount`.\n\n * **exact**: The transaction amount should be the same as the `amount`.\n\n",
                  "enum" : [
                     "max",
                     "exact"
                  ],
                  "type" : "string"
               },
               "billingAttemptsRule" : {
                  "description" : "The rule to specify the period, within which the recurring debit can happen, relative to the mandate recurring date.\n\nPossible values:\n\n * **on**: On a specific date.\n\n * **before**:  Before and on a specific date.\n\n * **after**: On and after a specific date.\n\n",
                  "enum" : [
                     "on",
                     "before",
                     "after"
                  ],
                  "type" : "string"
               },
               "billingDay" : {
                  "description" : "The number of the day, on which the recurring debit can happen. Should be within the same calendar month as the mandate recurring date.\n\nPossible values: 1-31 based on the `frequency`.",
                  "type" : "string"
               },
               "count" : {
                  "description" : "The number of transactions that can be performed within the given frequency.",
                  "type" : "string"
               },
               "endsAt" : {
                  "description" : "End date of the billing plan, in YYYY-MM-DD format.",
                  "type" : "string"
               },
               "frequency" : {
                  "description" : "The frequency with which a shopper should be charged.\n\nPossible values: **daily**, **weekly**, **biWeekly**, **monthly**, **quarterly**, **halfYearly**, **yearly**.",
                  "enum" : [
                     "adhoc",
                     "daily",
                     "weekly",
                     "biWeekly",
                     "monthly",
                     "quarterly",
                     "halfYearly",
                     "yearly"
                  ],
                  "type" : "string"
               },
               "remarks" : {
                  "description" : "The message shown by UPI to the shopper on the approval screen.",
                  "type" : "string"
               },
               "startsAt" : {
                  "description" : "Start date of the billing plan, in YYYY-MM-DD format. By default, the transaction date.",
                  "type" : "string"
               }
            },
            "required" : [
               "frequency",
               "amount",
               "endsAt"
            ],
            "type" : "object"
         },
         "MerchantDevice" : {
            "additionalProperties" : false,
            "properties" : {
               "os" : {
                  "description" : "Operating system running on the merchant device.",
                  "type" : "string"
               },
               "osVersion" : {
                  "description" : "Version of the operating system on the merchant device.",
                  "type" : "string"
               },
               "reference" : {
                  "description" : "Merchant device reference.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "MerchantRiskIndicator" : {
            "additionalProperties" : false,
            "properties" : {
               "addressMatch" : {
                  "description" : "Whether the chosen delivery address is identical to the billing address.",
                  "type" : "boolean"
               },
               "deliveryAddressIndicator" : {
                  "description" : "Indicator regarding the delivery address.\nAllowed values:\n* `shipToBillingAddress`\n* `shipToVerifiedAddress`\n* `shipToNewAddress`\n* `shipToStore`\n* `digitalGoods`\n* `goodsNotShipped`\n* `other`",
                  "enum" : [
                     "shipToBillingAddress",
                     "shipToVerifiedAddress",
                     "shipToNewAddress",
                     "shipToStore",
                     "digitalGoods",
                     "goodsNotShipped",
                     "other"
                  ],
                  "type" : "string"
               },
               "deliveryEmail" : {
                  "description" : "The delivery email address (for digital goods).",
                  "type" : "string"
               },
               "deliveryTimeframe" : {
                  "description" : "The estimated delivery time for the shopper to receive the goods.\nAllowed values:\n* `electronicDelivery`\n* `sameDayShipping`\n* `overnightShipping`\n* `twoOrMoreDaysShipping`",
                  "enum" : [
                     "electronicDelivery",
                     "sameDayShipping",
                     "overnightShipping",
                     "twoOrMoreDaysShipping"
                  ],
                  "type" : "string"
               },
               "giftCardAmount" : {
                  "description" : "For prepaid or gift card purchase, the purchase amount total of prepaid or gift card(s).",
                  "$ref" : "#/components/schemas/Amount"
               },
               "giftCardCount" : {
                  "description" : "For prepaid or gift card purchase, total count of individual prepaid or gift cards/codes purchased.",
                  "format" : "int32",
                  "type" : "integer"
               },
               "preOrderDate" : {
                  "description" : "For pre-order purchases, the expected date this product will be available to the shopper.",
                  "format" : "date-time",
                  "type" : "string"
               },
               "preOrderPurchase" : {
                  "description" : "Indicator for whether this transaction is for pre-ordering a product.",
                  "type" : "boolean"
               },
               "reorderItems" : {
                  "description" : "Indicator for whether the shopper has already purchased the same items in the past.",
                  "type" : "boolean"
               }
            },
            "type" : "object"
         },
         "ModificationResult" : {
            "additionalProperties" : false,
            "properties" : {
               "additionalData" : {
                  "additionalProperties" : {
                     "type" : "string"
                  },
                  "description" : "This field contains additional data, which may be returned in a particular modification response.",
                  "type" : "object"
               },
               "pspReference" : {
                  "description" : "Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.",
                  "type" : "string"
               },
               "response" : {
                  "description" : "Indicates if the modification request has been received for processing.",
                  "enum" : [
                     "[capture-received]",
                     "[cancel-received]",
                     "[refund-received]",
                     "[cancelOrRefund-received]",
                     "[adjustAuthorisation-received]",
                     "[donation-received]",
                     "[technical-cancel-received]",
                     "[voidPendingRefund-received]",
                     "Authorised"
                  ],
                  "type" : "string"
               }
            },
            "required" : [
               "response",
               "pspReference"
            ],
            "type" : "object"
         },
         "Name" : {
            "additionalProperties" : false,
            "properties" : {
               "firstName" : {
                  "description" : "The first name.",
                  "maxLength" : 80,
                  "type" : "string"
               },
               "lastName" : {
                  "description" : "The last name.",
                  "maxLength" : 80,
                  "type" : "string"
               }
            },
            "required" : [
               "firstName",
               "lastName"
            ],
            "type" : "object"
         },
         "PaymentRequest" : {
            "additionalProperties" : false,
            "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"
               },
               "bankAccount" : {
                  "description" : "The details of the bank account, from which the payment should be made.\n> Either `bankAccount` or `card` field must be provided in a payment request.",
                  "$ref" : "#/components/schemas/BankAccount"
               },
               "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 2 redirect.",
                  "$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"
               },
               "card" : {
                  "description" : "A container for card data.\n> Either `bankAccount` or `card` field must be provided in a payment request.",
                  "$ref" : "#/components/schemas/Card"
               },
               "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"
               },
               "entityType" : {
                  "x-addedInVersion" : "24",
                  "description" : "The type of the entity the payment is processed for.",
                  "enum" : [
                     "NaturalPerson",
                     "CompanyName"
                  ],
                  "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"
               },
               "mandate" : {
                  "description" : "The mandate details to initiate recurring transaction.",
                  "$ref" : "#/components/schemas/Mandate"
               },
               "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"
               },
               "mpiData" : {
                  "description" : "Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).",
                  "$ref" : "#/components/schemas/ThreeDSecureData"
               },
               "nationality" : {
                  "x-addedInVersion" : "24",
                  "description" : "The two-character country code of the shopper's nationality.",
                  "maxLength" : 2,
                  "type" : "string"
               },
               "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` – 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"
               },
               "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. The value is case-sensitive and must be at least three characters.\n> Your reference must not include personally identifiable information (PII) such as 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 either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).",
                  "items" : {
                     "$ref" : "#/components/schemas/Split"
                  },
                  "type" : "array"
               },
               "store" : {
                  "x-addedInVersion" : "23",
                  "description" : "Required for Adyen for Platforms integrations if you are a platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference) (on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference) (in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store)) for the ecommerce or point-of-sale store that is processing the payment.",
                  "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"
               },
               "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"
         },
         "PaymentRequest3d" : {
            "additionalProperties" : false,
            "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 2 redirect.",
                  "$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"
               },
               "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"
               },
               "md" : {
                  "description" : "The payment session identifier returned by the card issuer.",
                  "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"
               },
               "paResponse" : {
                  "description" : "Payment authorisation response returned by the card issuer. The `paResponse` field holds the PaRes value received from the card issuer.",
                  "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` – 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"
               },
               "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. The value is case-sensitive and must be at least three characters.\n> Your reference must not include personally identifiable information (PII) such as 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 either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).",
                  "items" : {
                     "$ref" : "#/components/schemas/Split"
                  },
                  "type" : "array"
               },
               "store" : {
                  "x-addedInVersion" : "23",
                  "description" : "Required for Adyen for Platforms integrations if you are a platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference) (on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference) (in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store)) for the ecommerce or point-of-sale store that is processing the payment.",
                  "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"
               },
               "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",
               "paResponse",
               "md"
            ],
            "type" : "object"
         },
         "PaymentRequest3ds2" : {
            "additionalProperties" : false,
            "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 2 redirect.",
                  "$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"
               },
               "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` – 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"
               },
               "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. The value is case-sensitive and must be at least three characters.\n> Your reference must not include personally identifiable information (PII) such as 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 either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split).",
                  "items" : {
                     "$ref" : "#/components/schemas/Split"
                  },
                  "type" : "array"
               },
               "store" : {
                  "x-addedInVersion" : "23",
                  "description" : "Required for Adyen for Platforms integrations if you are a platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference) (on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference) (in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store)) for the ecommerce or point-of-sale store that is processing the payment.",
                  "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" : "The 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"
         },
         "PaymentResult" : {
            "additionalProperties" : false,
            "properties" : {
               "additionalData" : {
                  "additionalProperties" : {
                     "type" : "string"
                  },
                  "x-anyOf" : [
                     {
                        "$ref" : "#/components/schemas/ResponseAdditionalData3DSecure"
                     },
                     {
                        "$ref" : "#/components/schemas/ResponseAdditionalDataBillingAddress"
                     },
                     {
                        "$ref" : "#/components/schemas/ResponseAdditionalDataCard"
                     },
                     {
                        "$ref" : "#/components/schemas/ResponseAdditionalDataCommon"
                     },
                     {
                        "$ref" : "#/components/schemas/ResponseAdditionalDataDomesticError"
                     },
                     {
                        "$ref" : "#/components/schemas/ResponseAdditionalDataInstallments"
                     },
                     {
                        "$ref" : "#/components/schemas/ResponseAdditionalDataNetworkTokens"
                     },
                     {
                        "$ref" : "#/components/schemas/ResponseAdditionalDataOpi"
                     },
                     {
                        "$ref" : "#/components/schemas/ResponseAdditionalDataSepa"
                     }
                  ],
                  "description" : "Contains additional information about the payment. Some data fields are included only if you select them first: Go to **Customer Area** > **Developers** > **Additional data**.",
                  "type" : "object"
               },
               "authCode" : {
                  "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.",
                  "type" : "string"
               },
               "dccAmount" : {
                  "description" : "Includes the currency of the conversion and the value of the transaction.\n> This value only applies if you have implemented Dynamic Currency Conversion. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).",
                  "$ref" : "#/components/schemas/Amount"
               },
               "dccSignature" : {
                  "description" : "Cryptographic signature used to verify `dccQuote`.\n> This value only applies if you have implemented Dynamic Currency Conversion. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new).",
                  "type" : "string"
               },
               "fraudResult" : {
                  "description" : "The fraud result properties of the payment.",
                  "$ref" : "#/components/schemas/FraudResult"
               },
               "issuerUrl" : {
                  "description" : "The URL to direct the shopper to.\n> In case of SecurePlus, do not redirect a shopper to this URL.",
                  "type" : "string"
               },
               "md" : {
                  "description" : "The payment session.",
                  "maxLength" : 20000,
                  "type" : "string"
               },
               "paRequest" : {
                  "description" : "The 3D request data for the issuer.\n\nIf the value is **CUPSecurePlus-CollectSMSVerificationCode**, collect an SMS code from the shopper and pass it in the `/authorise3D` request. For more information, see [3D Secure](https://docs.adyen.com/classic-integration/3d-secure).",
                  "type" : "string"
               },
               "pspReference" : {
                  "description" : "Adyen's 16-character reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.",
                  "type" : "string"
               },
               "refusalReason" : {
                  "description" : "If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.\n\nFor more information, see [Refusal reasons](https://docs.adyen.com/development-resources/refusal-reasons).",
                  "type" : "string"
               },
               "resultCode" : {
                  "description" : "The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).\n\nPossible values:\n\n* **AuthenticationFinished** – The payment has been successfully authenticated with 3D Secure 2. Returned for 3D Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired** – The transaction does not require 3D Secure authentication. Returned for [standalone authentication-only integrations](https://docs.adyen.com/online-payments/3d-secure/other-3ds-flows/authentication-only).\n* **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state.\n* **Cancelled** – Indicates the payment has been cancelled (either by the shopper or the merchant) before processing was completed. This is a final state.\n* **ChallengeShopper** – The issuer requires further shopper interaction before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error** – There was an error when the payment was being processed. The reason is given in the `refusalReason` field. This is a final state.\n* **IdentifyShopper** – The issuer requires the shopper's device fingerprint before the payment can be authenticated. Returned for 3D Secure 2 transactions.\n* **PartiallyAuthorised** – The payment has been authorised for a partial amount.\nThis happens for card payments when the merchant supports Partial Authorisations and the cardholder has insufficient funds.\n* **Pending** – Indicates that it is not possible to obtain the final status of the payment. This can happen if the systems providing final status information for the payment are unavailable, or if the shopper needs to take further action to complete the payment.\n* **PresentToShopper** – Indicates that the response contains additional information that you need to present to a shopper, so that they can use it to complete a payment.\n* **Received** – Indicates the payment has successfully been received by Adyen, and will be processed. This is the initial state for all payments.\n* **RedirectShopper** – Indicates the shopper should be redirected to an external web page or app to complete the authorisation.\n* **Refused** – Indicates the payment was refused. The reason is given in the `refusalReason` field. This is a final state.",
                  "enum" : [
                     "AuthenticationFinished",
                     "AuthenticationNotRequired",
                     "Authorised",
                     "Cancelled",
                     "ChallengeShopper",
                     "Error",
                     "IdentifyShopper",
                     "PartiallyAuthorised",
                     "Pending",
                     "PresentToShopper",
                     "Received",
                     "RedirectShopper",
                     "Refused",
                     "Success"
                  ],
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "Recurring" : {
            "additionalProperties" : false,
            "properties" : {
               "contract" : {
                  "description" : "The type of recurring contract to be used.\nPossible values:\n* `ONECLICK` – Payment details can be used to initiate a one-click payment, where the shopper enters the [card security code (CVC/CVV)](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-security-code-cvc-cvv-cid).\n* `RECURRING` – Payment details can be used without the card security code to initiate [card-not-present transactions](https://docs.adyen.com/payments-fundamentals/payment-glossary#card-not-present-cnp).\n* `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not.\n* `PAYOUT` – Payment details can be used to [make a payout](https://docs.adyen.com/online-payments/online-payouts).",
                  "enum" : [
                     "ONECLICK",
                     "RECURRING",
                     "PAYOUT"
                  ],
                  "type" : "string"
               },
               "recurringDetailName" : {
                  "description" : "A descriptive name for this detail.",
                  "type" : "string"
               },
               "recurringExpiry" : {
                  "x-addedInVersion" : "40",
                  "description" : "Date after which no further authorisations shall be performed. Only for 3D Secure 2.",
                  "format" : "date-time",
                  "type" : "string"
               },
               "recurringFrequency" : {
                  "x-addedInVersion" : "40",
                  "description" : "Minimum number of days between authorisations. Only for 3D Secure 2.",
                  "type" : "string"
               },
               "tokenService" : {
                  "x-addedInVersion" : "25",
                  "description" : "The name of the token service.",
                  "enum" : [
                     "VISATOKENSERVICE",
                     "MCTOKENSERVICE",
                     "AMEXTOKENSERVICE",
                     "TOKEN_SHARING"
                  ],
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "RefundRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "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/AdditionalDataModifications"
                     },
                     {
                        "$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 modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.",
                  "type" : "object"
               },
               "merchantAccount" : {
                  "description" : "The merchant account that is used to process the payment.",
                  "type" : "string"
               },
               "modificationAmount" : {
                  "description" : "The amount that needs to be refunded. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "mpiData" : {
                  "x-addedInVersion" : "46",
                  "description" : "Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).",
                  "$ref" : "#/components/schemas/ThreeDSecureData"
               },
               "originalMerchantReference" : {
                  "x-addedInVersion" : "30",
                  "description" : "The original merchant reference to cancel.",
                  "type" : "string"
               },
               "originalReference" : {
                  "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n",
                  "type" : "string"
               },
               "reference" : {
                  "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.",
                  "type" : "string"
               },
               "splits" : {
                  "x-addedInVersion" : "37",
                  "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to split payments for [platforms](https://docs.adyen.com/platforms/automatic-split-configuration/).",
                  "items" : {
                     "$ref" : "#/components/schemas/Split"
                  },
                  "type" : "array"
               },
               "tenderReference" : {
                  "x-addedInVersion" : "25",
                  "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.",
                  "type" : "string"
               },
               "uniqueTerminalId" : {
                  "x-addedInVersion" : "25",
                  "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.",
                  "type" : "string"
               }
            },
            "required" : [
               "merchantAccount",
               "modificationAmount",
               "originalReference"
            ],
            "type" : "object"
         },
         "ResponseAdditionalData3DSecure" : {
            "additionalProperties" : false,
            "properties" : {
               "cardHolderInfo" : {
                  "description" : "Information provided by the issuer to the cardholder. If this field is present, you need to display this information to the cardholder. ",
                  "type" : "string"
               },
               "cavv" : {
                  "description" : "The Cardholder Authentication Verification Value (CAVV) for the 3D Secure authentication session, as a Base64-encoded 20-byte array.",
                  "type" : "string"
               },
               "cavvAlgorithm" : {
                  "description" : "The CAVV algorithm used.",
                  "type" : "string"
               },
               "scaExemptionRequested" : {
                  "description" : "Shows the [exemption type](https://docs.adyen.com/payments-fundamentals/psd2-sca-compliance-and-implementation-guide#specifypreferenceinyourapirequest) that Adyen requested for the payment.\n\n Possible values:\n* **lowValue** \n* **secureCorporate** \n* **trustedBeneficiary** \n* **transactionRiskAnalysis** ",
                  "type" : "string"
               },
               "threeds2.cardEnrolled" : {
                  "description" : "Indicates whether a card is enrolled for 3D Secure 2.",
                  "type" : "boolean"
               }
            },
            "type" : "object"
         },
         "ResponseAdditionalDataBillingAddress" : {
            "additionalProperties" : false,
            "properties" : {
               "billingAddress.city" : {
                  "description" : "The billing address city passed in the payment request.",
                  "type" : "string"
               },
               "billingAddress.country" : {
                  "description" : "The billing address country passed in the payment request.\n\nExample: NL",
                  "type" : "string"
               },
               "billingAddress.houseNumberOrName" : {
                  "description" : "The billing address house number or name passed in the payment request.",
                  "type" : "string"
               },
               "billingAddress.postalCode" : {
                  "description" : "The billing address postal code passed in the payment request.\n\nExample: 1011 DJ",
                  "type" : "string"
               },
               "billingAddress.stateOrProvince" : {
                  "description" : "The billing address state or province passed in the payment request.\n\nExample: NH",
                  "type" : "string"
               },
               "billingAddress.street" : {
                  "description" : "The billing address street passed in the payment request.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "ResponseAdditionalDataCard" : {
            "additionalProperties" : false,
            "properties" : {
               "cardBin" : {
                  "description" : "The first six digits of the card number.\n\nThis is the [Bank Identification Number (BIN)](https://docs.adyen.com/get-started-with-adyen/payment-glossary#bank-identification-number-bin) for card numbers with a six-digit BIN.\n\nExample: 521234",
                  "type" : "string"
               },
               "cardHolderName" : {
                  "description" : "The cardholder name passed in the payment request.",
                  "type" : "string"
               },
               "cardIssuingBank" : {
                  "description" : "The bank or the financial institution granting lines of credit through card association branded payment cards. This information can be included when available.",
                  "type" : "string"
               },
               "cardIssuingCountry" : {
                  "description" : "The country where the card was issued.\n\nExample: US",
                  "type" : "string"
               },
               "cardIssuingCurrency" : {
                  "description" : "The currency in which the card is issued, if this information is available. Provided as the currency code or currency number from the ISO-4217 standard. \n\nExample: USD",
                  "type" : "string"
               },
               "cardPaymentMethod" : {
                  "description" : "The card payment method used for the transaction.\n\nExample: amex",
                  "type" : "string"
               },
               "cardProductId" : {
                  "description" : "The Card Product ID represents the type of card following card scheme product definitions and can be returned for Adyen Acquiring service level payments.\n\nPossible values Visa:\n* **A** - Visa Traditional\n* **B** - Visa Traditional Rewards\n* **C** - Visa Signature\n* **D** - Visa Signature Preferred\n* **F** - Visa Classic\n\nPossible values Mastercard:\n* **MCC** - Mastercard Card\n* **MCE** - Mastercard Electronic Card\n* **MCF** - Mastercard Corporate Fleet Card\n* **MCG** - Gold Mastercard Card\n* **MCH** - Mastercard Premium Charge\n* **MCI** - Mastercard Select Debit\n",
                  "enum" : [
                     "A",
                     "B",
                     "C",
                     "D",
                     "F",
                     "MCC",
                     "MCE",
                     "MCF",
                     "MCG",
                     "MCH",
                     "MCI"
                  ],
                  "type" : "string"
               },
               "cardSummary" : {
                  "description" : "The last four digits of a card number.\n\n> Returned only in case of a card payment.",
                  "type" : "string"
               },
               "issuerBin" : {
                  "description" : "The first eight digits of the card number. Only returned if the card number is 16 digits or more.\n\nThis is the [Bank Identification Number (BIN)](https://docs.adyen.com/get-started-with-adyen/payment-glossary#bank-identification-number-bin) for card numbers with an eight-digit BIN.\n\nExample: 52123423",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "ResponseAdditionalDataCommon" : {
            "additionalProperties" : false,
            "properties" : {
               "acquirerAccountCode" : {
                  "description" : "The name of the Adyen acquirer account.\n\nExample: PayPalSandbox_TestAcquirer\n\n> Only relevant for PayPal transactions.",
                  "type" : "string"
               },
               "acquirerCode" : {
                  "description" : "The name of the acquirer processing the payment request.\n\nExample: TestPmmAcquirer",
                  "type" : "string"
               },
               "acquirerReference" : {
                  "description" : "The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement.\n\nExample: 7C9N3FNBKT9",
                  "type" : "string"
               },
               "alias" : {
                  "description" : "The Adyen alias of the card.\n\nExample: H167852639363479",
                  "type" : "string"
               },
               "aliasType" : {
                  "description" : "The type of the card alias.\n\nExample: Default",
                  "type" : "string"
               },
               "authCode" : {
                  "description" : "Authorisation code:\n* When the payment is authorised successfully, this field holds the authorisation code for the payment.\n* When the payment is not authorised, this field is empty.\n\nExample: 58747",
                  "type" : "string"
               },
               "authorisationMid" : {
                  "description" : "Merchant ID known by the acquirer.",
                  "type" : "string"
               },
               "authorisedAmountCurrency" : {
                  "description" : "The currency of the authorised amount, as a three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes).",
                  "type" : "string"
               },
               "authorisedAmountValue" : {
                  "description" : "Value of the amount authorised.\n\nThis amount is represented in minor units according to the [following table](https://docs.adyen.com/development-resources/currency-codes).",
                  "type" : "string"
               },
               "avsResult" : {
                  "description" : "The AVS result code of the payment, which provides information about the outcome of the AVS check.\n\nFor possible values, see [AVS](https://docs.adyen.com/risk-management/configure-standard-risk-rules/consistency-rules#billing-address-does-not-match-cardholder-address-avs).",
                  "type" : "string"
               },
               "avsResultRaw" : {
                  "description" : "Raw AVS result received from the acquirer, where available.\n\nExample: D",
                  "type" : "string"
               },
               "bic" : {
                  "description" : "BIC of a bank account.\n\nExample: TESTNL01\n\n> Only relevant for SEPA Direct Debit transactions.",
                  "type" : "string"
               },
               "coBrandedWith" : {
                  "description" : "Includes the co-branded card information.",
                  "type" : "string"
               },
               "cvcResult" : {
                  "description" : "The result of CVC verification.",
                  "example" : "1 Matches",
                  "type" : "string"
               },
               "cvcResultRaw" : {
                  "description" : "The raw result of CVC verification.",
                  "example" : "M",
                  "type" : "string"
               },
               "dsTransID" : {
                  "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the DS to identify a single transaction.",
                  "type" : "string"
               },
               "eci" : {
                  "description" : "The Electronic Commerce Indicator returned from the schemes for the 3DS payment session.\n\nExample: 02",
                  "type" : "string"
               },
               "expiryDate" : {
                  "description" : "The expiry date on the card.\n\nExample: 6/2016\n\n> Returned only in case of a card payment.",
                  "type" : "string"
               },
               "extraCostsCurrency" : {
                  "description" : "The currency of the extra amount charged due to additional amounts set in the skin used in the HPP payment request.\n\nExample: EUR",
                  "type" : "string"
               },
               "extraCostsValue" : {
                  "description" : "The value of the extra amount charged due to additional amounts set in the skin used in the HPP payment request. The amount is in minor units.",
                  "type" : "string"
               },
               "fraudCheck-[itemNr]-[FraudCheckname]" : {
                  "description" : "The fraud score due to a particular fraud check. The fraud check name is found in the key of the key-value pair.",
                  "type" : "string"
               },
               "fraudManualReview" : {
                  "description" : "Indicates if the payment is sent to manual review.",
                  "type" : "string"
               },
               "fraudResultType" : {
                  "description" : "The fraud result properties of the payment.",
                  "enum" : [
                     "GREEN",
                     "FRAUD"
                  ],
                  "type" : "string"
               },
               "fraudRiskLevel" : {
                  "description" : "The risk level of the payment as determined by the FDM machine learning model.",
                  "enum" : [
                     "Very low",
                     "Low",
                     "Medium",
                     "High",
                     "Very high"
                  ],
                  "type" : "string"
               },
               "fundingSource" : {
                  "description" : "Information regarding the funding type of the card. The possible return values are:\n* CHARGE\n* CREDIT\n* DEBIT\n* PREPAID\n* PREPAID_RELOADABLE\n\n* PREPAID_NONRELOADABLE\n* DEFFERED_DEBIT\n\n> This functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.\n\nFor receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.",
                  "type" : "string"
               },
               "fundsAvailability" : {
                  "description" : "Indicates availability of funds.\n\nVisa:\n* \"I\" (fast funds are supported)\n* \"N\" (otherwise)\n\nMastercard:\n* \"I\" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list)\n* \"N\" (otherwise)\n\n> Returned when you verify a card BIN or estimate costs, and only if payoutEligible is \"Y\" or \"D\".",
                  "type" : "string"
               },
               "inferredRefusalReason" : {
                  "description" : "Provides the more granular indication of why a transaction was refused. When a transaction fails with either \"Refused\", \"Restricted Card\", \"Transaction Not Permitted\", \"Not supported\" or \"DeclinedNon Generic\" refusalReason from the issuer, Adyen cross references its PSP-wide data for extra insight into the refusal reason. If an inferred refusal reason is available, the `inferredRefusalReason`, field is populated and the `refusalReason`, is set to \"Not Supported\".\n\nPossible values:\n\n* 3D Secure Mandated\n* Closed Account\n* ContAuth Not Supported\n* CVC Mandated\n* Ecommerce Not Allowed\n* Crossborder Not Supported\n* Card Updated\n\n* Low Authrate Bin\n* Non-reloadable prepaid card",
                  "type" : "string"
               },
               "isCardCommercial" : {
                  "description" : "Indicates if the card is used for business purposes only.",
                  "type" : "string"
               },
               "issuerCountry" : {
                  "description" : "The issuing country of the card based on the BIN list that Adyen maintains.\n\nExample: JP",
                  "type" : "string"
               },
               "liabilityShift" : {
                  "description" : "A Boolean value indicating whether a liability shift was offered for this payment.",
                  "type" : "string"
               },
               "mcBankNetReferenceNumber" : {
                  "description" : "The `mcBankNetReferenceNumber`, is a minimum of six characters and a maximum of nine characters long.\n\n> Contact Support Team to enable this field.",
                  "type" : "string"
               },
               "merchantAdviceCode" : {
                  "description" : "The Merchant Advice Code (MAC) can be returned by Mastercard issuers for refused payments. If present, the MAC contains information about why the payment failed, and whether it can be retried.\n\nFor more information see [Mastercard Merchant Advice Codes](https://docs.adyen.com/development-resources/raw-acquirer-responses#mastercard-merchant-advice-codes).",
                  "type" : "string"
               },
               "merchantReference" : {
                  "description" : "The reference provided for the transaction.",
                  "type" : "string"
               },
               "networkTxReference" : {
                  "description" : "Returned in the response if you are not tokenizing with Adyen and are using the Merchant-initiated transactions (MIT) framework from Mastercard or Visa.\n\nThis contains either the Mastercard Trace ID or the Visa Transaction ID.",
                  "type" : "string"
               },
               "nonScheme.transactionLimit" : {
                  "description" : "The maximum spendable value for a single transaction. Applicable to some gift cards.",
                  "type" : "string"
               },
               "nonScheme.transactionLimitCcy" : {
                  "description" : "The currency of the transaction limit.",
                  "type" : "string"
               },
               "ownerName" : {
                  "description" : "The owner name of a bank account.\n\nOnly relevant for SEPA Direct Debit transactions.",
                  "type" : "string"
               },
               "paymentAccountReference" : {
                  "description" : "The Payment Account Reference (PAR) value links a network token with the underlying primary account number (PAN). The PAR value consists of 29 uppercase alphanumeric characters.",
                  "type" : "string"
               },
               "paymentMethod" : {
                  "description" : "The payment method used in the transaction.",
                  "type" : "string"
               },
               "paymentMethodVariant" : {
                  "description" : "The Adyen sub-variant of the payment method used for the payment request.\n\nFor more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant).\n\nExample: mcpro",
                  "type" : "string"
               },
               "payoutEligible" : {
                  "description" : "Indicates whether a payout is eligible or not for this card.\n\nVisa:\n* \"Y\"\n* \"N\"\n\nMastercard:\n* \"Y\" (domestic and cross-border)\n\n* \"D\" (only domestic)\n* \"N\" (no MoneySend)\n* \"U\" (unknown)",
                  "type" : "string"
               },
               "realtimeAccountUpdaterStatus" : {
                  "description" : "The response code from the Real Time Account Updater service.\n\nPossible return values are:\n* CardChanged\n* CardExpiryChanged\n* CloseAccount\n\n* ContactCardAccountHolder",
                  "type" : "string"
               },
               "receiptFreeText" : {
                  "description" : "Message to be displayed on the terminal.",
                  "type" : "string"
               },
               "recurring.contractTypes" : {
                  "x-addedInVersion" : "40",
                  "description" : "The recurring contract types applicable to the transaction.",
                  "type" : "string"
               },
               "recurring.firstPspReference" : {
                  "description" : "The `pspReference`, of the first recurring payment that created the recurring detail.\n\nThis functionality requires additional configuration on Adyen's end. To enable it, contact the Support Team.",
                  "type" : "string"
               },
               "recurring.recurringDetailReference" : {
                  "description" : "The reference that uniquely identifies the recurring transaction.",
                  "type" : "string"
               },
               "recurring.shopperReference" : {
                  "x-addedInVersion" : "40",
                  "description" : "The provided reference of the shopper for a recurring transaction.",
                  "type" : "string"
               },
               "recurringProcessingModel" : {
                  "x-addedInVersion" : "40",
                  "description" : "The processing model used for the recurring transaction.",
                  "enum" : [
                     "CardOnFile",
                     "Subscription",
                     "UnscheduledCardOnFile"
                  ],
                  "type" : "string"
               },
               "referred" : {
                  "description" : "If the payment is referred, this field is set to true.\n\nThis field is unavailable if the payment is referred and is usually not returned with ecommerce transactions.\n\nExample: true",
                  "type" : "string"
               },
               "refusalReasonRaw" : {
                  "description" : "Raw refusal reason received from the acquirer, where available.\n\nExample: AUTHORISED",
                  "type" : "string"
               },
               "requestAmount" : {
                  "description" : "The amount of the payment request.",
                  "type" : "string"
               },
               "requestCurrencyCode" : {
                  "description" : "The currency of the payment request.",
                  "type" : "string"
               },
               "shopperInteraction" : {
                  "description" : "The shopper interaction type of the payment request.\n\nExample: Ecommerce",
                  "type" : "string"
               },
               "shopperReference" : {
                  "description" : "The shopperReference passed in the payment request.\n\nExample: AdyenTestShopperXX",
                  "type" : "string"
               },
               "terminalId" : {
                  "description" : "The terminal ID used in a point-of-sale payment.\n\nExample: 06022622",
                  "type" : "string"
               },
               "threeDAuthenticated" : {
                  "description" : "A Boolean value indicating whether 3DS authentication was completed on this payment.\n\nExample: true",
                  "type" : "string"
               },
               "threeDAuthenticatedResponse" : {
                  "description" : "The raw 3DS authentication result from the card issuer.\n\nExample: N",
                  "type" : "string"
               },
               "threeDOffered" : {
                  "description" : "A Boolean value indicating whether 3DS was offered for this payment.\n\nExample: true",
                  "type" : "string"
               },
               "threeDOfferedResponse" : {
                  "description" : "The raw enrollment result from the 3DS directory services of the card schemes.\n\nExample: Y",
                  "type" : "string"
               },
               "threeDSVersion" : {
                  "description" : "The 3D Secure 2 version.",
                  "type" : "string"
               },
               "tokenization.shopperReference" : {
                  "description" : "The reference for the shopper that you sent when tokenizing the payment details.",
                  "type" : "string"
               },
               "tokenization.store.operationType" : {
                  "description" : "The operation performed on the token. Possible values:\n\n* **created**: the token has been created.\n* **updated**: the existing token has been updated.\n* **alreadyExisting**: the details have already been stored.\n",
                  "enum" : [
                     "created",
                     "updated",
                     "alreadyExisting"
                  ],
                  "type" : "string"
               },
               "tokenization.storedPaymentMethodId" : {
                  "description" : "The reference that uniquely identifies tokenized payment details.",
                  "type" : "string"
               },
               "visaTransactionId" : {
                  "description" : "The `visaTransactionId`, has a fixed length of 15 numeric characters.\n\n> Contact Support Team to enable this field.",
                  "type" : "string"
               },
               "xid" : {
                  "description" : "The 3DS transaction ID of the 3DS session sent in notifications. The value is Base64-encoded and is returned for transactions with directoryResponse 'N' or 'Y'. \n\nExample: ODgxNDc2MDg2MDExODk5MAAAAAA=",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "ResponseAdditionalDataDomesticError" : {
            "additionalProperties" : false,
            "properties" : {
               "domesticRefusalReasonRaw" : {
                  "description" : "The reason the transaction was declined, given by the local issuer. \nCurrently available for merchants in Japan.",
                  "type" : "string"
               },
               "domesticShopperAdvice" : {
                  "description" : "The action the shopper should take, in a local language. \nCurrently available in Japanese, for merchants in Japan.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "ResponseAdditionalDataInstallments" : {
            "additionalProperties" : false,
            "properties" : {
               "installmentPaymentData.installmentType" : {
                  "description" : "Type of installment. The value of `installmentType` should be **IssuerFinanced**.",
                  "type" : "string"
               },
               "installmentPaymentData.option[itemNr].annualPercentageRate" : {
                  "description" : "Annual interest rate.",
                  "type" : "string"
               },
               "installmentPaymentData.option[itemNr].firstInstallmentAmount" : {
                  "description" : "First Installment Amount in minor units.",
                  "type" : "string"
               },
               "installmentPaymentData.option[itemNr].installmentFee" : {
                  "description" : "Installment fee amount in minor units.",
                  "type" : "string"
               },
               "installmentPaymentData.option[itemNr].interestRate" : {
                  "description" : "Interest rate for the installment period.",
                  "type" : "string"
               },
               "installmentPaymentData.option[itemNr].maximumNumberOfInstallments" : {
                  "description" : "Maximum number of installments possible for this payment.",
                  "type" : "string"
               },
               "installmentPaymentData.option[itemNr].minimumNumberOfInstallments" : {
                  "description" : "Minimum number of installments possible for this payment.",
                  "type" : "string"
               },
               "installmentPaymentData.option[itemNr].numberOfInstallments" : {
                  "description" : "Total number of installments possible for this payment.",
                  "type" : "string"
               },
               "installmentPaymentData.option[itemNr].subsequentInstallmentAmount" : {
                  "description" : "Subsequent Installment Amount in minor units.",
                  "type" : "string"
               },
               "installmentPaymentData.option[itemNr].totalAmountDue" : {
                  "description" : "Total amount in minor units.",
                  "type" : "string"
               },
               "installmentPaymentData.paymentOptions" : {
                  "description" : "Possible values:\n* PayInInstallmentsOnly\n* PayInFullOnly\n* PayInFullOrInstallments",
                  "type" : "string"
               },
               "installments.value" : {
                  "description" : "The number of installments that the payment amount should be charged with.\n\nExample: 5\n> Only relevant for card payments in countries that support installments.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "ResponseAdditionalDataNetworkTokens" : {
            "additionalProperties" : false,
            "properties" : {
               "networkToken.available" : {
                  "description" : "Indicates whether a network token is available for the specified card.",
                  "type" : "string"
               },
               "networkToken.bin" : {
                  "description" : "The Bank Identification Number of a tokenized card, which is the first six digits of a card number.",
                  "type" : "string"
               },
               "networkToken.tokenSummary" : {
                  "description" : "The last four digits of a network token.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "ResponseAdditionalDataOpi" : {
            "additionalProperties" : false,
            "properties" : {
               "opi.transToken" : {
                  "description" : "Returned in the response if you included `opi.includeTransToken: true` in an ecommerce payment request. This contains an Oracle Payment Interface token that you can store in your Oracle Opera database to identify tokenized ecommerce transactions. For more information and required settings, see [Oracle Opera](https://docs.adyen.com/plugins/oracle-opera#opi-token-ecommerce).",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "ResponseAdditionalDataSepa" : {
            "additionalProperties" : false,
            "properties" : {
               "sepadirectdebit.dateOfSignature" : {
                  "description" : "The transaction signature date.\n\nFormat: yyyy-MM-dd",
                  "type" : "string"
               },
               "sepadirectdebit.mandateId" : {
                  "description" : "Its value corresponds to the pspReference value of the transaction.",
                  "type" : "string"
               },
               "sepadirectdebit.sequenceType" : {
                  "description" : "This field can take one of the following values:\n* OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction.\n\n* First: (FRST) Initial/first collection in a series of direct debit instructions.\n* Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor.\n* Final: (FNAL) Last/final collection in a series of direct debit instructions.\n\nExample: OOFF",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "SDKEphemPubKey" : {
            "additionalProperties" : false,
            "properties" : {
               "crv" : {
                  "description" : "The `crv` value as received from the 3D Secure 2 SDK.",
                  "type" : "string"
               },
               "kty" : {
                  "description" : "The `kty` value as received from the 3D Secure 2 SDK.",
                  "type" : "string"
               },
               "x" : {
                  "description" : "The `x` value as received from the 3D Secure 2 SDK.",
                  "type" : "string"
               },
               "y" : {
                  "description" : "The `y` value as received from the 3D Secure 2 SDK.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "ServiceError" : {
            "additionalProperties" : false,
            "properties" : {
               "additionalData" : {
                  "x-addedInVersion" : "46",
                  "additionalProperties" : {
                     "type" : "string"
                  },
                  "description" : "Contains additional information about the payment. Some data fields are included only if you select them first. Go to **Customer Area** > **Developers** > **Additional data**.",
                  "type" : "object"
               },
               "errorCode" : {
                  "description" : "The error code mapped to the error message.",
                  "type" : "string"
               },
               "errorType" : {
                  "description" : "The category of the error.",
                  "type" : "string"
               },
               "message" : {
                  "description" : "A short explanation of the issue.",
                  "type" : "string"
               },
               "pspReference" : {
                  "description" : "The PSP reference of the payment.",
                  "type" : "string"
               },
               "status" : {
                  "description" : "The HTTP response status.",
                  "format" : "int32",
                  "type" : "integer"
               }
            },
            "type" : "object"
         },
         "ShopperInteractionDevice" : {
            "additionalProperties" : false,
            "properties" : {
               "locale" : {
                  "description" : "Locale on the shopper interaction device.",
                  "type" : "string"
               },
               "os" : {
                  "description" : "Operating system running on the shopper interaction device.",
                  "type" : "string"
               },
               "osVersion" : {
                  "description" : "Version of the operating system on the shopper interaction device.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "Split" : {
            "additionalProperties" : false,
            "properties" : {
               "account" : {
                  "description" : "The unique identifier of the account to which the split amount is booked. Required if `type` is **MarketPlace** or **BalanceAccount**.\n\n* [Classic Platforms integration](https://docs.adyen.com/classic-platforms): The [`accountCode`](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccount#request-accountCode) of the account to which the split amount is booked.\n* [Balance Platform](https://docs.adyen.com/adyen-for-platforms-model): The [`balanceAccountId`](https://docs.adyen.com/api-explorer/balanceplatform/latest/get/balanceAccounts/_id_#path-id) of the account to which the split amount is booked.",
                  "type" : "string"
               },
               "amount" : {
                  "description" : "The amount of the split item.\n\n* Required for all split types in the [Classic Platforms integration](https://docs.adyen.com/classic-platforms).\n* Required if `type` is **BalanceAccount**, **Commission**, **Default**, or **VAT** in your [Balance Platform](https://docs.adyen.com/adyen-for-platforms-model) integration.",
                  "$ref" : "#/components/schemas/SplitAmount"
               },
               "description" : {
                  "description" : "Your description for the split item.",
                  "type" : "string"
               },
               "reference" : {
                  "description" : "Your unique reference for the part of the payment booked to the specified `account`.\n\nThis is required if `type` is **MarketPlace** ([Classic Platforms integration](https://docs.adyen.com/classic-platforms)) or **BalanceAccount** ([Balance Platform](https://docs.adyen.com/adyen-for-platforms-model)).\n\nFor the other types, we also recommend providing a **unique** reference so you can reconcile the split and the associated payment in the transaction overview and in the reports.",
                  "type" : "string"
               },
               "type" : {
                  "description" : "The part of the payment you want to book to the specified `account`.\n\nPossible values for the [Balance Platform](https://docs.adyen.com/adyen-for-platforms-model):\n* **BalanceAccount**: books part of the payment (specified in `amount`) to the specified `account`.\n* Transaction fees types that you can book to the specified `account`:\n   * **AcquiringFees**: the aggregated amount of the interchange and scheme fees.\n   * **PaymentFee**: the aggregated amount of all transaction fees.\n   * **AdyenFees**: the aggregated amount of Adyen's commission and markup fees.\n   * **AdyenCommission**: the transaction fees due to Adyen under [blended rates](https://www.adyen.com/knowledge-hub/interchange-fees-explained).\n   * **AdyenMarkup**: the transaction fees due to Adyen under [Interchange ++ pricing](https://www.adyen.com/knowledge-hub/interchange-fees-explained).\n   * **Interchange**: the fees paid to the issuer for each payment made with the card network.\n   * **SchemeFee**: the fees paid to the card scheme for using their network. \n* **Commission**: your platform's commission on the payment (specified in `amount`), booked to your liable balance account.\n* **Remainder**: the amount left over after a currency conversion, booked to the specified `account`.\n* **TopUp**: allows you and your users to top up balance accounts using direct debit, card payments, or other payment methods.\n* **VAT**: the value-added tax charged on the payment, booked to your platforms liable balance account.\n* **Commission**: your platform's commission (specified in `amount`) on the payment, booked to your liable balance account.\n* **Default**: in very specific use cases, allows you to book the specified `amount` to the specified `account`. For more information, contact Adyen support.\n\nPossible values for the [Classic Platforms integration](https://docs.adyen.com/classic-platforms): **Commission**, **Default**, **MarketPlace**, **PaymentFee**, **VAT**.",
                  "enum" : [
                     "AcquiringFees",
                     "AdyenCommission",
                     "AdyenFees",
                     "AdyenMarkup",
                     "BalanceAccount",
                     "Commission",
                     "Default",
                     "Interchange",
                     "MarketPlace",
                     "PaymentFee",
                     "Remainder",
                     "SchemeFee",
                     "Surcharge",
                     "Tip",
                     "TopUp",
                     "VAT"
                  ],
                  "type" : "string"
               }
            },
            "required" : [
               "type"
            ],
            "type" : "object"
         },
         "SplitAmount" : {
            "additionalProperties" : false,
            "properties" : {
               "currency" : {
                  "description" : "The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes). By default, this is the original payment currency.",
                  "maxLength" : 3,
                  "minLength" : 3,
                  "type" : "string"
               },
               "value" : {
                  "description" : "The value of the split amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes).",
                  "format" : "int64",
                  "type" : "integer"
               }
            },
            "required" : [
               "value"
            ],
            "type" : "object"
         },
         "TechnicalCancelRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "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/AdditionalDataModifications"
                     },
                     {
                        "$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 modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.",
                  "type" : "object"
               },
               "merchantAccount" : {
                  "description" : "The merchant account that is used to process the payment.",
                  "type" : "string"
               },
               "modificationAmount" : {
                  "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "mpiData" : {
                  "x-addedInVersion" : "46",
                  "description" : "Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).",
                  "$ref" : "#/components/schemas/ThreeDSecureData"
               },
               "originalMerchantReference" : {
                  "x-addedInVersion" : "30",
                  "description" : "The original merchant reference to cancel.",
                  "type" : "string"
               },
               "reference" : {
                  "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.",
                  "type" : "string"
               },
               "splits" : {
                  "x-addedInVersion" : "37",
                  "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to split payments for [platforms](https://docs.adyen.com/platforms/automatic-split-configuration/).",
                  "items" : {
                     "$ref" : "#/components/schemas/Split"
                  },
                  "type" : "array"
               },
               "tenderReference" : {
                  "x-addedInVersion" : "25",
                  "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.",
                  "type" : "string"
               },
               "uniqueTerminalId" : {
                  "x-addedInVersion" : "25",
                  "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.",
                  "type" : "string"
               }
            },
            "required" : [
               "merchantAccount",
               "originalMerchantReference"
            ],
            "type" : "object"
         },
         "ThreeDS2RequestData" : {
            "additionalProperties" : false,
            "properties" : {
               "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"
               },
               "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" : {
                  "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"
               },
               "deviceChannel" : {
                  "description" : "The environment of the shopper.\nAllowed values:\n* `app`\n* `browser`",
                  "type" : "string"
               },
               "deviceRenderOptions" : {
                  "description" : "Display options for the 3D Secure 2 SDK.\nOptional and only for `deviceChannel` **app**.",
                  "$ref" : "#/components/schemas/DeviceRenderOptions"
               },
               "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"
               },
               "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"
               },
               "sdkAppID" : {
                  "description" : "The `sdkAppID` value as received from the 3D Secure 2 SDK.\nRequired for `deviceChannel` set to **app**.",
                  "type" : "string"
               },
               "sdkEncData" : {
                  "description" : "The `sdkEncData` value as received from the 3D Secure 2 SDK.\nRequired for `deviceChannel` set to **app**.",
                  "type" : "string"
               },
               "sdkEphemPubKey" : {
                  "description" : "The `sdkEphemPubKey` value as received from the 3D Secure 2 SDK.\nRequired for `deviceChannel` set to **app**.",
                  "$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.\nOnly for `deviceChannel` set to **app**.",
                  "type" : "string"
               },
               "sdkTransID" : {
                  "description" : "The `sdkTransID` value as received from the 3D Secure 2 SDK.\nOnly for `deviceChannel` set to **app**.",
                  "type" : "string"
               },
               "sdkVersion" : {
                  "x-addedInVersion" : "40",
                  "description" : "Version of the 3D Secure 2 mobile SDK. \nOnly for `deviceChannel` set to **app**.",
                  "type" : "string"
               },
               "threeDSCompInd" : {
                  "description" : "Completion indicator for the device fingerprinting.",
                  "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"
               },
               "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"
               },
               "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"
               }
            },
            "required" : [
               "deviceChannel"
            ],
            "type" : "object"
         },
         "ThreeDS2Result" : {
            "additionalProperties" : false,
            "properties" : {
               "authenticationValue" : {
                  "description" : "The `authenticationValue` value as defined in the 3D Secure 2 specification.",
                  "type" : "string"
               },
               "cavvAlgorithm" : {
                  "x-addedInVersion" : "50",
                  "description" : "The algorithm used by the ACS to calculate the authentication value, only for Cartes Bancaires integrations.",
                  "type" : "string"
               },
               "dsTransID" : {
                  "description" : "The `dsTransID` value as defined in the 3D Secure 2 specification.",
                  "type" : "string"
               },
               "eci" : {
                  "description" : "The `eci` value as defined in the 3D Secure 2 specification.",
                  "type" : "string"
               },
               "messageVersion" : {
                  "x-addedInVersion" : "49",
                  "description" : "The `messageVersion` value as defined in the 3D Secure 2 specification.",
                  "type" : "string"
               },
               "threeDSServerTransID" : {
                  "description" : "The `threeDSServerTransID` value as defined in the 3D Secure 2 specification.",
                  "type" : "string"
               },
               "timestamp" : {
                  "description" : "The `timestamp` value of the 3D Secure 2 authentication.",
                  "type" : "string"
               },
               "transStatus" : {
                  "description" : "The `transStatus` value as defined in the 3D Secure 2 specification.",
                  "type" : "string"
               },
               "transStatusReason" : {
                  "description" : "Provides information on why the `transStatus` field has the specified value. For possible values, refer to [our docs](https://docs.adyen.com/online-payments/3d-secure/api-reference#possible-transstatusreason-values).",
                  "type" : "string"
               },
               "whiteListStatus" : {
                  "x-addedInVersion" : "49",
                  "description" : "The `whiteListStatus` value as defined in the 3D Secure 2 specification.",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "ThreeDS2ResultRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "merchantAccount" : {
                  "description" : "The merchant account identifier, with which you want to process the transaction.",
                  "type" : "string"
               },
               "pspReference" : {
                  "description" : "The pspReference returned in the /authorise call.",
                  "type" : "string"
               }
            },
            "required" : [
               "merchantAccount",
               "pspReference"
            ],
            "type" : "object"
         },
         "ThreeDS2ResultResponse" : {
            "additionalProperties" : false,
            "properties" : {
               "threeDS2Result" : {
                  "description" : "The result of the 3D Secure 2 authentication.",
                  "$ref" : "#/components/schemas/ThreeDS2Result"
               }
            },
            "type" : "object"
         },
         "ThreeDSecureData" : {
            "additionalProperties" : false,
            "properties" : {
               "authenticationResponse" : {
                  "description" : "In 3D Secure 2, this is the `transStatus` from the challenge result. If the transaction was frictionless, omit this parameter.\n\n",
                  "enum" : [
                     "Y",
                     "N",
                     "U",
                     "A"
                  ],
                  "type" : "string"
               },
               "cavv" : {
                  "description" : "The cardholder authentication value (base64 encoded, 20 bytes in a decoded form).",
                  "format" : "byte",
                  "type" : "string"
               },
               "cavvAlgorithm" : {
                  "description" : "The CAVV algorithm used. Include this only for 3D Secure 1.",
                  "type" : "string"
               },
               "directoryResponse" : {
                  "description" : "In 3D Secure 2, this is the `transStatus` from the `ARes`.\n\n",
                  "enum" : [
                     "A",
                     "C",
                     "D",
                     "I",
                     "N",
                     "R",
                     "U",
                     "Y"
                  ],
                  "type" : "string"
               },
               "dsTransID" : {
                  "x-addedInVersion" : "40",
                  "description" : "Supported for 3D Secure 2. The unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.",
                  "type" : "string"
               },
               "eci" : {
                  "description" : "The electronic commerce indicator.",
                  "type" : "string"
               },
               "threeDSVersion" : {
                  "x-addedInVersion" : "40",
                  "description" : "The version of the 3D Secure protocol.",
                  "type" : "string"
               },
               "xid" : {
                  "description" : "Supported for 3D Secure 1. The transaction identifier (Base64-encoded, 20 bytes in a decoded form).",
                  "format" : "byte",
                  "type" : "string"
               }
            },
            "type" : "object"
         },
         "VoidPendingRefundRequest" : {
            "additionalProperties" : false,
            "properties" : {
               "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/AdditionalDataModifications"
                     },
                     {
                        "$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 modification request.\n\nThe additionalData object consists of entries, each of which includes the key and value.",
                  "type" : "object"
               },
               "merchantAccount" : {
                  "description" : "The merchant account that is used to process the payment.",
                  "type" : "string"
               },
               "modificationAmount" : {
                  "description" : "The amount that needs to be captured/refunded. Required for `/capture` and `/refund`, not allowed for `/cancel`. The `currency` must match the currency used in authorisation, the `value` must be smaller than or equal to the authorised amount.",
                  "$ref" : "#/components/schemas/Amount"
               },
               "mpiData" : {
                  "x-addedInVersion" : "46",
                  "description" : "Authentication data produced by an MPI (Mastercard SecureCode, Visa Secure, or Cartes Bancaires).",
                  "$ref" : "#/components/schemas/ThreeDSecureData"
               },
               "originalMerchantReference" : {
                  "x-addedInVersion" : "30",
                  "description" : "The original merchant reference to cancel.",
                  "type" : "string"
               },
               "originalReference" : {
                  "description" : "The original pspReference of the payment to modify.\nThis reference is returned in:\n* authorisation response\n* authorisation notification\n\n",
                  "type" : "string"
               },
               "reference" : {
                  "description" : "Your reference for the payment modification. This reference is visible in Customer Area and in reports.\nMaximum length: 80 characters.",
                  "type" : "string"
               },
               "splits" : {
                  "x-addedInVersion" : "37",
                  "description" : "An array of objects specifying how the amount should be split between accounts when using Adyen for Platforms. For more information, see how to split payments for [platforms](https://docs.adyen.com/platforms/automatic-split-configuration/).",
                  "items" : {
                     "$ref" : "#/components/schemas/Split"
                  },
                  "type" : "array"
               },
               "tenderReference" : {
                  "x-addedInVersion" : "25",
                  "description" : "The transaction reference provided by the PED. For point-of-sale integrations only.",
                  "type" : "string"
               },
               "uniqueTerminalId" : {
                  "x-addedInVersion" : "25",
                  "description" : "Unique terminal ID for the PED that originally processed the request. For point-of-sale integrations only.",
                  "type" : "string"
               }
            },
            "required" : [
               "merchantAccount"
            ],
            "type" : "object"
         }
      },
      "securitySchemes" : {
         "ApiKeyAuth" : {
            "in" : "header",
            "name" : "X-API-Key",
            "type" : "apiKey"
         },
         "BasicAuth" : {
            "scheme" : "basic",
            "type" : "http"
         }
      },
      "examples" : {
         "generic-400" : {
            "summary" : "Response code 400. Bad request.",
            "value" : {
               "status" : 400,
               "errorCode" : "702",
               "message" : "Unexpected input: \", expected: }",
               "errorType" : "validation"
            }
         },
         "generic-401" : {
            "summary" : "Response code 401. Unauthorized.",
            "value" : {
               "status" : 401,
               "errorCode" : "000",
               "message" : "HTTP Status Response - Unauthorized",
               "errorType" : "security"
            }
         },
         "generic-500" : {
            "summary" : "Response code 500. Internal server error.",
            "value" : {
               "status" : 500,
               "errorCode" : "905",
               "message" : "Payment details are not supported",
               "errorType" : "configuration",
               "pspReference" : "8516091485743033"
            }
         },
         "post-adjustAuthorisation-adjustAuthorisation" : {
            "summary" : "Increases or decreases the authorised amount",
            "value" : {
               "originalReference" : "COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE",
               "modificationAmount" : {
                  "currency" : "USD",
                  "value" : 1700
               },
               "reference" : "YourModificationReference",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-adjustAuthorisation-adjustAuthorisation-200" : {
            "summary" : "Example response for request 'adjustAuthorisation'",
            "value" : {
               "pspReference" : "851617892360718D",
               "response" : "[adjustAuthorisation-received]"
            }
         },
         "post-authorise-authorise-3d-secure-2" : {
            "summary" : "Make a card payment with 3D Secure 2 native authentication",
            "value" : {
               "amount" : {
                  "currency" : "USD",
                  "value" : 1500
               },
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT",
               "reference" : "YOUR_REFERENCE_NUMBER",
               "threeDS2RequestData" : {
                  "deviceChannel" : "browser",
                  "notificationURL" : "https://www.example.com/YOUR_3DS_NOTIFICATION_URL"
               },
               "browserInfo" : {
                  "userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36",
                  "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
                  "language" : "en",
                  "colorDepth" : 24,
                  "screenHeight" : 723,
                  "screenWidth" : 1536,
                  "timeZoneOffset" : 0,
                  "javaEnabled" : false
               },
               "billingAddress" : {
                  "country" : "US",
                  "city" : "New York",
                  "street" : "Redwood Block",
                  "houseNumberOrName" : "37C",
                  "stateOrProvince" : "NY",
                  "postalCode" : "10039"
               },
               "accountInfo" : {
                  "accountCreationDate" : "2019-01-17T13:42:40+01:00"
               },
               "shopperEmail" : "s.hopper@test.com",
               "shopperIP" : "192.0.2.1",
               "card" : {
                  "cvc" : "737",
                  "expiryMonth" : "03",
                  "expiryYear" : "2030",
                  "holderName" : "John Smith",
                  "number" : "4917610000000000"
               }
            }
         },
         "post-authorise-authorise-3dsecure" : {
            "summary" : "Initiate a 3D Secure payment",
            "value" : {
               "amount" : {
                  "value" : 1500,
                  "currency" : "EUR"
               },
               "browserInfo" : {
                  "userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36",
                  "acceptHeader" : "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
                  "language" : "en",
                  "colorDepth" : 24,
                  "screenHeight" : 723,
                  "screenWidth" : 1536,
                  "timeZoneOffset" : 0,
                  "javaEnabled" : false
               },
               "card" : {
                  "number" : "5212345678901234",
                  "expiryMonth" : "03",
                  "expiryYear" : "2030",
                  "cvc" : "737",
                  "holderName" : "John Smith"
               },
               "reference" : "YOUR_REFERENCE",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-authorise-authorise-card" : {
            "summary" : "Authorise a card payment",
            "value" : {
               "card" : {
                  "number" : "4111111111111111",
                  "expiryMonth" : "03",
                  "expiryYear" : "2030",
                  "cvc" : "737",
                  "holderName" : "John Smith"
               },
               "amount" : {
                  "value" : 1500,
                  "currency" : "EUR"
               },
               "reference" : "YOUR_REFERENCE",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-authorise-authorise-recurringcontauth" : {
            "summary" : "Authorise a recurring payment",
            "value" : {
               "amount" : {
                  "value" : 2000,
                  "currency" : "EUR"
               },
               "reference" : "YOUR_REFERENCE",
               "shopperEmail" : "s.hopper@test.com",
               "shopperIP" : "61.294.12.12",
               "shopperReference" : "YOUR_SHOPPER_REFERENCE",
               "selectedRecurringDetailReference" : "LATEST",
               "recurring" : {
                  "contract" : "RECURRING"
               },
               "shopperInteraction" : "ContAuth",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-authorise-authorise-recurringoneclick" : {
            "summary" : "Authorise a one-click payment",
            "value" : {
               "amount" : {
                  "value" : 2000,
                  "currency" : "EUR"
               },
               "card" : {
                  "cvc" : "737"
               },
               "reference" : "YOUR_REFERENCE",
               "shopperEmail" : "s.hopper@test.com",
               "shopperIP" : "61.294.12.12",
               "shopperReference" : "YOUR_SHOPPER_REFERENCE",
               "selectedRecurringDetailReference" : "LATEST",
               "recurring" : {
                  "contract" : "ONECLICK"
               },
               "shopperInteraction" : "Ecommerce",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-authorise-authorise-recurringstore" : {
            "summary" : "Store card details for recurring payments",
            "value" : {
               "amount" : {
                  "value" : 2000,
                  "currency" : "EUR"
               },
               "card" : {
                  "number" : "4111111111111111",
                  "expiryMonth" : "03",
                  "expiryYear" : "2030",
                  "cvc" : "737",
                  "holderName" : "John Smith"
               },
               "reference" : "YOUR_REFERENCE",
               "shopperEmail" : "s.hopper@test.com",
               "shopperIP" : "61.294.12.12",
               "shopperReference" : "YOUR_SHOPPER_REFERENCE",
               "recurring" : {
                  "contract" : "RECURRING"
               },
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-authorise-authorise-split" : {
            "summary" : "Split a payment between a sub-merchant and a platform account",
            "value" : {
               "card" : {
                  "number" : "4111111111111111",
                  "cvc" : "737",
                  "expiryMonth" : "03",
                  "expiryYear" : "2030",
                  "holderName" : "John Smith"
               },
               "amount" : {
                  "value" : 6200,
                  "currency" : "EUR"
               },
               "reference" : "YOUR_ORDER_NUMBER",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT",
               "splits" : [
                  {
                     "amount" : {
                        "value" : 6000
                     },
                     "type" : "MarketPlace",
                     "account" : "151272963",
                     "reference" : "6124145",
                     "description" : "Porcelain Doll: Eliza (20cm)"
                  },
                  {
                     "amount" : {
                        "value" : 200
                     },
                     "type" : "Commission",
                     "reference" : "6124146"
                  }
               ]
            }
         },
         "post-authorise3d-authorise3d" : {
            "summary" : "Complete a 3D Secure payment",
            "value" : {
               "md" : "31h..........vOXek7w",
               "paResponse" : "eNqtmF........wGVA4Ch",
               "shopperIP" : "61.294.12.12",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-authorise3ds2-authorise3ds2" : {
            "summary" : "Submit 3D Secure 2 authentication data to the issuer",
            "value" : {
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT",
               "amount" : {
                  "currency" : "EUR",
                  "value" : 1000
               },
               "reference" : "YOUR_ORDER_NUMBER",
               "threeDS2RequestData" : {
                  "deviceChannel" : "app",
                  "threeDSCompInd" : "Y"
               },
               "threeDS2Token" : "— - BINARY DATA - -"
            }
         },
         "post-cancel-cancel" : {
            "summary" : "Cancel an authorised payment",
            "value" : {
               "originalReference" : "COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE",
               "reference" : "YourModificationReference",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-cancelOrRefund-cancelOrRefund" : {
            "summary" : "Cancel or refund a payment",
            "value" : {
               "originalReference" : "COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE",
               "reference" : "YourModificationReference",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-cancelOrRefund-cancelOrRefund-200" : {
            "summary" : "Example response for request 'cancelOrRefund'",
            "value" : {
               "pspReference" : "851617892359708H",
               "response" : "[cancelOrRefund-received]"
            }
         },
         "post-capture-capture" : {
            "summary" : "Capture an authorised payment",
            "value" : {
               "originalReference" : "COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE",
               "modificationAmount" : {
                  "value" : 500,
                  "currency" : "EUR"
               },
               "reference" : "YOUR_REFERENCE",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-capture-capture-200" : {
            "summary" : "Example response for request 'capture'",
            "value" : {
               "pspReference" : "861617892359057J",
               "response" : "[capture-received]"
            }
         },
         "post-donate-donate" : {
            "summary" : "Create a payment for the specified donation",
            "value" : {
               "originalReference" : "COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE",
               "modificationAmount" : {
                  "value" : 500,
                  "currency" : "EUR"
               },
               "reference" : "YOUR_DONATION_REFERENCE",
               "donationAccount" : "AdyenGivingDemo",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-refund-refund" : {
            "summary" : "Refund a captured payment",
            "value" : {
               "originalReference" : "COPY_PSP_REFERENCE_FROM_AUTHORISE_RESPONSE",
               "modificationAmount" : {
                  "value" : 500,
                  "currency" : "EUR"
               },
               "reference" : "YOUR_REFERENCE",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-refund-refund-200" : {
            "summary" : "Example response for request 'refund'",
            "value" : {
               "pspReference" : "861617892360059B",
               "response" : "[refund-received]"
            }
         },
         "post-retrieve3ds2Result-retrieve3ds2Result" : {
            "summary" : "Retrieve authentication details after doing a 3D Secure 2 authentication only",
            "value" : {
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT",
               "pspReference" : "9935272408535455"
            }
         },
         "post-technicalCancel-technicalCancel" : {
            "summary" : "Cancel a payment without a PSP reference",
            "value" : {
               "originalMerchantReference" : "YOUR_MERCHANT_REFERENCE",
               "reference" : "YOUR_MODIFICATION_REFERENCE",
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT"
            }
         },
         "post-technicalCancel-technicalCancel-200" : {
            "summary" : "Example response for request 'technicalCancel'",
            "value" : {
               "pspReference" : "881617892361436J",
               "response" : "[technical-cancel-received]"
            }
         },
         "post-voidPendingRefund-voidpendingrefund-pspreference" : {
            "summary" : "Cancel a POS refund request with PSP reference before it has been completed",
            "value" : {
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT",
               "originalReference" : "9914748988390044"
            }
         },
         "post-voidPendingRefund-voidpendingrefund-pspreference-200" : {
            "summary" : "Example response for request 'voidpendingrefund-pspreference'",
            "value" : {
               "pspReference" : "861617892360062F",
               "response" : "[voidPendingRefund-received]"
            }
         },
         "post-voidPendingRefund-voidpendingrefund-tenderreference" : {
            "summary" : "Cancels a POS refund request with tender reference before it has been completed",
            "value" : {
               "merchantAccount" : "YOUR_MERCHANT_ACCOUNT",
               "tenderReference" : "5Iw8001176969533005",
               "uniqueTerminalId" : "VX820-123456789"
            }
         },
         "post-voidPendingRefund-voidpendingrefund-tenderreference-200" : {
            "summary" : "Example response for request 'voidpendingrefund-tenderreference'",
            "value" : {
               "pspReference" : "881617892360409G",
               "response" : "[voidPendingRefund-received]"
            }
         }
      }
   }
}