Enrolling Payout Recipients via Back-End API
Learn how to create payment methods directly through the Payment Methods API
The Payment Methods API allows you to create bank account payment methods directly from your backend for payout recipients. This gives you full programmatic control over the enrollment flow and enables you to build custom workflows integrated with your application logic. Use the Payment Methods API when you need server-side enrollment processing, batch operations, or automated recipient onboarding.
Advanced Use Only: The Back-End API is designed for special use-cases. You'll be responsible for securely handling sensitive banking data, implementing proper error handling, and ensuring PCI compliance. For simpler integration options, see Enrollment Link or Enrollment Form.
Prerequisites
Before creating payment methods through the API, it's helpful to learn about the following topics.
How payment methods work
Learn how payment methods are used to store bank accounts for receiving payouts.
Enrolling accounts with entity verification
Learn how to create accounts with enhanced entity verification for payout recipients requiring business validation.
When to Use Back-End API
Use the Payment Methods API when you need direct, programmatic control over payouts enrollment from your backend. The API enables server-side enrollment flows where you manage the entire process through API calls.
By using the Back-End API, you handle enrollment data securely on your backend while Payload manages bank verification, compliance checks, and payout processing. You have complete control over enrollment timing, error handling, and integration with your business logic.
Common use cases
- Batch Enrollment Operations: Enroll multiple recipients programmatically
- Automated Onboarding: Create payment methods triggered by scheduled jobs or automated processes
- Custom Enrollment Flows: Build enrollment experiences tailored to your business needs
- Data Migration: Import existing bank accounts from other systems
Creating a Payment Method
Create a bank account payment method for receiving payouts with an account.
Link to Existing Account
Create a payment method and link it to an existing account using account_id.
This example:
- Sets
account_idto link the payment method to an existing account -
type='bank_account'specifies this is a bank account payment method -
transfer_type='receive_only'restricts this payment method to receiving payouts only -
bank_accountcontains the account number, routing number, and account type -
account_holderidentifies the name on the bank account - Sets
account_defaults.paying='payouts'to make this the default payment method for receiving payouts
Link payment methods to existing accounts to organize recipient data, track payment history, and manage multiple payment methods per account.
Account Management: Create accounts first using the Accounts API, then link payment methods to those accounts for organized recipient management.
Create Account Inline
Create a payment method with an inline account in a single API call.
This example creates both the account and payment method together:
-
accountobject creates a new account inline -
type='bank_account'specifies this is a bank account payment method -
transfer_type='receive_only'restricts this payment method to receiving payouts only -
bank_accountcontains the account number, routing number, and account type -
account_holderidentifies the name on the bank account - Sets
account_defaults.paying='payouts'to make this the default payment method
Use inline account creation when you don't have an existing account and want to create both the account and payment method in one step.
Bank Verification: Bank account payment methods are verified instantly via Payload's built-in bank verification system. Account and routing numbers are validated to ensure they're active and can receive funds. See Payment Method Verification for verification results and status details.
Retrieving Payment Method Details
Retrieve complete payment method details using the payment method ID.
This allows you to:
- Check the payment method type and transfer type
- View account holder information
- Access masked bank account details
- Retrieve associated account ID
- View verification status
Listing Payment Methods
Query payment methods by account, type, transfer type, or other filters.
This example:
- Filters payment methods by account ID
- Limits results to bank account type
- Only returns receive-only payment methods
- Supports pagination for large result sets
Use payment method listing to build recipient dashboards, manage enrollment records, and audit payment method data.
Transfer Types
Payment methods support different transfer types that control how they can be used:
-
receive_only- Can only receive funds (ideal for payout recipients) -
send_only- Can only send funds (ideal for payment sources) -
two_way- Can both send and receive funds
For payouts enrollment, either receive_only or two_way will work depending on your use case.
If you only intend to send payouts and not collect funds from the recipient, it's recommended to
specify transfer_type='receive_only'. This prevents the payment method from being used to
collect payments from the account holder. Use transfer_type='two_way' only if you need the
flexibility to both send payouts and collect payments from the same payment method.
Account Defaults
The account_defaults configuration determines when this payment method is automatically used:
-
paying='payouts'- Use for receiving payouts -
paying='payments'- Use for sending payments -
paying='all'- Use for both payouts and payments
For payouts enrollment, setting account_defaults.paying='payouts' or
account_defaults.paying='all' will work. Use 'payouts' if this payment method should only be
the default for receiving payouts, or use 'all' if it should also be the default for sending
payments.
Schema Reference
The following fields are available when creating and configuring payment methods for payouts. For complete API reference, see Payment Methods API Reference.
Payment Method Configuration
Core fields used when creating bank account payment methods:
typecard, bank_account, synthetictransfer_typetwo_way, send_only, receive_onlyaccount_id ID of Account^acct_[A-Za-z0-9]+$account_holderbank_accounttype=bank_accountaccount_classpersonal, businessaccount_number^[0-9]+$account_typechecking, savingscurrencyUSD, CADrouting_number^[0-9]+$account_defaultsfundingall, deposits, withdrawspayingall, payments, payoutsNext Steps
Enhance your payout recipient enrollment implementation
Send Payouts to Recipients
Start sending payouts to enrolled recipients using their stored bank account payment methods for seamless fund disbursement.
Monitor Enrollment Events
Subscribe to webhook notifications to receive real-time updates when payout recipients are enrolled, payment methods are created, or verification status changes.
Manage Payment Methods
Use the Payment Methods API to retrieve, update, and manage enrolled payout recipient bank accounts and set default payment methods.
Related articles
- Enrollment Link - Hosted enrollment page alternative
- Enrollment Form - Embedded enrollment form alternative
- Payment Methods API Reference
- Accounts API Reference
- Creating Accounts