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 000000

Invalid BVN:
BVN: 12345678901

Invalid OTP:
BVN: Any random 11 digit number excluding 12345678901
OTP: 000000