Prerequisites: Before creating external bank accounts, ensure you have:
- A verified Fern developer account with API key configured
- An existing customer account with appropriate KYC verification
- Valid bank account details from your customer
Overview
External bank accounts allow your customers to receive fiat payments directly to their existing bank accounts. This endpoint creates a payment account linked to an external bank account that your customer owns, supporting various payment methods including ACH, Wire transfers, SEPA, and many regional payment rails.Account Types
Fern supports external bank accounts for different use cases: 1. Personal Bank Accounts: Individual customer accounts (checking, savings) 2. Business Bank Accounts: Corporate accounts with business verification 3. Multi-Currency Support: Bank accounts in various supported currencies (USD, EUR, GBP, etc.)The API flow remains consistent across all account types - only the request parameters and validation requirements change.For more details on supported countries and currencies, check the Coverage: Countries & Currencies
Account Setup Flow
1
Verify Customer
Ensure customer exists with required KYC/KYB verification
2
Collect Bank Details
Gather bank account information and owner details securely
3
Create Payment Account
Submit bank account details via API
4
Handle Verification
Complete additional verification if account status is PENDING
Implementation Guide
Step 1: Prerequisites
Before creating an external bank account, ensure you have:- Customer Account - Create a verified customer following the Customer Creation Guide
- Bank Account Details - Collect all required banking information from your customer
- Owner Information - Gather complete beneficiary details including address
Bank account validation requirements vary by country and currency. Ensure you collect the appropriate banking identifiers for the target region.
Step 2: Create External Bank Account
Submit the bank account details to create a new payment account. The system will validate the bank information and create either an active account or return a form link for additional verification.Request
Response
Active Account:Step 3: Handle Verification
When the account status isPENDING, direct your customer to complete additional verification:
1
Redirect to Form
Use the
bankAccountFormLink to redirect customers to our hosted verification form2
Monitor Status
Poll the Get Payment Account API or use webhooks to monitor status changes
3
Handle Completion
Once verification is complete, the account status will change to
ACTIVEStep 4: Use the Account
After the account isACTIVE, you can:
- Create transactions to send funds to the account
- Check account balance (for Fern-managed accounts)
- List all transactions for the account
Additional Information
Banking Identifiers
Different countries require specific banking identifiers. Include the appropriate fields based on your target region:United States
United States
United Kingdom
United Kingdom
European Union (SEPA)
European Union (SEPA)
Canada
Canada
Australia
Australia
Other Regions
Other Regions
India:
Mexico:
China:
Nigeria:
Brazil:
Hong Kong:
ifscCodeMexico:
clabeNumberChina:
cnapsCodeNigeria:
nubanNumberBrazil:
pixCode, taxNumberHong Kong:
clearingCodeWebhooks
Set up webhooks to receive real-time notifications about account status changes:Related Resources
API Reference
Complete payment accounts API documentation
Customer Creation
Guide for onboarding customers with verification
Transactions
Create and manage transactions to bank accounts
Supported Regions
Full list of supported countries and currencies
Support
Use the Support page to contact us.Please include these details to help our team debug issues faster:
- paymentAccountId
- customerId
- Error response (if any)
- Target country/currency