Sometimes a customer tells you they've paid, but the order still shows as "Pending" in your dashboard. Here's why this can happen:
For M-Pesa payments
M-Pesa confirmations are usually instant, but occasionally there's a delay of a few minutes. If the order is still pending after 10 minutes, the payment may not have gone through. Ask the customer to check their M-Pesa message for a confirmation.
For Stripe / card payments
Card payments are confirmed immediately. If the order is still pending, the payment likely failed. The customer should check with their bank or try a different card.
For Cash on Delivery
COD orders always start as "Pending" since no payment happens upfront. You should confirm the order manually once you verify the customer wants to proceed.
What to do
If you've confirmed with the customer that they paid, you can manually change the order status to Confirmed from your dashboard.