NAV
bash javascript php python

Info

Welcome to RechargePro Api documentation.

Authentication

Bearer Token

This token expires every 24 hours and is required to complete every transaction.

Example request:

curl -X POST \
    "https://rechargepro.ng/api/auth" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -d '{"username":"test or test@email.com","password":"passcode"}'
const url = new URL(
    "https://rechargepro.ng/api/auth"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
};

let body = {
    "username": "test or test@email.com",
    "password": "passcode"
}

fetch(url, {
    method: "POST",
    headers: headers,
    body: body
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rechargepro.ng/api/auth',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
        ],
        'json' => [
            'username' => 'test or test@email.com',
            'password' => 'odit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/auth'
payload = {
    "username": "test or test@email.com",
    "password": "odit"
}
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):

{
    "status": 200,
    "response": "successful",
    "accessToken": {
        "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxIiwianRpIjoiZjE0OGYwZjc2MWZjZDJmMmZlZDc1NmI2ZWQ4MDc5YTllZGRjODE2OTQ5YTM3NmNmOGQ3MjgyZWI0YTI3OGY3MTM0M2Y0ZGUyNjU2ZjI2N2YiLCJpYXQiOjE2Mjc5MTkzNzQsIm5iZiI6MTYyNzkxOTM3NCwiZXhwIjoxNjI4MDA1NzczLCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.MpAk_dPEGEq1meg5N6eGkEqS3m1T4h_G7XoU-3h8Egf0emRaBpGSwo5nmcTEoOF4s_jMNseGFntsNQCU-pG8sJL0-PXLsSzBM6wGXzT8Pa9WFWMUzAlANu_USyRJzdf1slqqM4annyCrOy-bSTqvGQpmdxx7Y8wTXvOnDcxmC2UYDbsThoiavIae62H_41xXrFtj7KWq2bwoUtIItV0nhZkN8-Nb0LunUR-qtDSsVUUW3BfQMBRFyds8-uI5QYEsyVFCN4CawuDmimuLmmimdCN2c1zTGgUDH6ZNn1K_Dyp5F5sgZfKb-RcPxjKePelvtpjMbZEasQZfSWrrOzUX1fPW60Cly4iNR-BfBPcCtQClp4RaFr9qze-xCTaA-vlhKJba5oeemeav-ToZdXyGv_eOq0tIDzN6L1LqrF899cdDmhw5_wr-mVY_R5vQ3WTHf8jOQlD9TNAZa8GQv5WmZRM2mGLHsA1CfyIQSegWQ2vj68hcdK3Z8RF-W6wanEkdej2X0R2WFHAJZWKgPPeeGLTdup6u2zSJCZrLKO-XSqvIsBhNOcOtRrmSPf146nlInaUaupHAoQ-_XGjUgFAKr52BdjuDV5ibkfPAtFl6wX-M6s_1CdB5lcdJC2oJM512_zIrYWgSWPkNSDjVqOG7J9gwLuV21k_sFI9974b3dOo",
        "token": {
            "id": "f148f0f761fcd2f2fed756b6ed8079a9eddc816949a376cf8d7282eb4a278f71343f4de2656f267f",
            "user_id": 1,
            "client_id": 1,
            "name": "Personnal Access Token",
            "scopes": [],
            "revoked": false,
            "created_at": "2021-08-02 15:49:34",
            "updated_at": "2021-08-02 15:49:34",
            "expires_at": "2021-08-03T15:49:33.000000Z"
        }
    }
}

HTTP Request

POST api/auth

Body Parameters

Parameter Type Status Description
username string required Your username or email.
password string required Your password during account creation. Example passcode48

Destroy Authentication


Requires authentication

This route revokes/kills all authentication bearer token issued when this endpoint is called all request with the bearer token will be unauthorized until when re-issued using the auth endpoint.

This end point requires an extra Header Authourization Bearer token

Example:[ Authorization: Bearer {token}]
{token} is the accessToken gotten from the auth endpoint response

Example request:

curl -X GET \
    -G "https://rechargepro.ng/api/revokeAuth" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -H "Authourization: Bearer {token}"
const url = new URL(
    "https://rechargepro.ng/api/revokeAuth"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
    "Authorization": "Bearer {token}"
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://rechargepro.ng/api/revokeAuth',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
            'Authourization' => 'Bearer {token}'
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/revokeAuth'
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}',
  'Authorization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{
    "status": 200,
    "response": "successful",
    "message": "Bearer token revoked"
}

HTTP Request

GET api/revokeAuth

Banks Info

List of banks

This endpoint gives you lists of banks.
Headers
Accept: application/json
x-api-key: {key}

Example request:

curl -X GET \
    -G "https://rechargepro.ng/api/bank/list" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}"
