POST
/
billpay
/
create-order-control-number
cURL
curl --request POST \
  --url https://api.clickpesa.com/third-parties/billpay/create-order-control-number \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "billDescription": "Water Bill - July 2024",
  "billPaymentMode": "EXACT",
  "billAmount": 90900,
  "billReference": "CUSTOMJH121"
}'
{
  "billPayNumber": "55042914871931",
  "billDescription": "Generic Bamboo Chees",
  "billCustomerName": "Mr. Freddie Walker-Graham",
  "billAmount": 90900,
  "billPaymentMode": "EXACT"
}

Authorizations

Authorization
string
header
required

Authorization header containing the JWT access token returned from the generate token endpoint. The token already includes the Bearer prefix. Example: Authorization: Bearer eyJhbGciOi...

Body

application/json
billDescription
string

Description of the bill

Example:

"Water Bill - July 2024"

billPaymentMode
enum<string>
default:ALLOW_PARTIAL_AND_OVER_PAYMENT

Payment mode for the bill. Applied only when billAmount is set

Available options:
ALLOW_PARTIAL_AND_OVER_PAYMENT,
EXACT
billAmount
number

Amount of the bill

Example:

90900

billReference
string

Custom bill reference. If not provided, the system auto-generates one

Response

Successfully generated BillPay Control Number

billPayNumber
string

BillPay number

Example:

"55042914871931"

billDescription
string

Description of the bill

Example:

"Generic Bamboo Chees"

billCustomerName
string

Name of the customer - for customer billpay numbers

Example:

"Mr. Freddie Walker-Graham"

billAmount
number

Amount of the bill

Example:

90900

billPaymentMode
string

Payment mode for the bill. Applied only when billAmount is set

Example:

"EXACT"