Back to home
INTEGRATION
PAYMENT FEATURES
AFTER PAYMENT
Standard Checkout
Ideal for: Developers who require full backend control. This method enables you to generate secure, unique payment links for customers, perfect for invoicing, email payments, or complex order workflows
How it Works
When a customer clicks a payment button in your application, your server sends a POST request to our API. We return a redirect link where the customer enters payment details. After payment, the user is redirected to your specified callbackUrl.
Before you begin
When a customer clicks on a payment button on your application a POST request is made to our API. We will return a redirect link for the customer to input their payment details to complete the transaction. After payment has been made the users are redirected to your website using the callback_url.
Authentication
Before making API calls, you must obtain a Bearer Token by encrypting your API keys.
Request Sample
The code snippet below shows an example request for generating a bearer token
1curl --location 'https://seerbitapi.com/api/v2/encrypt/keys' \
2--header 'Content-Type: application/json' \
3--data '{
4 "key": "YOUR_SECRET_KEY.YOUR_PUBLIC_KEY"
5}'1var request = require('request');
2var options = {
3 'method': 'POST',
4 'url': 'https://seerbitapi.com/api/v2/encrypt/keys',
5 'headers': {
6 'Content-Type': 'application/json'
7 },
8 body: JSON.stringify({
9 "key": "YOUR_SECRET_KEY.YOUR_PUBLIC_KEY"
10 })
11
12};
13request(options, function (error, response) {
14 if (error) throw new Error(error);
15 console.log(response.body);
16});1<?php
2
3$curl = curl_init();
4
5curl_setopt_array($curl, array(
6 CURLOPT_URL => 'https://seerbitapi.com/api/v2/encrypt/keys',
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 "key": "YOUR_SECRET_KEY.YOUR_PUBLIC_KEY"
16}',
17 CURLOPT_HTTPHEADER => array(
18 'Content-Type: application/json'
19 ),
20));
21
22$response = curl_exec($curl);
23
24curl_close($curl);
25echo $response;Response Sample
The code snippet below shows an example request for generating a bearer token
1{
2 "status": "SUCCESS",
3 "data": {
4 "code": "00",
5 "EncryptedSecKey": {
6 "encryptedKey": "WquhSwMepYp6k+AIAlU1Jp18QwRWMm2SK0WVIOACIArw6ao3Ql4qKOMGwFVMvI9nOiM1xarW6qAIxE+GTOyINRVQnnFuy2EJk+DwmCgiFUuRVkOIdMBgwpJTCSzcFFfD"
7 },
8 "message": "Successful"
9 }
10}1{
2 "message": "Bad Request",
3 "error": "There has been a problem with reading or understanding the request."
4}1{
2 "error": "Not Found"
3}1{
2 "message": "Internal Server Error",
3 "error": "PROCESSING"
4}Requesting a Payment/ Initialize a Transaction
Once you have the Bearer Token, create a transaction when the customer is ready to pay.
Headers:
Authorization: Bearer YOUR_ENCRYPTED_KEY
Required Fields:
- publicKey – Your SeerBit public key
- amount – Amount to charge
- currency – Transaction currency (e.g., NGN, USD)
- country – Country of transaction
- paymentReference – Unique identifier for the transaction
- email – Customer’s email
- fullName – Customer’s full name
- callbackUrl – URL for post-payment redirection
Optional Fields:
- tokenize – Boolean for tokenization
- splitCode – Split rule code
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' \
2--header 'Content-Type: application/json' \
3--header 'Authorization: Bearer YOUR_ENCRYPTED_KEY' \
4--data-raw '{
5 "publicKey": "YOUR_PUBLIC_KEY",
6 "amount": "5000.00",
7 "currency": "NGN",
8 "country": "NG",
9 "paymentReference": " payment_reference ",
10 "email": "customer@example.com",
11
12 "fullName": "Jane Doe",
13
14 “tokenize”:false,
15 "callbackUrl": "https://yourwebsite.com/thank-you",
16
17 “splitCode”:”” // Split rule Code
18}'1var request = require('request');
2var options = {
3 'method': 'POST',
4 'url': 'https://seerbitapi.com/api/v2/payments',
5 'headers': {
6 'Content-Type': 'application/json',
7 'Authorization': 'Bearer YOUR_ENCRYPTED_KEY'
8 },
9 body: JSON.stringify({
10 "publicKey": "YOUR_PUBLIC_KEY",
11 "amount": "500",
12 "currency": "NGN",
13 "country": "NG",
14 "paymentReference": "payment_reference",
15 "email": "ts@emaildomain.com",
16 "fullName": "Halil TS",
17 "tokenize": "false",
18 "callbackUrl": "https://seerbit.com",
19 "splitCode": "" // Split rule code
20 })
21
22};
23request(options, function (error, response) {
24 if (error) throw new Error(error);
25 console.log(response.body);
26});1<?php
2
3$curl = curl_init();
4
5curl_setopt_array($curl, array(
6 CURLOPT_URL => 'https://seerbitapi.com/api/v2/payments',
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": "500",
17 "currency": "NGN",
18 "country": "NG",
19 "paymentReference": "payment_reference",
20 "email": "ts@emaildomain.com",
21 "fullName": "Halil TS",
22 "tokenize": "false",
23 "callbackUrl": "https://seerbit.com",
24 "splitCode": "" // Split rule code
25}',
26 CURLOPT_HTTPHEADER => array(
27 'Content-Type: application/json',
28 'Authorization: Bearer YOUR_ENCRYPTED_KEY'
29 ),
30));
31
32$response = curl_exec($curl);
33
34curl_close($curl);
35echo $response;Response Handling
A successful response (code: "00") includes:
- redirectLink: URL for customer payment
- paymentStatus: e.g., "08" for initialized
Response Sample
The code snippet below shows an example request for generating a bearer token
1{
2 "status": "SUCCESS",
3 "data": {
4 "code": "00",
5 "payments": { "redirectLink":"http://checkout.seerbitapi.com/#/mid=
6 merchantpublickey&paymentReference=643108207792124616573324",
7 "paymentStatus": "08"
8 },
9 "message": "Successful"
10 }
11} 1{
2 "message": "Transaction Exists",
3 "error": "PROCESSING"
4}Parameter Description
Name
Type
Description
Required?
public Key
string
public key - this can be copied from the seerbit dashboard
Yes
currency
string
Payment Currency
Yes
tranref
string
Transaction Reference
Yes
amount
string
Amount to be paid
Yes
description
string
Decription of the transaction
Yes
Name
Type
Description
Required?
publicKey
string
Your SeerBit public key, used for secure transactions. Obtain it from the Merchant Dashboard.
Yes
amount
string
Amount to be charged.
Yes
currency
string
The transaction currency (e.g., NGN, USD).
Yes
country
string
This is the country from which the transaction is been carried out from
Yes
paymentReference
string
This is the unique identifier for a transaction, to be generated by merchant.
Yes
email
string
This is the email of the customer.
Yes
fullName
string
Customer’s full name (first and last name separated by a space).
Yes
tokenize
boolean
No
callbackUrl
string
Yes
splitCode
string
Yes
Notes
- Always use the redirectLink to send customers to the SeerBit checkout page.
- Set up webhooks for secure, server-side payment confirmation. Do not rely solely on browser redirects.
- If your business model requires the customer to pay the transaction fee, you must add this charge to the total amount you request. The fee will be deducted during settlement.
- For testing, use SeerBit test cards.
Next Steps: Once your Standard Checkout flow is tested, to learn how to verify payments, visit our Payment Verification Guide, for reliable payment confirmation and complete the Go-Live checklist.
Troubleshooting
If the payment modal does not appear, check your browser console for errors (commonly a missing publicKey). For full parameter details, visit the Standard Checkout API Reference.
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.