Adyen storeDetail API

The storeDetail API from Adyen — 1 operation(s) for storedetail.

Documentation

📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/classic/configure-notifications/
📖
Documentation
https://docs.adyen.com/api-explorer/Account/6/overview
📖
Documentation
https://docs.adyen.com/development-resources/webhooks/
📖
Documentation
https://docs.adyen.com/api-explorer/BalanceControl/1/overview
📖
Documentation
https://docs.adyen.com/api-explorer/BinLookup/52/overview
📖
Documentation
https://docs.adyen.com/api-explorer/Checkout/71/overview
📖
Documentation
https://docs.adyen.com/api-explorer/balanceplatform/2/overview
📖
Documentation
https://docs.adyen.com/api-explorer/balanceplatform-webhooks/1/overview
📖
Documentation
https://docs.adyen.com/development-resources/data-protection-api/
📖
Documentation
https://docs.adyen.com/risk-management/disputes-api
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/classic/fund-transfer/
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/collect-verification-details/hosted/
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/legal-entity-management-api/
📖
Documentation
https://docs.adyen.com/api-explorer/Management/3/overview
📖
Documentation
https://docs.adyen.com/api-explorer/management-webhooks/3/overview
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/classic/notifications
📖
Documentation
https://docs.adyen.com/point-of-sale/design-your-integration/notifications/
📖
Documentation
https://docs.adyen.com/online-payments/
📖
Documentation
https://docs.adyen.com/online-payments/online-payouts
📖
Documentation
https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api/
📖
Documentation
https://docs.adyen.com/online-payments/tokenization
📖
Documentation
https://docs.adyen.com/api-explorer/report-webhooks/1/overview
📖
Documentation
https://docs.adyen.com/payment-methods/gift-cards/stored-value-api/
📖
Documentation
https://docs.adyen.com/point-of-sale/design-your-integration/terminal-api/terminal-api-reference/
📖
Documentation
https://docs.adyen.com/development-resources/testing/create-test-cards
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/business-accounts/transactions/transaction-webhooks/
📖
Documentation
https://docs.adyen.com/api-explorer/transfer-webhooks/3/overview
📖
Documentation
https://docs.adyen.com/marketplaces-and-platforms/payout-to-users/on-demand-payouts
📖
Documentation
https://docs.adyen.com/development-resources/webhooks

Specifications

Other Resources

OpenAPI Specification

adyen-storedetail-api-openapi.yml Raw ↑
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