Skip to main content


To enable the MPesa payment method, you need to use direct integration. When creating a payment, send a request with the following parameters:

pos_idUUIDMerchant's identifier (POS_ID)
methodMETHODPayment method (purchase)
amountNumberTransaction amount
currencyCURRENCYTransaction currency (ISO_4217)
order_3ds_bypassString3-D Secure flow option
order_idStringUnique identifier of order
descriptionStringPayment description
server_urlURLWebhook notification will be sent to this URL
result_urlURLCustomer will be redirected to this URL after payment.
customer_fnameStringcustomer first name
customer_lnameStringcustomer last name
customer_emailStringcustomer email address
customer_phoneStringcustomer phone number
customer_countryStringCustomer country (ISO 3166-1 (alpha-2)). For instance, UA for Ukraine
properties.networkStringnetwork provider

Request example:

"pos_id": "'$POS_ID'",
"mode": "direct",
"method": "purchase",
"amount": 100,
"currency": "USD",
"payway": "mobile",
"order_id": "'$ORDER_ID'",
"customer_fname": "John",
"customer_lname": "Doe",
"customer_email": "[email protected]",
"customer_phone": "254715303037",
"customer_country": "UA",
"description": "Test description for '$ORDER_ID'# payment",
"order_3ds_bypass": "supported",
"properties": {
"network": "MPESA_KE"