The Programmable Services API works as a gateway connecting your application to your users who are using USSD, the Hubtel App, Hubtel Mall, and Hubtel Point Of Sales (POS) Apps.

With this implementation, you are expected to have two endpoints that would be accepting requests from Hubtel.

The Service Interaction URL allows users to interact dynamically with your service application based on your pre - designed flows.

The Service Fulfilment URL allows Hubtel to inform your application of successful payment by the user so that you can appropriately give the service value to the User. The Service Payment Callback will be sent to this URL.

You are required to implement a transaction status check API to handle situations where you do not receive the final status of the transaction or Service Payment Callback from Hubtel after 5 minutes. In such cases, it is required to verify the final payment status by initiating a GET request to the provided Transaction Status Check API endpoint, using the following URL:

https://api-txnstatus.hubtel.com/transactions/{Hubtel_POS_Sales_ID}/status?clientReference={sessionID}

Ensure that you replace {Hubtel_POS_Sales_ID} and {sessionID} with the respective parameters for your transaction.

You are also required to implement a final callback upon service fulfillment by sending a POST request to the specified Hubtel Fulfillment callback URL below:

https://gs-callback.hubtel.com:9055/callback

N.B.: Liaise with the Hubtel Engineer assigned to you to have your Static IP whitelisted to access both endpoints.

After implementing your USSD application, you can test your Service by adding it on Hubtel here and using either the Simulator to test the user flow, or a Hubtel POS device or USSD code to test the entire purchase flow.