Inyo

ACH (Bank Account)

ACH payments pull funds directly from a US bank account using the account number and routing number. Unlike card payments, ACH does not require tokenization β€” bank details are included directly in the API request.

Note: ACH payments are always captured immediately. Pre-authorization is not supported for ACH.

Example Request

curl -X POST https://{FQDN}/v2/payment \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIs...' \
  -H 'Content-Type: application/json' \
  -d '{
    "externalPaymentId": "b7e4c2a1-9f3d-4e8a-a5c6-2d1f0e9b8a73",
    "ipAddress": "203.0.113.42",
    "paymentType": "PULL",
    "capture": true,
    "amount": {
      "total": 201.99,
      "currency": "USD"
    },
    "sender": {
      "firstName": "John",
      "lastName": "Smith",
      "address": {
        "countryCode": "USA",
        "stateCode": "NY",
        "city": "New York",
        "line1": "123 Main Street",
        "zipCode": "10001"
      },
      "paymentMethod": {
        "type": "BANK_DEPOSIT",
        "countryCode": "USA",
        "bankCode": "*****0021",
        "accountNumber": "*************6789",
        "routingNumber": "*****0021",
        "accountType": "CHECKING",
        "accountTokenId": "f2a6d8c4-1e3b-4a59-b7d0-5c8e9f1a2b34"
      }
    }
  }'

Payment Method Fields

FieldTypeRequiredDescription
typestringYes"BANK_DEPOSIT"
accountNumberstringYesBank account number (6–20 digits)
routingNumberstringYesABA routing number (9 digits)
accountTypestringYesAccount type (see below)

Account Types

ValueDescription
CHECKINGPersonal checking account
SAVINGSPersonal savings account
BUSINESS_CHECKINGBusiness checking account
BUSINESS_SAVINGSBusiness savings account

Response

ACH payments are processed asynchronously. A 200 with status: "PENDING" means the gateway accepted the payment, not that the funds have settled. Poll GET /v2/payment/{externalId} or wait for the webhook for the final outcome β€” approved: false on a PENDING payment is not a decline:

{
  "amount": 201.99,
  "status": "PENDING",
  "created": "2026-10-11 02:52:20",
  "message": "Payment Pending",
  "approved": false,
  "currency": "USD",
  "paymentId": "3c9a1e57-6b2d-4f80-9e14-a7d5c3b2f601",
  "responseCode": "01",
  "parentPaymentId": "3c9a1e57-6b2d-4f80-9e14-a7d5c3b2f601",
  "externalPaymentId": "b7e4c2a1-9f3d-4e8a-a5c6-2d1f0e9b8a73"
}

Key Differences from Card Payments

FeatureCardACH
Tokenization requiredYes YesNo No
Pre-authorizationYes SupportedNo Not supported
Capture/Void lifecycleYes Full lifecycleNo Auto-captured
3D SecureYes PossibleNo Not applicable
RefundYes SupportedYes Supported
Settlement speedSame day – 2 days1–3 business days