From a69f8c161717ff3868f30fd81bc63550a61345e6 Mon Sep 17 00:00:00 2001 From: Olumuyiwa Date: Sat, 4 Oct 2025 10:06:49 +0100 Subject: [PATCH 1/4] Updated the docs --- docs.html | 983 ++++++++++++++++++++++++++++++++++++++++++++++ redoc-static.html | 751 +++++++++++++++++++++++++++++++++++ test.html | 723 ++++++++++++++++++++++++++++++++++ 3 files changed, 2457 insertions(+) create mode 100644 docs.html create mode 100644 redoc-static.html create mode 100644 test.html diff --git a/docs.html b/docs.html new file mode 100644 index 0000000..8877f58 --- /dev/null +++ b/docs.html @@ -0,0 +1,983 @@ + + + + + + SeerBit API Reference + + + + + + + + + +

SeerBit API Reference (1.0)

Download OpenAPI specification:Download

Authentication

Bearer

Security Scheme Type API Key
Header parameter name: Authorization

Basic

Security Scheme Type HTTP
HTTP Authorization Scheme basic

AUTHENTICATION

Generate Encrypted Secret Key

To make API calls on SeerBit, you will be required to pass a bearer token. To generate a token simply pass your pubic and secret key to rceive a token to process further API calls.

+
Request Body schema: application/json
key
required
string

