MOBILEMONEY
How to use MOBILEMONEY to submit a payin in Kenya.
Payin by MOBILEMONEY
Step 1: Get the "prepay_id" from the API response. Each transaction should create a unique prepay_id.
POST
https://gateway-test.pagsmile.com/trade/create
This endpoint allows you to submit a payin by MOBILEMONEY in Kenya.
Headers
Content-Type*
string
application/json; chartset=UTF-8
Authorization*
string
Basic Base($app_id:$security_key)
Request Body
app_id*
string
created app's id at dashboard
- Max. 32 chars -
method*
string
Fixed value: MOBILEMONEY
out_trade_no*
string
ID given by the merchant in their system - Max. 64 chars -
notify_url*
string
Where Pagsmile will send notification to
timestamp*
string
yyyy-MM-dd HH:mm:ss - Max. 19 chars -
subject*
string
payment reason or item title
- Max. 128 chars -
order_amount*
string
payment amount - 10 ~ 50,000 KES-
order_currency*
string
Fixed value: KES
content
string
payment reason detail or item detail
- Max. 255 chars -
buyer_id*
string
merchant user's id
version*
string
Fixed value: 2.0
trade_type*
string
Fixed value: WEB
customer.email*
string
User's email
customer.phone*
string
User's phone
{
"code": "10000",
"msg": "Success",
"out_trade_no": "out***300",
"trade_no": "20240***34",
"web_url": "https://checkout.pagsmile.com?prepay_id=UloyV0l3NFFyW***DTT0=-645a8F4c",
"prepay_id": "UloyV0l3NFFyW***DTT0=-645a8F4c"
}
Example
curl --location --request POST 'https://gateway-test.pagsmile.com/trade/create' \
--header 'Authorization: Basic MTYyNTgyOTIxNDUzMTY2Mzg6UGFnc21pbGVfc2tfZDUwMWQ1ZGNkNTI5OGQ5N2MwNmUzYjI4YjA2OWZjZmY3NDU5ZjY2NzNiMjFjMTFlYTY3NDM5MDgzOTZkOTYxNQ==' \
--header 'Content-Type: application/json' \
--data-raw '{
* "app_id": "1649***56",
* "out_trade_no": "out***3300",
* "order_currency": "KES",
* "method": "MOBILEMONEY",
* "order_amount": "100",
* "subject": "pagsmile test ",
"content": "pagsmile test ",
* "trade_type": "WEB",
* "timestamp": "2024-07-04 18:50:42",
* "notify_url": "http://demo.gemini-tiger.cn/callback/success",
* "buyer_id": "buyer52023",
* "version": "2.0",
* "customer" : {
* "email": "[email protected]",
* "phone": "254******000"
}
}
Step 2: Initialize the SDK using setPublishableKey method by providing the necessary parameters.
Pagsmile.setPublishableKey({
app_id: "166****044", //Use your own app_id taken from the dashboard.
public_key: "Pagsmile_sk_47****59728d70e9a", //Use your own key taken from the dashboard.
env: "sandbox",
region_code: "EAK",
prepay_id:
"UloyV0l3NFFyW***DTT0=-645a8F4c",
})
.then((clientInstance) => {
console.log("successfully initiated!");
document
.getElementById("submit-pay")
.addEventListener("click", function (e) {
clientInstance
.createOrder()
.then((res) => {
console.log("res: ", res);
})
.catch((err) => {
console.log("Error: ", err);
});
});
})
.catch((err) => {
console.log("Error: ", err);
});
Step 3: Use createOrder method of clientInstance; the user may need to enter OTP, (SDK automatically triggers OTP prompt)
Step 4: Analyse the response
{
status: "success", // successfully created order
query: true, // use backend query for transaction status
auth_type: "STK_PROMPT", // user needs to confirm the transaction on mobile app
}
Please use your own app_id and generate your own authorization token when testing.
Last updated
Was this helpful?