const url = new URL(
    "https://rechargepro.ng/api/bank/list"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://rechargepro.ng/api/bank/list',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/bank/list'
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{
    "status": 200,
    "response": "success",
    "data": [
        {
            "id": 1,
            "name": "Access Bank",
            "code": "000014"
        },
        {
            "id": 2,
            "name": "Citi Bank",
            "code": "000009"
        },
        {
            "id": 3,
            "name": "Access (Diamond) Bank",
            "code": "000005"
        },
        {
            "id": 4,
            "name": "Ecobank Bank",
            "code": "000010"
        },
        {
            "id": 5,
            "name": "Enterprise Bank",
            "code": "000019"
        },
        {
            "id": 6,
            "name": "FCMB",
            "code": "000003"
        },
        {
            "id": 7,
            "name": "Fidelity Bank",
            "code": "000007"
        },
        {
            "id": 8,
            "name": "First Bank of Nigeria",
            "code": "000016"
        },
        {
            "id": 9,
            "name": "Globus Bank",
            "code": "000027"
        },
        {
            "id": 10,
            "name": "GT Bank Plc",
            "code": "000013"
        }
    ]
}

HTTP Request

GET api/bank/list

Get bank code by bank name

This endpoint gives you the bankCode of a specific bank.
Headers
Accept: application/json
x-api-key: {key}

Example request:

curl -X GET \
    -G "https://rechargepro.ng/api/get-bank-code/harum" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}"
const url = new URL(
    "https://rechargepro.ng/api/get-bank-code/harum"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://rechargepro.ng/api/get-bank-code/harum',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/get-bank-code/harum'
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{
    "status": 200,
    "response": "success",
    "bankCode": "000014"
}

HTTP Request

GET api/get-bank-code/{bankName}

URL Parameters

Parameter Status Description
bankName optional string The bank name you want to get its bankCode

Buy Airtime

This Section process all airtime transactions

Get Phone Number Info

This endpoint give phone number information and also determine which network provider it belongs to.
Headers
Accept: application/json
x-api-key: {key}

Example request:

curl -X GET \
    -G "https://rechargepro.ng/api/airtime/info/4" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}"
