Customer Pay Bill by Direct Debit service flow

To create a Direct Debit Mandate, the Bill Collection Organisation’s website can call the M-Pesa OpenAPI server using C2BDirect Debit Creation API while passing customer’s M-Pesa phone number as the identify for the M-Pesa account. To confirm the Direct Debit, the M-Pesa customer will receive an USSD push message from M-Pesa and be asked to enter their M-Pesa PIN. The Direct Debit reference number will be created by M-Pesa.

Reversal service flow

As part of Direct Debit Guarantees, customers are entitled to a refund from the Bill Collection Company’s M-Pesa account under the terms and conditions of the agreement with M-Pesa. A refund must be claimed within X(8?) weeks starting from the date on which customer’s M-Pesa account was debited.

If customer wants to request a refund after a successful Pay Bill Direct Debit transaction, the customer will need to discuss and agree with the Bill Collection company. The Bill Collection company can call the Reversal API to refund the customer.

Query service flow

Utility company can query M-Pesa to check the status of the transaction by using the Query Txn API.