You can create Virtual Accounts from your Paystack Dashboard or via the API. Choose Dashboard if you’re creating a few accounts manually, and API if you want to assign accounts automatically at scale.
Virtual accounts
Give every customer a unique way to pay you
Create a permanent bank account number for each customer.
When they transfer, the payment lands on your dashboard instantly.
Know exactly who paid you, every time
Dashboard & API access
Launch quickly from your dashboard with no code, or build fully custom billing flows through the API.
Dashboard & API access
Launch quickly from your dashboard with no code, or build fully custom billing flows through the API
Permanent account numbers
Each customer gets a permanent bank account number that stays theirs for as long as they need it.
Custom account naming
Account names show your business name by default.
Real-time notifications
Get notified the moment a transfer lands, by email, on your dashboard, or via webhooks.
Built for businesses that get paid more than once
Give each customer their own permanent account number so they can pay you by transfer anytime.
Up to 1,000 accounts
Create up to 1,000 accounts out of the box. Need more? Reach out and we'll increase your limit.
Inbound transfer approval
Accept or reject individual transfers before they're processed. Useful for controlling exactly what comes into your account.
Works like any transaction
Bank transfers show up in your dashboard alongside card, USSD, and other payments.
Frequently asked questions
Have more questions? Find answers in our User Manual or contact Sales
Typically, you’ll need the customer’s basic details (e.g., name and contact info). Some businesses may also need to complete additional customer validation depending on the category/use case.
Virtual Accounts are commonly used for wallet funding, savings, lending, collections, and any business that needs customers to pay by bank transfer repeatedly or prefers transfer-first experiences.
You assign a customer a dedicated account number, share it with them, and they send a bank transfer to that account whenever they need to pay. The payment is matched and recorded automatically.
Transfers paid into Virtual Accounts reflect on your Dashboard like other Paystack transactions, and you can also get notified programmatically (e.g., via webhooks) for instant confirmation.
Virtual Accounts are dedicated accounts assigned to customers for repeat payments, while Pay with Transfer typically generates a temporary account for a single Checkout attempt (useful for one-off payments).
You can create up to 1,000 Virtual Accounts by default. Contact us to request a higher limit, which is subject to review.
Confirm that the customer’s required details and validation information are complete, then retry. If the issue continues, contact Support to check your account configuration and eligibility.
The account name usually combines your business or product name with the customer’s name. The exact format may depend on the account provider and your business configuration.
Yes. Many businesses start by creating Virtual Accounts from the Dashboard, then move to API-based assignment when they’re ready to automate at scale.