NamibraPay

Virtual Accounts

Give each customer their own dedicated bank account number. When they transfer to it, the payment lands in your balance with the payer already identified — no prompts, no redirects.

Great for top-ups

Virtual accounts shine for wallet top-ups, escrow-style flows and B2B invoicing, where the payer is already known and simply needs somewhere to send money from their banking app.

Create a virtual account

POST/api/v1/virtual-accounts
Issue a dedicated UMB virtual account for one of your customers.

Authenticates with your API keys.

Body parameters

ParameterDescription
customerNamerequiredstringLegal name of the customer who will own the account.
customerPhonerequiredstringCustomer's phone number.
ghanaCardNumberrequiredstringCustomer's Ghana Card number — required by the bank for account issuance.
accountNicknameoptionalstringFriendly label to identify the account in your integration.
masterAccountIdoptionalstringIssue under a specific master account; omit to use your default.
curl -X POST "https://api.namibrapay.com/api/v1/virtual-accounts" \
  -H "X-API-Key: pk_test_xxxxxxxxxxxxxxxx" \
  -H "X-API-Secret: sk_test_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "customerName": "Ama Mensah",
    "customerPhone": "+233241234567",
    "ghanaCardNumber": "GHA-712345678-0",
    "accountNickname": "wallet-topup-ama"
  }'
201
{
  "success": true,
  "data": {
    "id": "va_7fk21j9d",
    "accountNumber": "1020820171412",
    "bankName": "UMB Bank",
    "accountName": "AMA MENSAH",
    "nickname": "wallet-topup-ama",
    "status": "active"
  }
}

List virtual accounts

GET/api/v1/virtual-accounts
List every virtual account issued on your merchant account.

Authenticates with your API keys.

Sync a balance

POST/api/v1/virtual-accounts/{id}/sync-balance
Pull the latest balance from the provider rail for a specific virtual account.

Authenticates with your API keys.

curl -X POST "https://api.namibrapay.com/api/v1/virtual-accounts/va_7fk21j9d/sync-balance" \
  -H "X-API-Key: pk_test_xxxxxxxxxxxxxxxx" \
  -H "X-API-Secret: sk_test_xxxxxxxxxxxxxxxx"

Incoming transfers to the account are credited to your NamibraPay balance with the payer identified by the account — surface them in your own ledger by listening to the appropriate webhook events.