This consist of the PrivateKey and the publicKey separated with a '.' in the middle(eg:{privateKey.publicKey}

+

Responses

Request samples

Content type
application/json
{
  • "key": "SBTESTSECK_9Cb8dbqR5Rc2JwZaa77P5QYHzQaeGUcrkEMD1dEi.SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

STANDARD CHECKOUT

Generate Hash

This is used to ensure the request payload has not been altered

+
Request Body schema: application/json
publicKey
required
string

This is the merchant public key.

+
amount
required
string

This is the amount to be paid.

+
currency
required
string

This is the currency the transaction is to be carried out in.

+
country
required
string

This is the country from which the transaction is been carried out from

+
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+
email
required
string

This is the email of the customer.

+
productId
required
string

This is the product id entered by the merchant.

+
productDescription
required
string

This is the product description supplied by the merchant.

+
callbackUrl
required
string

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "amount": "10.00",
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "3791090233047WZ73QN",
  • "email": "mamadou.diouf@intouchgroup.net",
  • "productId": "15013",
  • "productDescription": "touch badge",
  • "callbackUrl": "https://gutouch.com"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Payment Link From Checkout

SeerBit Checkout Standard Initialises a transaction from merchants server to generate a payment link which redirects your customers to a page to make payment and after payment has been made the customer is redirected back to the merchants website.

+
Authorizations:
Request Body schema: application/json
publicKey
required
string

This is the merchant public key.

+
amount
required
string

This is the amount to be paid.

+
currency
required
string

This is the currency the transaction is to be carried out in.

+
country
required
string

This is the country from which the transaction is been carried out from

+
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+
email
required
string

This is the email of the customer.

+
fullName
required
string

This is the full name of the customer.

+
tokenize
required
boolean

This indicates whether the card should be tokenized for future transactions.

+
callbackUrl
required
string

This is the callback url supplied by the merchant so that Seerbit can redirect back to it .

+

Responses

Request samples

Content type
application/json
{
  • "publicKey": "YOUR_PUBLIC_KEY",
  • "amount": "10.00",
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "payment_reference",
  • "email": "mamadou.diouf@intouchgroup.net",
  • "fullName": "Mamadou Diouf",
  • "tokenize": false,
  • "callbackUrl": "https://seerbit.com"
}

Response samples

Content type
application/json
{}

ORDER CHECKOUT

Create Order Before Payment

Create an order before payment

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "email": "test@mvaa.com",
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "paymentReference": "2PPTG108Q13432E29P23R5L6W93I9",
  • "fullName": "",
  • "orderType": "BULK_BULK",
  • "mobileNumber": "",
  • "country": "NG",
  • "currency": "NGN",
  • "amount": "250.00",
  • "orders":
    [
    ]
}

Response samples

Content type
application/json
{}

Create Order After Payment

Create an order after payment

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "0w0eimkizc41602513327447",
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "orders":
    [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Update Order

Update an order

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "0w0eimkizc41602513327447",
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "orders":
    [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Orders

Get a list of orders

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get an Order with Payment Reference

Get order details with payment reference

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Order with Order Id

Get order details with OrderId

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

PAYMENT METHOD

Initiate Payment

Accept more payments with our unified payments API. Accept payments from all major cards and the most popular local and alternative payment methods all in a single integration.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
Example
{
  • "fullName": "john doe",
  • "email": "johndoe@gmail.com",
  • "mobileNumber": 248360953,
  • "publicKey": "SBPUBK_QGOX9NBAHWDYY1PAFSG2PTDOSSZYEWXM",
  • "paymentReference": "O456S5077907982QWEuWAT05M",
  • "deviceType": "nokia 3310",
  • "sourceIP": "1.0.1.0",
  • "currency": "GHS",
  • "productDescription": "snacks",
  • "country": "GH",
  • "network": "MTN",
  • "voucherCode": "",
  • "fee": "0.00",
  • "amount": "1.00",
  • "productId": "grocery",
  • "paymentType": "MOMO"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Banks

Get list of banks

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

MOMO

OTP Momo

When making MOMO transfers, and OTP is required to complete the payment

+
Authorizations:
Request Body schema: application/json
linkingReference
required
string

This is the internal gateway reference

+
otp
required
string

This is the TOKEN sent to customer’s phone or email

+

Responses

Request samples

Content type
application/json
{
  • "linkingReference": "CF630837081601460887752",
  • "otp": "81015"
}

Response samples

Content type
application/json
Example
null

NON 3DS PAYMENT

Charge Card

This payment option is used to charge non 3d transactions

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu",
  • "amount": "10.00",
  • "fullName": "Diei Okechukwu Peter",
  • "mobileNumber": 8030540611,
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "NGN0000037Q35",
  • "email": "okechukwu.diei2@gmail.com",
  • "productId": "Foods",
  • "productDescription": "RASPBERRY",
  • "cardNumber": "5123450000000008",
  • "expiryMonth": "05",
  • "expiryYear": "21"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

CARD

Check Status

This Operation allows you to check the status of a transaction via the status check api. This is done by making a Get request to the endpoint below with your payment reference.

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

ACCOUNT

Validate Transaction

This option is used to complete an account transaction, when OTP is required

+
Authorizations:
Request Body schema: application/json
linkingReference
required
string

This is the internal gateway reference

+
otp
required
string

This is the TOKEN sent to customer’s phone or email

+

Responses

Request samples

Content type
application/json
{
  • "linkingReference": "F092648971601293723061",
  • "otp": "123456"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

TOKENIZE

Tokenize a Card

In order to store your customers payment details, you need to pass some additional parameter when making the first payment request using the payments/tokenize endpoint, the Cvv field and pin are optional(this could be null). After the first payment is made, the payment details is collected and a token is generated for it which is then stored for future use.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBPUBK_OMX6ZNRZPLIHQ9Y0ZG6FCNR0EAYIGIAT",
  • "amount": "0.00",
  • "fullName": "john doe",
  • "mobileNumber": 8033456599,
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "KES0092992991",
  • "email": "johndoe@gmail.com",
  • "productId": "Foods",
  • "productDescription": "RASPBERRY",
  • "cardNumber": "5123450000000008",
  • "cvv": "100",
  • "expiryMonth": "05",
  • "expiryYear": "21"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

AUTHORISE

Authorise

In SeerBit API, the term “authorisation” indicates, that payment is authorised but not captured. This allows a merchant to cancel transaction at their discretion, typically based but not limited to fraud-related activities. This authorisation state is valid for a limited period of time, which provides a window to cancel the transaction.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
Example
{
  • "paymentReference": "PREAUTH124456789798765k3K1CB0",
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu",
  • "cardNumber": "5123450000000008",
  • "cvv": "100",
  • "expiryMonth": "05",
  • "expiryYear": "21",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "100.00",
  • "email": "johndoe@gmail.com",
  • "fullName": "john doe"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

3DS Authorise

PIN and CVV are not Required to complete Transaction. Authorization is completed on 3DS.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "30451B789S987643108hgfdsfP6W",
  • "publicKey": "SBPUBK_OMX6ZNRZPLIHQ9Y0ZG6FCNR0EAYIGIAT",
  • "cardNumber": "5242820813772165",
  • "cvv": "865",
  • "expiryMonth": "02",
  • "expiryYear": "22",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "1.00",
  • "email": "johndoe@gmail.com",
  • "fullName": "john doe",
  • "callbackUrl": "https://google.com"
}

Response samples

Content type
application/json
Example
{}

RECURRENT

Initiate Subscription

To complete this transaction, merchant is expected to redirect to the 3DSecure site via the redirect URL provided with the response below. However if the redirect url is not returned and the code is S20 and the message is transaction is pending, the Validate OTP endpoint should be called as the customer would have received a token either by email or sms on the customers phone. To get the subscription created or the status of a subscription for the customer, the GET Subscription endpoint is called by passing the paymentReference as billingId.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "paymentReference": "TPR2181t55PKR540RPP1U1W4392WO",
  • "planId": "",
  • "cardNumber": "5123450000000008",
  • "expiryMonth": "05",
  • "callbackUrl": "https://www.google.com",
  • "expiryYear": "21",
  • "cvv": "100",
  • "amount": "1000.00",
  • "currency": "NGN",
  • "productDescription": "Pilot Test Subscription",
  • "productId": "Terrain",
  • "country": "NG",
  • "startDate": "2020-02-25 00:00:00",
  • "cardName": "Kolade Samuel",
  • "billingCycle": "WEEKLY",
  • "email": "akintoyekolawole@gmail.com",
  • "mobileNumber": "08033456500",
  • "customerId": "12345678901234",
  • "pin": "0999",
  • "type": "3DSECURE",
  • "billingPeriod": "1",
  • "subscriptionAmount": true
}

Response samples

Content type
application/json
{}

Get a Subscription

Get customer subscription

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Create Plan

Create a new recurring payment plan.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
productId
required
string

The name of the plan.

+
productDescription
required
string

The description of the plan.

+
amount
required
string

The amount for the plan.

+
billingCycle
required
string

The billing cycle (e.g., HOURLY).

+
limit
required
integer

The maximum number of cycles.

+
publicKey
required
string

The merchant public key.

+
country
required
string

The country code.

+
currency
required
string

The currency code.

+
allowPartialDebit
required
boolean

Whether partial debit is allowed.

+

Responses

Request samples

Content type
application/json
{
  • "productId": "Plan name",
  • "productDescription": "Description of Plan",
  • "amount": "100",
  • "billingCycle": "HOURLY",
  • "limit": 5,
  • "publicKey": "SBPUBK_xxxxx",
  • "country": "NG",
  • "currency": "NGN",
  • "allowPartialDebit": false
}

Response samples

Content type
application/json
{
  • "payload":
    {
    },
  • "message": "Successful",
  • "status": "SUCCESS",
  • "responseCode": "00"
}

Get Merchant Subscription

Retrieve all subscriptions for a merchant by their public key.

+
Authorizations:
path Parameters
publicKey
required
string

The merchant public key.

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Charge Subscription

Charge a recurring subscription using an authorization code.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
amount
required
string
publicKey
required
string
email
required
string
allowPartialDebit
required
boolean
authorizationCode
required
string
paymentReference
required
string
currency
required
string

Responses

Request samples

Content type
application/json
{
  • "amount": "200",
  • "publicKey": "YOUR_PUBLIC_KEY",
  • "email": "js@emaildomain.com",
  • "allowPartialDebit": true,
  • "authorizationCode": "1234567898765325",
  • "paymentReference": "2938765582R37065687631",
  • "currency": "NGN"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Customer Subscription

Retrieve all subscriptions for a customer by their customerId and merchant public key.

+
Authorizations:
path Parameters
publicKey
required
string

The merchant public key.

+
customerId
required
string

The customer ID.

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Update Customer Subscription

Update a customer's subscription details.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
amount
required
string
currency
required
string
country
required
string
mobileNumber
required
string
billingId
required
string
publicKey
required
string
status
required
string

Responses

Request samples

Content type
application/json
{
  • "amount": "20000",
  • "currency": "NGN",
  • "country": "NG",
  • "mobileNumber": "08033456500",
  • "billingId": "PUBK_PjQ5d1578650322483",
  • "publicKey": "YOUR_PUBLIC_KEY",
  • "status": "INACTIVE"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

INVOICE

Create And Send Invoice

This endpoint is used to create an invoice for a customer.

+
Request Body schema: application/json
publicKey
required
string

This is the merchant public key.

+
orderNo
string

This is the order number.

+
dueDate
string

This is the date the invoice is due.

+
currency
required
string

This is the currency the transaction is to be carried out in.

+
recieversName
string

This is the name of the customer.

+
customerEmail
required
string

This is the email of the customer.

+
Array of objects

This is the list of items in the invoice.

+

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "orderNo": 3333332213212,
  • "dueDate": "2023-10-31",
  • "currency": "NGN",
  • "recieversName": "Muyiwa Akintade",
  • "customerEmail": "janesmith@emaildomain.com",
  • "invoiceItems":
    [
    ]
}

Response samples

Content type
application/json
{
  • "message": "Invoice created successfully",
  • "payload":
    {
    },
  • "code": "00"
}

Resend An Invoice

This endpoint is used to resend an invoice to a customer.

+
Authorizations:
path Parameters
publicKey
required
string

This is the merchant public key.

+
invoiceNo
required
string

This is the invoice number.

+

Responses

Response samples

Content type
application/json
{
  • "message": "Invoice has been sent successfully",
  • "code": "00"
}

Get Invoice By Customer Email

Retrieve all invoices for a customer by their email address.

+
Authorizations:
path Parameters
publicKey
required
string

The merchant public key.

+
customerEmail
required
string

The customer's email address.

+

Responses

Response samples

Content type
application/json
{
  • "payload":
    [
    ],
  • "code": "00"
}

Get Invoice By Invoice Number

Retrieve an invoice by its invoice number.

+
Authorizations:
path Parameters
publicKey
required
string

The merchant public key.

+
invoiceNo
required
string

The invoice number.

+

Responses

Response samples

Content type
application/json
{
  • "payload":
    [
    ],
  • "code": "00"
}

Get Invoice By Order Number

Retrieve an invoice by its order number.

+
Authorizations:
path Parameters
publicKey
required
string

The merchant public key.

+
orderNo
required
string

The order number.

+

Responses

Response samples

Content type
application/json
{
  • "payload":
    [
    ],
  • "code": "00"
}

POCKET

Authenticate Pocket

This endpoint is used to authenticate a pocket using the provided key.

+
Request Body schema: application/json
email
required
string <email>
password
required
string

Responses

Request samples

Content type
application/json
{
  • "email": "your pocket email",
  • "password": "your password"
}

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Add Sub-Pocket

Create a sub-pocket under a parent pocket.

+
Authorizations:
path Parameters
PocketID
required
string

The parent pocket ID.

+
header Parameters
public-key
required
string

The merchant public key.

+
Content-Type
required
string
Default: application/json
Request Body schema: application/json
Array ()
tagGroup
string
reference
required
string
pocketFunction
required
string
Enum: "BOTH" "CREDIT" "DEBIT"
currency
required
string
tagName
string
selfOwned
required
boolean
required
object

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    [
    ]
}

Get Pocket Details

Retrieve details of a pocket by its ID.

+
Authorizations:
path Parameters
PocketID
required
string

The pocket ID.

+
header Parameters
public-key
required
string

The merchant public key.

+

Responses

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Get Pocket Balance

Retrieve the balance of a pocket by its ID.

+
Authorizations:
path Parameters
PocketID
required
string

The pocket ID.

+
header Parameters
public-key
required
string

The merchant public key.

+

Responses

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Get Merchant Sum

Retrieve the sum of balances for a merchant's pockets.

+
Authorizations:
path Parameters
PocketID
required
string

The pocket ID.

+
header Parameters
public-key
required
string

The merchant public key.

+

Responses

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Get Transaction Details

Retrieve details of a pocket transaction by its reference.

+
Authorizations:
path Parameters
reference
required
string

The transaction reference.

+
header Parameters
public-key
required
string

The merchant public key.

+

Responses

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Find Transactions

Search for pocket transactions with pagination.

+
Authorizations:
query Parameters
pocketId
required
string

The pocket ID.

+
page
required
integer
Default: 0

Page number (zero-based).

+
size
required
integer
Default: 10

Number of records per page.

+
header Parameters
public-key
required
string

The merchant public key.

+
Content-Type
required
string
Default: application/json

Responses

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Pocket to Pocket Transfer

Transfer funds from one pocket to another.

+
Authorizations:
path Parameters
fromPocketID
required
string

The source pocket ID.

+
toPocketID
required
string

The destination pocket ID.

+
header Parameters
public-key
required
string

The merchant public key.

+
Content-Type
required
string
Default: application/json
Request Body schema: application/json
amount
required
number

The amount to transfer.

+
currency
required
string

The currency of the transfer.

+
reference
required
string

The unique reference for the transfer.

+
description
required
string

A description for the transfer.

+

Responses

Request samples

Content type
application/json
{
  • "amount": 100,
  • "currency": "NGN",
  • "reference": "00112827",
  • "description": "Transfer from one pocket to another"
}

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Successful",
  • "data": { }
}

PAYOUT

Generate OTP

Generate an OTP for a pocket action. The OTP provided in the otp field should be passed as the passKey in the generatesignature and payout request.

+
Authorizations:
header Parameters
public-key
required
string

The merchant public key.

+
Content-Type
required
string
Default: application/json
Request Body schema: application/json
actionItem
required
string

The action for which the OTP is generated.

+
pocketId
required
string

The pocket ID.

+

Responses

Request samples

Content type
application/json
{
  • "actionItem": "APPROVE_DISBURSEMENT",
  • "pocketId": "your_pocket_id_here"
}

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Generate Signature

Generate a signature for a payout action. Instead of manually creating a signature, use the Get Signature endpoint.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
reference
required
string

The transaction reference.

+
amount
required
string

The amount for the payout.

+
currency
required
string

The currency for the payout.

+
description
required
string

The payout description.

+
accountNumber
required
string

The account number to credit.

+
bankCode
required
string

The bank code of the destination bank.

+
actionType
required
string

The action type (e.g., APPROVE_DISBURSEMENT).

+
passKey
required
string

The OTP or passKey for the payout.

+

Responses

Request samples

Content type
application/json
{
  • "reference": "REF123456",
  • "amount": "10",
  • "currency": "NGN",
  • "description": "test",
  • "accountNumber": "1234567890",
  • "bankCode": "000013",
  • "actionType": "APPROVE_DISBURSEMENT",
  • "passKey": "028087"
}

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data": "{signature}"
}

Initiate Payout

Use the Initiate Payout endpoint, passing the generated signature in the request body.

+
Authorizations:
path Parameters
pocketId
required
string

The pocket ID.

+
header Parameters
public-key
required
string

The merchant public key.

+
Content-Type
required
string
Default: application/json
Request Body schema: application/json
reference
required
string

The transaction reference.

+
amount
required
string

The amount for the payout.

+
currency
required
string

The currency for the payout.

+
description
required
string

The payout description.

+
accountNumber
required
string

The account number to credit.

+
bankCode
required
string

The bank code of the destination bank.

+
passKey
required
string

The OTP or passKey for the payout.

+
actionType
required
string

The action type (e.g., APPROVE_DISBURSEMENT).

+
signature
required
string

The generated signature for the payout.

+

Responses

Request samples

Content type
application/json
{
  • "reference": "JIN-12345678901101",
  • "amount": "10",
  • "currency": "NGN",
  • "description": "test",
  • "accountNumber": "1234567890",
  • "bankCode": "000013",
  • "passKey": "028087",
  • "actionType": "APPROVE_DISBURSEMENT",
  • "signature": "signature-value"
}

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Successful",
  • "data":
    {
    }
}

VIRTUAL ACCOUNT

Create Virtual Account

The Virtual Account API allows you to create reserve accounts for your customers to make payments.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
publicKey
required
string

The merchant public key.

+
fullName
required
string

The full name of the account holder.

+
bankVerificationNumber
required
string

The BVN of the account holder.

+
currency
required
string

The currency for the account.

+
country
required
string

The country code.

+
reference
required
string

The unique reference for the account.

+
email
required
string

The email address of the account holder.

+

Responses

Request samples

Content type
application/json
{
  • "publicKey": "YOUR_PUBLIC_KEY",
  • "fullName": "Jane Smith",
  • "bankVerificationNumber": "",
  • "currency": "NGN",
  • "country": "NG",
  • "reference": "FIRST_VIRTUAl_17",
  • "email": "js@emaildomain.com"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Virtual Account

Retrieve details of a virtual account by its payment reference.

+
Authorizations:
path Parameters
paymentReference
required
string

The virtual account payment reference.

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Delete a Virtual Account

Delete a virtual account by its reference.

+
Authorizations:
path Parameters
reference
required
string

The virtual account reference.

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Payment

Retrieve payment details for a virtual account using the public key and account number.

+
Authorizations:
path Parameters
publicKey
required
string

The merchant public key.

+
accountNumber
required
string

The customer's account number.

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

CARD TOKENISATION

Create Card Token

Create a card token for future payments.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
publicKey
required
string
amount
required
string
fullName
required
string
mobileNumber
required
string
redirectUrl
required
string
currency
required
string
country
required
string
paymentReference
required
string
email
required
string
paymentType
required
string
cardNumber
required
string
expiryMonth
required
string
expiryYear
required
string
cvv
required
string
pin
required
string

Responses

Request samples

Content type
application/json
{
  • "publicKey": "YOUR_PUBLIC_KEY",
  • "amount": "50",
  • "fullName": "Jane Smith",
  • "mobileNumber": "03447522256",
  • "redirectUrl": "http://example.com",
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "204g4de74a7ib0j18dg6bi521aiaejf4",
  • "email": "janesmith@seerbit.com",
  • "paymentType": "CARD",
  • "cardNumber": "512348984984988883",
  • "expiryMonth": "01",
  • "expiryYear": "25",
  • "cvv": "000",
  • "pin": "2222"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Card Authorisation Code

After the first successful transaction, you can query the transaction with the payment reference endpoint to confirm the status of transaction. The queried payment reference returns the authorizationCode that will be used for subsequent charges.

+
path Parameters
paymentReference
required
string

The payment reference for the transaction.

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Charge Authorisation Token

Charge a card using a previously obtained authorisation code (token).

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
publicKey
required
string
amount
required
string
paymentReference
required
string
authorizationCode
required
string

Responses

Request samples

Content type
application/json
{
  • "publicKey": "YOUR_PUBLIC_KEY",
  • "amount": "110",
  • "paymentReference": "charge_test_3451",
  • "authorizationCode": "ye773838jje8837abe"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Bulk Charge Token

Charge multiple cards using authorization tokens in a single request.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
Array ()
publicKey
required
string
amount
required
string
paymentReference
required
string
authorizationCode
required
string

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "code": "00",
  • "message": "Successful",
  • "payload":
    {
    }
}

Query Bulk Charge with BatchId

Query the status and results of a bulk charge operation using the batchId.

+
Authorizations:
query Parameters
batchId
required
string

The batch ID of the bulk charge operation.

+

Responses

Response samples

Content type
application/json
{
  • "code": "00",
  • "message": "Successful",
  • "payload":
    {
    }
}
+ + + + \ No newline at end of file diff --git a/redoc-static.html b/redoc-static.html new file mode 100644 index 0000000..ee439cb --- /dev/null +++ b/redoc-static.html @@ -0,0 +1,751 @@ + + + + + + SeerBit API Reference + + + + + + + + + +
+ +
+ +

SeerBit API Reference (1.0)

Download OpenAPI specification:Download

Authentication

Bearer

Security Scheme Type API Key
Header parameter name: Authorization

Basic

Security Scheme Type HTTP
HTTP Authorization Scheme basic

AUTHENTICATION

Generate Encrypted Secret Key

To make API calls on SeerBit, you will be required to pass a bearer token. To generate a token simply pass your pubic and secret key to rceive a token to process further API calls.

+
Request Body schema: application/json
key
required
string

This consist of the PrivateKey and the publicKey separated with a '.' in the middle(eg:{privateKey.publicKey}

+

Responses

Request samples

Content type
application/json
{
  • "key": "SBTESTSECK_9Cb8dbqR5Rc2JwZaa77P5QYHzQaeGUcrkEMD1dEi.SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

STANDARD CHECKOUT

Generate Hash

This is used to ensure the request payload has not been altered

+
Request Body schema: application/json
publicKey
required
string

This is the merchant public key.

+
amount
required
string

This is the amount to be paid.

+
currency
required
string

This is the currency the transaction is to be carried out in.

+
country
required
string

This is the country from which the transaction is been carried out from

+
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+
email
required
string

This is the email of the customer.

+
productId
required
string

This is the product id entered by the merchant.

+
productDescription
required
string

This is the product description supplied by the merchant.

+
callbackUrl
required
string

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "amount": "10.00",
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "3791090233047WZ73QN",
  • "email": "mamadou.diouf@intouchgroup.net",
  • "productId": "15013",
  • "productDescription": "touch badge",
  • "callbackUrl": "https://gutouch.com"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Payment Link From Checkout

SeerBit Checkout Standard Initialises a transaction from merchants server to generate a payment link which redirects your customers to a page to make payment and after payment has been made the customer is redirected back to the merchants website.

+
Authorizations:
Request Body schema: application/json
publicKey
required
string

This is the merchant public key.

+
amount
required
string

This is the amount to be paid.

+
currency
required
string

This is the currency the transaction is to be carried out in.

+
country
required
string

This is the country from which the transaction is been carried out from

+
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+
email
required
string

This is the email of the customer.

+
productId
required
string

This is the product id entered by the merchant.

+
productDescription
required
string

This is the product description supplied by the merchant.

+
callbackUrl
required
string

This is the callback url supplied by the merchant so that Seerbit can redirect back to it .

+
hash
required
string

This is the hash of the concatenated string for payment. Check hash module for more clarification.

+
hashType
required
string

This refers to the hash type used in generating the hash

+

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "amount": "10.00",
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "P791090233047WZ73QN",
  • "email": "mamadou.diouf@intouchgroup.net",
  • "productId": "15013",
  • "productDescription": "touch badge",
  • "callbackUrl": "https://gutouch.com",
  • "hash": "cfb5464ea21cce315ea72fb28f7ea45c4b61c443783eeff82dea98e57d445e15",
  • "hashType": "sha256"
}

Response samples

Content type
application/json
{}

ORDER CHECKOUT

Create Order Before Payment

Create an order before payment

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "email": "test@mvaa.com",
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "paymentReference": "2PPTG108Q13432E29P23R5L6W93I9",
  • "fullName": "",
  • "orderType": "BULK_BULK",
  • "mobileNumber": "",
  • "country": "NG",
  • "currency": "NGN",
  • "amount": "250.00",
  • "orders":
    [
    ]
}

Response samples

Content type
application/json
{}

Create Order After Payment

Create an order after payment

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "0w0eimkizc41602513327447",
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "orders":
    [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Update Order

Update an order

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "0w0eimkizc41602513327447",
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "orders":
    [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Orders

Get a list of orders

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get an Order with Payment Reference

Get order details with payment reference

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Order with Order Id

Get order details with OrderId

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

PAYMENT METHOD

Initiate Payment

Accept more payments with our unified payments API. Accept payments from all major cards and the most popular local and alternative payment methods all in a single integration.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
Example
{
  • "fullName": "john doe",
  • "email": "johndoe@gmail.com",
  • "mobileNumber": 248360953,
  • "publicKey": "SBPUBK_QGOX9NBAHWDYY1PAFSG2PTDOSSZYEWXM",
  • "paymentReference": "O456S5077907982QWEuWAT05M",
  • "deviceType": "nokia 3310",
  • "sourceIP": "1.0.1.0",
  • "currency": "GHS",
  • "productDescription": "snacks",
  • "country": "GH",
  • "network": "MTN",
  • "voucherCode": "",
  • "fee": "0.00",
  • "amount": "1.00",
  • "productId": "grocery",
  • "paymentType": "MOMO"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Banks

Get list of banks

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

MOMO

OTP Momo

When making MOMO transfers, and OTP is required to complete the payment

+
Authorizations:
Request Body schema: application/json
linkingReference
required
string

This is the internal gateway reference

+
otp
required
string

This is the TOKEN sent to customer’s phone or email

+

Responses

Request samples

Content type
application/json
{
  • "linkingReference": "CF630837081601460887752",
  • "otp": "81015"
}

Response samples

Content type
application/json
Example
null

NON 3DS PAYMENT

Charge Card

This payment option is used to charge non 3d transactions

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu",
  • "amount": "10.00",
  • "fullName": "Diei Okechukwu Peter",
  • "mobileNumber": 8030540611,
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "NGN0000037Q35",
  • "email": "okechukwu.diei2@gmail.com",
  • "productId": "Foods",
  • "productDescription": "RASPBERRY",
  • "cardNumber": "5123450000000008",
  • "expiryMonth": "05",
  • "expiryYear": "21"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

CARD

Check Status

This Operation allows you to check the status of a transaction via the status check api. This is done by making a Get request to the endpoint below with your payment reference.

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

ACCOUNT

Validate Transaction

This option is used to complete an account transaction, when OTP is required

+
Authorizations:
Request Body schema: application/json
linkingReference
required
string

This is the internal gateway reference

+
otp
required
string

This is the TOKEN sent to customer’s phone or email

+

Responses

Request samples

Content type
application/json
{
  • "linkingReference": "F092648971601293723061",
  • "otp": "123456"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

TOKENIZE

Tokenize a Card

In order to store your customers payment details, you need to pass some additional parameter when making the first payment request using the payments/tokenize endpoint, the Cvv field and pin are optional(this could be null). After the first payment is made, the payment details is collected and a token is generated for it which is then stored for future use.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBPUBK_OMX6ZNRZPLIHQ9Y0ZG6FCNR0EAYIGIAT",
  • "amount": "0.00",
  • "fullName": "john doe",
  • "mobileNumber": 8033456599,
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "KES0092992991",
  • "email": "johndoe@gmail.com",
  • "productId": "Foods",
  • "productDescription": "RASPBERRY",
  • "cardNumber": "5123450000000008",
  • "cvv": "100",
  • "expiryMonth": "05",
  • "expiryYear": "21"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

AUTHORISE

Authorise

In SeerBit API, the term “authorisation” indicates, that payment is authorised but not captured. This allows a merchant to cancel transaction at their discretion, typically based but not limited to fraud-related activities. This authorisation state is valid for a limited period of time, which provides a window to cancel the transaction.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
Example
{
  • "paymentReference": "PREAUTH124456789798765k3K1CB0",
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu",
  • "cardNumber": "5123450000000008",
  • "cvv": "100",
  • "expiryMonth": "05",
  • "expiryYear": "21",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "100.00",
  • "email": "johndoe@gmail.com",
  • "fullName": "john doe"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

3DS Authorise

PIN and CVV are not Required to complete Transaction. Authorization is completed on 3DS.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "30451B789S987643108hgfdsfP6W",
  • "publicKey": "SBPUBK_OMX6ZNRZPLIHQ9Y0ZG6FCNR0EAYIGIAT",
  • "cardNumber": "5242820813772165",
  • "cvv": "865",
  • "expiryMonth": "02",
  • "expiryYear": "22",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "1.00",
  • "email": "johndoe@gmail.com",
  • "fullName": "john doe",
  • "callbackUrl": "https://google.com"
}

Response samples

Content type
application/json
Example
{}

PREAUTHORIZATION

Capture

Captures a payment if supported by the payment method.

+
Authorizations:
Request Body schema: application/json
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+
currency
required
string

This is the currency the transaction is to be carried out in.

+
country
required
string

This is the country the customer is doing the transaction from

+
productDescription
required
string

This is the product description supplied by the merchant.

+
amount
required
string

This is the amount to be paid.

+
publicKey
required
string

This is the merchant public key.

+

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "PREAUTH124456789798765k321CB0",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "5.10",
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Refund

Refunds a payment if supported by the payment method.

+
Authorizations:
Request Body schema: application/json
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+
currency
required
string

This is the currency the transaction is to be carried out in.

+
country
required
string

This is the country the customer is doing the transaction from

+
productDescription
required
string

This is the product description supplied by the merchant.

+
amount
required
string

This is the amount to be paid.

+
publicKey
required
string

This is the merchant public key.

+

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "PREAUTH124456789798765432CB0",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "5.10",
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Cancel

Cancel a payment if supported by the payment method.

+
Authorizations:
Request Body schema: application/json
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+
publicKey
required
string

This is the merchant public key.

+
country
required
string

This is the country the customer is doing the transaction from

+
productDescription
required
string

This is the product description supplied by the merchant.

+

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "PREAUTH124456789798765k3L1CB0",
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu",
  • "country": "NG",
  • "productDescription": "test void"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

RECURRENT

Initiate Subscription

To complete this transaction, merchant is expected to redirect to the 3DSecure site via the redirect URL provided with the response below. However if the redirect url is not returned and the code is S20 and the message is transaction is pending, the Validate OTP endpoint should be called as the customer would have received a token either by email or sms on the customers phone. To get the subscription created or the status of a subscription for the customer, the GET Subscription endpoint is called by passing the paymentReference as billingId.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "paymentReference": "TPR2181t55PKR540RPP1U1W4392WO",
  • "planId": "",
  • "cardNumber": "5123450000000008",
  • "expiryMonth": "05",
  • "callbackUrl": "https://www.google.com",
  • "expiryYear": "21",
  • "cvv": "100",
  • "amount": "1000.00",
  • "currency": "NGN",
  • "productDescription": "Pilot Test Subscription",
  • "productId": "Terrain",
  • "country": "NG",
  • "startDate": "2020-02-25 00:00:00",
  • "cardName": "Kolade Samuel",
  • "billingCycle": "WEEKLY",
  • "email": "akintoyekolawole@gmail.com",
  • "mobileNumber": "08033456500",
  • "customerId": "12345678901234",
  • "pin": "0999",
  • "type": "3DSECURE",
  • "billingPeriod": "1",
  • "subscriptionAmount": true
}

Response samples

Content type
application/json
{}

Get a Subscription

Get customer subscription

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}
+ + + + \ No newline at end of file diff --git a/test.html b/test.html new file mode 100644 index 0000000..2efeed3 --- /dev/null +++ b/test.html @@ -0,0 +1,723 @@ + + + + + + SeerBit API Reference + + + + + + + + + +

SeerBit API Reference (1.0)

Download OpenAPI specification:Download

Authentication

Bearer

Security Scheme Type API Key
Header parameter name: Authorization

Basic

Security Scheme Type HTTP
HTTP Authorization Scheme basic

AUTHENTICATION

Generate Encrypted Secret Key

To make API calls on SeerBit, you will be required to pass a bearer token. To generate a token simply pass your pubic and secret key to rceive a token to process further API calls.

+
Request Body schema: application/json
key
required
string

This consist of the PrivateKey and the publicKey separated with a '.' in the middle(eg:{privateKey.publicKey}

+

Responses

Request samples

Content type
application/json
{
  • "key": "SBTESTSECK_9Cb8dbqR5Rc2JwZaa77P5QYHzQaeGUcrkEMD1dEi.SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

STANDARD CHECKOUT

Generate Hash

This is used to ensure the request payload has not been altered

+
Request Body schema: application/json
publicKey
required
string

This is the merchant public key.

+
amount
required
string

This is the amount to be paid.

+
currency
required
string

This is the currency the transaction is to be carried out in.

+
country
required
string

This is the country from which the transaction is been carried out from

+
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+
email
required
string

This is the email of the customer.

+
productId
required
string

This is the product id entered by the merchant.

+
productDescription
required
string

This is the product description supplied by the merchant.

+
callbackUrl
required
string

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "amount": "10.00",
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "3791090233047WZ73QN",
  • "email": "mamadou.diouf@intouchgroup.net",
  • "productId": "15013",
  • "productDescription": "touch badge",
  • "callbackUrl": "https://gutouch.com"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Payment Link From Checkout

SeerBit Checkout Standard Initialises a transaction from merchants server to generate a payment link which redirects your customers to a page to make payment and after payment has been made the customer is redirected back to the merchants website.

+
Authorizations:
Request Body schema: application/json
publicKey
required
string

This is the merchant public key.

+
amount
required
string

This is the amount to be paid.

+
currency
required
string

This is the currency the transaction is to be carried out in.

+
country
required
string

This is the country from which the transaction is been carried out from

+
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+
email
required
string

This is the email of the customer.

+
productId
required
string

This is the product id entered by the merchant.

+
productDescription
required
string

This is the product description supplied by the merchant.

+
callbackUrl
required
string

This is the callback url supplied by the merchant so that Seerbit can redirect back to it .

+
hash
required
string

This is the hash of the concatenated string for payment. Check hash module for more clarification.

+
hashType
required
string

This refers to the hash type used in generating the hash

+

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "amount": "10.00",
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "P791090233047WZ73QN",
  • "email": "mamadou.diouf@intouchgroup.net",
  • "productId": "15013",
  • "productDescription": "touch badge",
  • "callbackUrl": "https://gutouch.com",
  • "hash": "cfb5464ea21cce315ea72fb28f7ea45c4b61c443783eeff82dea98e57d445e15",
  • "hashType": "sha256"
}

Response samples

Content type
application/json
{}

ORDER CHECKOUT

Create Order Before Payment

Create an order before payment

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "email": "test@mvaa.com",
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "paymentReference": "2PPTG108Q13432E29P23R5L6W93I9",
  • "fullName": "",
  • "orderType": "BULK_BULK",
  • "mobileNumber": "",
  • "country": "NG",
  • "currency": "NGN",
  • "amount": "250.00",
  • "orders":
    [
    ]
}

Response samples

Content type
application/json
{}

Create Order After Payment

Create an order after payment

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "0w0eimkizc41602513327447",
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "orders":
    [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Update Order

Update an order

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "0w0eimkizc41602513327447",
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "orders":
    [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Orders

Get a list of orders

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get an Order with Payment Reference

Get order details with payment reference

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Order with Order Id

Get order details with OrderId

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

PAYMENT METHOD

Initiate Payment

Accept more payments with our unified payments API. Accept payments from all major cards and the most popular local and alternative payment methods all in a single integration.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
Example
{
  • "fullName": "john doe",
  • "email": "johndoe@gmail.com",
  • "mobileNumber": 248360953,
  • "publicKey": "SBPUBK_QGOX9NBAHWDYY1PAFSG2PTDOSSZYEWXM",
  • "paymentReference": "O456S5077907982QWEuWAT05M",
  • "deviceType": "nokia 3310",
  • "sourceIP": "1.0.1.0",
  • "currency": "GHS",
  • "productDescription": "snacks",
  • "country": "GH",
  • "network": "MTN",
  • "voucherCode": "",
  • "fee": "0.00",
  • "amount": "1.00",
  • "productId": "grocery",
  • "paymentType": "MOMO"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Banks

Get list of banks

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

MOMO

OTP Momo

When making MOMO transfers, and OTP is required to complete the payment

+
Authorizations:
Request Body schema: application/json
linkingReference
required
string

This is the internal gateway reference

+
otp
required
string

This is the TOKEN sent to customer’s phone or email

+

Responses

Request samples

Content type
application/json
{
  • "linkingReference": "CF630837081601460887752",
  • "otp": "81015"
}

Response samples

Content type
application/json
Example
null

NON 3DS PAYMENT

Charge Card

This payment option is used to charge non 3d transactions

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu",
  • "amount": "10.00",
  • "fullName": "Diei Okechukwu Peter",
  • "mobileNumber": 8030540611,
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "NGN0000037Q35",
  • "email": "okechukwu.diei2@gmail.com",
  • "productId": "Foods",
  • "productDescription": "RASPBERRY",
  • "cardNumber": "5123450000000008",
  • "expiryMonth": "05",
  • "expiryYear": "21"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

CARD

Check Status

This Operation allows you to check the status of a transaction via the status check api. This is done by making a Get request to the endpoint below with your payment reference.

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

ACCOUNT

Validate Transaction

This option is used to complete an account transaction, when OTP is required

+
Authorizations:
Request Body schema: application/json
linkingReference
required
string

This is the internal gateway reference

+
otp
required
string

This is the TOKEN sent to customer’s phone or email

+

Responses

Request samples

Content type
application/json
{
  • "linkingReference": "F092648971601293723061",
  • "otp": "123456"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

TOKENIZE

Tokenize a Card

In order to store your customers payment details, you need to pass some additional parameter when making the first payment request using the payments/tokenize endpoint, the Cvv field and pin are optional(this could be null). After the first payment is made, the payment details is collected and a token is generated for it which is then stored for future use.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBPUBK_OMX6ZNRZPLIHQ9Y0ZG6FCNR0EAYIGIAT",
  • "amount": "0.00",
  • "fullName": "john doe",
  • "mobileNumber": 8033456599,
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "KES0092992991",
  • "email": "johndoe@gmail.com",
  • "productId": "Foods",
  • "productDescription": "RASPBERRY",
  • "cardNumber": "5123450000000008",
  • "cvv": "100",
  • "expiryMonth": "05",
  • "expiryYear": "21"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

AUTHORISE

Authorise

In SeerBit API, the term “authorisation” indicates, that payment is authorised but not captured. This allows a merchant to cancel transaction at their discretion, typically based but not limited to fraud-related activities. This authorisation state is valid for a limited period of time, which provides a window to cancel the transaction.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
Example
{
  • "paymentReference": "PREAUTH124456789798765k3K1CB0",
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu",
  • "cardNumber": "5123450000000008",
  • "cvv": "100",
  • "expiryMonth": "05",
  • "expiryYear": "21",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "100.00",
  • "email": "johndoe@gmail.com",
  • "fullName": "john doe"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

3DS Authorise

PIN and CVV are not Required to complete Transaction. Authorization is completed on 3DS.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "30451B789S987643108hgfdsfP6W",
  • "publicKey": "SBPUBK_OMX6ZNRZPLIHQ9Y0ZG6FCNR0EAYIGIAT",
  • "cardNumber": "5242820813772165",
  • "cvv": "865",
  • "expiryMonth": "02",
  • "expiryYear": "22",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "1.00",
  • "email": "johndoe@gmail.com",
  • "fullName": "john doe",
  • "callbackUrl": "https://google.com"
}

Response samples

Content type
application/json
Example
{}

PREAUTHORIZATION

Capture

Captures a payment if supported by the payment method.

+
Authorizations:
Request Body schema: application/json
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+
currency
required
string

This is the currency the transaction is to be carried out in.

+
country
required
string

This is the country the customer is doing the transaction from

+
productDescription
required
string

This is the product description supplied by the merchant.

+
amount
required
string

This is the amount to be paid.

+
publicKey
required
string

This is the merchant public key.

+

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "PREAUTH124456789798765k321CB0",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "5.10",
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Refund

Refunds a payment if supported by the payment method.

+
Authorizations:
Request Body schema: application/json
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+
currency
required
string

This is the currency the transaction is to be carried out in.

+
country
required
string

This is the country the customer is doing the transaction from

+
productDescription
required
string

This is the product description supplied by the merchant.

+
amount
required
string

This is the amount to be paid.

+
publicKey
required
string

This is the merchant public key.

+

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "PREAUTH124456789798765432CB0",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "5.10",
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Cancel

Cancel a payment if supported by the payment method.

+
Authorizations:
Request Body schema: application/json
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+
publicKey
required
string

This is the merchant public key.

+
country
required
string

This is the country the customer is doing the transaction from

+
productDescription
required
string

This is the product description supplied by the merchant.

+

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "PREAUTH124456789798765k3L1CB0",
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu",
  • "country": "NG",
  • "productDescription": "test void"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

RECURRENT

Initiate Subscription

To complete this transaction, merchant is expected to redirect to the 3DSecure site via the redirect URL provided with the response below. However if the redirect url is not returned and the code is S20 and the message is transaction is pending, the Validate OTP endpoint should be called as the customer would have received a token either by email or sms on the customers phone. To get the subscription created or the status of a subscription for the customer, the GET Subscription endpoint is called by passing the paymentReference as billingId.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "paymentReference": "TPR2181t55PKR540RPP1U1W4392WO",
  • "planId": "",
  • "cardNumber": "5123450000000008",
  • "expiryMonth": "05",
  • "callbackUrl": "https://www.google.com",
  • "expiryYear": "21",
  • "cvv": "100",
  • "amount": "1000.00",
  • "currency": "NGN",
  • "productDescription": "Pilot Test Subscription",
  • "productId": "Terrain",
  • "country": "NG",
  • "startDate": "2020-02-25 00:00:00",
  • "cardName": "Kolade Samuel",
  • "billingCycle": "WEEKLY",
  • "email": "akintoyekolawole@gmail.com",
  • "mobileNumber": "08033456500",
  • "customerId": "12345678901234",
  • "pin": "0999",
  • "type": "3DSECURE",
  • "billingPeriod": "1",
  • "subscriptionAmount": true
}

Response samples

Content type
application/json
{}

Get a Subscription

Get customer subscription

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}
+ + + + \ No newline at end of file From 719f2d26d0e8b5b640dbfbd081eb5f9a72c0b91f Mon Sep 17 00:00:00 2001 From: ahntoni-seerbit Date: Mon, 31 Aug 2026 17:13:12 +0100 Subject: [PATCH 2/4] updated external-api.yml --- redoc-static.html | 342 +- specs/external-api.yml | 7016 ++++++++++++++++++++++++++++++++++------ 2 files changed, 6406 insertions(+), 952 deletions(-) diff --git a/redoc-static.html b/redoc-static.html index ee439cb..a150286 100644 --- a/redoc-static.html +++ b/redoc-static.html @@ -156,7 +156,8 @@ .jlUNTT polygon{fill:#d41f1c;}/*!sc*/ .hFuYxn{height:20px;width:20px;vertical-align:middle;float:right;-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;-webkit-transform:rotateZ(0);-ms-transform:rotateZ(0);transform:rotateZ(0);}/*!sc*/ .hFuYxn polygon{fill:white;}/*!sc*/ -data-styled.g15[id="sc-dIsAE"]{content:"hlNMKC,zIEmD,jlUNTT,hFuYxn,"}/*!sc*/ +.dWXhZG{height:18px;width:18px;vertical-align:middle;-webkit-transition:-webkit-transform 0.2s ease-out;-webkit-transition:transform 0.2s ease-out;transition:transform 0.2s ease-out;-webkit-transform:rotateZ(-90deg);-ms-transform:rotateZ(-90deg);transform:rotateZ(-90deg);}/*!sc*/ +data-styled.g15[id="sc-dIsAE"]{content:"hlNMKC,zIEmD,jlUNTT,hFuYxn,dWXhZG,"}/*!sc*/ .bfyodq{border-left:1px solid #a4a4c6;box-sizing:border-box;position:relative;padding:10px 10px 10px 0;}/*!sc*/ tr:first-of-type > .sc-hBMVcZ,tr.last > .bfyodq{border-left-width:0;background-position:top left;background-repeat:no-repeat;background-size:1px 100%;}/*!sc*/ tr:first-of-type > .sc-hBMVcZ{background-image:linear-gradient( to bottom, transparent 0%, transparent 22px, #a4a4c6 22px, #a4a4c6 100% );}/*!sc*/ @@ -179,6 +180,12 @@ .buVWLu .sc-dIvqjp,.buVWLu .sc-dIvqjp .sc-dIvqjp .sc-dIvqjp,.buVWLu .sc-dIvqjp .sc-dIvqjp .sc-dIvqjp .sc-dIvqjp .sc-dIvqjp{margin:1em;margin-right:0;background:#fafafa;}/*!sc*/ .buVWLu .sc-dIvqjp .sc-dIvqjp,.buVWLu .sc-dIvqjp .sc-dIvqjp .sc-dIvqjp .sc-dIvqjp,.buVWLu .sc-dIvqjp .sc-dIvqjp .sc-dIvqjp .sc-dIvqjp .sc-dIvqjp .sc-dIvqjp{background:#ffffff;}/*!sc*/ data-styled.g24[id="sc-hHEjAm"]{content:"buVWLu,"}/*!sc*/ +.iUGGuI{font-size:0.9em;font-family:Courier,monospace;}/*!sc*/ +.iUGGuI::after{content:' [';}/*!sc*/ +data-styled.g28[id="sc-bCwgka"]{content:"iUGGuI,"}/*!sc*/ +.elmCIR{font-size:0.9em;font-family:Courier,monospace;}/*!sc*/ +.elmCIR::after{content:']';}/*!sc*/ +data-styled.g29[id="sc-iwaifL"]{content:"elmCIR,"}/*!sc*/ .dcgdgO{background-color:#f5f5f5;border:2px solid #7C7C7C;border-radius:7;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:1em;position:relative;}/*!sc*/ .dcgdgO:hover{border:2px solid #6e6d6d;}/*!sc*/ .dcgdgO:disabled{background-color:#ededed;cursor:unset;}/*!sc*/ @@ -389,6 +396,11 @@ data-styled.g65[id="sc-eirseW"]{content:"dcJQNw,"}/*!sc*/ .fhUivV{margin-top:15px;}/*!sc*/ data-styled.g67[id="sc-gGLyOc"]{content:"fhUivV,"}/*!sc*/ +.Hlvtr button{background-color:transparent;border:0;outline:0;font-size:13px;font-family:Courier,monospace;cursor:pointer;padding:0;color:#333333;}/*!sc*/ +.Hlvtr button:focus{font-weight:600;}/*!sc*/ +.Hlvtr .sc-dIsAE{height:1.1em;width:1.1em;}/*!sc*/ +.Hlvtr .sc-dIsAE polygon{fill:#808080;}/*!sc*/ +data-styled.g68[id="sc-ckTRkR"]{content:"Hlvtr,"}/*!sc*/ .ffLJSh{vertical-align:middle;font-size:13px;line-height:20px;}/*!sc*/ data-styled.g69[id="sc-fbIXFq"]{content:"ffLJSh,"}/*!sc*/ .lmAzvs{color:rgba(128,128,128,0.8);}/*!sc*/ @@ -399,6 +411,11 @@ data-styled.g73[id="sc-TtZHJ"]{content:"cRaJfP,"}/*!sc*/ .bfDxeF{color:#d41f1c;font-size:0.9em;font-weight:normal;margin-left:20px;line-height:1;}/*!sc*/ data-styled.g74[id="sc-jHNhIU"]{content:"bfDxeF,"}/*!sc*/ +.dYpOEw{border-radius:2px;background-color:rgba(51,51,51,0.05);color:rgba(51,51,51,0.9);padding:0 5px;border:1px solid rgba(51,51,51,0.1);font-family:Courier,monospace;}/*!sc*/ +.sc-eKYRpg + .sc-eKYRpg{margin-left:0;}/*!sc*/ +data-styled.g78[id="sc-eKYRpg"]{content:"dYpOEw,"}/*!sc*/ +.kWqxvF{padding-left:10px;}/*!sc*/ +data-styled.g84[id="sc-jUfxsr"]{content:"kWqxvF,"}/*!sc*/ .bCtQK{margin-top:0;margin-bottom:0.5em;}/*!sc*/ data-styled.g86[id="sc-fuIRbl"]{content:"bCtQK,"}/*!sc*/ .htVLwM{border:1px solid #32329f;color:#32329f;font-weight:normal;margin-left:0.5em;padding:4px 8px 4px;display:inline-block;-webkit-text-decoration:none;text-decoration:none;cursor:pointer;}/*!sc*/ @@ -453,7 +470,8 @@ .gyWLOi{font-size:0.929em;line-height:20px;background-color:#248fb2;color:#ffffff;padding:3px 10px;text-transform:uppercase;font-family:Montserrat,sans-serif;margin:0;}/*!sc*/ .frvXPs{font-size:0.929em;line-height:20px;background-color:#9b708b;color:#ffffff;padding:3px 10px;text-transform:uppercase;font-family:Montserrat,sans-serif;margin:0;}/*!sc*/ .fDdIiv{font-size:0.929em;line-height:20px;background-color:#6bbd5b;color:#ffffff;padding:3px 10px;text-transform:uppercase;font-family:Montserrat,sans-serif;margin:0;}/*!sc*/ -data-styled.g108[id="sc-dWBSoC"]{content:"gyWLOi,frvXPs,fDdIiv,"}/*!sc*/ +.dWbjCh{font-size:0.929em;line-height:20px;background-color:#e27a7a;color:#ffffff;padding:3px 10px;text-transform:uppercase;font-family:Montserrat,sans-serif;margin:0;}/*!sc*/ +data-styled.g108[id="sc-dWBSoC"]{content:"gyWLOi,frvXPs,fDdIiv,dWbjCh,"}/*!sc*/ .hnNwwi{position:absolute;width:100%;z-index:100;background:#fafafa;color:#263238;box-sizing:border-box;box-shadow:0px 0px 6px rgba(0,0,0,0.33);overflow:hidden;border-bottom-left-radius:4px;border-bottom-right-radius:4px;-webkit-transition:all 0.25s ease;transition:all 0.25s ease;visibility:hidden;-webkit-transform:translateY(-50%) scaleY(0);-ms-transform:translateY(-50%) scaleY(0);transform:translateY(-50%) scaleY(0);}/*!sc*/ data-styled.g109[id="sc-jHcYrh"]{content:"hnNwwi,"}/*!sc*/ .gtKCCj{padding:10px;}/*!sc*/ @@ -539,7 +557,7 @@ -
country
required
string

This is the country from which the transaction is been carried out from

paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

email
required
string

This is the email of the customer.

-
productId
required
string

This is the product id entered by the merchant.

-
productDescription
required
string

This is the product description supplied by the merchant.

-
callbackUrl
required
string

This is the callback url supplied by the merchant so that Seerbit can redirect back to it .

-
hash
required
string

This is the hash of the concatenated string for payment. Check hash module for more clarification.

-
hashType
required
string

This refers to the hash type used in generating the hash

+
fullName
required
string

This is the full name of the customer.

+
tokenize
required
boolean

This indicates whether the card should be tokenized for future transactions.

+
callbackUrl
required
string

This is the callback url supplied by the merchant so that Seerbit can redirect back to it .

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "amount": "10.00",
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "P791090233047WZ73QN",
  • "email": "mamadou.diouf@intouchgroup.net",
  • "productId": "15013",
  • "productDescription": "touch badge",
  • "callbackUrl": "https://gutouch.com",
  • "hash": "cfb5464ea21cce315ea72fb28f7ea45c4b61c443783eeff82dea98e57d445e15",
  • "hashType": "sha256"
}

Response samples

Content type
application/json
{}

ORDER CHECKOUT

Create Order Before Payment

Create an order before payment

+

Request samples

Content type
application/json
{
  • "publicKey": "YOUR_PUBLIC_KEY",
  • "amount": "10.00",
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "payment_reference",
  • "email": "mamadou.diouf@intouchgroup.net",
  • "fullName": "Mamadou Diouf",
  • "tokenize": false,
  • "callbackUrl": "https://seerbit.com"
}

Response samples

Content type
application/json
{}

ORDER CHECKOUT

Create Order Before Payment

Create an order before payment

Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
Example
{
  • "fullName": "john doe",
  • "email": "johndoe@gmail.com",
  • "mobileNumber": 248360953,
  • "publicKey": "SBPUBK_QGOX9NBAHWDYY1PAFSG2PTDOSSZYEWXM",
  • "paymentReference": "O456S5077907982QWEuWAT05M",
  • "deviceType": "nokia 3310",
  • "sourceIP": "1.0.1.0",
  • "currency": "GHS",
  • "productDescription": "snacks",
  • "country": "GH",
  • "network": "MTN",
  • "voucherCode": "",
  • "fee": "0.00",
  • "amount": "1.00",
  • "productId": "grocery",
  • "paymentType": "MOMO"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Banks

Get list of banks

+

Request samples

Content type
application/json
Example
{
  • "fullName": "john doe",
  • "email": "johndoe@gmail.com",
  • "mobileNumber": 248360953,
  • "publicKey": "SBPUBK_QGOX9NBAHWDYY1PAFSG2PTDOSSZYEWXM",
  • "paymentReference": "O456S5077907982QWEuWAT05M",
  • "deviceType": "nokia 3310",
  • "sourceIP": "1.0.1.0",
  • "currency": "GHS",
  • "productDescription": "snacks",
  • "country": "GH",
  • "network": "MTN",
  • "voucherCode": "",
  • "fee": "0.00",
  • "amount": "1.00",
  • "productId": "grocery",
  • "paymentType": "MOMO"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Banks

Get list of banks

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "30451B789S987643108hgfdsfP6W",
  • "publicKey": "SBPUBK_OMX6ZNRZPLIHQ9Y0ZG6FCNR0EAYIGIAT",
  • "cardNumber": "5242820813772165",
  • "cvv": "865",
  • "expiryMonth": "02",
  • "expiryYear": "22",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "1.00",
  • "email": "johndoe@gmail.com",
  • "fullName": "john doe",
  • "callbackUrl": "https://google.com"
}

Response samples

Content type
application/json
Example
{}

PREAUTHORIZATION

Capture

Captures a payment if supported by the payment method.

-
Authorizations:
Request Body schema: application/json
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

-
currency
required
string

This is the currency the transaction is to be carried out in.

-
country
required
string

This is the country the customer is doing the transaction from

-
productDescription
required
string

This is the product description supplied by the merchant.

-
amount
required
string

This is the amount to be paid.

-
publicKey
required
string

This is the merchant public key.

-

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "30451B789S987643108hgfdsfP6W",
  • "publicKey": "SBPUBK_OMX6ZNRZPLIHQ9Y0ZG6FCNR0EAYIGIAT",
  • "cardNumber": "5242820813772165",
  • "cvv": "865",
  • "expiryMonth": "02",
  • "expiryYear": "22",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "1.00",
  • "email": "johndoe@gmail.com",
  • "fullName": "john doe",
  • "callbackUrl": "https://google.com"
}

Response samples

Content type
application/json
Example
{}

RECURRENT

Initiate Subscription

To complete this transaction, merchant is expected to redirect to the 3DSecure site via the redirect URL provided with the response below. However if the redirect url is not returned and the code is S20 and the message is transaction is pending, the Validate OTP endpoint should be called as the customer would have received a token either by email or sms on the customers phone. To get the subscription created or the status of a subscription for the customer, the GET Subscription endpoint is called by passing the paymentReference as billingId.

+
Authorizations:
Request Body schema: application/json

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "paymentReference": "TPR2181t55PKR540RPP1U1W4392WO",
  • "planId": "",
  • "cardNumber": "5123450000000008",
  • "expiryMonth": "05",
  • "callbackUrl": "https://www.google.com",
  • "expiryYear": "21",
  • "cvv": "100",
  • "amount": "1000.00",
  • "currency": "NGN",
  • "productDescription": "Pilot Test Subscription",
  • "productId": "Terrain",
  • "country": "NG",
  • "startDate": "2020-02-25 00:00:00",
  • "cardName": "Kolade Samuel",
  • "billingCycle": "WEEKLY",
  • "email": "akintoyekolawole@gmail.com",
  • "mobileNumber": "08033456500",
  • "customerId": "12345678901234",
  • "pin": "0999",
  • "type": "3DSECURE",
  • "billingPeriod": "1",
  • "subscriptionAmount": true
}

Response samples

Content type
application/json
{}

Get a Subscription

Get customer subscription

+
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Create Plan

Create a new recurring payment plan.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
productId
required
string

The name of the plan.

+
productDescription
required
string

The description of the plan.

+
amount
required
string

The amount for the plan.

+
billingCycle
required
string

The billing cycle (e.g., HOURLY).

+
limit
required
integer

The maximum number of cycles.

+
publicKey
required
string

The merchant public key.

+
country
required
string

The country code.

+
currency
required
string

The currency code.

+
allowPartialDebit
required
boolean

Whether partial debit is allowed.

+

Responses

Request samples

Content type
application/json
{
  • "productId": "Plan name",
  • "productDescription": "Description of Plan",
  • "amount": "100",
  • "billingCycle": "HOURLY",
  • "limit": 5,
  • "publicKey": "SBPUBK_xxxxx",
  • "country": "NG",
  • "currency": "NGN",
  • "allowPartialDebit": false
}

Response samples

Content type
application/json
{
  • "payload":
    {
    },
  • "message": "Successful",
  • "status": "SUCCESS",
  • "responseCode": "00"
}

Get Merchant Subscription

Retrieve all subscriptions for a merchant by their public key.

+
Authorizations:
path Parameters
publicKey
required
string

The merchant public key.

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Charge Subscription

Charge a recurring subscription using an authorization code.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
amount
required
string
publicKey
required
string
email
required
string
allowPartialDebit
required
boolean
authorizationCode
required
string
paymentReference
required
string
currency
required
string

Responses

Request samples

Content type
application/json
{
  • "amount": "200",
  • "publicKey": "YOUR_PUBLIC_KEY",
  • "email": "js@emaildomain.com",
  • "allowPartialDebit": true,
  • "authorizationCode": "1234567898765325",
  • "paymentReference": "2938765582R37065687631",
  • "currency": "NGN"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Customer Subscription

Retrieve all subscriptions for a customer by their customerId and merchant public key.

+
Authorizations:
path Parameters
publicKey
required
string

The merchant public key.

+
customerId
required
string

The customer ID.

+

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "PREAUTH124456789798765k321CB0",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "5.10",
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu"
}

Response samples

Content type
application/json
Example
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Refund

Refunds a payment if supported by the payment method.

-
Authorizations:
Request Body schema: application/json
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

+

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Update Customer Subscription

Update a customer's subscription details.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
amount
required
string
currency
required
string
country
required
string
mobileNumber
required
string
billingId
required
string
publicKey
required
string
status
required
string

Responses

Request samples

Content type
application/json
{
  • "amount": "20000",
  • "currency": "NGN",
  • "country": "NG",
  • "mobileNumber": "08033456500",
  • "billingId": "PUBK_PjQ5d1578650322483",
  • "publicKey": "YOUR_PUBLIC_KEY",
  • "status": "INACTIVE"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

INVOICE

Create And Send Invoice

This endpoint is used to create an invoice for a customer.

+
Request Body schema: application/json
publicKey
required
string

This is the merchant public key.

+
orderNo
string

This is the order number.

+
dueDate
string

This is the date the invoice is due.

currency
required
string

This is the currency the transaction is to be carried out in.

-
country
required
string

This is the country the customer is doing the transaction from

-
productDescription
required
string

This is the product description supplied by the merchant.

-
amount
required
string

This is the amount to be paid.

-
publicKey
required
string

This is the merchant public key.

-

Responses

recieversName
string

This is the name of the customer.

+
customerEmail
required
string

This is the email of the customer.

+
Array of objects

This is the list of items in the invoice.

+

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "PREAUTH124456789798765432CB0",
  • "currency": "NGN",
  • "country": "NG",
  • "productDescription": "preauth test capture",
  • "amount": "5.10",
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Cancel

Cancel a payment if supported by the payment method.

-
Authorizations:
Request Body schema: application/json
paymentReference
required
string

This is the unique identifier for a transaction, to be generated by merchant.

-
publicKey
required
string

This is the merchant public key.

-
country
required
string

This is the country the customer is doing the transaction from

-
productDescription
required
string

This is the product description supplied by the merchant.

-

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "orderNo": 3333332213212,
  • "dueDate": "2023-10-31",
  • "currency": "NGN",
  • "recieversName": "Muyiwa Akintade",
  • "customerEmail": "janesmith@emaildomain.com",
  • "invoiceItems":
    [
    ]
}

Response samples

Content type
application/json
{
  • "message": "Invoice created successfully",
  • "payload":
    {
    },
  • "code": "00"
}

Resend An Invoice

This endpoint is used to resend an invoice to a customer.

+
Authorizations:
path Parameters
publicKey
required
string

This is the merchant public key.

+
invoiceNo
required
string

This is the invoice number.

+

Responses

Request samples

Content type
application/json
{
  • "paymentReference": "PREAUTH124456789798765k3L1CB0",
  • "publicKey": "SBTESTPUBK_dhrpzbRpR34l6VmqkCFOKA94L5E1jSTu",
  • "country": "NG",
  • "productDescription": "test void"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

RECURRENT

Initiate Subscription

To complete this transaction, merchant is expected to redirect to the 3DSecure site via the redirect URL provided with the response below. However if the redirect url is not returned and the code is S20 and the message is transaction is pending, the Validate OTP endpoint should be called as the customer would have received a token either by email or sms on the customers phone. To get the subscription created or the status of a subscription for the customer, the GET Subscription endpoint is called by passing the paymentReference as billingId.

-
Authorizations:
Request Body schema: application/json

Responses

Response samples

Content type
application/json
{
  • "message": "Invoice has been sent successfully",
  • "code": "00"
}

Get Invoice By Customer Email

Retrieve all invoices for a customer by their email address.

+
Authorizations:
path Parameters
publicKey
required
string

The merchant public key.

+
customerEmail
required
string

The customer's email address.

+

Responses

Response samples

Content type
application/json
{
  • "payload":
    [
    ],
  • "code": "00"
}

Get Invoice By Invoice Number

Retrieve an invoice by its invoice number.

+
Authorizations:
path Parameters
publicKey
required
string

The merchant public key.

+
invoiceNo
required
string

The invoice number.

+

Responses

Response samples

Content type
application/json
{
  • "payload":
    [
    ],
  • "code": "00"
}

Get Invoice By Order Number

Retrieve an invoice by its order number.

+
Authorizations:
path Parameters
publicKey
required
string

The merchant public key.

+
orderNo
required
string

The order number.

+

Responses

Response samples

Content type
application/json
{
  • "payload":
    [
    ],
  • "code": "00"
}

POCKET

Authenticate Pocket

This endpoint is used to authenticate a pocket using the provided key.

+
Request Body schema: application/json
email
required
string <email>
password
required
string

Responses

Request samples

Content type
application/json
{
  • "email": "your pocket email",
  • "password": "your password"
}

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Add Sub-Pocket

Create a sub-pocket under a parent pocket.

+
Authorizations:
path Parameters
PocketID
required
string

The parent pocket ID.

+
header Parameters
public-key
required
string

The merchant public key.

+
Content-Type
required
string
Default: application/json
Request Body schema: application/json
Array ()
tagGroup
string
reference
required
string
pocketFunction
required
string
Enum: "BOTH" "CREDIT" "DEBIT"
currency
required
string
tagName
string
selfOwned
required
boolean
required
object

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    [
    ]
}

Get Pocket Details

Retrieve details of a pocket by its ID.

+
Authorizations:
path Parameters
PocketID
required
string

The pocket ID.

+
header Parameters
public-key
required
string

The merchant public key.

+

Responses

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Get Pocket Balance

Retrieve the balance of a pocket by its ID.

+
Authorizations:
path Parameters
PocketID
required
string

The pocket ID.

+
header Parameters
public-key
required
string

The merchant public key.

+

Responses

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Get Merchant Sum

Retrieve the sum of balances for a merchant's pockets.

+
Authorizations:
path Parameters
PocketID
required
string

The pocket ID.

+
header Parameters
public-key
required
string

The merchant public key.

+

Responses

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Get Transaction Details

Retrieve details of a pocket transaction by its reference.

+
Authorizations:
path Parameters
reference
required
string

The transaction reference.

+
header Parameters
public-key
required
string

The merchant public key.

+

Responses

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Find Transactions

Search for pocket transactions with pagination.

+
Authorizations:
query Parameters
pocketId
required
string

The pocket ID.

+
page
required
integer
Default: 0

Page number (zero-based).

+
size
required
integer
Default: 10

Number of records per page.

+
header Parameters
public-key
required
string

The merchant public key.

+
Content-Type
required
string
Default: application/json

Responses

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Pocket to Pocket Transfer

Transfer funds from one pocket to another.

+
Authorizations:
path Parameters
fromPocketID
required
string

The source pocket ID.

+
toPocketID
required
string

The destination pocket ID.

+
header Parameters
public-key
required
string

The merchant public key.

+
Content-Type
required
string
Default: application/json
Request Body schema: application/json
amount
required
number

The amount to transfer.

+
currency
required
string

The currency of the transfer.

+
reference
required
string

The unique reference for the transfer.

+
description
required
string

A description for the transfer.

+

Responses

Request samples

Content type
application/json
{
  • "amount": 100,
  • "currency": "NGN",
  • "reference": "00112827",
  • "description": "Transfer from one pocket to another"
}

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Successful",
  • "data": { }
}

PAYOUT

Generate OTP

Generate an OTP for a pocket action. The OTP provided in the otp field should be passed as the passKey in the generatesignature and payout request.

+
Authorizations:
header Parameters
public-key
required
string

The merchant public key.

+
Content-Type
required
string
Default: application/json
Request Body schema: application/json
actionItem
required
string

The action for which the OTP is generated.

+
pocketId
required
string

The pocket ID.

+

Responses

Request samples

Content type
application/json
{
  • "actionItem": "APPROVE_DISBURSEMENT",
  • "pocketId": "your_pocket_id_here"
}

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data":
    {
    }
}

Generate Signature

Generate a signature for a payout action. Instead of manually creating a signature, use the Get Signature endpoint.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
reference
required
string

The transaction reference.

+
amount
required
string

The amount for the payout.

+
currency
required
string

The currency for the payout.

+
description
required
string

The payout description.

+
accountNumber
required
string

The account number to credit.

+
bankCode
required
string

The bank code of the destination bank.

+
actionType
required
string

The action type (e.g., APPROVE_DISBURSEMENT).

+
passKey
required
string

The OTP or passKey for the payout.

+

Responses

Request samples

Content type
application/json
{
  • "reference": "REF123456",
  • "amount": "10",
  • "currency": "NGN",
  • "description": "test",
  • "accountNumber": "1234567890",
  • "bankCode": "000013",
  • "actionType": "APPROVE_DISBURSEMENT",
  • "passKey": "028087"
}

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Success",
  • "data": "{signature}"
}

Initiate Payout

Use the Initiate Payout endpoint, passing the generated signature in the request body.

+
Authorizations:
path Parameters
pocketId
required
string

The pocket ID.

+
header Parameters
public-key
required
string

The merchant public key.

+
Content-Type
required
string
Default: application/json
Request Body schema: application/json
reference
required
string

The transaction reference.

+
amount
required
string

The amount for the payout.

+
currency
required
string

The currency for the payout.

+
description
required
string

The payout description.

+
accountNumber
required
string

The account number to credit.

+
bankCode
required
string

The bank code of the destination bank.

+
passKey
required
string

The OTP or passKey for the payout.

+
actionType
required
string

The action type (e.g., APPROVE_DISBURSEMENT).

+
signature
required
string

The generated signature for the payout.

+

Responses

Request samples

Content type
application/json
{
  • "reference": "JIN-12345678901101",
  • "amount": "10",
  • "currency": "NGN",
  • "description": "test",
  • "accountNumber": "1234567890",
  • "bankCode": "000013",
  • "passKey": "028087",
  • "actionType": "APPROVE_DISBURSEMENT",
  • "signature": "signature-value"
}

Response samples

Content type
application/json
{
  • "responseCode": "00",
  • "message": "Successful",
  • "data":
    {
    }
}

VIRTUAL ACCOUNT

Create Virtual Account

The Virtual Account API allows you to create reserve accounts for your customers to make payments.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
publicKey
required
string

The merchant public key.

+
fullName
required
string

The full name of the account holder.

+
bankVerificationNumber
required
string

The BVN of the account holder.

+
currency
required
string

The currency for the account.

+
country
required
string

The country code.

+
reference
required
string

The unique reference for the account.

+
email
required
string

The email address of the account holder.

+

Responses

Request samples

Content type
application/json
{
  • "publicKey": "YOUR_PUBLIC_KEY",
  • "fullName": "Jane Smith",
  • "bankVerificationNumber": "",
  • "currency": "NGN",
  • "country": "NG",
  • "reference": "FIRST_VIRTUAl_17",
  • "email": "js@emaildomain.com"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Virtual Account

Retrieve details of a virtual account by its payment reference.

+
Authorizations:
path Parameters
paymentReference
required
string

The virtual account payment reference.

+

Responses

Request samples

Content type
application/json
{
  • "publicKey": "SBTESTPUBK_9sN3TuLgW6a9redEfY48cKKkUa09Pz2u",
  • "paymentReference": "TPR2181t55PKR540RPP1U1W4392WO",
  • "planId": "",
  • "cardNumber": "5123450000000008",
  • "expiryMonth": "05",
  • "callbackUrl": "https://www.google.com",
  • "expiryYear": "21",
  • "cvv": "100",
  • "amount": "1000.00",
  • "currency": "NGN",
  • "productDescription": "Pilot Test Subscription",
  • "productId": "Terrain",
  • "country": "NG",
  • "startDate": "2020-02-25 00:00:00",
  • "cardName": "Kolade Samuel",
  • "billingCycle": "WEEKLY",
  • "email": "akintoyekolawole@gmail.com",
  • "mobileNumber": "08033456500",
  • "customerId": "12345678901234",
  • "pin": "0999",
  • "type": "3DSECURE",
  • "billingPeriod": "1",
  • "subscriptionAmount": true
}

Response samples

Content type
application/json
{}

Get a Subscription

Get customer subscription

-
Authorizations:

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Delete a Virtual Account

Delete a virtual account by its reference.

+
Authorizations:
path Parameters
reference
required
string

The virtual account reference.

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Payment

Retrieve payment details for a virtual account using the public key and account number.

+
Authorizations:
path Parameters
publicKey
required
string

The merchant public key.

+
accountNumber
required
string

The customer's account number.

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

CARD TOKENISATION

Create Card Token

Create a card token for future payments.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
publicKey
required
string
amount
required
string
fullName
required
string
mobileNumber
required
string
redirectUrl
required
string
currency
required
string
country
required
string
paymentReference
required
string
email
required
string
paymentType
required
string
cardNumber
required
string
expiryMonth
required
string
expiryYear
required
string
cvv
required
string
pin
required
string

Responses

Request samples

Content type
application/json
{
  • "publicKey": "YOUR_PUBLIC_KEY",
  • "amount": "50",
  • "fullName": "Jane Smith",
  • "mobileNumber": "03447522256",
  • "redirectUrl": "http://example.com",
  • "currency": "NGN",
  • "country": "NG",
  • "paymentReference": "204g4de74a7ib0j18dg6bi521aiaejf4",
  • "email": "janesmith@seerbit.com",
  • "paymentType": "CARD",
  • "cardNumber": "512348984984988883",
  • "expiryMonth": "01",
  • "expiryYear": "25",
  • "cvv": "000",
  • "pin": "2222"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Get Card Authorisation Code

After the first successful transaction, you can query the transaction with the payment reference endpoint to confirm the status of transaction. The queried payment reference returns the authorizationCode that will be used for subsequent charges.

+
path Parameters
paymentReference
required
string

The payment reference for the transaction.

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Charge Authorisation Token

Charge a card using a previously obtained authorisation code (token).

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
publicKey
required
string
amount
required
string
paymentReference
required
string
authorizationCode
required
string

Responses

Request samples

Content type
application/json
{
  • "publicKey": "YOUR_PUBLIC_KEY",
  • "amount": "110",
  • "paymentReference": "charge_test_3451",
  • "authorizationCode": "ye773838jje8837abe"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}

Bulk Charge Token

Charge multiple cards using authorization tokens in a single request.

+
Authorizations:
header Parameters
Content-Type
required
string
Default: application/json
Request Body schema: application/json
Array ()
publicKey
required
string
amount
required
string
paymentReference
required
string
authorizationCode
required
string

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "code": "00",
  • "message": "Successful",
  • "payload":
    {
    }
}

Query Bulk Charge with BatchId

Query the status and results of a bulk charge operation using the batchId.

+
Authorizations:
query Parameters
batchId
required
string

The batch ID of the bulk charge operation.

+

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "data":
    {
    }
}
+

Response samples

Content type
application/json
{
  • "code": "00",
  • "message": "Successful",
  • "payload":
    {
    }
}