Virtual account

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

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? Get answers on 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 many Virtual Accounts for your customers often starting with a default allocation, and you can request an increase if you need more for your use case.

First confirm the customer details meet the requirements for assignment, then retry the assignment flow. If it persists, it’s usually a configuration/eligibility issue that support can help confirm quickly.

The account name a customer sees in their banking app is generated using Paystack’s naming convention for Dedicated Virtual Accounts. In practice, it typically shows up as a combination of your Paystack business name and the customer’s name

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 is 10 minutes