openapi: 3.1.0 servers: - url: https://pal-test.adyen.com/pal/servlet/Payout/v64 info: version: '64' x-publicVersion: true title: Adyen Payout API description: "> The **Payout API is deprecated** and no longer supports new integrations.\ \ Do one of the following:\n>- If you are building a new integration, use the\ \ [Transfers API](https://docs.adyen.com/api-explorer/transfers/latest/overview)\ \ instead.\n> - If you are already using the Payout API, reach out to your Adyen\ \ contact to learn how to migrate to the Transfers API.\n>\n> With the Transfers\ \ API, you can:\n> - Handle multiple payout use cases with a single API.\n> -\ \ Use new payout functionalities, such as instant payouts to bank accounts.\n\ > - Receive webhooks with more details and defined transfer states.\n>\n> For\ \ more information about the payout features of the Transfers API, see our [Payouts](https://docs.adyen.com/payouts/payout-service)\ \ documentation.\n\n\nA set of API endpoints that allow you to store payout details,\ \ confirm, or decline a payout.\n\nFor more information, refer to [Online payouts](https://docs.adyen.com/online-payments/online-payouts).\n\ ## Authentication\nTo use the Payout API, you need to have [two API credentials](https://docs.adyen.com/online-payments/online-payouts#payouts-to-bank-accounts-and-wallets):\ \ one for storing payout details and submitting payouts, and another one for confirming\ \ or declining payouts. If you don't have the required API credentials, contact\ \ our [Support Team](https://www.adyen.help/hc/en-us/requests/new).\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](https://docs.adyen.com/development-resources/api-credentials#basic-authentication).\n\ \nThe following example shows how to authenticate your request with basic authentication\ \ when submitting a payout:\n\n```\ncurl\n-U \"storePayout@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/Payout/v64/payout\n\ ```\n\n## Going live\n\nTo authenticate to the live endpoints, you need [API credentials](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/Payout/v64/payout\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: Initialization - name: Reviewing - name: Instant payouts paths: /confirmThirdParty: post: tags: - Reviewing summary: Confirm a payout description: '> This endpoint is **deprecated** and no longer supports new integrations. Do one of the following: >- If you are building a new integration, use the [Transfers API](https://docs.adyen.com/api-explorer/transfers/latest/overview) instead. > - If you are already using the Payout API, reach out to your Adyen contact to learn how to migrate to the Transfers API. > > With the Transfers API, you can: > - Handle multiple payout use cases with a single API. > - Use new payout functionalities, such as instant payouts to bank accounts. > - Receive webhooks with more details and defined transfer states. > > For more information about the payout features of the Transfers API, see our [Payouts](https://docs.adyen.com/payouts/payout-service) documentation. Confirms a previously submitted payout. To cancel a payout, use the `/declineThirdParty` endpoint.' x-addedInVersion: '10' operationId: post-confirmThirdParty x-sortIndex: 1 x-methodName: confirmThirdParty security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: examples: confirmThirdParty: $ref: '#/components/examples/post-confirmThirdParty-confirmThirdParty' schema: $ref: '#/components/schemas/ModifyRequest' responses: '200': content: application/json: examples: confirmThirdParty: $ref: '#/components/examples/post-confirmThirdParty-confirmThirdParty-200' schema: $ref: '#/components/schemas/ModifyResponse' 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: 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: schema: $ref: '#/components/schemas/ServiceError' description: Internal Server Error - the server could not process the request. /declineThirdParty: post: tags: - Reviewing summary: Cancel a payout description: '> This endpoint is **deprecated** and no longer supports new integrations. Do one of the following: >- If you are building a new integration, use the [Transfers API](https://docs.adyen.com/api-explorer/transfers/latest/overview) instead. > - If you are already using the Payout API, reach out to your Adyen contact to learn how to migrate to the Transfers API. > > With the Transfers API, you can: > - Handle multiple payout use cases with a single API. > - Use new payout functionalities, such as instant payouts to bank accounts. > - Receive webhooks with more details and defined transfer states. > > For more information about the payout features of the Transfers API, see our [Payouts](https://docs.adyen.com/payouts/payout-service) documentation. Cancels a previously submitted payout. To confirm and send a payout, use the `/confirmThirdParty` endpoint.' x-addedInVersion: '10' operationId: post-declineThirdParty x-sortIndex: 2 x-methodName: declineThirdParty security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: examples: declineThirdParty: $ref: '#/components/examples/post-declineThirdParty-declineThirdParty' schema: $ref: '#/components/schemas/ModifyRequest' responses: '200': content: application/json: examples: declineThirdParty: $ref: '#/components/examples/post-declineThirdParty-declineThirdParty-200' schema: $ref: '#/components/schemas/ModifyResponse' 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: 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: schema: $ref: '#/components/schemas/ServiceError' description: Internal Server Error - the server could not process the request. /payout: post: tags: - Instant payouts summary: Make an instant card payout description: '> This endpoint is **deprecated** and no longer supports new integrations. Do one of the following: >- If you are building a new integration, use the POST [/transfers](https://docs.adyen.com/api-explorer/transfers/latest/post/transfers) endpoint instead. > - If you are already using the Payout API, reach out to your Adyen contact to learn how to migrate to the Transfers API. > > With the Transfers API, you can: > - Handle multiple payout use cases with a single API. > - Use new payout functionalities, such as instant payouts to bank accounts. > - Receive webhooks with more details and defined transfer states. > > For more information about the payout features of the Transfers API, see our [Payouts](https://docs.adyen.com/payouts/payout-service) documentation. With this call, you can pay out to your customers, and funds will be made available within 30 minutes on the cardholder''s bank account (this is dependent on whether the issuer supports this functionality). Instant card payouts are only supported for Visa and Mastercard cards.' x-addedInVersion: '11' operationId: post-payout x-sortIndex: 1 x-methodName: payout security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: examples: payout-b2c: $ref: '#/components/examples/post-payout-payout-b2c' payout-p2p: $ref: '#/components/examples/post-payout-payout-p2p' schema: $ref: '#/components/schemas/PayoutRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PayoutResponse' 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: 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: schema: $ref: '#/components/schemas/ServiceError' description: Internal Server Error - the server could not process the request. /storeDetail: post: tags: - Initialization summary: Store payout details description: '> This endpoint is **deprecated** and no longer supports new integrations. Do one of the following: >- If you are building a new integration, use the [Transfers API](https://docs.adyen.com/api-explorer/transfers/latest/overview) instead. > - If you are already using the Payout API, reach out to your Adyen contact to learn how to migrate to the Transfers API. > > With the Transfers API, you can: > - Handle multiple payout use cases with a single API. > - Use new payout functionalities, such as instant payouts to bank accounts. > - Receive webhooks with more details and defined transfer states. > > For more information about the payout features of the Transfers API, see our [Payouts](https://docs.adyen.com/payouts/payout-service) documentation. Stores payment details under the `PAYOUT` recurring contract. These payment details can be used later to submit a payout via the `/submitThirdParty` call.' operationId: post-storeDetail x-sortIndex: 2 x-methodName: storeDetail security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: examples: storeDetail: $ref: '#/components/examples/post-storeDetail-storeDetail' schema: $ref: '#/components/schemas/StoreDetailRequest' responses: '200': content: application/json: examples: storeDetail: $ref: '#/components/examples/post-storeDetail-storeDetail-200' schema: $ref: '#/components/schemas/StoreDetailResponse' 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: 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: schema: $ref: '#/components/schemas/ServiceError' description: Internal Server Error - the server could not process the request. /storeDetailAndSubmitThirdParty: post: tags: - Initialization summary: Store details and submit a payout description: '> This endpoint is **deprecated** and no longer supports new integrations. Do one of the following: >- If you are building a new integration, use the POST [/transfers](https://docs.adyen.com/api-explorer/transfers/latest/post/transfers) endpoint instead. > - If you are already using the Payout API, reach out to your Adyen contact to learn how to migrate to the Transfers API. > > With the Transfers API, you can: > - Handle multiple payout use cases with a single API. > - Use new payout functionalities, such as instant payouts to bank accounts. > - Receive webhooks with more details and defined transfer states. > > For more information about the payout features of the Transfers API, see our [Payouts](https://docs.adyen.com/payouts/payout-service) documentation. Submits a payout and stores its details for subsequent payouts. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.' x-addedInVersion: '10' operationId: post-storeDetailAndSubmitThirdParty x-sortIndex: 1 x-methodName: storeDetailAndSubmitThirdParty security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: examples: storeDetailAndSubmitThirdParty: $ref: '#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty' storeDetailAndSubmitThirdParty-Neteller: $ref: '#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller' storeDetailAndSubmitThirdParty-PayPal: $ref: '#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal' storeDetailAndSubmitThirdParty-Paysafecard: $ref: '#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard' storeDetailAndSubmitThirdParty-Skrill: $ref: '#/components/examples/post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill' schema: $ref: '#/components/schemas/StoreDetailAndSubmitRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/StoreDetailAndSubmitResponse' 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: 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: schema: $ref: '#/components/schemas/ServiceError' description: Internal Server Error - the server could not process the request. /submitThirdParty: post: tags: - Initialization summary: Submit a payout description: '> This endpoint is **deprecated** and no longer supports new integrations. Do one of the following: >- If you are building a new integration, use the POST [/transfers](https://docs.adyen.com/api-explorer/transfers/latest/post/transfers) endpoint instead. > - If you are already using the Payout API, reach out to your Adyen contact to learn how to migrate to the Transfers API. > > With the Transfers API, you can: > - Handle multiple payout use cases with a single API. > - Use new payout functionalities, such as instant payouts to bank accounts. > - Receive webhooks with more details and defined transfer states. > > For more information about the payout features of the Transfers API, see our [Payouts](https://docs.adyen.com/payouts/payout-service) documentation. Submits a payout using the previously stored payment details. To store payment details, use the `/storeDetail` API call. The submitted payout must be confirmed or declined either by a reviewer or via `/confirmThirdParty` or `/declineThirdParty` calls.' x-addedInVersion: '10' operationId: post-submitThirdParty x-sortIndex: 3 x-methodName: submitThirdParty security: - BasicAuth: [] - ApiKeyAuth: [] requestBody: content: application/json: examples: submitThirdParty: $ref: '#/components/examples/post-submitThirdParty-submitThirdParty' schema: $ref: '#/components/schemas/SubmitRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/SubmitResponse' 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: 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: schema: $ref: '#/components/schemas/ServiceError' description: Internal Server Error - the server could not process the request. components: schemas: 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**. > 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. > Required for the US and Canada.' type: string street: description: 'The name of the street. Maximum length: 3000 characters. > The house number should not be included in this field; it should be separately provided via `houseNumberOrName`.' maxLength: 3000 type: string required: - street - houseNumberOrName - city - postalCode - country 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 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. A 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* \u03C712 is converted to ch12.\n* \xFCA is converted to\ \ euA.\n* Peter M\xF8ller is converted to Peter Mller, because banks don't\ \ accept '\xF8'.\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 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 \u2013 length: 3 digits\n* CID \u2013 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. Format: 2 digits, zero-padded for single digits. For example: * 03 = March * 11 = November' maxLength: 2 minLength: 1 type: string expiryYear: description: 'The card expiry year. Format: 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. When 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 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 FundSource: additionalProperties: false properties: additionalData: additionalProperties: type: string description: A map of name-value pairs for passing additional or industry-specific data. type: object billingAddress: description: The address where to send the invoice. $ref: '#/components/schemas/Address' card: description: 'Credit card data. Optional if `shopperReference` and `selectedRecurringDetailReference` are provided.' $ref: '#/components/schemas/Card' shopperEmail: description: Email address of the person. type: string shopperName: description: Name of the person. $ref: '#/components/schemas/Name' telephoneNumber: description: Phone number of the person type: string type: object ModifyRequest: additionalProperties: false properties: additionalData: additionalProperties: type: string description: This field contains additional data, which may be required for a particular payout request. type: object merchantAccount: description: The merchant account identifier, with which you want to process the transaction. type: string originalReference: description: The PSP reference received in the `/submitThirdParty` response. type: string required: - merchantAccount - originalReference type: object ModifyResponse: additionalProperties: false properties: additionalData: additionalProperties: type: string description: This field contains additional data, which may be returned in a particular response. type: object pspReference: description: Adyen's 16-character string reference associated with the transaction. This value is globally unique; quote it when communicating with us about this response. type: string response: description: 'The response: * In case of success, it is either `payout-confirm-received` or `payout-decline-received`. * In case of an error, an informational message is returned.' type: string required: - pspReference - response 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 PayoutRequest: additionalProperties: false properties: 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' billingAddress: x-addedInVersion: '4' description: 'The address where to send the invoice. > The `billingAddress` object is required in the following scenarios. Include all of the fields within this object. >* For 3D Secure 2 transactions in all browser-based and mobile implementations. >* For cross-border payouts to and from Canada.' $ref: '#/components/schemas/Address' card: description: 'A container for card data. > Either `bankAccount` or `card` field must be provided in a payment request.' $ref: '#/components/schemas/Card' 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 fundSource: x-addedInVersion: '64' description: The person or entity funding the money. $ref: '#/components/schemas/FundSource' merchantAccount: description: The merchant account identifier, with which you want to process the transaction. 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' 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. If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters.' 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 shopperEmail: description: 'The shopper''s email address. We recommend that you provide this data, as it is used in velocity fraud checks. > For 3D Secure 2 transactions, schemes require `shopperEmail` for all browser-based and mobile implementations.' type: string shopperInteraction: description: 'Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.' enum: - Ecommerce - ContAuth - Moto - POS 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 telephoneNumber: x-addedInVersion: '7' description: The shopper's telephone number. type: string required: - merchantAccount - reference - amount type: object PayoutResponse: 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: * When the payment is authorised successfully, this field holds the authorisation code for the payment. * 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. > 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`. > 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. > 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. If 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. For 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** \u2013 The payment\ \ has been successfully authenticated with 3D Secure 2. Returned for 3D\ \ Secure 2 authentication-only transactions.\n* **AuthenticationNotRequired**\ \ \u2013 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** \u2013 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** \u2013 Indicates the\ \ payment has been cancelled (either by the shopper or the merchant) before\ \ processing was completed. This is a final state.\n* **ChallengeShopper**\ \ \u2013 The issuer requires further shopper interaction before the payment\ \ can be authenticated. Returned for 3D Secure 2 transactions.\n* **Error**\ \ \u2013 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** \u2013 The issuer requires the shopper's device\ \ fingerprint before the payment can be authenticated. Returned for 3D\ \ Secure 2 transactions.\n* **PartiallyAuthorised** \u2013 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** \u2013 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** \u2013 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** \u2013\ \ Indicates the payment has successfully been received by Adyen, and will\ \ be processed. This is the initial state for all payments.\n* **RedirectShopper**\ \ \u2013 Indicates the shopper should be redirected to an external web\ \ page or app to complete the authorisation.\n* **Refused** \u2013 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` \u2013 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` \u2013 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` \u2013 Payment details can be used regardless of\ \ whether the shopper is on your site or not.\n* `PAYOUT` \u2013 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 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. Example: 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. Example: 1011 DJ' type: string billingAddress.stateOrProvince: description: 'The billing address state or province passed in the payment request. Example: 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. This 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. Example: 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. Example: 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. Example: 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. Possible values Visa: * **A** - Visa Traditional * **B** - Visa Traditional Rewards * **C** - Visa Signature * **D** - Visa Signature Preferred * **F** - Visa Classic Possible values Mastercard: * **MCC** - Mastercard Card * **MCE** - Mastercard Electronic Card * **MCF** - Mastercard Corporate Fleet Card * **MCG** - Gold Mastercard Card * **MCH** - Mastercard Premium Charge * **MCI** - Mastercard Select Debit ' enum: - A - B - C - D - F - MCC - MCE - MCF - MCG - MCH - MCI type: string cardSummary: description: 'The last four digits of a card number. > 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. This 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. Example: 52123423' type: string type: object ResponseAdditionalDataCommon: additionalProperties: false properties: acquirerAccountCode: description: 'The name of the Adyen acquirer account. Example: PayPalSandbox_TestAcquirer > Only relevant for PayPal transactions.' type: string acquirerCode: description: 'The name of the acquirer processing the payment request. Example: TestPmmAcquirer' type: string acquirerReference: description: 'The reference number that can be used for reconciliation in case a non-Adyen acquirer is used for settlement. Example: 7C9N3FNBKT9' type: string alias: description: 'The Adyen alias of the card. Example: H167852639363479' type: string aliasType: description: 'The type of the card alias. Example: Default' type: string authCode: description: 'Authorisation code: * When the payment is authorised successfully, this field holds the authorisation code for the payment. * When the payment is not authorised, this field is empty. Example: 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. This 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. For 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. Example: D' type: string bic: description: 'BIC of a bank account. Example: TESTNL01 > 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. Example: 02' type: string expiryDate: description: 'The expiry date on the card. Example: 6/2016 > 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. Example: 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 transaction as classified by the [machine learning](https://docs.adyen.com/risk-management/configure-your-risk-profile/machine-learning-rules/) fraud risk rule. The risk level indicates the likelihood that a transaction will result in a fraudulent dispute. The possible return values are: * veryLow * low * medium * high * veryHigh ' enum: - veryLow - low - medium - high - veryHigh type: string fundingSource: description: 'Information regarding the funding type of the card. The possible return values are: * CHARGE * CREDIT * DEBIT * PREPAID * PREPAID_RELOADABLE * PREPAID_NONRELOADABLE * DEFFERED_DEBIT > This functionality requires additional configuration on Adyen''s end. To enable it, contact the Support Team. For receiving this field in the notification, enable **Include Funding Source** in **Notifications** > **Additional settings**.' type: string fundsAvailability: description: 'Indicates availability of funds. Visa: * "I" (fast funds are supported) * "N" (otherwise) Mastercard: * "I" (product type is Prepaid or Debit, or issuing country is in CEE/HGEM list) * "N" (otherwise) > 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". Possible values: * 3D Secure Mandated * Closed Account * ContAuth Not Supported * CVC Mandated * Ecommerce Not Allowed * Crossborder Not Supported * Card Updated * Low Authrate Bin * 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. Example: 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. > 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. For 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. This 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. Only 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. For more information, refer to [PaymentMethodVariant](https://docs.adyen.com/development-resources/paymentmethodvariant). Example: mcpro' type: string payoutEligible: description: 'Indicates whether a payout is eligible or not for this card. Visa: * "Y" * "N" Mastercard: * "Y" (domestic and cross-border) * "D" (only domestic) * "N" (no MoneySend) * "U" (unknown)' type: string realtimeAccountUpdaterStatus: description: 'The response code from the Real Time Account Updater service. Possible return values are: * CardChanged * CardExpiryChanged * CloseAccount * 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. This 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. This field is unavailable if the payment is referred and is usually not returned with ecommerce transactions. Example: true' type: string refusalReasonRaw: description: 'Raw refusal reason received from the acquirer, where available. Example: 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. Example: Ecommerce' type: string shopperReference: description: 'The shopperReference passed in the payment request. Example: AdyenTestShopperXX' type: string terminalId: description: 'The terminal ID used in a point-of-sale payment. Example: 06022622' type: string threeDAuthenticated: description: 'A Boolean value indicating whether 3DS authentication was completed on this payment. Example: true' type: string threeDAuthenticatedResponse: description: 'The raw 3DS authentication result from the card issuer. Example: N' type: string threeDOffered: description: 'A Boolean value indicating whether 3DS was offered for this payment. Example: true' type: string threeDOfferedResponse: description: 'The raw enrollment result from the 3DS directory services of the card schemes. Example: 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: * **created**: the token has been created. * **updated**: the existing token has been updated. * **alreadyExisting**: the details have already been stored. ' 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. > 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. \n\ Currently 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: * PayInInstallmentsOnly * PayInFullOnly * PayInFullOrInstallments' type: string installments.value: description: 'The number of installments that the payment amount should be charged with. Example: 5 > 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. Format: 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: * OneOff: (OOFF) Direct debit instruction to initiate exactly one direct debit transaction. * First: (FRST) Initial/first collection in a series of direct debit instructions. * Recurring: (RCUR) Direct debit instruction to carry out regular direct debit transactions initiated by the creditor. * Final: (FNAL) Last/final collection in a series of direct debit instructions. Example: OOFF' 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 StoreDetailAndSubmitRequest: additionalProperties: false properties: additionalData: additionalProperties: type: string description: This field contains additional data, which may be required for a particular request. type: object amount: description: A container object for the payable amount information of the transaction. $ref: '#/components/schemas/Amount' bank: description: 'A container for bank account data. > This field is mandatory if `card` is not provided.' $ref: '#/components/schemas/BankAccount' billingAddress: x-addedInVersion: '18' description: 'The billing address. > The `billingAddress` object is required for cross-border payouts to and from Canada. Include all of the fields within this object.' $ref: '#/components/schemas/Address' card: description: 'A container for card data. > This field is mandatory if `bank` is not provided.' $ref: '#/components/schemas/Card' dateOfBirth: x-addedInVersion: '24' description: 'The date of birth. Format: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD For Paysafecard it must be the same as used when registering the Paysafecard account. > This field is mandatory for natural persons.' format: date type: string entityType: x-addedInVersion: '24' description: The type of the entity the payout is processed for. enum: - NaturalPerson - Company 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 merchantAccount: description: The merchant account identifier, with which you want to process the transaction. type: string nationality: x-addedInVersion: '24' description: 'The shopper''s nationality. A valid value is an ISO 2-character country code (e.g. ''NL'').' maxLength: 2 type: string recurring: description: 'A container for the type of recurring contract to be retrieved. The recurring.contract must be set to `PAYOUT`' $ref: '#/components/schemas/Recurring' reference: description: The merchant reference for this payment. This reference will be used in all communication to the merchant about the status of the payout. Although it is a good idea to make sure it is unique, this is not a requirement. type: string selectedBrand: x-addedInVersion: '24' description: 'The name of the brand to make a payout to. For Paysafecard it must be set to `paysafecard`.' type: string shopperEmail: description: The shopper's email address. type: string shopperName: x-addedInVersion: '24' description: 'The shopper''s name. When the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.' $ref: '#/components/schemas/Name' shopperReference: description: The shopper's reference for the payment transaction. type: string shopperStatement: x-addedInVersion: '2' description: The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method). type: string socialSecurityNumber: x-addedInVersion: '24' description: The shopper's social security number. type: string telephoneNumber: x-addedInVersion: '52' description: The shopper's phone number. type: string required: - merchantAccount - shopperEmail - shopperReference - recurring - dateOfBirth - nationality - entityType - reference - amount type: object StoreDetailAndSubmitResponse: additionalProperties: false properties: additionalData: additionalProperties: type: string description: This field contains additional data, which may be returned in a particular response. type: object pspReference: description: A new reference to uniquely identify this request. type: string refusalReason: description: In case of refusal, an informational message for the reason. type: string resultCode: description: 'The response: * In case of success is payout-submit-received. * In case of an error, an informational message is returned.' type: string required: - pspReference - resultCode type: object StoreDetailRequest: additionalProperties: false properties: additionalData: additionalProperties: type: string description: This field contains additional data, which may be required for a particular request. type: object bank: description: 'A container for bank account data. > This field is mandatory if `card` is not provided.' $ref: '#/components/schemas/BankAccount' billingAddress: x-addedInVersion: '18' description: 'The billing address. > The `billingAddress` object is required for cross-border payouts to and from Canada. Include all of the fields within this object.' $ref: '#/components/schemas/Address' card: description: 'A container for card data. > This field is mandatory if `bank` is not provided.' $ref: '#/components/schemas/Card' dateOfBirth: x-addedInVersion: '24' description: 'The date of birth. Format: [ISO-8601](https://www.w3.org/TR/NOTE-datetime); example: YYYY-MM-DD For Paysafecard it must be the same as used when registering the Paysafecard account. > This field is mandatory for natural persons.' format: date type: string entityType: x-addedInVersion: '24' description: The type of the entity the payout is processed for. enum: - NaturalPerson - Company 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 merchantAccount: description: The merchant account identifier, with which you want to process the transaction. type: string nationality: x-addedInVersion: '24' description: 'The shopper''s nationality. A valid value is an ISO 2-character country code (e.g. ''NL'').' maxLength: 2 type: string recurring: description: 'A container for the type of recurring contract to be retrieved. The recurring.contract must be set to `PAYOUT`' $ref: '#/components/schemas/Recurring' selectedBrand: x-addedInVersion: '24' description: 'The name of the brand to make a payout to. For Paysafecard it must be set to `paysafecard`.' type: string shopperEmail: description: The shopper's email address. type: string shopperName: x-addedInVersion: '24' description: 'The shopper''s name. When the `entityType` is `Company`, the `shopperName.lastName` must contain the company name.' $ref: '#/components/schemas/Name' shopperReference: description: The shopper's reference for the payment transaction. type: string socialSecurityNumber: x-addedInVersion: '24' description: The shopper's social security number. type: string telephoneNumber: x-addedInVersion: '52' description: The shopper's phone number. type: string required: - merchantAccount - shopperEmail - shopperReference - recurring - dateOfBirth - nationality - entityType type: object StoreDetailResponse: additionalProperties: false properties: additionalData: additionalProperties: type: string description: This field contains additional data, which may be returned in a particular response. type: object pspReference: description: A new reference to uniquely identify this request. type: string recurringDetailReference: description: The token which you can use later on for submitting the payout. type: string resultCode: description: The result code of the transaction. `Success` indicates that the details were stored successfully. type: string required: - pspReference - recurringDetailReference - resultCode type: object SubmitRequest: additionalProperties: false properties: additionalData: additionalProperties: type: string description: This field contains additional data, which may be required for a particular request. type: object amount: description: A container object for the payable amount information of the transaction. $ref: '#/components/schemas/Amount' dateOfBirth: x-addedInVersion: '24' description: "The date of birth.\nFormat: ISO-8601; example: YYYY-MM-DD\n\ \nFor Paysafecard it must be the same as used when registering the Paysafecard\ \ account.\n\n> This field is mandatory for natural persons. \n> This\ \ field is required to update the existing `dateOfBirth` that is associated\ \ with this recurring contract." format: date type: string entityType: x-addedInVersion: '24' description: 'The type of the entity the payout is processed for. Allowed values: * NaturalPerson * Company > This field is required to update the existing `entityType` that is associated with this recurring contract.' enum: - NaturalPerson - Company 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 merchantAccount: description: The merchant account identifier you want to process the transaction request with. type: string nationality: x-addedInVersion: '24' description: 'The shopper''s nationality. A valid value is an ISO 2-character country code (e.g. ''NL''). > This field is required to update the existing nationality that is associated with this recurring contract.' type: string recurring: description: 'A container for the type of recurring contract to be retrieved. The `recurring.contract` must be set to "PAYOUT".' $ref: '#/components/schemas/Recurring' reference: description: The merchant reference for this payout. This reference will be used in all communication to the merchant about the status of the payout. Although it is a good idea to make sure it is unique, this is not a requirement. type: string selectedRecurringDetailReference: description: 'This is the `recurringDetailReference` you want to use for this payout. You can use the value LATEST to select the most recently used recurring detail.' type: string shopperEmail: description: The shopper's email address. type: string shopperName: x-addedInVersion: '24' description: 'The shopper''s name. In case the `entityType` is `Company`, the `shopperName.lastName` must contain the company name. > This field is required to update the existing `shopperName` associated with a recurring contract.' $ref: '#/components/schemas/Name' shopperReference: description: The shopper's reference for the payout transaction. type: string shopperStatement: x-addedInVersion: '2' description: The description of this payout. This description is shown on the bank statement of the shopper (if this is supported by the chosen payment method). type: string socialSecurityNumber: x-addedInVersion: '24' description: The shopper's social security number. type: string required: - merchantAccount - reference - amount - shopperEmail - shopperReference - recurring - selectedRecurringDetailReference type: object SubmitResponse: additionalProperties: false properties: additionalData: additionalProperties: type: string description: This field contains additional data, which may be returned in a particular response. type: object pspReference: description: A new reference to uniquely identify this request. type: string refusalReason: description: In case of refusal, an informational message for the reason. type: string resultCode: description: 'The response: * In case of success, it is `payout-submit-received`. * In case of an error, an informational message is returned.' type: string required: - pspReference - resultCode 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: I' errorType: validation post-confirmThirdParty-confirmThirdParty: summary: Confirm a payout description: Confirm a previously submitted payout value: merchantAccount: YOUR_MERCHANT_ACCOUNT originalReference: '9913140798220028' post-confirmThirdParty-confirmThirdParty-200: summary: Example response for request 'confirmThirdParty' value: pspReference: 991617894325358C response: '[payout-confirm-received]' post-declineThirdParty-declineThirdParty: summary: Cancel a payout description: Cancel a previously submitted payout value: merchantAccount: YOUR_MERCHANT_ACCOUNT originalReference: '9913140798220028' post-declineThirdParty-declineThirdParty-200: summary: Example response for request 'declineThirdParty' value: pspReference: 991617894325360J response: '[payout-decline-received]' post-payout-payout-b2c: summary: Instant card payout (B2C) description: Pay out to your sellers, customers, freelancers, etc value: amount: value: 2500 currency: USD card: number: '4111111111111111' expiryMonth: '03' expiryYear: '2030' holderName: John Smith billingAddress: houseNumberOrName: '121' street: Brannan Street city: Beverly Hills postalCode: '90210' stateOrProvince: CA country: US merchantAccount: YOUR_MERCHANT_ACCOUNT reference: P9999999999999999 shopperName: firstName: John lastName: Smith post-payout-payout-p2p: summary: Instant card payout (P2P) description: Facilitate the transfer of money between two individuals value: amount: value: 2500 currency: USD card: number: '4111111111111111' expiryMonth: '03' expiryYear: '2030' holderName: John Smith billingAddress: houseNumberOrName: '121' street: Brannan Street city: Beverly Hills postalCode: '90210' stateOrProvince: CA country: US fundSource: additionalData: fundingSource: DEBIT billingAddress: houseNumberOrName: '121' street: Brannan Street city: Beverly Hills postalCode: '90210' stateOrProvince: CA country: US card: expiryMonth: '03' expiryYear: '2030' holderName: Payer Name number: '4400000000000008' shopperName: firstName: Payer lastName: Name merchantAccount: YOUR_MERCHANT_ACCOUNT reference: P9999999999999999 shopperName: firstName: John lastName: Smith post-storeDetail-storeDetail: summary: Store payout details description: Store payment details under the PAYOUT recurring contract value: merchantAccount: YOUR_MERCHANT_ACCOUNT recurring: contract: PAYOUT bank: bankName: AbnAmro bic: ABNANL2A countryCode: NL iban: NL32ABNA0515071439 ownerName: Adyen bankCity: Amsterdam taxId: bankTaxId shopperEmail: shopper@email.com shopperReference: YOUR_UNIQUE_SHOPPER_ID shopperName: firstName: Adyen lastName: Test dateOfBirth: '1990-01-01' entityType: Company nationality: NL billingAddress: houseNumberOrName: '17' street: Teststreet 1 city: Amsterdam stateOrProvince: NY country: US postalCode: '12345' post-storeDetail-storeDetail-200: summary: Example response for request 'storeDetail' value: pspReference: 991617894326362D recurringDetailReference: '9916178936754752' resultCode: Success post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty: summary: Submit a payout and stores details description: Submit a payout and stores its details for subsequent payouts value: merchantAccount: YOUR_MERCHANT_ACCOUNT recurring: contract: PAYOUT amount: value: 2000 currency: EUR bank: bankName: Commerzbank iban: DE87123456781234567890 countryCode: DE ownerName: Simon Hopper reference: Your Reference shopperEmail: s.hopper@test.com shopperReference: YOUR_SHOPPER_REFERENCE shopperName: firstName: Adyen lastName: Test dateOfBirth: '1990-01-01' entityType: Company nationality: NL post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Neteller: summary: Submit a payout to Neteller description: Submit a payout to Neteller and stores its details for subsequent payouts value: amount: currency: EUR value: 100 selectedBrand: neteller additionalData: tokenDataType: Neteller account: myNetellerAccount shopperName: firstName: Test lastName: Test2 dateOfBirth: '1982-07-17' entityType: NaturalPerson nationality: NL merchantAccount: YOUR_MERCHANT_ACCOUNT recurring: contract: PAYOUT reference: Test Payout shopperEmail: test@company.com shopperReference: YOUR_SHOPPER_REFERENCE post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-PayPal: summary: Submit a payout to PayPal description: Submit a payout to PayPal and stores its details for subsequent payouts value: amount: currency: EUR value: 1750 selectedBrand: paypal additionalData: tokenDataType: PayPal emailId: EmailUsedForPayPalAccount@example.com paypal.payerId: AK5HCWWRUV2KL shopperName: firstName: Test lastName: Test2 dateOfBirth: '1982-07-17' entityType: NaturalPerson nationality: NL merchantAccount: YOUR_MERCHANT_ACCOUNT recurring: contract: PAYOUT reference: Test Payout shopperEmail: test@company.com shopperReference: YOUR_UNIQUE_SHOPPER_ID post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Paysafecard: summary: Submit a payout to Paysafecard description: Submit a payout to Paysafecard and stores its details for subsequent payouts value: amount: currency: EUR value: 1000 selectedBrand: paysafecard additionalData: emailId: EmailUsedForPaysafecardAccount@example.com shopperName: firstName: Test lastName: Test2 dateOfBirth: '1982-07-17' entityType: NaturalPerson nationality: NL merchantAccount: YOUR_MERCHANT_ACCOUNT recurring: contract: PAYOUT reference: Test Payout shopperEmail: test@company.com shopperReference: YOUR_UNIQUE_SHOPPER_ID post-storeDetailAndSubmitThirdParty-storeDetailAndSubmitThirdParty-Skrill: summary: Submit a payout to Skrill description: Submit a payout to Skrill and stores its details for subsequent payouts value: amount: currency: EUR value: 100 selectedBrand: moneybookers additionalData: tokenDataType: MoneyBookers email: name@adyen.com shopperName: firstName: Test lastName: Test2 dateOfBirth: '1982-07-17' entityType: NaturalPerson nationality: NL merchantAccount: YOUR_MERCHANT_ACCOUNT recurring: contract: PAYOUT reference: Test Payout shopperEmail: test@company.com shopperReference: YOUR_UNIQUE_SHOPPER_ID post-submitThirdParty-submitThirdParty: summary: Submit a payout description: Submit a payout using the previously stored payment details value: amount: currency: EUR value: 1000 merchantAccount: YOUR_MERCHANT_ACCOUNT recurring: contract: PAYOUT reference: PayoutPayment-0001 shopperEmail: shopper@email.com shopperReference: YOUR_UNIQUE_SHOPPER_ID shopperName: firstName: Adyen lastName: Test dateOfBirth: '1990-01-01' entityType: Company nationality: NL selectedRecurringDetailReference: LATEST