Show an accurate state for every outcome
A checkout is not successful just because it displays “Done.” Shoppers need the final total, delivery method, and order status. Test only the payment methods actually enabled for the merchant; cash on delivery, cards, or wallets are not automatically available to every store.
| Case | What to test | Expected customer and staff outcome |
|---|---|---|
| Successful electronic payment | Provider confirmation and return to the store | One order, correct total, one confirmation |
| Decline or expired session | Error followed by a retry | Order is not shown as paid; basket remains understandable |
| Delay or duplicate return | Refresh or repeated notification | No duplicate order or charge; clear pending state |
| Cash on delivery | Delivery area, fee, unconfirmed order | Confirmation steps and unreachable-customer path are clear |
| Stock changes during payment | Last unit sells while checkout is open | Unavailable stock is not silently confirmed |
| Refund or cancellation | Start the request and follow its status | Customer knows the next step; staff status is recorded |
Reduce effort without hiding terms
Show the item total, delivery charge, and other fees before confirmation. Ask only for necessary fields and offer guest checkout if operations support it. Put error text beside the field, retain values after an error, and test keyboard order on a phone. Keep delivery areas, timing, and cancellation terms near the decision rather than hidden on another page.
Repeat each path on a slow connection and mobile screen, in Arabic RTL as well as English. Test back, refresh, and double taps, then reconcile order ID, amount, and state in the merchant system. Do not put card details or customer identity into analytics events. If using GA4, use recommended ecommerce event names and validate them with Google’s ecommerce measurement guide.
Improve one observed friction point at a time
Start with a problem seen in a real test, such as unclear delivery cost or lost fields after a decline. Change one step and record the release and comparison period. A click on “Pay” is not a completed purchase, and no conversion increase should be promised before measurement. Include success, decline, duplicate, and refund paths in e-commerce development acceptance.


