openapi: 3.1.0 info: version: '6' x-publicVersion: true title: Adyen Account acceptDispute storeDetail API description: "This API is used for the classic integration. If you are just starting your implementation, refer to our [new integration guide](https://docs.adyen.com/marketplaces-and-platforms) instead.\n\nThe Account API provides endpoints for managing account-related entities on your platform. These related entities include account holders, accounts, bank accounts, shareholders, and verification-related documents. The management operations include actions such as creation, retrieval, updating, and deletion of them.\n\nFor more information, refer to our [documentation](https://docs.adyen.com/marketplaces-and-platforms/classic).\n## Authentication\nYour Adyen contact will provide your API credential and an API key. To connect to the API, 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@MarketPlace.YOUR_PLATFORM_ACCOUNT\":\"YOUR_WS_PASSWORD\" \\\n-H \"Content-Type: application/json\" \\\n...\n```\nWhen going live, you need to generate new web service user credentials to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).\n\n## Versioning\nThe Account 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://cal-test.adyen.com/cal/services/Account/v6/createAccountHolder\n```" x-timestamp: '2023-05-30T15:27:20Z' termsOfService: https://www.adyen.com/legal/terms-and-conditions contact: name: Adyen Developer Experience team url: https://github.com/Adyen/adyen-openapi servers: - url: https://cal-test.adyen.com/cal/services/Account/v6 tags: - name: storeDetail paths: /storeDetail: post: tags: - storeDetail summary: Adyen Store Payout Details description: 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' examples: post-storeDetail401Example: summary: Default post-storeDetail 401 response x-microcks-default: true value: additionalData: {} errorCode: CODE123 errorType: standard message: example_value pspReference: REF-001 status: 500 description: Unauthorized - authentication required. '403': content: application/json: schema: $ref: '#/components/schemas/ServiceError' examples: post-storeDetail403Example: summary: Default post-storeDetail 403 response x-microcks-default: true value: additionalData: {} errorCode: CODE123 errorType: standard message: example_value pspReference: REF-001 status: 500 description: Forbidden - insufficient permissions to process the request. '422': content: application/json: schema: $ref: '#/components/schemas/ServiceError' examples: post-storeDetail422Example: summary: Default post-storeDetail 422 response x-microcks-default: true value: additionalData: {} errorCode: CODE123 errorType: standard message: example_value pspReference: REF-001 status: 500 description: Unprocessable Entity - a request validation error. '500': content: application/json: schema: $ref: '#/components/schemas/ServiceError' examples: post-storeDetail500Example: summary: Default post-storeDetail 500 response x-microcks-default: true value: additionalData: {} errorCode: CODE123 errorType: standard message: example_value pspReference: REF-001 status: 500 description: Internal Server Error - the server could not process the request. x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: Card: 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: * CVV2/CVC2 – length: 3 digits * CID – length: 4 digits > 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. > This field must be always present in a [one-click payment request](https://docs.adyen.com/classic-integration/recurring-payments). > 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 ServiceError: 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 Name: properties: firstName: description: The first name. type: string lastName: description: The last name. type: string required: - firstName - lastName type: object BankAccount: 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. If 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: * χ12 is converted to ch12. * üA is converted to euA. * Peter Møller is converted to Peter Mller, because banks don''t accept ''ø''. After 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: * John17 - allowed. * J17 - allowed. * 171 - not allowed. * John-7 - allowed. > 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 StoreDetailResponse: 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 Recurring: properties: contract: description: 'The type of recurring contract to be used. Possible values: * `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). * `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). * `ONECLICK,RECURRING` – Payment details can be used regardless of whether the shopper is on your site or not. * `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 StoreDetailRequest: 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 Address: 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 examples: post-storeDetail-storeDetail-200: summary: Example response for request 'storeDetail' value: pspReference: 991617894326362D recurringDetailReference: '9916178936754752' resultCode: Success 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 gender: MALE lastName: Test dateOfBirth: '1990-01-01' entityType: Company nationality: NL billingAddress: houseNumberOrName: '17' street: Teststreet 1 city: Amsterdam stateOrProvince: NY country: US postalCode: '12345' generic-400: summary: Response code 400. Bad Request. value: status: 400 errorCode: '702' message: 'Unexpected input: I' errorType: validation securitySchemes: ApiKeyAuth: in: header name: X-API-Key type: apiKey BasicAuth: scheme: basic type: http x-groups: - Account holders - Accounts - Verification