Preferred BVN Verification Method
Customer Verification via NIBSS OTP verification
The verification email/sms is sent by NIBSS directly. NIBSS intends to stop other forms of OTP verification in the near future. There are 3 steps required as listed below:
Get BVN OTP Channels
Send the BVN and get the OTP channels that can receive verification code. The customer needs to select the preferred verification channel.
query GetBvnChannel($input: GetBvnOtpChannelsInput!) {
getBvnOtpChannels(input: $input) {
verificationId
detail
contacts
}
}
{
"input": {
"clientId": "YOUR_CLIENT_ID", // Required
"bvn": "CUSTOMER_BVN" // Required
}
}
Send BVN OTP
Once the customer has selected a channel, use this endpoint to send the OTP to the client. The selected channel and verificationId is sent to NIBSS.
mutation SendBvnOtp($input: SendBvnOtpToChannelInput!) {
sendBvnOtpToChannel(input: $input) {
detail
verificationId
}
}
Confirm BVN OTP
Once the customer gets the OTP, this is used to verify the OTP using the verificationId and OTP.
Test Credentials
Success Case:
BVN: Any random 11 digit number excluding 12345678901
OTP: Any random 6 digit number excluding 000000Invalid BVN:
BVN: 12345678901Invalid OTP:
BVN: Any random 11 digit number excluding 12345678901
OTP: 000000