Smile Network Payment API
This section contains the recommended flow for integrating Smile Data VTU payment services on the VTpass RESTful API.
Authentication
The VTpass API uses Basic Authentication.
It should be passed as a concatenated string like this
username:password
Please use the following details for authentication
Username: YourVtpassEmail
Password: YourPassword
Please create your authentication details by following the instructions here.
Available Endpoints
To integrate the VTpass Smile Data VTU Payment RESTful API, the endpoints below applies:
- Get Variation Codes: this returns variation codes for various Smile Data (subscription plans)
- Purchase Product (Using the variation code gotten in the first step)
- Query transaction status
GET VARIATION CODES
Using a GET method, the VTpass variation codes for Smile Data VTU payment plans can be accessed with the endpoint below:
Live: https://vtpass.com/api/service-variations?serviceID=smile-direct
Sandbox: https://sandbox.vtpass.com/api/service-variations?serviceID=smile-direct
FIELDS | Mandatory/Optional | TYPE | DESCRIPTION |
N/A | N/A | N/A | N/A |
EXPECTED RESPONSE:
{ "response_description": "000", "content": { "ServiceName": "Smile Payment", "serviceID": "smile-direct", "convinience_fee": "N0", "variations": [ { "variation_code": "516", "name": "SmileVoice ONLY 65 for 30days - 510 Naira", "variation_amount": "510.00", "fixedPrice": "Yes" }, { "variation_code": "413", "name": "2GB MidNite for 7days - 1,020 Naira", "variation_amount": "1020.00", "fixedPrice": "Yes" }, { "variation_code": "517", "name": "SmileVoice ONLY 135 for 30days - 1,020 Naira", "variation_amount": "1020.00", "fixedPrice": "Yes" }, { "variation_code": "414", "name": "3GB MidNite for 7days - 1,530 Naira", "variation_amount": "1530.00", "fixedPrice": "Yes" }, { "variation_code": "415", "name": "3GB Weekend ONLY for 3days - 1,530 Naira", "variation_amount": "1530.00", "fixedPrice": "Yes" }, { "variation_code": "518", "name": "SmileVoice ONLY 430 for 30days - 3,070 Naira", "variation_amount": "3070.00", "fixedPrice": "Yes" }, { "variation_code": "airtime", "name": "Buy Airtime", "variation_amount": "0.00", "fixedPrice": "Yes" }, { "variation_code": "583", "name": "UnlimitedPlatinum for 30days - 24,000 Naira", "variation_amount": "24000.00", "fixedPrice": "Yes" }, { "variation_code": "624", "name": " 1GB Flexi for 1days - 300 Naira", "variation_amount": "300.00", "fixedPrice": "Yes" }, { "variation_code": "625", "name": " 2.5GB Flexi for 2days - 500 Naira", "variation_amount": "500.00", "fixedPrice": "Yes" }, { "variation_code": "626", "name": "1GB Flexi-Weekly for 7days - 500 Naira", "variation_amount": "500.00", "fixedPrice": "Yes" }, { "variation_code": "606", "name": "1.5GB Bigga for 30days - 1,000 Naira", "variation_amount": "1000.00", "fixedPrice": "Yes" }, { "variation_code": "627", "name": " 2GB Flexi-Weekly for 7days - 1,000 Naira", "variation_amount": "1000.00", "fixedPrice": "Yes" }, { "variation_code": "607", "name": "2GB Bigga for 30days - 1,200 Naira", "variation_amount": "1200.00", "fixedPrice": "Yes" }, { "variation_code": "608", "name": "3GB Bigga for 30days - 1,500 Naira", "variation_amount": "1500.00", "fixedPrice": "Yes" }, { "variation_code": "628", "name": " 6GB Flexi-Weekly for 7days - 1,500 Naira", "variation_amount": "1500.00", "fixedPrice": "Yes" }, { "variation_code": "620", "name": "5GB Bigga for 30days - 2,000 Naira", "variation_amount": "2000.00", "fixedPrice": "Yes" }, { "variation_code": "609", "name": "6.5GB Bigga for 30days - 2,500 Naira", "variation_amount": "2500.00", "fixedPrice": "Yes" }, { "variation_code": "610", "name": "8GB Bigga for 30days - 3,000 Naira", "variation_amount": "3000.00", "fixedPrice": "Yes" }, { "variation_code": "611", "name": "10GB Bigga for 30days - 3,500 Naira", "variation_amount": "3500.00", "fixedPrice": "Yes" }, { "variation_code": "612", "name": "12GB Bigga for 30days - 4,000 Naira", "variation_amount": "4000.00", "fixedPrice": "Yes" }, { "variation_code": "613", "name": "15GB Bigga for 30days - 5,000 Naira", "variation_amount": "5000.00", "fixedPrice": "Yes" }, { "variation_code": "614", "name": "20GB Bigga for 30days - 6,000 Naira", "variation_amount": "6000.00", "fixedPrice": "Yes" }, { "variation_code": "601", "name": "15GB-Anytime for 365days - 8,000 Naira", "variation_amount": "8000.00", "fixedPrice": "Yes" }, { "variation_code": "615", "name": "30GB Bigga for 30days - 8,000 Naira", "variation_amount": "8000.00", "fixedPrice": "Yes" }, { "variation_code": "616", "name": "40GB Bigga for 30days - 10,000 Naira", "variation_amount": "10000.00", "fixedPrice": "Yes" }, { "variation_code": "629", "name": "Unlimited-Lite for 30days - 10,000 Naira", "variation_amount": "10000.00", "fixedPrice": "Yes" }, { "variation_code": "617", "name": "60GB Bigga for 30days - 13,500 Naira", "variation_amount": "13500.00", "fixedPrice": "Yes" }, { "variation_code": "618", "name": "75GB Bigga for 30days - 15,000 Naira", "variation_amount": "15000.00", "fixedPrice": "Yes" }, { "variation_code": "621", "name": " 50GB Bumpa-Value for 60days - 15,000 Naira", "variation_amount": "15000.00", "fixedPrice": "Yes" }, { "variation_code": "630", "name": "Unlimited-Essential for 30days - 15,000 Naira", "variation_amount": "15000.00", "fixedPrice": "Yes" }, { "variation_code": "602", "name": " 35GB-Anytime for 365days - 16,000 Naira", "variation_amount": "16000.00", "fixedPrice": "Yes" }, { "variation_code": "619", "name": "100GB Bigga for 30days - 18,000 Naira", "variation_amount": "18000.00", "fixedPrice": "Yes" }, { "variation_code": "655", "name": "UnlimitedPremium for 30days - 20,000 Naira", "variation_amount": "20000.00", "fixedPrice": "Yes" }, { "variation_code": "622", "name": " 80GB Bumpa-Value for 90days - 30,000 Naira", "variation_amount": "30000.00", "fixedPrice": "Yes" }, { "variation_code": "603", "name": " 90GB-Anytime for 365days - 36,000 Naira", "variation_amount": "36000.00", "fixedPrice": "Yes" }, { "variation_code": "623", "name": " 100GB Bumpa-Value for 120days - 40,000 Naira", "variation_amount": "40000.00", "fixedPrice": "Yes" }, { "variation_code": "604", "name": " 200GB-Anytime for 365days - 70,000 Naira", "variation_amount": "70000.00", "fixedPrice": "Yes" }, { "variation_code": "605", "name": " 400GB-Anytime for 365days - 120,000 Naira", "variation_amount": "120000.00", "fixedPrice": "Yes" }, { "variation_code": "722", "name": "10GB Bigga for 30days - 3,300 Naira", "variation_amount": "3300.00", "fixedPrice": "Yes" }, { "variation_code": "723", "name": "15GB Bigga for 30days - 4,400 Naira", "variation_amount": "4400.00", "fixedPrice": "Yes" }, { "variation_code": "724", "name": "20GB Bigga for 30days - 5,500 Naira", "variation_amount": "5500.00", "fixedPrice": "Yes" }, { "variation_code": "725", "name": "25GB Bigga for 30days - 6,600 Naira", "variation_amount": "6600.00", "fixedPrice": "Yes" }, { "variation_code": "730", "name": "UnlimitedLite for 30days - 13,200 Naira", "variation_amount": "13200.00", "fixedPrice": "Yes" }, { "variation_code": "729", "name": "UnlimitedEssential for 30days - 19,800 Naira", "variation_amount": "19800.00", "fixedPrice": "Yes" }, { "variation_code": "726", "name": "Freedom 3Mbps for 30days - 27,500 Naira", "variation_amount": "27500.00", "fixedPrice": "Yes" }, { "variation_code": "727", "name": "Freedom 6Mbps for 30days - 33,000 Naira", "variation_amount": "33000.00", "fixedPrice": "Yes" }, { "variation_code": "728", "name": "Freedom BestEffort for 30days - 44,000 Naira", "variation_amount": "44000.00", "fixedPrice": "Yes" }, { "variation_code": "721", "name": "400GB Jumbo for 180days - 55,000 Naira", "variation_amount": "55000.00", "fixedPrice": "Yes" }, { "variation_code": "747", "name": "SmileVoice ONLY 65 for 30days - 600 Naira", "variation_amount": "600.00", "fixedPrice": "Yes" }, { "variation_code": "748", "name": "SmileVoice ONLY 135 for 30days - 1,250 Naira", "variation_amount": "1250.00", "fixedPrice": "Yes" }, { "variation_code": "750", "name": "SmileVoice ONLY 150 for 60days - 1,800 Naira", "variation_amount": "1800.00", "fixedPrice": "Yes" }, { "variation_code": "752", "name": "SmileVoice ONLY 175 for 90days - 2,400 Naira", "variation_amount": "2400.00", "fixedPrice": "Yes" }, { "variation_code": "749", "name": "SmileVoice ONLY 430 for 30days - 3,850 Naira", "variation_amount": "3850.00", "fixedPrice": "Yes" }, { "variation_code": "751", "name": "SmileVoice ONLY 450 for 60days - 4,850 Naira", "variation_amount": "4850.00", "fixedPrice": "Yes" }, { "variation_code": "753", "name": "SmileVoice ONLY 500 for 90days - 6,050 Naira", "variation_amount": "6050.00", "fixedPrice": "Yes" }, { "variation_code": "758", "name": "Freedom Mobile Plan for 30days - 5,000 Naira", "variation_amount": "5000.00", "fixedPrice": "Yes" } ], "varations": [ { "variation_code": "516", "name": "SmileVoice ONLY 65 for 30days - 510 Naira", "variation_amount": "510.00", "fixedPrice": "Yes" }, { "variation_code": "413", "name": "2GB MidNite for 7days - 1,020 Naira", "variation_amount": "1020.00", "fixedPrice": "Yes" }, { "variation_code": "517", "name": "SmileVoice ONLY 135 for 30days - 1,020 Naira", "variation_amount": "1020.00", "fixedPrice": "Yes" }, { "variation_code": "414", "name": "3GB MidNite for 7days - 1,530 Naira", "variation_amount": "1530.00", "fixedPrice": "Yes" }, { "variation_code": "415", "name": "3GB Weekend ONLY for 3days - 1,530 Naira", "variation_amount": "1530.00", "fixedPrice": "Yes" }, { "variation_code": "518", "name": "SmileVoice ONLY 430 for 30days - 3,070 Naira", "variation_amount": "3070.00", "fixedPrice": "Yes" }, { "variation_code": "airtime", "name": "Buy Airtime", "variation_amount": "0.00", "fixedPrice": "Yes" }, { "variation_code": "583", "name": "UnlimitedPlatinum for 30days - 24,000 Naira", "variation_amount": "24000.00", "fixedPrice": "Yes" }, { "variation_code": "624", "name": " 1GB Flexi for 1days - 300 Naira", "variation_amount": "300.00", "fixedPrice": "Yes" }, { "variation_code": "625", "name": " 2.5GB Flexi for 2days - 500 Naira", "variation_amount": "500.00", "fixedPrice": "Yes" }, { "variation_code": "626", "name": "1GB Flexi-Weekly for 7days - 500 Naira", "variation_amount": "500.00", "fixedPrice": "Yes" }, { "variation_code": "606", "name": "1.5GB Bigga for 30days - 1,000 Naira", "variation_amount": "1000.00", "fixedPrice": "Yes" }, { "variation_code": "627", "name": " 2GB Flexi-Weekly for 7days - 1,000 Naira", "variation_amount": "1000.00", "fixedPrice": "Yes" }, { "variation_code": "607", "name": "2GB Bigga for 30days - 1,200 Naira", "variation_amount": "1200.00", "fixedPrice": "Yes" }, { "variation_code": "608", "name": "3GB Bigga for 30days - 1,500 Naira", "variation_amount": "1500.00", "fixedPrice": "Yes" }, { "variation_code": "628", "name": " 6GB Flexi-Weekly for 7days - 1,500 Naira", "variation_amount": "1500.00", "fixedPrice": "Yes" }, { "variation_code": "620", "name": "5GB Bigga for 30days - 2,000 Naira", "variation_amount": "2000.00", "fixedPrice": "Yes" }, { "variation_code": "609", "name": "6.5GB Bigga for 30days - 2,500 Naira", "variation_amount": "2500.00", "fixedPrice": "Yes" }, { "variation_code": "610", "name": "8GB Bigga for 30days - 3,000 Naira", "variation_amount": "3000.00", "fixedPrice": "Yes" }, { "variation_code": "611", "name": "10GB Bigga for 30days - 3,500 Naira", "variation_amount": "3500.00", "fixedPrice": "Yes" }, { "variation_code": "612", "name": "12GB Bigga for 30days - 4,000 Naira", "variation_amount": "4000.00", "fixedPrice": "Yes" }, { "variation_code": "613", "name": "15GB Bigga for 30days - 5,000 Naira", "variation_amount": "5000.00", "fixedPrice": "Yes" }, { "variation_code": "614", "name": "20GB Bigga for 30days - 6,000 Naira", "variation_amount": "6000.00", "fixedPrice": "Yes" }, { "variation_code": "601", "name": "15GB-Anytime for 365days - 8,000 Naira", "variation_amount": "8000.00", "fixedPrice": "Yes" }, { "variation_code": "615", "name": "30GB Bigga for 30days - 8,000 Naira", "variation_amount": "8000.00", "fixedPrice": "Yes" }, { "variation_code": "616", "name": "40GB Bigga for 30days - 10,000 Naira", "variation_amount": "10000.00", "fixedPrice": "Yes" }, { "variation_code": "629", "name": "Unlimited-Lite for 30days - 10,000 Naira", "variation_amount": "10000.00", "fixedPrice": "Yes" }, { "variation_code": "617", "name": "60GB Bigga for 30days - 13,500 Naira", "variation_amount": "13500.00", "fixedPrice": "Yes" }, { "variation_code": "618", "name": "75GB Bigga for 30days - 15,000 Naira", "variation_amount": "15000.00", "fixedPrice": "Yes" }, { "variation_code": "621", "name": " 50GB Bumpa-Value for 60days - 15,000 Naira", "variation_amount": "15000.00", "fixedPrice": "Yes" }, { "variation_code": "630", "name": "Unlimited-Essential for 30days - 15,000 Naira", "variation_amount": "15000.00", "fixedPrice": "Yes" }, { "variation_code": "602", "name": " 35GB-Anytime for 365days - 16,000 Naira", "variation_amount": "16000.00", "fixedPrice": "Yes" }, { "variation_code": "619", "name": "100GB Bigga for 30days - 18,000 Naira", "variation_amount": "18000.00", "fixedPrice": "Yes" }, { "variation_code": "655", "name": "UnlimitedPremium for 30days - 20,000 Naira", "variation_amount": "20000.00", "fixedPrice": "Yes" }, { "variation_code": "622", "name": " 80GB Bumpa-Value for 90days - 30,000 Naira", "variation_amount": "30000.00", "fixedPrice": "Yes" }, { "variation_code": "603", "name": " 90GB-Anytime for 365days - 36,000 Naira", "variation_amount": "36000.00", "fixedPrice": "Yes" }, { "variation_code": "623", "name": " 100GB Bumpa-Value for 120days - 40,000 Naira", "variation_amount": "40000.00", "fixedPrice": "Yes" }, { "variation_code": "604", "name": " 200GB-Anytime for 365days - 70,000 Naira", "variation_amount": "70000.00", "fixedPrice": "Yes" }, { "variation_code": "605", "name": " 400GB-Anytime for 365days - 120,000 Naira", "variation_amount": "120000.00", "fixedPrice": "Yes" }, { "variation_code": "722", "name": "10GB Bigga for 30days - 3,300 Naira", "variation_amount": "3300.00", "fixedPrice": "Yes" }, { "variation_code": "723", "name": "15GB Bigga for 30days - 4,400 Naira", "variation_amount": "4400.00", "fixedPrice": "Yes" }, { "variation_code": "724", "name": "20GB Bigga for 30days - 5,500 Naira", "variation_amount": "5500.00", "fixedPrice": "Yes" }, { "variation_code": "725", "name": "25GB Bigga for 30days - 6,600 Naira", "variation_amount": "6600.00", "fixedPrice": "Yes" }, { "variation_code": "730", "name": "UnlimitedLite for 30days - 13,200 Naira", "variation_amount": "13200.00", "fixedPrice": "Yes" }, { "variation_code": "729", "name": "UnlimitedEssential for 30days - 19,800 Naira", "variation_amount": "19800.00", "fixedPrice": "Yes" }, { "variation_code": "726", "name": "Freedom 3Mbps for 30days - 27,500 Naira", "variation_amount": "27500.00", "fixedPrice": "Yes" }, { "variation_code": "727", "name": "Freedom 6Mbps for 30days - 33,000 Naira", "variation_amount": "33000.00", "fixedPrice": "Yes" }, { "variation_code": "728", "name": "Freedom BestEffort for 30days - 44,000 Naira", "variation_amount": "44000.00", "fixedPrice": "Yes" }, { "variation_code": "721", "name": "400GB Jumbo for 180days - 55,000 Naira", "variation_amount": "55000.00", "fixedPrice": "Yes" }, { "variation_code": "747", "name": "SmileVoice ONLY 65 for 30days - 600 Naira", "variation_amount": "600.00", "fixedPrice": "Yes" }, { "variation_code": "748", "name": "SmileVoice ONLY 135 for 30days - 1,250 Naira", "variation_amount": "1250.00", "fixedPrice": "Yes" }, { "variation_code": "750", "name": "SmileVoice ONLY 150 for 60days - 1,800 Naira", "variation_amount": "1800.00", "fixedPrice": "Yes" }, { "variation_code": "752", "name": "SmileVoice ONLY 175 for 90days - 2,400 Naira", "variation_amount": "2400.00", "fixedPrice": "Yes" }, { "variation_code": "749", "name": "SmileVoice ONLY 430 for 30days - 3,850 Naira", "variation_amount": "3850.00", "fixedPrice": "Yes" }, { "variation_code": "751", "name": "SmileVoice ONLY 450 for 60days - 4,850 Naira", "variation_amount": "4850.00", "fixedPrice": "Yes" }, { "variation_code": "753", "name": "SmileVoice ONLY 500 for 90days - 6,050 Naira", "variation_amount": "6050.00", "fixedPrice": "Yes" }, { "variation_code": "758", "name": "Freedom Mobile Plan for 30days - 5,000 Naira", "variation_amount": "5000.00", "fixedPrice": "Yes" } ] } }
VERIFY SMILE EMAIL
This endpoint allows you to verify the Email before attempting to make payment.
Using a POST method, you can verify a smile email with the endpoint below:
Live: https://vtpass.com/api/merchant-verify/smile/email
Sandbox: https://sandbox.vtpass.com/api/merchant-verify/smile/email
Smile email (billerscode) on sandbox: tester@sandbox.com
To simulate a failed smile email validation on sandbox, please use any email apart from the one provided above as the smile email.
FIELDS | Mandatory/Optional | TYPE | DESCRIPTION |
billersCode | M | Number | The smile email you wish to make the Subscription payment on.
On Sandbox |
serviceID | M | String | Service ID as specified by VTpass. In this case, it is smile-direct |
EXPECTED RESPONSE
{ "code": "000", "content": { "Customer_Name": "THE TESTER ITSELF", "AccountList": { "Account": [ { "AccountId": "08011111111", "FriendlyName": "TESTER1" }, { "AccountId": "08011111111", "FriendlyName": "TESTER2" } ], "NumberOfAccounts": 2 } } }
PURCHASE PRODUCT
Using a POST method, Smile Data bundle can with the endpoint below:
Live: https://vtpass.com/api/pay
Sandbox: https://sandbox.vtpass.com/api/pay
ServiceID: smile-direct
The sandbox environment provides specific scenarios to simulate success, failure, or unexpected outcomes for smile direct purchases. Use the examples below to test and observe how your integration behaves.
Refer to the table below to find the correct billersCode for simulating various API responses:
BillersCode | Event | Description |
08011111111 |
Successful | Returns a successful response for testing smile direct purchases. |
201000000000 |
Pending | Simulates an unexpected pending response. |
500000000000 |
Unexpected Response | Simulates an expected response, used to test how your system handles anomalies. |
400000000000 |
No Response | Simulates a scenario where the API returns no response. |
300000000000 |
Timeout | Simulates a timeout scenario for testing response handling under delays. |
Any random phone number other than the above | Failed | Simulates a failed scenario for testing error handling for transaction failure. |
NEEDED PAYLOAD
FIELDS | Mandatory/Optional | TYPE | DESCRIPTION |
request_id | M | String | This is a unique reference with which you can use to identify and query the status of a given transaction after the transaction has been executed. |
serviceID | M | String | Service ID as specified by VTpass. In this case, it is smile-direct |
billersCode | M | String | The account ID you wish to make the Subscription payment on. (The AccountID gotten from the verify smile email endpoint) |
variation_code | M | String | The code of the variation (as specified in the GET VARIATIONS method as variation_code). |
amount | O | Number | The amount of the variation (as specified in the GET VARIATIONS endpoint as variation_amount)
This amount will be ignored as the variation code determine the price of the data bundle. |
phone | M | Number | The phone number of the customer or recipient of this service |
EXPECTED RESPONSE
{ "code": "000", "content": { "transactions": { "status": "delivered", "product_name": "Smile Payment", "unique_element": "08011111111", "unit_price": "510", "quantity": 1, "service_verification": null, "channel": "api", "commission": 22.95, "total_amount": 487.05, "discount": null, "type": "Data Services", "email": "sandbox@sandbox.vtpass.com", "phone": "123450987623", "name": null, "convinience_fee": 0, "amount": "510", "platform": "api", "method": "api", "transactionId": "17416112265510580000821264", "commission_details": { "amount": 22.95, "rate": "4.50", "rate_type": "percent", "computation_type": "default" } } }, "response_description": "TRANSACTION SUCCESSFUL", "requestId": "2025031013539914751", "amount": 510, "transaction_date": "2025-03-10T12:53:46.000000Z", "purchased_code": "" }
QUERY TRANSACTION STATUS
Using a POST method, transaction status can be queried with the endpoint below:
Live: https://vtpass.com/api/requery
Sandbox: https://sandbox.vtpass.com/api/requery
FIELDS | Mandatory/Optional | TYPE | DESCRIPTION |
request_id | M | String |
This is the reference with which you sent when purchasing a transaction after the transaction has been executed. |
EXPECTED RESPONSE
{ "response_description": "TRANSACTION SUCCESSFUL", "code": "000", "content": { "transactions": { "status": "delivered", "product_name": "Smile Payment", "unique_element": "08011111111", "unit_price": 510, "quantity": 1, "service_verification": null, "channel": "api", "commission": 23, "total_amount": 487.05, "discount": null, "type": "Data Services", "email": "sandbox@sandbox.vtpass.com", "phone": "123450987623", "name": null, "extras": null, "convinience_fee": 0, "amount": 510, "platform": "api", "method": "wallet", "transactionId": "17416112265510580000821264", "product_id": 27, "commission_details": { "amount": 23, "rate": "4.50", "rate_type": "percent", "computation_type": "default" } } }, "requestId": "2025031013539914751", "amount": 510, "transaction_date": "2025-03-10T12:53:46.000000Z", "purchased_code": "" }
You can check out the complete list of RESPONSE CODES HERE.