Identify the point of commitment
Start by drawing the actual order sequence, from cart through address, delivery choice, payment authorization and final acceptance. A page titled ‘Review’ means little if a payment has already been captured or an order is already binding. Write down what each button does in the payment provider and in the shop’s own order system. If the customer can still edit the basket after an authorization, explain whether a new authorization is needed. The review mechanism belongs before the action that has the serious consequence, with the final button describing that action. A receipt shown afterward can help the customer, but it cannot serve as the chance to correct a mistake before an irreversible commitment. This distinction matters when a shop takes preorders, uses pay later methods or accepts orders subject to stock checks: the operator needs a truthful state model instead of treating every confirmation screen as the same event.
Show the values that can change the decision
A useful review page repeats the information that a customer is likely to misremember across a multi-step checkout. Show each product’s identifying name or variant, quantity, unit and line price; the delivery address or collection point; the promised delivery method or stated estimate; and the amount and currency that will actually be charged. Make conditional charges, taxes, discounts and shipping visible in the total where they apply. Show the selected payment method without exposing a full card number. If an order includes a date, recipient message or non-refundable custom option, show that too. Present the material conditions beside the final action, rather than hiding them behind a vague ‘terms’ link. The review should be readable at narrow widths and with zoom, and each item should have a clear edit route. The required content follows the transaction; there is no universal checklist that excuses omitting a material choice.
Make correction a working round trip
An edit control should return the customer to the relevant field with their previous entries intact, then return them to the review page with the updated result. Changing a delivery district may change the available service and price; changing a product variant may change stock and dispatch timing. Recalculate on the server and show the new total before final submission. Do not keep a stale amount from the earlier review screen. If the payment provider has already authorized a different amount, do not silently reuse that authorization for a larger order. For a valid but unusual input, such as a quantity outside a normal range, offer a specific check and a way to correct it. The W3C criterion allows a reversible, checked or confirmed path in the relevant cases; a shop should select a path it can actually operate and test. A decorative ‘Are you sure?’ dialog that repeats no meaningful values gives little chance to catch a mistaken address or amount.
Walk through a realistic mixed basket
Imagine a customer buying an ordinary item and a made-to-order gift, with delivery to a different recipient. On the first pass they choose home delivery, enter the recipient’s address and select a gift message. At review they notice that the recipient’s flat number is wrong. They choose ‘Edit delivery address’, fix only that field and return. The shop recalculates whether the chosen delivery service covers the corrected district, then displays any changed fee and delivery estimate. The gift message and item variant remain intact. Before the final button, the customer can separately check which line is made to order and which conditions apply to it. If a delivery choice becomes unavailable, the page asks the customer to select a valid one rather than guessing. After submission, the confirmation states the actual order and payment status. This is a design rehearsal, not evidence that any particular shop offers these terms or that a generic ‘confirm’ step makes every transaction compliant.
Test serious errors and state transitions
Test with the same kinds of errors that would matter to a buyer: wrong quantity, wrong recipient, old address, wrong delivery option, changed promotion and an item that sells out between review and submission. For each, observe whether the displayed values match the values committed by the server. Submit only once in a controlled test and inspect the order and payment records separately; a visible success message alone does not prove that the provider captured the expected amount. Repeat with keyboard navigation and a screen reader so that the edit links, changed totals and final action have understandable names and reading order. Test on a narrow phone viewport and at increased text size to catch clipped review rows. Where a transaction can instead be reversed within a stated window, test the actual reversal path and its deadline rather than assuming a policy page is enough. Record the failing step and the exact value mismatch for repair.
Set an acceptance rule before launch
A practical release rule is that the customer can identify the consequential action, inspect every material value, correct an error without losing unrelated entries, and see the recalculated result before committing. The team should also be able to trace one test transaction from the review display to the final order and payment state. If a condition or amount changes during that interval, stop and ask for a fresh decision. Support staff need the same state language so they do not tell a customer that an authorization is a completed charge, or promise cancellation after a genuinely irreversible step. This rule is stronger than merely adding another screen because it covers data, timing and the real business action. Keep the article’s advice scoped to interface and process design; specific refund rights, contractual effects and provider behavior depend on the merchant’s actual terms and payment integration, which must be checked separately before publication of a customer promise.
Assign owners for the final decision
The review page needs an owner for each source of truth. Merchandising owns item descriptions and variants; fulfilment owns the delivery promise; payments owns the amount and transaction state; customer support owns the wording used when a customer asks to amend an order. Ask each owner to name the field that the final screen displays and the event that can change it. A review screen built from a cached cart while the server charges a recalculated basket is a predictable failure even if both components work separately. Keep the final action disabled only while a real recalculation is pending, with a clear status and an available recovery route if the check fails. When the result arrives, present changed information explicitly. This handoff is also where a shop decides whether the customer is placing an order that awaits merchant acceptance or completing a payment immediately. Do not let a generic button hide that operational difference.
For acceptance testing, use an agreed example order whose expected basket, delivery cost and payment state are written down before the test. Have one tester change an address, another change a quantity, and a third let stock change while the review page is open. In each case, capture the values shown just before the final action and compare them with the stored order after submission. If the two disagree, fix the point where state is refreshed or committed, then rerun that same path. Include a canceled or failed payment attempt so the team sees whether the draft order remains understandable without masquerading as a paid purchase. These checks make the promise testable without claiming a particular conversion benefit. The result is an editorial and product decision: what information must a customer understand, and what must the system refuse to finalize until it can state that information truthfully?
Before you proceed
- The final action and its effect are named clearly.
- Every material value can be reviewed and corrected before commitment.
- Changed totals and unavailable choices require a fresh decision.


