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/banksAll 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/networksSupported mobile money networks for wallet resolution.
Authenticates with your API keys.
Resolve a bank account
POST
/api/v1/verification/resolve-accountLook up the registered owner of a bank account number before you pay out to it.
Authenticates with your API keys.
Body parameters
| Parameter | Description | |
|---|---|---|
bankReference | required | stringBank code from GET /verification/banks, e.g. 300315. |
accountNumber | required | stringThe bank account number to resolve. |
amount | optional | integerIntended 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-walletLook up the registered owner of a mobile money wallet.
Authenticates with your API keys.
Body parameters
| Parameter | Description | |
|---|---|---|
network | required | stringmtn_momo, telecel_cash, airteltigo_money — or the raw rail codes mtn-gh, vodafone-gh, tigo-gh. |
walletNumber | required | stringWallet number in international format, e.g. 233241234567. |
Verify an ID
POST
/api/v1/verification/verify-idValidate a customer's national identification number during onboarding.
Authenticates with your API keys.
Body parameters
| Parameter | Description | |
|---|---|---|
idType | required | stringghanacard or voterid. |
idNumber | required | stringThe 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-payeeConfirmation of Payee in one call: check that the name you expect actually owns the account or wallet.
Authenticates with your API keys.
Body parameters
| Parameter | Description | |
|---|---|---|
type | required | stringbank resolves a bank account; wallet resolves a momo wallet. |
expectedName | required | stringThe name you expect to own the account, e.g. Kwame Mensah. |
accountNumber | required | stringAccount number (bank) or wallet number (momo). |
bankReference | optional | stringRequired when type=bank — code from GET /verification/banks. |
network | optional | stringRequired 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.