const url = new URL(
    "https://rechargepro.ng/api/airtime/info/4"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://rechargepro.ng/api/airtime/info/4',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/airtime/info/4'
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{
    "status": 200,
    "product_id": "MFIN-1-OR",
    "country": "Nigeria",
    "operator": "Airtel",
    "msisdn": "2349070949654",
    "transaction_reference": "69MHWIRX48JV0FLBU1QD",
    "currency": "NGN",
    "topup_currency": "NGN",
    "rate": 1.0100000000000000088817841970012523233890533447265625,
    "operatorImage": "...\/1609842345.png"
}

HTTP Request

GET api/airtime/info/{phone_number}

URL Parameters

Parameter Status Description
phone_number required The phone number you want to get the info

Buy Airtime


Requires authentication

This endpoint performs the airtime topup. This end point requires an extra Header Authourization Bearer token

Example:[ Authorization: Bearer {token}]
{token} is the accessToken gotten from the auth endpoint response
Headers
Accept: application/json
x-api-key: {key}
Authorization: Bearer {token}

Example request:

curl -X POST \
    "https://rechargepro.ng/api/airtime/buyAirtime" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -H "Authourization: Bearer {token}" \
    -d '{"amount":15,"phone_number":"fugiat","pin":7}'
const url = new URL(
    "https://rechargepro.ng/api/airtime/buyAirtime"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
    "Authourization": "Bearer {token}"
};

let body = {
    "amount": 15,
    "phone_number": "fugiat",
    "pin": 7
}

fetch(url, {
    method: "POST",
    headers: headers,
    body: body
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rechargepro.ng/api/airtime/buyAirtime',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
            'Authourization' => 'Bearer {token}'

        ],
        'json' => [
            'amount' => 1000,
            'phone_number' => '081XXXXXXXX',
            'pin' => mmndjxx(-
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/airtime/buyAirtime'
payload = {
    "amount": 1000,
    "phone_number": "081XXXXXXX",
    "pin": mmndjxx(-
}
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}',
  'Authourization': 'Bearer {token}'

}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):

{
    "status": 200,
    "message": "successful transaction",
    "data": {
        "transaction_ref": "2DE7QYVASNTMUF4CJIB0",
        "topUpAmount": "100",
        "provider": "mtn",
        "msisdn": "23481xxxxxxxx",
        "tDate": "05-Aug-2021 12:02:07",
        "billerReference": "f1bb3aa1-f5e4-11eb-ae48-b597c7c56b61",
        "transactedBy": "Test User"
    }
}

HTTP Request

POST api/airtime/buyAirtime

Body Parameters

Parameter Type Status Description
amount integer required The amount of airtime you want to top up.
phone_number string required The phone number your want to top up. Example 080(xxxxxxxx)
pin integer required The four digit authorization pin given to you during account creation encode in base64.

Buy Data

This Section process all data transactions

Get data bundles



This endpoint gives data bundles based on the given phone number
Headers
Accept: application/json
x-api-key: {key}

Example request:

curl -X GET \
    -G "https://rechargepro.ng/api/data/info/20" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}"
const url = new URL(
    "https://rechargepro.ng/api/data/info/20"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://rechargepro.ng/api/data/info/20',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/data/info/20'
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{
    "opts": {
        "hasOpenRange": false,
        "country": "Nigeria",
        "operator": "MTN",
        "iso": "ng",
        "canOverride": true,
        "msisdn": "2348100071679",
        "operator_image": "...\/img.jpg"
    },
    "0": [
        {
            "product_id": "D-MFIN-5-75MB",
            "validity": "1 day",
            "dataAmount": "75",
            "price": 100
        },
        {}
    ]
}

HTTP Request

GET api/data/info/{phone_number}

URL Parameters

Parameter Status Description
phone_number required Phone number you want to get its data bundles withouth the prefix 234.

Vend Data


Requires authentication

This endpoint performs the data bundle top up. This endpoint also requires the Authorization Bearer token in the header (Authourization: Bearer {token})
Headers
x-api-key: {key}
Accept: application/json

Example request:

curl -X POST \
    "https://rechargepro.ng/api/databundle/vendData" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -H "Authorization: Bearer {token}" \
    -d '{"phone_number":1000,"product_id":"D-MFIN-5-75MB","pin":"Mndj(*"}'
const url = new URL(
    "https://rechargepro.ng/api/databundle/vendData"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
    "AUthourization": "Bearer {token}"
};

let body = {
    "phone_number": 1000,
    "product_id": "D-MFIN-5-75MB",
    "pin": "Mndj(*"}"
}

fetch(url, {
    method: "POST",
    headers: headers,
    body: body
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rechargepro.ng/api/databundle/vendData',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
            'Authourization' => 'Bearer {token}'
        ],
        'json' => [
            'phone_number' => 1000,
            'product_id' => 'D-MFIN-5-75MB',
            'pin' => 'Mndj(*"}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/databundle/vendData'
payload = {
    "phone_number": 1000,
    "product_id": "D-MFIN-5-75MB",
    "pin": "Mndj(*"}"
}
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}',
  'Authorization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):

{
    "status": 200,
    "message": "successful transaction",
    "data": {
        "transaction_ref": "TLHJ8X9PW1QC3VSR4BA2",
        "topUpAmount": 100,
        "DataValue": "75MB",
        "provider": "mtn",
        "msisdn": "234xxxxxxxxx",
        "tDate": "04-Aug-2021 11:56:07",
        "billerReference": "f12264d1-f51a-11eb-862e-b3ee677f308c",
        "transactedBy": "Test User"
    }
}

HTTP Request

POST api/databundle/vendData

Body Parameters

Parameter Type Status Description
phone_number integer required The phone number you want to vend data
product_id string required The product id of the specific databundle you want to vend
pin integer required The four digit authorization pin given to you during account creation encode in base64.

Money Transfer

Name Enquiry

This endpoint gets the name of an account number and bank given
Headers
Accept: application/json
x-api-key: {key}
Authorization: Bearer {token}

Example request:

curl -X POST \
    "https://rechargepro.ng/api/user/transfer/getAccountDetails" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -d '{"bankCode":220011,"account_number":"0099220033"}'
const url = new URL(
    "https://rechargepro.ng/api/user/transfer/getAccountDetails"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
};

let body = {
    "bankCode": 220011,
    "account_number": "0099220033"
}

fetch(url, {
    method: "POST",
    headers: headers,
    body: body
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rechargepro.ng/api/user/transfer/getAccountDetails',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
        ],
        'json' => [
            'bankCode' => 220011,
            'account_number' => '0099220033',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/user/transfer/getAccountDetails'
payload = {
    "bankCode": 220011,
    "account_number": "0099220033"
}
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):

{
    "status": 200,
    "response": "success",
    "data": {
        "sessionID": "1000102108081811908670579247275",
        "destinationInstitutionCode": "220011",
        "channelCode": "2",
        "accountName": "TEST USER",
        "accountNumber": "0099220033",
        "bankVerificationNumber": "22216458510",
        "kycLevel": "3",
        "bankName": "Test Bank"
    }
}

HTTP Request

POST api/user/transfer/getAccountDetails

Body Parameters

Parameter Type Status Description
bankCode integer required The bank code gotten from the bank list endpoint.
account_number required optional The account Number you want to query.

Send Money


Requires authentication

Example request:

curl -X POST \
    "https://rechargepro.ng/api/user/transfer/send-money" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -H "Authourization: Bearer {token}"
    -d '{"accountNumber":99220033,"nameEnquiryRef":9223372036854775807,"accountName":"Ibrahim Jide Okafor","destinationCode":13,"bankVerificationNumber":19,"kycLevel":4,"amount":11,"phone_number":"ut","pin":6}'
const url = new URL(
    "https://rechargepro.ng/api/user/transfer/send-money"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
    "Authourization": "Bearer {token}"
};

let body = {
    "accountNumber": 99220033,
    "nameEnquiryRef": 9223372036854775807,
    "accountName": "Ibrahim Jide Okafor",
    "destinationCode": 13,
    "bankVerificationNumber": 19,
    "kycLevel": 4,
    "amount": 11,
    "phone_number": "ut",
    "pin": 6
}

fetch(url, {
    method: "POST",
    headers: headers,
    body: body
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rechargepro.ng/api/user/transfer/send-money',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
            'Authourization' => 'Bearer {token}'
        ],
        'json' => [
            'accountNumber' => 99220033,
            'nameEnquiryRef' => 9223372036854775807,
            'accountName' => 'Ibrahim Jide Okafor',
            'destinationCode' => 13,
            'bankVerificationNumber' => 19,
            'kycLevel' => 4,
            'amount' => 11,
            'phone_number' => 'ut',
            'pin' => 6,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/user/transfer/send-money'
payload = {
    "accountNumber": 99220033,
    "nameEnquiryRef": 9223372036854775807,
    "accountName": "Ibrahim Jide Okafor",
    "destinationCode": 13,
    "bankVerificationNumber": 19,
    "kycLevel": 4,
    "amount": 11,
    "phone_number": "ut",
    "pin": 6
}
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}',
  'Authourization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):

{
    "status": 200,
    "reponse": "successful",
    "data": {
        "ref_id": "AMOEU983NSKANSSMDIA",
        "amountTransfered": "5000",
        "serviceCharge": 10,
        "desc": "Transfered 5000 from your rechargepro wallet to 0099220033 DESC\/ tEST bANK\/Ibrahim Jide Okafor",
        "balance": 9000,
        "tDate": "20 Sept, 2021 08:00 am",
        "sold_by": "test User",
        "reciever_phone": "0810XXXXXXXX"
    }
}

HTTP Request

POST api/user/transfer/send-money

Body Parameters

Parameter Type Status Description
accountNumber integer required The account number your want to transfer money to.
nameEnquiryRef integer required The SESSION ID gotten from the name enquiry endpoint.
accountName string required The name associated with the account you want to transfer to always use the name gotten from the name enquiry endpoint.
destinationCode integer required The bank Code of the destination bank gotten from the name enquiry endpoint response
bankVerificationNumber integer required The bankVerificationNumber gotten from the name enquiry endpoint
kycLevel integer required The kycLevel gotten from the name enquiry endpoint
amount integer required The amount you want to transfer
phone_number string optional The phone number of the reciever
pin integer required The four digit authorization pin given to you during account creation encode in base64.

Multichoice Bills (DStv & GOtv)

Get Bouquets

This endpoint returns list of bouquets based on the service provided
Headers
Accept: application/json
x-api-key: {key}

Example request:

curl -X GET \
    -G "https://rechargepro.ng/api/cableTv/bouquets/possimus" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}"
const url = new URL(
    "https://rechargepro.ng/api/cableTv/bouquets/possimus"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://rechargepro.ng/api/cableTv/bouquets/possimus',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/cableTv/bouquets/possimus'
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{
    "status": 200,
    "response": "successful",
    "Bouquets": [
        {
            "Id": 1191,
            "bouquet_name": "Max",
            "amount": 3600,
            "product_key": "GOTVMAX",
            "product_key2": "0",
            "product_key3": "0",
            "bouquet_category": "GOTV"
        },
        {
            "Id": 1201,
            "bouquet_name": "Jolli",
            "amount": 2460,
            "product_key": "GOTVNJ2",
            "product_key2": "0",
            "product_key3": "0",
            "bouquet_category": "GOTV"
        },
        {}
    ]
}

HTTP Request

GET api/cableTv/bouquets/{service}

URL Parameters

Parameter Status Description
service required The service you want to get its bouquet. Example dstv or gotv

Query Subscriber

This endpoint returns information about the subscriber including previous subscription and newly selected subscription. This endpoint must be called before vending is performed.
Headers
Accept: application/json
x-api-key: {key}

Example request:

curl -X POST \
    "https://rechargepro.ng/api/cableTv/multichoice/info/lookup" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -d '{"product_key":"totam","card_number":9}'
const url = new URL(
    "https://rechargepro.ng/api/cableTv/multichoice/info/lookup"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
};

let body = {
    "product_key": "totam",
    "card_number": 9
}

fetch(url, {
    method: "POST",
    headers: headers,
    body: body
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rechargepro.ng/api/cableTv/multichoice/info/lookup',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
        ],
        'json' => [
            'product_key' => 'totam',
            'card_number' => 9,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/cableTv/multichoice/info/lookup'
payload = {
    "product_key": "totam",
    "card_number": 9
}
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):

{
    "basketID": "733890",
    "firstname": "",
    "surname": "INI OBONG BASSEY",
    "accountNumber": "31730262",
    "cardNumber": "4131953321",
    "dstvCustomerNumber": "275953782",
    "currentCustomerBoquetCode": "NNJ1E36",
    "currentCustomerBoquetName": "DStv Yanga ",
    "currentCustomerBoquetPrice": "2950.00",
    "provider": null,
    "selectedBouquetCode": "COMPLE36",
    "selectedBouquetName": "DStv Compact Plus",
    "selectedBouquetPrice": 12400,
    "merchantReference": "8C2PZRDSQ3BJMUY0W6L9",
    "service_charge": 100,
    "image": "...\/dstv.png"
}

HTTP Request

POST api/cableTv/multichoice/info/lookup

Body Parameters

Parameter Type Status Description
product_key string required The product key of the bouquet you want to vend gotten from the getBouquets endpoint
card_number integer required The DStv smartcard number or GOtv IUC number you want to vend.

Vend DStv/GOtv


Requires authentication
This endpoint performs the multichoice cabletv subscription for either gotv or dstv.
Headers
Accept: application/json
x-api-key: {key}
Authourization: Bearer {token}
Note: Always call the query subscriber before the vend enpoint to get the BasketID

Example request:

curl -X POST \
    "https://rechargepro.ng/api/cableTv/multichoice/vend" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -H "Authourization: Bearer {token}" \
    -d '{"product_key":"excepturi","card_number":6,"basketID":19,"phone_number":"recusandae","pin":20}'
const url = new URL(
    "https://rechargepro.ng/api/cableTv/multichoice/vend"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
    "Authourization": "Bearer {token}"
};

let body = {
    "product_key": "excepturi",
    "card_number": 6,
    "basketID": 19,
    "phone_number": "recusandae",
    "pin": 20
}

fetch(url, {
    method: "POST",
    headers: headers,
    body: body
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rechargepro.ng/api/cableTv/multichoice/vend',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
            'Authourization' => 'Bearer {token}'
        ],
        'json' => [
            'product_key' => 'excepturi',
            'card_number' => 6,
            'basketID' => 19,
            'phone_number' => 'recusandae',
            'pin' => 20,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/cableTv/multichoice/vend'
payload = {
    "product_key": "excepturi",
    "card_number": 6,
    "basketID": 19,
    "phone_number": "recusandae",
    "pin": 20
}
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}',
  'Authourization': 'Bearer {token}',
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):

{
    "status": 200,
    "response": "successful",
    "message": "successful Transaction",
    "reference_id": "69AORNYU3HCXTLSMWQJZ",
    "selectedBouquet": "Compact Plus",
    "provider": "dstv",
    "amountPaid": 12400,
    "fee": 0,
    "smartcard": "4131953321",
    "phone_number": "081xxxxxxxxx",
    "tDate": "04-Aug-2021 11:14:21 PM",
    "transactedBy": "Test User"
}

HTTP Request

POST api/cableTv/multichoice/vend

Body Parameters

Parameter Type Status Description
product_key string required The required bouquet product key. this is gotten from the get bouquets endpoint
card_number integer required The DStv or GOtv smartcard number
basketID integer required This is gotten from the query subscriber endpoint which must be Unique per tarnsaction
phone_number string optional optional Phone number of the customer this field is optional.
pin integer required The four digit authorization pin given to you during account creation encode in base64.

Pay Electricity Bill

Verify Meter Number

This endpoint gives information like address, district, outstanding balance of the meter.
Headers
Accept: application/json
x-api-key: {key}

Example request:

curl -X POST \
    "https://rechargepro.ng/api/electricity/verify" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -d '{"meter_number":11,"provider":"eaque","meter_type":"tenetur","phone_number":"assumenda"}'
const url = new URL(
    "https://rechargepro.ng/api/electricity/verify"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
};

let body = {
    "meter_number": 11,
    "provider": "eaque",
    "meter_type": "tenetur",
    "phone_number": "assumenda"
}

fetch(url, {
    method: "POST",
    headers: headers,
    body: body
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rechargepro.ng/api/electricity/verify',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
        ],
        'json' => [
            'meter_number' => 11,
            'provider' => 'eaque',
            'meter_type' => 'tenetur',
            'phone_number' => 'assumenda',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/electricity/verify'
payload = {
    "meter_number": 11,
    "provider": "eaque",
    "meter_type": "tenetur",
    "phone_number": "assumenda"
}
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):

{
    "status": 200,
    "message": "successful",
    "data": {
        "name": "UCHE OBELLE",
        "address": "ROAD 33HOUSE15TRANS AMADI GARDENS H\/EST. ",
        "outStandingBalance": "0",
        "meterNumber": "04185669621",
        "meterType": "prepaid",
        "image": "..\/1608913533.png",
        "providerName": "Portharcourt Electricity discribution company",
        "customerNumber": "812380199801",
        "serviceCharge": 100
    }
}

HTTP Request

POST api/electricity/verify

Body Parameters

Parameter Type Status Description
meter_number integer required Meter Number to validate
provider string required The electricity distribution the meter belongs to
meter_type string required The meter type usually prepaid or postpaid
phone_number string required The phone number of the customer

Buy Electricity Bill


Requires authentication
This endpoint is used to purchase power
Headers
Accept: application/json
x-api-key: {key}
Authorization: Bearer {token}

Example request:

curl -X POST \
    "https://rechargepro.ng/api/electricity/vend" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -H "Authourization: Bearer {token}" \
    -d '{"meter_type":"prepaid","provider":"phed","billerName":"UCHE OBELLE","billerAddress":"ROAD 33HOUSE15TRANS AMADI GARDENS H\/EST.","outstandingBalance":"8989.09","amount":1000,"meter_number":4185669621,"phone":"consequatur","customerNumber":812380199801,"pin":19}'
const url = new URL(
    "https://rechargepro.ng/api/electricity/vend"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
    "Authourization": "Bearer {token}"
};

let body = {
    "meter_type": "prepaid",
    "provider": "phed",
    "billerName": "UCHE OBELLE",
    "billerAddress": "ROAD 33HOUSE15TRANS AMADI GARDENS H\/EST.",
    "outstandingBalance": "8989.09",
    "amount": 1000,
    "meter_number": 4185669621,
    "phone": "consequatur",
    "customerNumber": 812380199801,
    "pin": 19
}

fetch(url, {
    method: "POST",
    headers: headers,
    body: body
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rechargepro.ng/api/electricity/vend',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
            'Authourization' => 'Bearer {token}'
        ],
        'json' => [
            'meter_type' => 'prepaid',
            'provider' => 'phed',
            'billerName' => 'UCHE OBELLE',
            'billerAddress' => 'ROAD 33HOUSE15TRANS AMADI GARDENS H/EST.',
            'outstandingBalance' => '8989.09',
            'amount' => 1000,
            'meter_number' => 4185669621,
            'phone' => 'consequatur',
            'customerNumber' => 812380199801,
            'pin' => 19,
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/electricity/vend'
payload = {
    "meter_type": "prepaid",
    "provider": "phed",
    "billerName": "UCHE OBELLE",
    "billerAddress": "ROAD 33HOUSE15TRANS AMADI GARDENS H\/EST.",
    "outstandingBalance": "8989.09",
    "amount": 1000,
    "meter_number": 4185669621,
    "phone": "consequatur",
    "customerNumber": 812380199801,
    "pin": 19
}
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}',
  'Authourization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):

{
    "status": 200,
    "transactionStatus": "successful",
    "transactionReference": "5PJ2Z1TKCQVUY6WNHD3S",
    "customerName": "Customer Name",
    "customerAddress": "Customer Address",
    "customerPhone": "04185669621",
    "billerReference": "AEDC Receipt",
    "providerReference": "KVG Reference",
    "amount": 1900,
    "tokenCode": null,
    "amountOfPower": "",
    "meterNumber": "04185669621",
    "meterType": "postpaid",
    "totalAmountPaid": 2000,
    "service_charge": 100,
    "provider": "aedc",
    "providerName": "Abuja Electricity Distribution company",
    "tDate": "06-Aug-2021 05:01:39 PM",
    "transactedBy": "Test User"
}

HTTP Request

POST api/electricity/vend

Body Parameters

Parameter Type Status Description
meter_type string required The type of the meter usually postpaid or prepaid.
provider string required The electricity distribution the meter belongs to.
billerName string required The name associated to the meter (This is gotten from the verify meter endpoint).
billerAddress string required The address associated to the meter (This is gotten from the verify meter endpoint).
outstandingBalance string optional The outstanding balance of the meter holder (This field is optional).
amount integer required The amount of power you want to purchase (Note a service charge of 100 is applied).
meter_number integer required The meter bumber you want to vend.
phone string required The phone number of the customer. Example 09090xxxxxxxx
customerNumber integer optional This field is only mandantory when paying for phed (Port Harcourt Electricity Distribution). This is gotten from the verify meter endpoint.
pin integer required The four digit authorization pin given to you during account creation encode in base64. Example; MMnx(0==)

Startimes Bill Payment

Get Startimes Bouquet

This endpoint fetches all startimes bouquet.
Headers
Accept: application/json
x-api-key: {key}

Example request:

curl -X GET \
    -G "https://rechargepro.ng/api/startimes/bouquets" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}"
const url = new URL(
    "https://rechargepro.ng/api/startimes/bouquets"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://rechargepro.ng/api/startimes/bouquets',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/startimes/bouquets'
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{
    "status": 200,
    "response": "success",
    "message": "Startimes Bouquets",
    "data": [
        {
            "variation_code": "nova",
            "name": "Nova - 900 Naira - 1 Month",
            "variation_amount": "900.00",
            "fixedPrice": "Yes"
        },
        {
            "variation_code": "basic",
            "name": "Basic (Antenna) - 1,700 Naira - 1 Month",
            "variation_amount": "1700.00",
            "fixedPrice": "Yes"
        },
        {
            "variation_code": "smart",
            "name": "Smart (Dish) - 2,200 Naira - 1 Month",
            "variation_amount": "2200.00",
            "fixedPrice": "Yes"
        }
    ]
}

HTTP Request

GET api/startimes/bouquets

Get Smartcard details

This endpoint returns the details of a startimes card number

Example request:

curl -X GET \
    -G "https://rechargepro.ng/api/startimes/info/1" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}"
const url = new URL(
    "https://rechargepro.ng/api/startimes/info/1"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://rechargepro.ng/api/startimes/info/1',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/startimes/info/1'
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{
    "status": 200,
    "response": "success",
    "message": "Startimes Bouquets",
    "data": {
        "name": "fatai",
        "currentPackage": "DTT_Classic",
        "smartCardCode": "02110144711",
        "balance": "8817.81",
        "service_charge": 100,
        "image": "http:..\/imgage.jpeg"
    }
}

HTTP Request

GET api/startimes/info/{smartcard_number}

URL Parameters

Parameter Status Description
card_number required The Smartcard number of the decoder you want to query.

Vend Startimes


Requires authentication

This endpoint performs the startimes cabletv subscription.
Headers
Accept: application/json
x-api-key: {key}
Authourization: Bearer {token}

Example request:

curl -X POST \
    "https://rechargepro.ng/api/startimes/vend" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -H "Authourization: Bearer {token}" \
    -d '{"smartcard":"02110144711","variation_code":"nova","phone_number":"081xxxxxxxx","subscriberName":"fatai","email":"testemail@email.com","pin":"MMioij"}'
const url = new URL(
    "https://rechargepro.ng/api/startimes/vend"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
    "Authorization": "Bearer {token}"
};

let body = {
    "smartcard": "02110144711",
    "variation_code": "nova",
    "phone_number": "081xxxxxxxx",
    "subscriberName": "fatai",
    "email": "testemail@email.com",
    "pin": "MMioij"
}

fetch(url, {
    method: "POST",
    headers: headers,
    body: body
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rechargepro.ng/api/startimes/vend',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
            'Authourization' => 'Bearer {token}'
        ],
        'json' => [
            'smartcard' => '02110144711',
            'variation_code' => 'nova',
            'phone_number' => '081xxxxxxxx',
            'subscriberName' => 'fatai',
            'email' => 'testemail@email.com',
            'pin' => "MMioij",
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/startimes/vend'
payload = {
    "smartcard": "02110144711",
    "variation_code": "nova",
    "phone_number": "081xxxxxxxx",
    "subscriberName": "fatai",
    "email": "testemail@email.com",
    "pin": "MMioij"
}
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}',
  'Authourization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):

{
    "status": 200,
    "response": "successful",
    "data": {
        "reference_id": "Q2N5FH3KYID6V70XRAE4",
        "bouquet_subscribed": "Nova - 90 Naira - 1 Day",
        "smartcard": "02027336692",
        "amount": "90.00",
        "service_charge": 0,
        "tDate": "06-Aug-2021 08:45:53 AM",
        "phone_number": "081xxxxxxxxx",
        "transactedBy": "Test User"
    }
}

HTTP Request

POST api/startimes/vend

Body Parameters

Parameter Type Status Description
smartcard string required The smartcard number you want to subscribe.
variation_code string required The varition_code of the bouquet you want to purchase. This is gotten from the Get Startimes Bouquet Endpoint
phone_number string required The phone number of the customer
subscriberName string required This fieid is name property gotten from the data object from the Get Smartcard Detailsresponse.
email email optional string Email address of the customer this field is optional
pin integer required The four digit authorization pin given to you during account creation encode in base64.

User Information

Get Profile Information


Requires authentication This endpoint returns User profile information

Example request:

curl -X GET \
    -G "https://rechargepro.ng/api/user/profile" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -H "Authourization: Bearer {token}" \
const url = new URL(
    "https://rechargepro.ng/api/user/profile"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
    "Authourization": "Bearer {token}",
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://rechargepro.ng/api/user/profile',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
            'Authourization' => 'Bearer {token}'
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/user/profile'
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}',
  'Authourization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{
    "status": 200,
    "response": "successful",
    "user": {
        "information": {
            "id": 1,
            "name": "test user",
            "email": "testemail@gmail.com",
            "email_verified_at": "2021-06-14T17:58:29.000000Z",
            "created_at": "2021-03-10T00:05:38.000000Z",
            "updated_at": "2021-08-08T16:34:42.000000Z",
            "google_id": null,
            "phone": "081XXXXXXXXXX",
            "is_super_agent": null,
            "is_sub_agent": null,
            "is_merchant": 1,
            "sub_agent_parent": null,
            "username": "testuser",
            "organization_id": null,
            "active": 1,
            "is_agent": null,
            "webAccess": 1,
            "appAccess": 1,
            "desktopAccess": 1,
            "pin": {
                "id": 1,
                "user_id": 1,
                "pin": "$2y$10$JlBxzFRCzwTP3U4ECmW3deFBdFmXcIuwBYB5NB0Ek0XfB5ROJSLlO",
                "recover_token": null,
                "expire_time": null,
                "created_at": "2021-03-10T00:05:40.000000Z",
                "updated_at": "2021-03-10T00:06:22.000000Z"
            }
        },
        "profile": {
            "phone": null,
            "image": "http:\/\/127.0.0.1:8000\/img\/no-image.jpg",
            "accountName": "Ibrahim Jide Okafor",
            "accountNumber": "0099220033",
            "bank": "Test Bank",
            "bank_prime_code": "220011"
        },
        "wallet": {
            "walletID": "6DKS3ZE",
            "balance": 69973.58999999999650754034519195556640625,
            "profit": 1403.25,
            "bonus": 0,
            "transferredFunds": 0
        }
    }
}

HTTP Request

GET api/user/profile

Waec Result Checker Pin

Waec Variation

This endpoint gets the price of WAEC RESULT CHECKER PIN

Example request:

curl -X POST \
    "https://rechargepro.ng/api/bills/education/waec-variation" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -d '{"email":"testuser@gmail.com","phone_number":"080XXXXXXXX"}'
const url = new URL(
    "https://rechargepro.ng/api/bills/education/waec-variation"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}"
};

let body = {
    "email": "testuser@gmail.com",
    "phone_number": "080XXXXXXXX"
}

fetch(url, {
    method: "POST",
    headers: headers,
    body: body
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rechargepro.ng/api/bills/education/waec-variation',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
        ],
        'json' => [
            'email' => 'testuser@gmail.com',
            'phone_number' => '080XXXXXXXX',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/bills/education/waec-variation'
payload = {
    "email": "testuser@gmail.com",
    "phone_number": "080XXXXXXXX"
}
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):

{
    "variation_code": "waecdirect",
    "serviceCharge": 0,
    "serviceLogo": "...\/image.png",
    "variation_amount": "900.00",
    "serviceID": "waec",
    "email": "testemail@email.com",
    "phone_number": "081XXXXXXXXXX"
}

HTTP Request

POST api/bills/education/waec-variation

Body Parameters

Parameter Type Status Description
email string required The email of the user.
phone_number string required The phone number of the user.

Buy Pins


Requires authentication

This endpoint is used to purchase the waec pin and serial number
Headers
Accept: application/json
x-api-key: {key}
Authorization: Bearer {token}

Example request:

curl -X POST \
    "https://rechargepro.ng/api/bills/education/waec/buy-pins" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -H "Authourization: Bearer {token}" \
    -d '{"phone_number":"081XXXXXXXX","email":"testuser@mail.com","serviceID":"deserunt","variation_code":"quia"}'
const url = new URL(
    "https://rechargepro.ng/api/bills/education/waec/buy-pins"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
    "Authourization": "Bearer {token}",
};

let body = {
    "phone_number": "081XXXXXXXX",
    "email": "testuser@mail.com",
    "serviceID": "deserunt",
    "variation_code": "quia"
}

fetch(url, {
    method: "POST",
    headers: headers,
    body: body
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://rechargepro.ng/api/bills/education/waec/buy-pins',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
            'Authourization' => 'Bearer {token}'
        ],
        'json' => [
            'phone_number' => '081XXXXXXXX',
            'email' => 'testuser@mail.com',
            'serviceID' => 'deserunt',
            'variation_code' => 'quia',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/bills/education/waec/buy-pins'
payload = {
    "phone_number": "081XXXXXXXX",
    "email": "testuser@mail.com",
    "serviceID": "deserunt",
    "variation_code": "quia"
}
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}',
  'Authourization': 'Bearer {token}'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200):

{
    "status": 200,
    "reference_id": "M4TALSFNG58HKYICW12Q",
    "message": "successful",
    "serial": "WRN182135587",
    "pin": "373820665258",
    "email": "testuser@gmail.com",
    "phone": "08111111111",
    "serviceCharge": 0,
    "amountPaid": 900,
    "tDate": "08-Aug-2021 09:15:25 PM",
    "transactedBy": "Test User"
}

HTTP Request

POST api/bills/education/waec/buy-pins

Body Parameters

Parameter Type Status Description
phone_number string required Phone number of the user.
email string required The email of the user.
serviceID string required The serviceID usually waec
variation_code string required The variation code gotten from waec variation endpoint Usually waecdirect

Wallet Information

Get Wallet Balance


Requires authentication
This endpoint returns all wallet balances. Headers
Accept: application/json
x-api-key: {key}

Example request:

curl -X GET \
    -G "https://rechargepro.ng/api/user/balance" \
    -H "Accept: application/json" \
    -H "x-api-key: {key}" \
    -H "Authourization: Bearer {token}"
const url = new URL(
    "https://rechargepro.ng/api/user/balance"
);

let headers = {
    "Accept": "application/json",
    "x-api-key": "{key}",
    "Authourization": "Bearer {token}"
};

fetch(url, {
    method: "GET",
    headers: headers,
})
    .then(response => response.json())
    .then(json => console.log(json));

$client = new \GuzzleHttp\Client();
$response = $client->get(
    'https://rechargepro.ng/api/user/balance',
    [
        'headers' => [
            'Accept' => 'application/json',
            'x-api-key' => '{key}',
            'Authourization': 'Bearer {token}'
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json

url = 'https://rechargepro.ng/api/user/balance'
headers = {
  'Accept': 'application/json',
  'x-api-key': '{key}',
  'Authourization': 'Bearer {token}'
}
response = requests.request('GET', url, headers=headers)
response.json()

Example response (200):

{
    "status": 200,
    "response": "user wallet balances",
    "mainBalance": 69973.58999999999650754034519195556640625,
    "wallet_id": "UIU8808",
    "profit": 1403.25,
    "bonus": 0
}

HTTP Request

GET api/user/balance