9999STK Push resultM-Pesa error 9999: Error sending the STK prompt
This is an STK Push (Lipa na M-Pesa Online) result code — it comes back on the Daraja callback after the customer responds to the payment prompt.
What causes it
The push could not be delivered — commonly a transient M-Pesa error, or the request message exceeds the 182-character limit.
How to fix it
Shorten the request fields (especially TransactionDesc) to stay within 182 characters and retry; otherwise retry with backoff as a transient M-Pesa error.
How paylod handles this
With paylod you never parse this code by hand: the hosted M-Pesa callback decodes the STK Push result for you and returns a normalized status, so you handle a clean success or failed webhook instead of raw Daraja result codes.
See the paylod M-Pesa API