STATIC account
Permanent account; requires BVN or NIN. Safe to store and reuse.
DYNAMIC account
Temporary, one-time use. Create when needed; do not store.
STATIC vs DYNAMIC
| STATIC | DYNAMIC | |
|---|---|---|
| Lifespan | Permanent | Temporary, single use |
| Use case | Recurring payments, wallet funding, saved beneficiaries | One-time payment (e.g. checkout) |
| BVN/NIN | Required (BVN or NIN) | Not required |
| Storage | Can store in your DB; customer can save as beneficiary | Do not store; create when you need it |
| After use | Stays valid | Becomes invalid immediately after use |
How it works
- You call the Reserve an Account API with customer details and
account_type:STATICorDYNAMIC. - Payvessel returns one or more virtual account numbers (per partner bank).
- You share the account number, account name, and bank name with the customer.
- When the customer transfers to that account, Payvessel, the partner bank, and you (the merchant) get notified.
- You use the account reference / tracking reference for reconciliation and records.
Partner bank codes
| Bank | Code |
|---|---|
| PalmPay | 999991 |
| 9Payment Service Bank | 120001 |
bankcode array.
When to use which
- Single-service payments (e.g. electricity, ISP): Reserve an account per customer so they pay by transfer; you get notifications and can confirm payment.
- Wallets / top-up (e.g. super agents, investment apps, logistics): Use STATIC accounts so each customer has a permanent account number to fund their wallet.
- One-time checkout: Use DYNAMIC — create an account when the user chooses “Pay with bank transfer”, show the details, and do not reuse that account.
API reference (code, payload, response)
For the Create Virtual Account and Get Virtual Account endpoints — including request/response bodies, headers, and code samples — use the API reference tab:Next steps
Create Virtual Account (API)
OpenAPI reference for create virtual account
Get Virtual Account
Fetch account details by business ID and account number
Payment notifications
Configure webhooks for payment notifications
API overview
Authentication and base URLs
