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. Returns order_number (API key/secret required).
  • Check Status: POST https://rasi.top/api/bill-payment.php?action=check_status — Check status using order_number. Returns status and token_number if 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_idintegerID of selected provider2
service_idintegerID of selected service1
amountfloatAmount to pay50
module fieldsstringAll fields listed in module_name for that service. Required.meter_number=12345,contact_number=017XXXXXXXX
api_keystringRequired for API authXXXAPIKEY
api_secretstringRequired for API authXXXSECRET

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"
}