Bank Account Payment

This payment option is called to make account payments.

Accept payments directly from your customers local bank account through a direct bank debit payment channel.

How it works

  1. To initiate a direct bank debit payment, make a request to the account payments service with the payments/initiates endpoint.

  2. When the request is made you are expected to get a pending response.

  3. The response from banks differ, some banks will return with a redirect url while others will not.

  4. When a redirect url is returned, you are expected to redirect to the link supplied which will take the customer to the bank page. On this page, customer is expected to enter the OTP sent to their registered phone number or email with the bank. After the OTP is submitted, SeerBit redirects back to the redirect url supplied by the merchant.

  5. When the redirect url is not returned, the transaction would be awaiting validation.

  6. To validate the transaction the customer gets an OTP( one time password) via the registered number with the bank or via email.

Authentication
Request Body
Response Body
Authentication
curl -X POST
https://seerbitapi.com/api/v2/payments/initiates
-H 'Content-Type: application/json'
-H 'Authorization: Bearer {token}
Request Body
{
"publicKey":"merchantPublicKey",
"amount":"2000.00",
"fee":"10",
"fullName":"John Doe",
"mobileNumber":"08037456590",
"currency":"NGN",
"country":"NG",
"paymentReference":"UYTRE234566677RDFGFDDSS",
"email":"johndoe@gmail.com",
"productId":"Foods",
"productDescription":"Uba Account Transaction ",
"clientAppCode":"kpp64",
"redirectUrl":"https://checkout.seerbit.com",
"deviceType":"Apple Laptop",
"sourceIP":"127.0.0.1:3456",
"accountName":"John S Doe",
"accountNumber":"1234567890",
"bankCode":"033",
"bvn":"12345678901",
"dateOfBirth":"04011984",
"retry":"false",
"invoiceNumber":"1234567891abc123ac"
}
Response Body
{
"status": "SUCCESS",
"data": {
"code": "S20",
"payments": {
"paymentReference": "UYTRE234566677RDFGFDDSS",
"linkingReference": "F320660611587911267617"
},
"message": "Transaction is pending"
}
}

Field

Description

Type

publicKey

This is available after sign-up

dash board -> settings -> api keys.

String

Required

amount

Amount to be paid

String

Required

fee

Charge on transaction, customer or merchant to bear

whom to bear this can be set on the dashboard by merchant

String

Optional

fullName

Customer name

String

Optional

mobileNumber

Customer phone number

String

Optional

currency

Currency to perform transaction

String

Required

country

Country the customer is performing the transaction

String

Required

paymentReference

Unique payment identifier, to be supplied by the merchant

String

Required

email

Customer's Email

String

Required

productId

Unique identification number for each product, To be supplied by the Merchant

String

Optional

productDescription

Narration of Transaction

String

Optional

clientAppCode

Extra data

String

Optional

redirectUrl

Url to redirect to

String

Required

bvn

Customers' bank verification number.

String

Optional

paymentType

Medium by which the payment transaction is made {ACCOUNT}

String

Required

deviceType

Customer device

String

Optional

sourceIP

Customer's IP Address

String

Optional

accountName

Customer's account name

String

Required

accountNumber

Customer's account number to debit

String

Required

bankCode

Bank's Unique identifier

String

Required

dateOfBirth

Customer's registered date of birth for debit card

String

Optional

retry

This is passed as true to retry a failed transaction.

Boolean

Required

invoiceNumber

String

Optional

message

Response message from SeerBit

code

Response code from SeerBit

linkingReference

SeerBit transaction unique identifier

Validate Transaction

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

Authentication
Request Body
Response Body
Authentication
curl -X POST
https://seerbitapi.com/api/v2/payments/validate
-H 'Content-Type: application/json'
-H 'Authorization: Bearer {token}
Request Body
{
"linkingReference":"F320660611587911267617",
"otp":"68871001"
}
Response Body
{
"status": "SUCCESS",
"data": {
"code": "00",
"payments": {
"reference": "UYTRE234566677RDFGFDDSS",
"linkingreference": "F320660611587911267617"
},
"message": "Successful"
}
}

How do you want to integrate?