An endpoint to create a reserved wallet for your users
Account Creation with BVN Verification
When a request is made to create a reserved wallet, it is handled asynchronously. This means that instead of waiting for an immediate response, the system processes the request in the background. Once the process is complete, a webhook notification is sent to inform you of the result.
How It Works
-
Asynchronous Processing
The request is received and processed in the background. This allows your application to continue running without being blocked by the account creation process. The initial response "BVN lookup and account creation are being processed" is returned -
BVN Authenticity Verification (Optional)
If you includedate_of_birthin your request, the system will verify that the date matches the BVN records before creating the account. Note: You will be charged ₦70 for BVN verification regardless of whether the verification passes or fails. -
Webhook Notification
After processing, the system sends a webhook notification to your webhook url. This notification contains details about whether the request was successful or failed. Make sure this is set in the settings tab.
Request Format
Regular Account Creation
{
"bvn": "22222222222",
"email": "[email protected]",
"phone": "+2348012345678"
}
With BVN Authenticity Verification
{
"bvn": "22222222222",
"date_of_birth": "2000-07-28",
"email": "[email protected]",
"phone": "+2348012345678"
}
Important Notes:
date_of_birthmust be inYYYY-MM-DDformat- Including
date_of_birthtriggers authenticity verification - BVN verification fee (₦70) is charged even if verification fails
Webhook Payload Examples
Success Notification
When the account creation is successful, the webhook sends the following JSON payload:
{
"event": "account_creation",
"data": {
"name": "Pakam-JOSHUA937",
"firstname": "JOSHUA",
"lastname": "ISAAC",
"phone": "+2348160765447",
"email": "[email protected]",
"wallet_balance": 0,
"account_numbers": [
{
"account_name": "VANT(JOSHUA ISAAC)",
"account_number": "9976573760",
"bank": "Providus"
}
]
},
"statusCode": 200,
"message": "user account created"
}
Failure Notification
If the account creation fails (for example, due to an invalid BVN or failed authenticity verification), the webhook sends the following JSON payload:
{
"event": "account_creation",
"error": "Date of birth does not match BVN records",
"data": {
"email": "[email protected]",
"phone": "+2348160765447"
},
"statusCode": 400,
"message": "error creating user account"
}
Common failure reasons:
- Invalid BVN
- Date of birth does not match BVN records
- Email or phone already exists
- Insufficient wallet balance
