Virtual Account

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

Create Virtual Account

Request Sample
The code snippet below shows an example response for creating a virtual account
1curl --location 'https://seerbitapi.com/api/v2/virtual-accounts' \
2--header 'Content-Type: application/json' \
3--header 'Authorization: Bearer YOUR_ENCRYPTED_KEY' \
4--data-raw '{
5    "publicKey": "YOUR_PUBLIC_KEY",
6    "fullName": "Jane Smith",
7    "bankVerificationNumber":"",
8    "currency": "NGN",
9    "country": "NG",
10    "reference": "FIRST_VIRTUAl_17",
11    "email": "js@emaildomain.com"
12}'
1var request = require('request');
2var options = {
3  'method': 'POST',
4  'url': 'https://seerbitapi.com/api/v2/virtual-accounts',
5  'headers': {
6    'Content-Type': 'application/json',
7    'Authorization': 'Bearer YOUR_ENCRYPTED_KEY'
8  },
9  body: JSON.stringify({
10    "publicKey": "YOUR_PUBLIC_KEY",
11    "fullName": "Jane Smith",
12    "bankVerificationNumber": "",
13    "currency": "NGN",
14    "country": "NG",
15    "reference": "FIRST_VIRTUAl_17",
16    "email": "js@emaildomain.com"
17  })
18
19};
20request(options, function (error, response) {
21  if (error) throw new Error(error);
22  console.log(response.body);
23});
1<?php
2
3$curl = curl_init();
4
5curl_setopt_array($curl, array(
6  CURLOPT_URL => 'https://seerbitapi.com/api/v2/virtual-accounts',
7  CURLOPT_RETURNTRANSFER => true,
8  CURLOPT_ENCODING => '',
9  CURLOPT_MAXREDIRS => 10,
10  CURLOPT_TIMEOUT => 0,
11  CURLOPT_FOLLOWLOCATION => true,
12  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
13  CURLOPT_CUSTOMREQUEST => 'POST',
14  CURLOPT_POSTFIELDS =>'{
15    "publicKey": "YOUR_PUBLIC_KEY",
16    "fullName": "Jane Smith",
17    "bankVerificationNumber":"",
18    "currency": "NGN",
19    "country": "NG",
20    "reference": "FIRST_VIRTUAl_17",
21    "email": "js@emaildomain.com"
22}',
23  CURLOPT_HTTPHEADER => array(
24    'Content-Type: application/json',
25    'Authorization: Bearer YOUR_ENCRYPTED_KEY'
26  ),
27));
28
29$response = curl_exec($curl);
30
31curl_close($curl);
32echo $response;
Response Sample
The code snippet below shows an example response for creating a virtual account
1{
2    "status": "SUCCESS",
3    "data": {
4        "code": "S20",
5        "payments": {
6            "reference": "FIRST_VIRTUAl_7",
7            "walletName": "SEERBIT(Business Name)",
8            "bankName": " 9PAYMENT SERVICE BANK",
9            "accountNumber": "Account Number"
10        },
11        "message": "Account created "
12    }
13}

Get Virtual Account

Response Sample
The code snippet below shows an example response to get all created links
1{
2    "status": "SUCCESS",
3    "data": {
4        "code": "00",
5        "payments": {
6            "reference": "VA_1", // virtual account reference
7            "linkingReference": "9PSB641860391656618499020",
8             "walletName": "SEERBIT(Business Name)",
9            "wallet": "Account Number",
10            "bankName": "_9PAYMENT_SERVICE_BANK",
11            "accountNumber": "Account Number"
12        },
13        "message": ""
14    }
15}

Delete a Virtual Account

Response Sample
The code snippet below shows an example response for deleting a virtual account
1{
2    "status": "SUCCESS",
3    "data": {
4        "code": "00",
5        "message": "Virtual account has been deleted"
6    }
7}

Get Payment

