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

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.

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.

Ready to get started?

Create an account instantly, or contact us to design a custom package for your business.

See what you’ll pay

Integrated pricing with no hidden fees

Start building

Get up and build with Paystack in 10 minutes