Skip to content

post

Verify bill

POST /api/v1/bills/verify

Authenticate with a bearer API key (rg_test_ in test mode, rg_live_ in live).

Request

 curl -X POST https://api.useroutegate.com/api/v1/bills/verify \
  -H "Authorization: Bearer $ROUTEGATE_API_KEY" \
  -H "Idempotency-Key: ord-00042-a1" \
  -H "Content-Type: application/json" \
  -d '{
  "service": "<service>",
  "biller": "<biller>",
  "network": "mtn",
  "account_number": "<account_number>",
  "meter_number": "<meter_number>",
  "smartcard_number": "<smartcard_number>",
  "meter_type": "prepaid"
}'

Response

200

 {
  "success": false,
  "code": "<code>",
  "message": "<message>",
  "data": {
    "customer_name": "<customer_name>",
    "customer_address": "<customer_address>",
    "account_number": "<account_number>",
    "biller": "<biller>",
    "service": "<service>",
    "meter_type": "<meter_type>",
    "outstanding_amount_kobo": 0,
    "minimum_amount_kobo": 0,
    "current_package": "<current_package>",
    "due_date": "<due_date>"
  }
}

Error

401 Error envelope

 {
  "success": false,
  "data": "<data>",
  "message": "<message>",
  "code": "<code>"
}

Give this to your coding agent

Read https://useroutegate.com/docs/api/public/verifyBill.md and implement this call. Keep one Idempotency-Key per attempt at the same order, treat 202 as accepted and resolve the final state from the webhook. Amounts are integers in kobo.