Add Bank Account
POST/payers/:payerId/banks
Adds a bank account (ACH funding source) to an existing payer, so it can be used to fund a payment via Create Payment.
The payerId path parameter is the payer's internal id — the nested payer.id returned from Create Customer / Get Customer, not the top-level payerCustomerId.
⚠️ New accounts must be verified before they can be charged. A newly created bank account has
dropped: falseandverified: false. Before using it in Create Payment, send two test micro-deposits with Send Micro-Deposits and confirm the amounts with Verify Bank Drops — this is a one-time check per bank account.
Include billingAddress with a postalCode at creation time — a bank account without a postal code on file will fail at payment time. Use street1 (not line1) for the address line.
⛔ Do not send
externalId. Despite its name it is not a free-form reference of your own: it is reserved for the payment-method id produced by Paystand's hosted bank-connect flow. Sending any other value makes this request fail with a generic400(apiError, "An error occurred while creating StripeSetupIntent").
To store your own reference for the bank account, send a meta object instead. It is free-form, persisted on creation, and returned both on this response and on later reads:
{
"accountType": "checking",
"accountNumber": "0123456789",
"routingNumber": "110000000",
"accountHolderType": "company",
"country": "USA",
"meta": {
"erpBankAccountId": "BANK-10482"
}
}
Request
Responses
- 200
- 400
- 401
- 404
Bank account created
Validation error (invalid routingNumber, accountHolderType, country, etc.)
Unauthorized
Payer not found