NamibraPay

Verification

Check accounts before you move money: list banks and networks, resolve an account number to its registered owner, verify national IDs and confirm a payee's name.

List banks

GET/api/v1/verification/banks
All supported banks with their provider reference codes — needed for account resolution and payouts.

Authenticates with your API keys.

GET /api/v1/verification/banks

200
{
  "success": true,
  "data": [
    { "name": "UMB Bank", "bankReference": "300315" },
    { "name": "GCB Bank", "bankReference": "300104" }
  ]
}

List momo networks

GET/api/v1/verification/networks
Supported mobile money networks for wallet resolution.

Authenticates with your API keys.

Resolve a bank account

POST/api/v1/verification/resolve-account
Look up the registered owner of a bank account number before you pay out to it.

Authenticates with your API keys.

Body parameters

ParameterDescription
bankReferencerequiredstringBank code from GET /verification/banks, e.g. 300315.
accountNumberrequiredstringThe bank account number to resolve.
amountoptionalintegerIntended amount in minor units — some rails require it for an enquiry; a nominal check is used by default.
curl -X POST "https://api.namibrapay.com/api/v1/verification/resolve-account" \
  -H "X-API-Key: pk_test_xxxxxxxxxxxxxxxx" \
  -H "X-API-Secret: sk_test_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "bankReference": "300315",
    "accountNumber": "1020820171412"
  }'
200
{
  "success": true,
  "data": {
    "accountName": "AMA MENSAH",
    "accountNumber": "1020820171412",
    "bankReference": "300315"
  }
}

Resolve a momo wallet

POST/api/v1/verification/resolve-wallet
Look up the registered owner of a mobile money wallet.

Authenticates with your API keys.

Body parameters

ParameterDescription
networkrequiredstringmtn_momo, telecel_cash, airteltigo_money — or the raw rail codes mtn-gh, vodafone-gh, tigo-gh.
walletNumberrequiredstringWallet number in international format, e.g. 233241234567.

Verify an ID

POST/api/v1/verification/verify-id
Validate a customer's national identification number during onboarding.

Authenticates with your API keys.

Body parameters

ParameterDescription
idTyperequiredstringghanacard or voterid.
idNumberrequiredstringThe ID number, e.g. GHA-712345678-0.
curl -X POST "https://api.namibrapay.com/api/v1/verification/verify-id" \
  -H "X-API-Key: pk_test_xxxxxxxxxxxxxxxx" \
  -H "X-API-Secret: sk_test_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "idType": "ghanacard", "idNumber": "GHA-712345678-0" }'

Confirm a payee

POST/api/v1/verification/confirm-payee
Confirmation of Payee in one call: check that the name you expect actually owns the account or wallet.

Authenticates with your API keys.

Body parameters

ParameterDescription
typerequiredstringbank resolves a bank account; wallet resolves a momo wallet.
expectedNamerequiredstringThe name you expect to own the account, e.g. Kwame Mensah.
accountNumberrequiredstringAccount number (bank) or wallet number (momo).
bankReferenceoptionalstringRequired when type=bank — code from GET /verification/banks.
networkoptionalstringRequired when type=wallet — e.g. mtn_momo.
curl -X POST "https://api.namibrapay.com/api/v1/verification/confirm-payee" \
  -H "X-API-Key: pk_test_xxxxxxxxxxxxxxxx" \
  -H "X-API-Secret: sk_test_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "wallet",
    "expectedName": "Kwame Mensah",
    "accountNumber": "233241234567",
    "network": "mtn_momo"
  }'

Alternatively, set confirmRecipientName: true on a payout to have this check run inline before funds are sent.