1037STK Push result

M-Pesa error 1037: The M-Pesa prompt went unanswered

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

M-Pesa sent the STK prompt but received no answer before it expired (~60s). Daraja reports this as 'DS timeout user cannot be reached', and has been OBSERVED live returning ResultDesc 'No response from user.' — the code covers BOTH the customer simply not acting on the prompt (the common case: they ignored, missed or dismissed it) AND a genuinely unreachable handset (phone off, out of coverage). Daraja does not tell us which, so neither do we. Terminal: no money moved.

How to fix it

Nothing is wrong with your setup. Offer a retry and ask the customer to keep their phone to hand and enter their PIN when the prompt appears. Only if the SAME number fails this way repeatedly is it worth checking that the line is a reachable Safaricom number.

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

Related M-Pesa error codes

Sources