- API Generation: Provides flexibility to specify:
- Amount to be paid
- Payment mode (full, partial, or over)
- Bill description
- Custom reference (used as the customer-facing control number)
- If no custom reference is provided, ClickPesa will auto-generate one.
- Offline / Manual Generation: You can also generate an Order BillPay Control Number on your side by combining your Merchant BillPay-Namba with a unique order reference from your system. This method is quick for offline or manual invoicing.
If a client is given a control number for 1,000,000/= but pays only 500,000/=, will the payment go through? A: Yes. Partial payments are accepted if enabled during API creation.
- You’ll be notified of the amount received via webhook, email, and dashboard notifications.
Can the same control number be used to pay the remaining balance later? A: It depends on the type of BillPay control number:
-
Order BillPay Control Number – No
- Designed for one-time, specific transactions.
- Once paid (even partially), it is closed or marked fulfilled.
- If partial payments are allowed, the system will reflect the partial amount, but the number is still considered closed.
-
Customer BillPay Control Number – Yes
- Designed for ongoing or repeat payments from the same customer.
- Can receive multiple payments.
- Ideal for partial, recurring, or subscription payments.
- You can also create multiple numbers per customer, each tied to a different bill or purpose.
What’s the lifespan of the Order BillPay Control Number? A: An Order BillPay Control Number remains valid until it is paid or manually closed.
- Designed for one-time payments: Order BillPay Control Numbers are created for specific transactions or invoices and are intended to be used once.
- No automatic expiration: The control number does not expire automatically if unpaid—it remains active and can accept payments until it is fulfilled or closed.
- Closes automatically once processed: Once a payment is received (even if partial or failed), the Order BillPay Control Number is automatically closed or marked as fulfilled and cannot be reused.
- Best practice: For time-sensitive invoices or orders, consider implementing your own expiration logic in your system and generating new control numbers when needed.
What’s the lifespan of the Customer BillPay Control Number? A: A Customer BillPay Control Number is a static, permanent number that remains active indefinitely until manually deactivated or removed.
- Designed for recurring payments: Customer BillPay Control Numbers are created for ongoing relationships with customers and are intended for multiple transactions over time.
- No expiration: Unlike Order BillPay Control Numbers, Customer BillPay Control Numbers do not expire and do not close automatically after payment.
- Reusable for multiple payments: The same Customer BillPay Control Number can be used repeatedly for partial, recurring, or subscription payments from the same customer.
- Multiple numbers per customer: You can create multiple Customer BillPay Control Numbers for the same customer, each tied to a different bill or purpose (e.g., tuition, fees, pocket money).
- Manual management: You can deactivate or remove Customer BillPay Control Numbers through the API when they are no longer needed.
Can I assign multiple Customer BillPay Control Numbers to a single customer? A: Yes. Each customer can have multiple Customer BillPay Control Numbers, allowing you to manage different bills (e.g., tuition, fees, pocket money) independently. Each number can accept multiple payments and be tracked separately.
Can I specify customer details and bill descriptions when creating a control number via API? A: Yes. When creating Customer or Order BillPay Control Numbers via API, you can:
- Provide the customer name (for Customer numbers)
- Add a bill description
- Set payment amount and mode
- Provide a custom reference or let ClickPesa auto-generate one This improves reconciliation and reporting, especially for recurring or batch payments.

