Bank Account Payment Methods
Learn about bank account payment methods for accepting bank payments, sending payouts, and verifying account ownership
Bank account payment methods represent checking and savings accounts as tokenized payment methods within the Payload system. They can be charged once for a single payment or stored for reuse, and support electronic bank transfers for both accepting payments and sending payouts.
Bank accounts offer pricing flexibility and support use cases cards can't serve well — large-ticket charges, payouts and transfers, instant payments, and transactions that typically can't be put on credit such as tuition, auto purchases, earnest money, or business-to-business invoices. Once stored, a bank account can be reused across transactions, verified to confirm ownership, and used as a destination for disbursements.
Bank account payment methods can be created via the Payment Method API, through a Payment Form, or with a connected data provider such as Plaid. Payload tokenizes the account and returns a payment method ID for future use.
What Are Bank Account Payment Methods?
Bank account payment methods store a customer's checking or savings account as a tokenized payment instrument for electronic bank transfers.
When you create a bank account payment method, Payload:
- Tokenizes the account: Raw account details are exchanged for a secure token; your systems only handle the resulting payment method ID.
- Identifies the bank: The bank name is determined automatically from the routing number.
- Masks sensitive details: Responses include only the last few digits of the account number, never the full number.
- Verifies the account: When linked, the account is verified through Plaid or Payload's built-in verification to confirm the account details and ownership.
- Stores it for reuse: The payment method is stored and can be reused for payments or
payouts for as long as
keep_activeistrue(the default). Associating it with a customer account is optional.
Key Characteristics
- Reusable: Reuse a stored account for payments and payouts across transactions
- Two-Way: Accept payments and send payouts using the same account type
- Pricing Flexibility: Flexible pricing, well suited to large-ticket and high-volume payments
- Secure: Sensitive account details are tokenized and never stored on your systems
Payouts: Bank account payment methods are the standard destination for sending money to recipients. See Sending Payouts for standard bank transfers and Instant Payouts for time-sensitive disbursements.
Common Use Cases
Large-Ticket and Non-Card Payments
Accept payments via bank transfer for large-ticket charges and for transactions that typically can't run on a credit card, such as tuition, auto purchases, earnest money, or business-to-business invoices — with pricing flexibility for high-value or recurring billing.
Recurring Payments and Autopay
Store a bank account once and debit it on a schedule for subscriptions, memberships, or automatic invoice payment. See Billing Schedules and Autopay.
Payouts and Disbursements
Use a stored bank account as the destination for paying vendors, contractors, or customers. See Sending Payouts and Instant Payouts.
Funding Source
Link a bank account to fund payments and payouts — the deposits and withdrawals that move money into and out of your accounts. Bank accounts can also fund synthetic account balances and wallets.
Transfer Methods
Bank account payment methods support multiple funding speeds as well as check-based capture, so you can balance speed and cost per transaction:
- Standard: Bank transfer that follows the funding delay configured in your processing settings.
- Rapid: Faster funding within the same business day. See Digital Wires.
- Instant: Real-Time Payments for immediate fund delivery. See Instant Payouts.
- Check conversion: Record in-person or mailed paper checks as electronic bank transfers. See Check Payments.
- Check21: Accept checks remotely by uploading images of the check. See Check Payments.
Funding speed is set per transaction with funding_timing (standard, rapid, or instant).
Account Details and Security
Understanding how bank account data is collected and protected is essential for a compliant integration.
- Account Number: The full account number is provided only at creation and never returned in full; responses show only the last few digits.
- Routing Number: The 9-digit ABA routing number identifies the account's bank and is used to determine the bank name. For Canadian accounts, provide the EFT routing number — see Canadian Bank Payments for the format.
- Account Type: Specifies a checking or savings account.
- Account Class: Distinguishes personal from business accounts where applicable.
Security Requirements: Never log or store full bank account numbers, and always transmit account data over HTTPS. Payload handles tokenization and secure storage after creation. Using a Payment Form or a connected provider like Plaid keeps raw account details off your servers.
Verification
Verify bank accounts before processing to confirm ownership and reduce reject rates.
- Plaid: Connect an account through Plaid to confirm details and ownership instantly.
- Built-in Verification: Verify account details directly with Payload, also instantly. See Bank Account Verification for results and handling.
Reducing Rejects: Bank payments can reject after submission (for example, insufficient funds or a closed account). Verifying accounts up front and monitoring Rejects helps keep failure rates low.
Testing
Use test bank accounts to exercise approvals, rejects, and verification flows before going live. See Test Bank Accounts for account and routing numbers covering common scenarios.
Schema Reference
Complete bank account payment method schema:
typecard, bank_account, syntheticbank_accounttype=bank_accountaccount_classpersonal, businessaccount_number^[0-9]+$account_typechecking, savingscurrencyUSD, CADrouting_number^[0-9]+$transfer_typetwo_way, send_only, receive_onlyaccount_holderaccount_id ID of Account^acct_[A-Za-z0-9]+$descriptionFor complete field documentation, see:
- Payment Methods API Reference - Payment method API details
- Transactions API Reference - Transaction API for bank payments and payouts
Next Steps
Start accepting bank payments and sending payouts with stored bank accounts
Create and Store Bank Accounts
Create bank accounts via the Payment Method API, collect them securely with a Payment Form, or connect them with Plaid.
Verify and Manage Accounts
Confirm ownership with Bank Account Verification and validate integrations using Test Bank Accounts.
Accept Payments and Send Payouts
Use the Payment API to accept bank payments, and Sending Payouts or Instant Payouts to disburse funds.
Related Articles
- Creating Payment Methods via API - Create bank account payment methods programmatically
- Payment Form - Collect bank accounts securely with hosted fields
- Bank Account Verification - Confirm account ownership
- Plaid - Connect bank accounts with instant verification
- Test Bank Accounts - Test account numbers for common scenarios
- Card Payment Methods - Learn about card payment methods
- Synthetic Account Payment Methods - Learn about synthetic account payment methods
- Payment Methods API Reference - Payment method API reference