What are Virtual Accounts?
Virtual accounts are unique bank account numbers that you can generate on-demand for your customers. Each virtual account is tied to your main settlement account but appears as a unique account number to your customers.Virtual accounts enable you to accept payments without requiring customers to specify reference codes, making collections seamless and automatic.
Key Benefits
Automatic Reconciliation
Each customer gets a unique account number, so payments are automatically matched to the right customer.
Better User Experience
Customers just transfer to their account number - no reference codes needed.
Instant Notifications
Get real-time webhooks whenever a payment is received.
Unlimited Creation
Create as many virtual accounts as you need at no extra cost.
How Virtual Accounts Work
Virtual Account Types
Dedicated Virtual Accounts
Permanent account numbers assigned to specific customers. Best for:- Long-term customer relationships
- Subscription businesses
- Wallets and balance top-ups
- Regular collections
Temporary Virtual Accounts
Short-lived account numbers for one-time or time-limited payments. Best for:- Invoice payments
- E-commerce checkouts
- Event tickets
- Time-sensitive collections
Virtual Account Lifecycle
1
Creation
Generate a virtual account via the API or dashboard
2
Active
Account is ready to receive payments
3
Payment Received
Customer transfers money to the account
4
Settlement
Funds are settled to your main account (instant or scheduled)
5
Expiry (Optional)
Temporary accounts expire after the set duration
Settlement Options
Choose how you want to receive funds from virtual account payments:Instant Settlement
Funds are immediately transferred to your main balance upon payment receipt. Pros:- Immediate access to funds
- Real-time liquidity
- No waiting period
- No float period
- Immediate reconciliation required
Scheduled Settlement
Funds are batched and settled at specific intervals (daily, weekly, etc.) Pros:- Better cash flow management
- Reduced transaction fees
- Easier bulk reconciliation
- Delayed access to funds
- Working capital tied up
Account Naming
Fossapay supports custom account names for better branding:Account names appear on your customer’s bank statement when they transfer money.
Virtual Account Metadata
Store custom data with each virtual account for easier tracking:Supported Banks
Virtual accounts are currently available for these banks:- Wema Bank - Primary provider
- Sterling Bank - Coming soon
- Providus Bank - Coming soon
Limits and Restrictions
| Feature | Limit |
|---|---|
| Accounts per business | Unlimited |
| Minimum amount | ₦100 |
| Maximum single transaction | ₦5,000,000 |
| Daily transaction limit | ₦50,000,000 |
| Account creation rate | 100 per minute |
Best Practices
Use Meaningful Names
Use Meaningful Names
Include customer identifiers in account names for easy reconciliation:
Store Metadata
Store Metadata
Always include relevant metadata to track accounts:
Handle Webhooks Properly
Handle Webhooks Properly
- Verify webhook signatures
- Respond with 200 status quickly
- Process transactions asynchronously
- Implement idempotency
Set Expiry for One-Time Payments
Set Expiry for One-Time Payments
For invoice payments, set an expiry date: