Bill Payment API Documentation
Submit utility bills using API authentication
API Endpoints
- Get Providers:
GET https://rasi.top/api/bill-payment.php?action=providers— Returns all active providers (API key/secret required). - Get Services by Provider:
GET https://rasi.top/api/bill-payment.php?action=services&provider_id={provider_id}— Returns services for selected provider (API key/secret required). - Submit Bill:
POST https://rasi.top/api/bill-payment.php?action=submit— Submit a bill payment request. Required module fields must be provided. Returnsorder_number(API key/secret required). - Check Status:
POST https://rasi.top/api/bill-payment.php?action=check_status— Check status usingorder_number. Returnsstatusandtoken_numberif successful.
Required Parameters for Bill Submission
All required module fields (from module_name of service) must be included when submitting a bill.
| Parameter | Type | Description | Example |
|---|---|---|---|
| provider_id | integer | ID of selected provider | 2 |
| service_id | integer | ID of selected service | 1 |
| amount | float | Amount to pay | 50 |
| module fields | string | All fields listed in module_name for that service. Required. | meter_number=12345,contact_number=017XXXXXXXX |
| api_key | string | Required for API auth | XXXAPIKEY |
| api_secret | string | Required for API auth | XXXSECRET |
PHP Example (Submit Bill)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://rasi.top/api/bill-payment.php?action=submit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
"provider_id" => 2,
"service_id" => 1,
"amount" => 50,
"meter_number" => "12345",
"contact_number" => "017XXXXXXXX",
"api_key" => "XXXAPIKEY",
"api_secret" => "XXXSECRET"
],
]);
$response = curl_exec($curl);
curl_close($curl);
$data = json_decode($response, true);
print_r($data);
?>
Responses
Success Response (Submit Bill)
{
"status": "success",
"message": "৳50.00 has been deducted from your balance. Your bill request is pending.",
"order_number": "RA2BAF4D522"
}
Error Responses
{
"status": "error",
"message": "Insufficient balance. Your current balance is ৳10.00"
}
{
"status": "error",
"message": "API credentials missing or invalid"
}
{
"status": "error",
"message": "Required module fields missing"
}
{
"status": "error",
"message": "Invalid request"
}
Check Status Example
curl -X POST https://rasi.top/api/bill-payment.php?action=check_status \ -F "order_number=RA2BAF4D522" \ -F "api_key=XXXAPIKEY" \ -F "api_secret=XXXSECRET"
Success Response
{
"status": "success",
"token_number": "TXN123456789"
}
Pending / Failed Response
{
"status": "pending"
}
{
"status": "failed"
}
Providers & Dynamic Modules
Fetch providers & services first, then generate input fields dynamically according to module_name.
{
"id": 101,
"name": "Monthly Electricity",
"logo": "uploads/electricity.png",
"module_name": "bill_month,account_number,customer_id"
}