Bank Account

This payment method allows your customers to make payments through their internet banking portal or by providing their bank account number and authenticating using an OTP sent to their mobile phone number or email registered to that account

Before you begin

Ensure you have your public key. You can find this on the SeerBit Merchant dashboard under accounts > api keys. If you don’t have an account with us yet, you can create a test account now

How it works

  1. To initiate a direct bank debit payment, make a request to the account payments service with the payments/initiates endpoint.
  2. When the request is made you are expected to get a pending response.
  3. The response from banks differ, some banks will return with a redirect url while others will not.
  4. When a redirect url is returned, you are expected to redirect to the link supplied which will take the customer to the bank page. On this page, customer is expected to enter the OTP sent to their registered phone number or email with the bank. After the OTP is submitted, SeerBit redirects back to the redirect url supplied by the merchant.
  5. When the redirect url is not returned, the transaction would be awaiting validation.
  6. To validate the transaction the customer gets an OTP( one time password) via the registered number with the bank or via email.
  7. Use the OTP entered by the customer and reference to call the payments/validate endpoint to complete the transaction.​
  8. Verify the payment​

Initialising a Bank Account Payment

For the full specification, see our API Reference
Request Sample
The code snippet below shows an example request for generating a payment link to complete a payment
1curl --location 'https://seerbitapi.com/api/v2/payments/initiates' \
2--header 'Content-Type: application/json' \
3--header 'Authorization: Bearer YOUR_ENCRYPTION_KEY' \
4--data-raw '{
5	"publicKey":"Your_public_key",
6	"amount":"2000.00",
7	"fee":"10",
8	"fullName":"John Doe",
9	"mobileNumber":"08037456590",
10	"currency":"NGN",
11	"country":"NG",
12	"paymentReference":"UYTRE234566677RDFGFDDSS",
13	"email":"johndoe@gmail.com",
14	"productId":"Foods",
15	"productDescription":"Uba Account Transaction ",
16	"clientAppCode":"kpp64",
17	"redirectUrl":"https://checkout.seerbit.com",
18}'
1var request = require('request');
2var options = {
3  'method': 'POST',
4  'url': 'https://seerbitapi.com/api/v2/payments/initiates',
5  'headers': {
6    'Content-Type': 'application/json',
7    'Authorization': 'Bearer YOUR_ENCRYPTION_KEY'
8  },
9  body: '{\n	"publicKey":"Your_public_key",\n	"amount":"2000.00",\n	"fee":"10",\n	"fullName":"John Doe",\n	"mobileNumber":"08037456590",\n	"currency":"NGN",\n	"country":"NG",\n	"paymentReference":"UYTRE234566677RDFGFDDSS",\n	"email":"johndoe@gmail.com",\n	"productId":"Foods",\n	"productDescription":"Uba Account Transaction ",\n	"clientAppCode":"kpp64",\n	"redirectUrl":"https://checkout.seerbit.com",\n}'
10
11};
12request(options, function (error, response) {
13  if (error) throw new Error(error);
14  console.log(response.body);
15});
1<?php
2
3$curl = curl_init();
4
5curl_setopt_array($curl, array(
6  CURLOPT_URL => 'https://seerbitapi.com/api/v2/payments/initiates',
7  CURLOPT_RETURNTRANSFER => true,
8  CURLOPT_ENCODING => '',
9  CURLOPT_MAXREDIRS => 10,
10  CURLOPT_TIMEOUT => 0,
11  CURLOPT_FOLLOWLOCATION => true,
12  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
13  CURLOPT_CUSTOMREQUEST => 'POST',
14  CURLOPT_POSTFIELDS =>'{
15	"publicKey":"Your_public_key",
16	"amount":"2000.00",
17	"fee":"10",
18	"fullName":"John Doe",
19	"mobileNumber":"08037456590",
20	"currency":"NGN",
21	"country":"NG",
22	"paymentReference":"UYTRE234566677RDFGFDDSS",
23	"email":"johndoe@gmail.com",
24	"productId":"Foods",
25	"productDescription":"Uba Account Transaction ",
26	"clientAppCode":"kpp64",
27	"redirectUrl":"https://checkout.seerbit.com",
28}',
29  CURLOPT_HTTPHEADER => array(
30    'Content-Type: application/json',
31    'Authorization: Bearer YOUR_ENCRYPTION_KEY'
32  ),
33));
34
35$response = curl_exec($curl);
36
37curl_close($curl);
38echo $response;
Response Sample
The code snippet below shows an example request for generating a payment link to complete a payment
1{
2  "status": "SUCCESS",
3  "data": {
4            "code": "S20",
5            "payments": {
6                          "paymentReference": "UYTRE234566677RDFGFDDSS",
7                          "linkingReference": "F320660611587911267617"
8                         },
9            "message": "Transaction is pending"
10           }
11}
Need something else?
If you have any questions or need general help, visit our support page
Signup for developer update
You can unsubscribe at any time. Read our privacy policy.