A payment moves through a few states. Getting them right keeps your orders correct.
| Status | Meaning | Your action |
|---|---|---|
| created | Waiting for the customer | Keep the order open |
| pending | Customer acted; bank or merchant (UTR) still confirming | Show “confirming” |
| success | Paid | Fulfil, once |
| failed | Declined, cancelled, rejected | Offer to retry |
| expired | Not paid in time | Release stock |
| refunded / partially_refunded | Money returned | Update the order |
Golden rule
Only the webhook or a server-side GET /orders/{id} decides that an order is paid. The browser returning to your thank-you page is a hint, not proof.
0 comments