Overview
Virtual accounts provide:- Unique account numbers for each customer
- Automatic payment reconciliation
- Support for multiple banks
- Real-time payment notifications via webhooks
- Custom split configurations
Virtual accounts are available in Nigeria (NGN) and Ghana (GHS). Contact Paystack for availability in other regions.
Create a Virtual Account
Assign a dedicated account number to a customer.1
Initialize the SDK
2
Create the virtual account
3
Display to customer
Create Parameters
string
required
Customer code or email address
string
Slug of preferred bank provider (e.g.,
wema-bank, titan-paystack)string
Subaccount code for routing payments
string
Split code for payment splitting
string
Customer’s first name (for account name generation)
string
Customer’s last name (for account name generation)
string
Customer’s phone number
List Virtual Accounts
Retrieve all virtual accounts on your integration.List Parameters
number
default:"50"
Number of accounts per page
number
default:"1"
Page number to retrieve
boolean
Filter by active status
string
Filter by currency:
NGN or GHSFetch Single Virtual Account
Get details of a specific virtual account.Assign Virtual Account
Assign a dedicated virtual account to a customer.Requery Virtual Account
Manually check for new transactions on a virtual account.Requerying is useful when you suspect a payment was made but not automatically detected. Most payments are detected automatically.
Deactivate Virtual Account
Deactivate a virtual account when it’s no longer needed.Split Configuration
Add or remove split configurations from virtual accounts.Add Split
Route payments to multiple accounts automatically.Remove Split
Remove split configuration from a virtual account.Available Banks
Fetch list of available bank providers for virtual accounts.Webhook Integration
Listen for payments to virtual accounts:Best Practices
Common Scenarios
Wallet Funding
Invoice Payments
Subscription Renewals
Error Handling
Related Resources
- Virtual Account API Reference - Full API documentation
- Webhooks Guide - Handle payment notifications
- Transaction Splits - Configure payment splitting

