Adyen · JSON Structure

Checkout Ach Details Structure

AchDetails schema from Adyen API

Type: object Properties: 10 Required: 1
PaymentsFinancial ServicesFintech

AchDetails is a JSON Structure definition published by Adyen, describing 10 properties, of which 1 is required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

bankAccountNumber bankAccountType bankLocationId checkoutAttemptId encryptedBankAccountNumber encryptedBankLocationId ownerName recurringDetailReference storedPaymentMethodId type

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/adyen/refs/heads/main/json-structure/checkout-ach-details-structure.json",
  "description": "AchDetails schema from Adyen API",
  "type": "object",
  "properties": {
    "bankAccountNumber": {
      "description": "The bank account number (without separators).",
      "type": "string"
    },
    "bankAccountType": {
      "description": "The bank account type (checking, savings...).",
      "enum": [
        "balance",
        "checking",
        "deposit",
        "general",
        "other",
        "payment",
        "savings"
      ],
      "type": "string"
    },
    "bankLocationId": {
      "description": "The bank routing number of the account. The field value is `nil` in most cases.",
      "type": "string"
    },
    "checkoutAttemptId": {
      "x-addedInVersion": "68",
      "description": "The checkout attempt identifier.",
      "type": "string"
    },
    "encryptedBankAccountNumber": {
      "description": "Encrypted bank account number. The bank account number (without separators).",
      "type": "string"
    },
    "encryptedBankLocationId": {
      "description": "Encrypted location id. The bank routing number of the account. The field value is `nil` in most cases.",
      "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* \u00fcA is converted to euA.\n* Peter M\u00f8ller is converted to Peter Mller, because banks don't accept '\u00f8'.\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"
    },
    "recurringDetailReference": {
      "deprecated": true,
      "x-deprecatedInVersion": "49",
      "x-deprecatedMessage": "Use `storedPaymentMethodId` instead.",
      "description": "This is the `recurringDetailReference` returned in the response when you created the token.",
      "type": "string"
    },
    "storedPaymentMethodId": {
      "x-addedInVersion": "49",
      "description": "This is the `recurringDetailReference` returned in the response when you created the token.",
      "maxLength": 64,
      "type": "string"
    },
    "type": {
      "default": "ach",
      "description": "**ach**",
      "enum": [
        "ach",
        "ach_plaid"
      ],
      "type": "string"
    }
  },
  "required": [
    "bankAccountNumber"
  ],
  "additionalProperties": false,
  "name": "AchDetails"
}