API Documentation
Standard Integration Guide (Babspay Legacy Compatible)
RESELLER API v1.0
Welcome to the GetWellPay developer documentation. Use this guide to integrate our services.
AUTHENTICATION
Include your API Token in every request header or as a POST parameter.
POST: api_key=YOUR_API_KEY
PURCHASE DATA BUNDLE
Endpoint: https://www.getwellpay.com/api/v1/data
Request Parameters
| Field | Value |
|---|---|
network | 1=MTN, 2=Glo, 3=Airtel, 4=9mobile |
plan_id | Data Plan ID (e.g. mtn-1gb-sme) |
phone | 11 Digit Mobile Number |
ref | Unique Request Reference |
Success Response
{
"status": "success",
"Status": "successful",
"msg": "Transaction Successful",
"trans_id": "BT12345678",
"balance": "5000.00"
}
PURCHASE AIRTIME
Endpoint: https://www.getwellpay.com/api/v1/airtime
| Field | Value |
|---|---|
network | 1, 2, 3, or 4 |
amount | Amount to recharge |
phone | Recipient Number |
📺 CABLE TV SUBSCRIPTION
Supports every provider returned by GET /api/cable_providers, with real-time smartcard/IUC validation.
1. Validate Smartcard / IUC Number
Endpoint: https://www.getwellpay.com/api/validate_iuc POST
| Field | Value |
|---|---|
provider | Provider ID from /api/cable_providers |
iuc | Smartcard or IUC Number |
{ "status": "success", "name": "JOHN DOE", "iuc": "1234567890" }
2. Subscribe Cable Package
Endpoint: https://www.getwellpay.com/api/cable POST
| Field | Value |
|---|---|
provider | Provider ID from /api/cable_providers |
iuc | Smartcard or IUC Number |
plan_id | Package Plan ID (from /api/cable_plans) |
phone | Customer phone number |
⚡ ELECTRICITY BILL PAYMENTS
Supports every DisCo returned by GET /api/meter_providers, with instant prepaid token generation.
1. Validate Meter Number
Endpoint: https://www.getwellpay.com/api/validate_meter POST
| Field | Value |
|---|---|
provider | DisCo ID from /api/meter_providers |
meter_number | Meter Account Number |
meter_type | prepaid or postpaid |
2. Pay Electricity Bill
Endpoint: https://www.getwellpay.com/api/electricity POST
| Field | Value |
|---|---|
provider | DisCo ID from /api/meter_providers |
meter_number | Meter Account Number |
meter_type | prepaid or postpaid |
amount | Amount in Naira (minimum ₦500) |
phone | Customer phone number to receive token via SMS |
{ "status": "success", "msg": "Payment Successful", "token": "4392-1094-8493-2948", "units": "45.2 kWh" }
SEND BULK SMS
Endpoint: https://www.getwellpay.com/api/send_sms
Request Parameters
| Field | Value |
|---|---|
sender | Your registered and approved Sender ID |
recipients | Comma-separated 11-digit phone numbers |
message | Text message content |
route | (Optional) dnd or non-dnd |
PURCHASE DATA CARD (DATA PIN)
Endpoint: https://www.getwellpay.com/api/purchase_datapin
Request Parameters
| Field | Value |
|---|---|
plan | Data Card Plan ID (obtain from /api/datapin_plans) |
quantity | Number of pins to purchase |
businessname | Business name to print on pins |
PURCHASE RECHARGE PIN (EPIN)
Endpoint: https://www.getwellpay.com/api/purchase_rechargepin
Request Parameters
| Field | Value |
|---|---|
network | 1=MTN, 2=Glo, 3=Airtel, 4=9mobile |
amount | Denomination amount (e.g. 100, 200, 500) |
quantity | Number of pins to print |
businessname | Business name to print on pins |
PURCHASE EXAM PIN
Endpoint: https://www.getwellpay.com/api/purchase_exam
Request Parameters
| Field | Value |
|---|---|
provider | Exam type (e.g. waec, neco) |
quantity | Number of exam pins to purchase |
🪪 IDENTITY, TIN & VERIFICATION SUITE
Enterprise identity, tax number (TIN), and telecom verification suite powered by AzoneVerify & Aspget. Automatic immediate wallet refunds if record is unverified or provider downtime occurs.
1. LIST IDENTITY SERVICES & LIVE PRICING
Endpoint: https://www.getwellpay.com/api/identity_services GET
Fetch real-time catalog of all enabled identity and TIN verification services along with the exact fee that will be debited for your account tier.
Supported Service Codes & Real-time API Fees
| Service Code | Service Name | Input Format | Fee (Vendor/API tier) | Description |
|---|---|---|---|---|
nin_phone |
NIN Search with Phone Number | 11-digit Phone (080...) | ₦150.00 | Retrieve NIMC NIN details using linked mobile phone number. |
nin_number |
NIN Search with NIN Number | 11-digit NIN | ₦140.00 | Direct National Identification Number lookup with NIMC records. |
bvn_phone |
BVN Search with Phone Number | 11-digit Phone (080...) | ₦150.00 | Retrieve Central Bank BVN data using registered phone number. |
bvn_number |
BVN Search with BVN Number | 11-digit BVN | ₦140.00 | Official Bank Verification Number KYC verification. |
phone_tin |
Phone Number to TIN | 11-digit Phone (080...) | ₦200.00 | Lookup Individual Tax Identification Number (JTB/FIRS) via phone. |
nin_tin |
NIN Number to TIN | 11-digit NIN | ₦200.00 | Lookup Individual Tax Identification Number (JTB/FIRS) via NIN. |
cac_tin |
CAC Number to TIN | RC or BN Number (e.g. RC123456) | ₦200.00 | Lookup Corporate / Business Tax Identification Number via CAC number. |
phone_search |
Phone Number Search | 11-digit Phone (080...) | ₦120.00 | Telecom subscriber name, network carrier, and KYC directory lookup. |
Response Sample
{
"status": "success",
"msg": "Identity services catalog retrieved",
"data": [
{
"service_code": "nin_phone",
"name": "NIN Search with Phone Number",
"fee": 150.00,
"description": "Verify NIN details using registered phone number"
},
{
"service_code": "cac_tin",
"name": "CAC Number to TIN",
"fee": 200.00,
"description": "Lookup Corporate Tax Identification Number via CAC RC/BN"
}
]
}
2. UNIFIED IDENTITY & TIN VERIFICATION (MASTER ENDPOINT)
Endpoint: https://www.getwellpay.com/api/identity_verify POST
Single master endpoint powering all 8 identity, TIN, and phone searches. Debits wallet atomically and provides automatic immediate refunds if the record cannot be verified or provider downtime occurs.
"consent": true indicating you have obtained explicit, verifiable consent from the data subject before querying personal identity information.
Request Parameters
| Field | Type | Description |
|---|---|---|
service_code |
string * | One of: nin_phone, nin_number, bvn_phone, bvn_number, phone_tin, nin_tin, cac_tin, phone_search |
query_value |
string * | The 11-digit phone number, 11-digit NIN, 11-digit BVN, or CAC RC/BN registration number (e.g. RC123456). |
consent |
boolean * | Must be true to confirm subject's authorization under NDPR regulations. |
Success Response
{
"status": "success",
"msg": "Identity verification completed successfully",
"data": {
"ref": "IDNIN8F1B94C172978",
"service_code": "nin_phone",
"data": {
"firstname": "IBRAHIM",
"middlename": "MUSA",
"surname": "BELLO",
"birthdate": "1992-05-14",
"gender": "male",
"phone": "08012345678",
"masked_phone": "0801****678",
"masked_nin": "123****8901",
"residence_state": "Kano",
"residence_lga": "Nassarawa",
"tin": "23891048-0001",
"tax_office": "Kano Central Tax Office",
"company_name": "ACME ENTERPRISES LTD",
"network": "MTN",
"carrier": "MTN Nigeria",
"photo": "data:image/jpeg;base64,..."
}
}
}
Multi-Language Code Samples
cURL
curl -X POST "https://www.getwellpay.com/api/identity_verify" \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"service_code": "nin_phone",
"query_value": "08012345678",
"consent": true
}'
PHP (cURL)
<?php
$payload = [
'service_code' => 'nin_phone',
'query_value' => '08012345678',
'consent' => true
];
$ch = curl_init('https://www.getwellpay.com/api/identity_verify');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
'Authorization: Token YOUR_API_KEY',
'Content-Type: application/json'
]
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
print_r($result);
Python (requests)
import requests
url = "https://www.getwellpay.com/api/identity_verify"
headers = {
"Authorization": "Token YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"service_code": "nin_phone",
"query_value": "08012345678",
"consent": True
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Node.js (fetch)
const response = await fetch('https://www.getwellpay.com/api/identity_verify', {
method: 'POST',
headers: {
'Authorization': 'Token YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
service_code: 'nin_phone',
query_value: '08012345678',
consent: true
})
});
const data = await response.json();
console.log(data);
VERIFY NIN (NIN LOOKUP)
Endpoint: https://www.getwellpay.com/api/verify_nin POST
Returns verified NIN holder details (name, DOB, address, phone). A lookup fee of ₦150.00 is charged per request.
Request Parameters
| Field | Type | Description |
|---|---|---|
nin | string * | 11-digit National Identification Number |
Success Response
{
"status": "success",
"msg": "NIN verified successfully",
"data": {
"ref": "NIN4F2A1B...",
"data": {
"nin": "12345678901",
"firstname": "John",
"middlename": "Doe",
"surname": "Smith",
"gender": "m",
"birthdate": "1990-01-15",
"phone": "08012345678",
"address": "12 Main St, Lagos",
"state": "Lagos",
"lga": "Ikeja"
}
}
}
GENERATE NIN SLIP
Endpoint: https://www.getwellpay.com/api/nin_slip POST
Generate an official downloadable/printable NIN slip. Each type has a different fee:
| Slip Type | Value | Fee | Description |
|---|---|---|---|
info | Information | ₦150.00 | Basic NIN data only |
regular | Regular Slip | ₦500.00 | Standard printable slip |
standard | Standard Slip | ₦1,500.00 | Enhanced slip with more details |
premium | Premium Slip | ₦3,000.00 | Full official government slip |
Request Parameters
| Field | Type | Description |
|---|---|---|
nin | string * | 11-digit NIN |
slip_type | string * | One of: info, regular, standard, premium |
Success Response
{
"status": "success",
"msg": "NIN Slip generated successfully",
"data": {
"ref": "NSL4F2A1B...",
"slip_type": "regular",
"slip_url": "https://api.aspget.com/slips/xxx.pdf",
"data": { ... }
}
}
VERIFY BVN
Endpoint: https://www.getwellpay.com/api/verify_bvn POST
Returns verified BVN holder details. A fee of ₦150.00 is charged per request.
Request Parameters
| Field | Type | Description |
|---|---|---|
bvn | string * | 11-digit Bank Verification Number |
Success Response
{
"status": "success",
"msg": "BVN verified successfully",
"data": {
"ref": "BVN9A3D2C...",
"data": {
"bvn": "22345678901",
"firstName": "John",
"lastName": "Smith",
"dateOfBirth": "01-Jan-1990",
"phoneNumber": "08012345678"
}
}
}
🌐 AFFILIATE & WHITE-LABEL PLATFORM INTEGRATION
Complete guide for BabsPay affiliate websites, SaaS reseller deployments, and dedicated Custom API integrations.
1. Automatic Enablement on All Affiliate Sites
Every affiliate website deployed via BabsPay SaaS automatically has all eight (8) identity & TIN services enabled by default upon deployment. Affiliates do not require any manual coding or setup to begin offering NIN search, BVN lookup, Tax ID resolution, or phone verification to their end-users.
2. Seamless Upstream Parent Connection
Affiliate platforms communicate with BabsPay as their primary upstream provider. When an end-user performs a verification on an affiliate site, the request is transparently forwarded to BabsPay using the affiliate's master API key:
Endpoint: https://babspay.com.ng/api/identity_verify
3. Granular Super-Admin Feature Governance
BabsPay Master Admin maintains complete real-time governance over all affiliate websites. From the Admin SaaS Deployments panel, the master admin can toggle specific services (e.g. disable BVN on a specific affiliate or enable custom payment gateways) with zero platform downtime.
4. Signed Master-to-Affiliate Software Notifications
When system updates, security patches, or upstream provider changes occur, BabsPay broadcasts signed notifications to all affiliate endpoints. Every broadcast payload is signed with an HMAC-SHA256 signature header:
X-Master-Timestamp: <unix_time>
X-Master-Signature: hmac_sha256("push:{timestamp}:" + sha256(request_body), tenant_remote_secret)
🚀 AFFILIATE CUSTOM API INTEGRATION (PAID FEATURE)
Request Custom APIWant your affiliate website to connect directly to your own third-party API provider (e.g. AzoneVerify, Monnify, Aspget, or MerryBills) rather than routing through BabsPay's upstream balance? We offer dedicated Custom API integration support!
How It Works:
- Submit Request: Navigate to Dashboard > Custom API and enter your target provider, service type, API documentation link, and provider credentials.
- Military-Grade Encryption: Your provider credentials (API keys, secret keys, webhook secrets) are automatically encrypted using authenticated AES-256-CBC with HMAC-SHA256 before storage.
- Super-Admin Inspection & SSRF Testing: BabsPay engineers inspect your provider's documentation and run isolated, SSRF-protected endpoint probes directly from our admin console to verify connectivity.
- Fee Quotation & Wallet Payment: Admin quotes a fair one-time setup fee. You review the quote and confirm payment directly from your platform wallet with atomic debit protection.
- Dedicated Activation: Once confirmed, the custom adapter is deployed exclusively to your affiliate domain, giving you direct upstream routing!
🏆 BETTING WALLET FUNDING
Validate player accounts and fund betting wallets programmatically. Powered by MerryBills. A service charge is added to each funding request.
LIST BETTING PLATFORMS
Endpoint: https://www.getwellpay.com/api/betting_platforms GET
Returns all active betting platforms with their service_id, minimum and maximum funding amounts.
Response Sample
{
"status": "success",
"data": [
{ "id": 1, "name": "SportyBet", "service_id": "sportybet", "min_amount": 100, "max_amount": 500000 },
{ "id": 2, "name": "Bet9ja", "service_id": "bet9ja", "min_amount": 100, "max_amount": 500000 }
]
}
VALIDATE BETTING ACCOUNT
Endpoint: https://www.getwellpay.com/api/validate_betting_id POST
Verify a player's account ID exists on the selected platform before funding. No fee charged for this lookup.
Request Parameters
| Field | Type | Description |
|---|---|---|
platform | string * | Platform service_id (e.g. sportybet, bet9ja) |
customer_id | string * | Player's account ID / User ID on that platform |
FUND BETTING WALLET
Endpoint: https://www.getwellpay.com/api/fund_betting POST
Fund a player's betting wallet. The funding amount plus a service charge are deducted from your wallet.
Request Parameters
| Field | Type | Description |
|---|---|---|
platform | string * | Platform service_id |
customer_id | string * | Player's account ID |
amount | number * | Amount to fund in Naira (₦) |
phone | string | Player's phone number (optional, defaults to your account phone) |
reference | string | Unique transaction reference (auto-generated if omitted) |
Success Response
{
"status": "success",
"msg": "Betting wallet funded successfully",
"data": {
"ref": "BETAPI4F2A..."
}
}
⚡ INTERACTIVE API PLAYGROUND
Test the B2B endpoints directly from your browser. Input your parameters below to execute real-time VTU calls.
Technical Support: support@getwellpay.com.ng