Overview
A virtual account is a dedicated Nigerian bank account number issued to a specific customer. When someone transfers money to that account number, Hyparrow detects the incoming payment and fires a webhook to your server — no polling required. Common use cases:Wallet top-ups
Give each user a personal account number they top up via bank transfer from any Nigerian bank.
Order payments
Issue a unique account per order so you can match payments automatically by account number.
Subscription billing
Let customers pay recurring fees by transferring to their dedicated account whenever they’re ready.
B2B collections
Provide business clients a stable account number for invoice payments without manual reconciliation.
How it works
- You create a customer record with the customer’s name, email, and phone number.
- You provision a virtual account for that customer, specifying which bank should issue the account number.
- Hyparrow returns a real Nigerian bank account number (NUBAN) tied to that customer.
- When anyone transfers to that account, Hyparrow fires a webhook to your registered URL.
Step-by-step guide
Create a customer
Register the end-user in the Hyparrow system. This creates a customer record scoped to your API key.Response
Save the returned
id (UUID) — you’ll use it to provision a virtual account and to retrieve the customer later.Create a virtual account
Provision a bank account number for the customer. Specify the ResponseDisplay the
bankCode of the issuing bank.accountNumber and bankName to your customer. They use these details to make bank transfers from any Nigerian bank.Retrieve a customer
Fetch a customer’s full profile including their virtual account details at any time.Response
Endpoints reference
| Method | Endpoint | Description |
|---|---|---|
POST | /api/v1/customers | Create a customer |
POST | /api/v1/customers/virtual-account | Provision a virtual account for a customer |
GET | /api/v1/customers/:id | Retrieve a customer by ID |
Customer fields
Customer’s first name.
Customer’s last name.
Customer’s email address. Must be a valid email format.
Customer’s phone number (e.g.
"08012345678").Optional. Date of birth in
YYYY-MM-DD format.Optional. Customer’s postal address.
Virtual account fields
The UUID
id of an existing customer returned from POST /api/v1/customers.The bank code of the issuing institution. Use the bank list from
GET /api/v1/transfers/banks to find valid codes.Customer response fields
UUID primary key for the customer record.
Hyparrow-generated customer code in the format
HYP_XXXXXXXXXXXXXXXX.Customer status:
active, suspended, or inactive.10-digit NUBAN virtual account number. Present after a virtual account has been provisioned.
Human-readable name of the issuing bank.
