Identity Verification
BVN Verification

BVN Verification

Verify customer identities against Nigeria's Bank Verification Number (BVN) database. Match personal details like name, date of birth, phone number, and gender to ensure your customers are who they say they are.


Endpoint

POST https://api.budpay.com/api/v2/bvn/verify

Quick Start

Endpoint: POST https://api.budpay.com/api/v2/bvn/verify

1curl -X POST 'https://api.budpay.com/api/v2/bvn/verify' \2  -H 'Content-Type: application/json' \3  -H 'Authorization: Bearer YOUR_SECRET_KEY' \4  -d '{5  "bvn": "00000000000",6  "first_name": "Tolulope",7  "middle_name": "Samuel",8  "last_name": "Segun",9  "phone_number": "08011111111",10  "dob": "1972-12-03",11  "gender": "Male",12  "reference": "20220540300003938",13  "callback_url": "http://your_webhook_url"14}'
{  "success": true,  "message": "Request Submitted Successfully",  "reference": "20220540300003938"}

Error Responses

Invalid BVN Format (400)

{
    "success": false,
    "message": "Invalid BVN format"
}

Unauthorized (401)

{
    "success": false,
    "message": "Authentication failed"
}

Validation Error (422)

{
    "success": false,
    "message": "Validation error",
    "errors": {
        "bvn": ["The bvn field is required"],
        "callback_url": ["The callback url field is required"]
    }
}

Best Practices

Include matching fields (name, phone, DOB) to get a more complete verification result. Each field you include is checked against the BVN record.

  • Use Test BVN — Use 00000000000 when testing in sandbox mode
  • Secure Your Webhook — Ensure your callback URL is accessible and handles POST requests
  • Match More Fields — Include all available matching fields for thorough verification
  • Track References — Use unique references to link verification results to your records
  • Verify Webhook Source — Always confirm callback authenticity before processing
  • Handle Asynchronously — BVN verification is async; design your flow accordingly

Security

⚠️

BVN is highly sensitive personal data. Never expose BVN in client-side code, logs, or error messages. Always use HTTPS.

  • Server-Side Only — Never request BVN verification from the frontend
  • Comply with Regulations — Follow NDPR and other data protection laws
  • Encrypt at Rest — If you must store BVN data, encrypt it