Handling M-Pesa Callbacks In Laravel: A Step-by-Step Guide
Replace existing callbacks with a more robust stkCallback function, handling errors and updating payment status accordingly.
Option 1: replace existing callbacks public function stkCallback() { try { $data = file_get_contents('php://input'); // Append data to the file instead of overwriting Storage::disk('local')->append('stk.json', $data); $response = json_decode($data, true); if (isset($response['Body']['stkCallback'])) { $callback = $response['Body']['stkCallback']; $CheckoutRequestID = $callback['CheckoutRequestID']; $ResultCode = $callback['ResultCode']; $ResultDesc = $callback['ResultDesc'];...