Response Sample
The code snippet below shows an example response to get payments
1curl --location 'https://seerbitapi.com/api/v2/virtual-accounts/YOUR_PUBLIC_KEKY/{{accountNumber}}' \
2--header 'Authorization: Bearer YOUR_ENCRYPTION_KEY'
1var request = require('request');
2var options = {
3  'method': 'GET',
4  'url': 'https://seerbitapi.com/api/v2/virtual-accounts/YOUR_PUBLIC_KEY/{{accoutNumber}}',
5  'headers': {
6    'Authorization': 'Bearer YOUR_ENCRYPTION_KEY'
7  }
8};
9request(options, function (error, response) {
10  if (error) throw new Error(error);
11  console.log(response.body);
12});
1<?php
2
3$curl = curl_init();
4
5curl_setopt_array($curl, array(
6  CURLOPT_URL => 'https://seerbitapi.com/api/v2/virtual-accounts/YOUR_PUBLIC_KEY/{{accountNumber}}',
7  CURLOPT_RETURNTRANSFER => true,
8  CURLOPT_ENCODING => '',
9  CURLOPT_MAXREDIRS => 10,
10  CURLOPT_TIMEOUT => 0,
11  CURLOPT_FOLLOWLOCATION => true,
12  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
13  CURLOPT_CUSTOMREQUEST => 'GET',
14  CURLOPT_HTTPHEADER => array(
15    'Authorization: Bearer YOUR_ENCRPTION_KEY'
16  ),
17));
18
19$response = curl_exec($curl);
20
21curl_close($curl);
22echo $response;
Response Sample
The code snippet below shows an example response for getting a payment
1{
2    "status": "SUCCESS",
3    "data": {
4        "code": "00",
5        "payload": [
6            {
7                "id": 14705414,
8                "fullName": "Customer Name",
9                "publicKey": "YOUR_PUBLIC_KEY",
10                "processor": "_9PAYMENT_SERVICE_BANK",
11                "paymentType": "TRANSFER",
12                "shopperReference": null,
13                "amount": 100.0,
14                "productId": null,
15                "productDescription": null,
16                "email": "customeremail@gmail.com",
17                "quantity": null,
18                "maskedPan": null,
19                "gateway": "_9PAYMENT_SERVICE_BANK",
20                "gatewayMessage": "Successful",
21                "gatewayCode": "00",
22                "transactionRef": "GT-01",
23                "gatewayRef": "100004230627104826104793084015",
24                "businessName": "Business Name",
25                "fee": null,
26                "mode": "LIVE",
27                "callbackUrl": null,
28                "redirectUrl": null,
29                "channelType": "transfer",
30                "paymentKey": null,
31                "sourceIP": null,
32                "deviceType": null,
33                "clientAppCode": null,
34                "cardBin": null,
35                "lastFourDigits": null,
36                "type": null,
37                "linkingreference": null,
38                "country": "NG",
39                "currency": "NGN",
40                "smsProvider": null,
41                "customerId": null,
42                "internalreference": "_SBT_N7N7EU523C",
43                "accountNumber": "customer account number",
44                "narration": null,
45                "creditAccountName": "Seerbit(Tola Sambo)",
46                "transferType": "RESERVE_ACCOUNT",
47                "paymentReference": "GT-01_SBT_N7N7EU523C",
48                "batchId": null,
49                "sessionId": null,
50                "bankName": "",
51                "creditAccountNumber": "4015310501",
52                "bankCode": null,
53                "alternatePaymentReference": null,
54                "settlementCode": "00",
55                "settlementMessage": "Push Successful",
56                "settlementTime": "2023-06-27 11:49:37",
57                "orderStatusCode": null,
58                "orderStatusMessage": null,
59                "status": "PUSHED",
60                "mobileNumber": "404",
61                "dateOfBirth": null,
62                "branchPhoneNumber": null,
63                "transferedAmount": 100.0,
64                "scheduleId": null,
65                "isCardInternational": "LOCAL",
66                "reason": "Successful",
67                "retry": false,
68                "metaData": null,
69                "event": [],
70                "order": [],
71                "createdAt": "2023-06-27T10:49:28.000+0000",
72                "updatedAt": "2023-06-27T10:49:28.000+0000",
73                "cardName": null,
74                "isNigeriancard": null,
75                "cardCountry": null,
76                "intCurrency": null,
77                "rate": null,
78                "inCardProcessingFee": null,
79                "intAmountCharge": null,
80                "processorCode": "00",
81                "processorMessage": "Successful",
82                "invoiceNumber": null,
83                "billId": null,
84                "locationPhoneNumber": null,
85                "pocketReferenceId": null,
86                "transferAccountType": "STATIC",
87                "bearer": "MERCHANT",
88                "transLink": null,
89                "vendorId": null,
90                "payLinkEnvironment": null,
91                "payLinkStatus": null,
92                "payLinkAmount": null,
93                "payLinkAdditionalData": null,
94                "payLinkName": null,
95                "payLinkDescription": null,
96                "payLinkRedirectUrl": null,
97                "payLinkSuccessMessage": null,
98                "paymentLinkId": null,
99                "payLinkCustomizationName": null,
100                "payLinkFrequency": null,
101                "payLinkIsOneTimeUse": false,
102                "terminalId": null,
103                "stan": null,
104                "transactionComplete": null,
105                "cardExpiryMonth": null,
106                "cardExpiryYear": null,
107                "tokenize": false
108            }
109        ],
110        "message": "successful"
111    }
112}
Need something else?
If you have any questions or need general help, visit our support page
Signup for developer update
You can unsubscribe at any time. Read our privacy policy.