Mobile Money - Hosted Page
The hosted page workflow is the other way of accepting Mobile Money payments. The merchant initiates a request and in response is given a URL to which the user is redirected to complete the payment
Last updated
The hosted page workflow is the other way of accepting Mobile Money payments. The merchant initiates a request and in response is given a URL to which the user is redirected to complete the payment
Last updated
The currently supported mobile money channels are listed (to be updated from time to time). Test mobile money phone numbers are also described in section. We equally recommend that you go through the section to have a high-level understanding of the funds collection process.
The table below describes the request parameters that are used for the collection/charge request. Most/all will be collected from the paying customer.
merchant_reference
String
true
The unique reference for this request. It must be at least 8 characters long. Alternatively, the value auto can be passed, and a unique reference will be created for you by the API
transaction_method
String
true
The transaction method to be used. This will be MOBILE_MONEY for this request
currency
String
true
The 3-character ISO currency code for the request currency
amount
Number
true
The amount being requested
provider_code
String
true
msisdn
String
true
The phone number from which the payment is being requested. This should be sent in international format e.g. 256777000001 for Ugandan numbers
customer_name
String
false
The name of the customer
customer_email
String
false
The email of the customer
description
String
true
The description/narration for the transaction. Between 10-30 characters
charge_customer
Boolean
false
Whether or not the customer should bear the charge for the transaction. By default, this is false to mean that the merchant bears the charge
allow_final_status_change
Boolean
false
mobile_money_hpp
Boolean
true
Should be sent with the value true in order for the API to handle the payment via hosted page
redirect_url
String
true
The HTTPs redirect URL to which the API will redirect when the payment is successful/failed
After collecting the necessary mobile money payment information from your customer, prepare your request payload as demonstrated below.
POST
https://sandboxapi.dusupay.com/collections/initialize
The request is sent as a JSON body as demonstrated by the sample request below. Sample responses (acknowledgement and failure) are also shared.
Notice the payment_url
parameter in the response body. The URL should be loaded in the browser so that the customer can proceed with the transaction. When the page loads, the customer will be guided through the payment process and on success/failure, the customer will be redirected to the redirect_url
sent by the merchant in the request. Additionally, a callback/webhook will be sent to the configured collection callback URL.
The provider code as obtained from the payment options
Whether or not the final transaction status can be altered as described . By default, this is true to mean DusuPay will alter the final transaction status under the circumstances described.
On success/failure of the transaction, the customer will be redirected to the URL that was passed in the redirect_url
request parameter. The sample requests below demonstrated the success and failure scenarios. You can copy the URL and paste it on online resource in order to view the query parameters therein.
Every merchant account is expected to have configured a callback/webhook URL for collections. For all collections that transition to the final state (COMPLETED, FAILED or CANCELLED), a JSON POST request will be made to the callback URL. Sample callback payloads (request bodies) are shared below. Be sure to check out to see how you should verify the signature(s) in the request headers and how to respond.