Initiate an M-Pesa STK Push request to collect payment from a customer. The customer will receive a prompt on their phone to enter their PIN and authorize the payment.
Use your API key as a Bearer token. Example: Authorization: Bearer sk_live_...
Unique key to safely retry POST without duplicates. Required in live environment.
Merchant-side reference used for reconciliation. Accepts 1-64 characters (letters, numbers, dot, underscore, or hyphen).
1 - 64"invoice_48291"
Amount in smallest currency unit (cents). Must be whole KES (divisible by 100). Range 100-25,000,000 (KES 1.00-250,000.00).
100 <= x <= 25000000150000
Customer MSISDN in Kenyan format (+2547/2547/07 or +2541/2541/01 followed by eight digits).
"+254712345678"
Optional customer-facing narration. Maximum 140 characters.
140"Invoice 48291"
Override webhook destination for this charge.
"https://merchant.example/webhooks/fingo"
Custom metadata key-value pairs. Up to 20 entries. Keys 1-64 characters (letters, numbers, dot, underscore, or hyphen). Values up to 500 characters.
Optional collections shortcode to override the default paybill or till.
"123456"
Optional customer account or ticket reference required by certain billers.
"ACC-88923"
Optional custom display name shown to customer (alphanumeric and spaces only, max 40 chars).
40"ACME Store"