Checkout and authentication
Unexpected Shipping, Discounts, or Fees: Audit the Final Shopify Order Total

Audit the final Shopify total by tracing it from the advertised price to the amount the customer authorizes. The customer should understand why shipping, discounts, taxes, duties, or other displayed components change the total. A mathematically correct charge can still cause confusion if the purchase path creates a different expectation.
Start with representative baskets and the claims customers see before checkout. The objective is not a tax-compliance review or refund calculation. It is to verify that the purchase promise and the final amount describe the same transaction.
Build a price bridge
List the product subtotal, eligible discounts, shipping, and every other displayed component in the order's currency. Keep the original advertised promise beside the actual checkout calculation. If the advertisement says “free shipping,” record the conditions the customer was shown and whether the test basket meets them.
Shopify's checkout guidance is the reference for the purchase environment. The merchant still needs to verify its own promotions, profiles, and content together; a setting can work as configured while the wording promises something else.
Use this worksheet:
| Component | Customer expectation | Checkout result | Explanation visible before payment? |
|---|---|---|---|
| Product amount | Advertised item and quantity | Actual subtotal | Yes/no |
| Discount | Stated eligibility and value | Applied reduction | Yes/no |
| Shipping | Quoted rate or stated condition | Selected shipping amount | Yes/no |
| Other displayed charges | What the path communicates | Actual component | Yes/no |
| Currency | Currency the buyer understands | Final payment currency | Yes/no |
| Final total | Sum of understood components | Amount authorized | Reconciled/unresolved |
Do not use an unexplained adjustment row to make the arithmetic match. Identify the source of each amount and the customer-facing explanation that accompanies it.
Test promotions at their boundaries
Choose baskets just inside and outside the conditions of a promotion. Include eligible and ineligible items, changed quantities, and a shipping option that may not qualify. These tests reveal whether the wording makes the boundary understandable.
A discount code accepted by checkout may still apply differently from the customer's interpretation. For example, the buyer may expect an order-wide discount while only selected products qualify. The audit must assess both configuration and wording.
Avoid promising that all displayed charges are included when the store's actual route can add a component later. Where a charge depends on a choice or destination, explain the relevant condition before the customer commits. Use the supported policy and purchase-content locations described in Shopify's policy guidance.
Check the paths that change the presentation
Run the same meaningful basket through ordinary checkout, mobile, and offered accelerated paths. Inspect how discount entry, shipping selection, and currency presentation differ. A cart-only explanation may be absent on a route that bypasses the cart.
Record the selected market and address context using appropriate test data. Do not compare totals from different circumstances and call the difference an error without identifying what changed. The same product can produce a different final total when the selected service or applicable components differ.
After payment, compare the confirmation and order record with the authorized total. A clear checkout followed by a confusing receipt can reintroduce uncertainty. The customer should be able to identify the items, components, currency, and total without needing support to reconstruct them.
A hypothetical discount and shipping surprise
Assume a hypothetical basket has USD 80 of eligible products and USD 20 of excluded products. A promotion offers 10% off eligible products, producing an USD 8 reduction. Standard shipping is USD 7 in this simplified example, and no other components are included. The final total is USD 99.
The arithmetic is correct: USD 100 minus USD 8 plus USD 7. But if the advertisement simply says “10% off your order with free shipping,” the customer could reasonably expect a different amount. The audit should correct the promise or configuration rather than relying on the fact that USD 99 was technically displayed at the end.
In another invented variation, the wording clearly states eligible products and the shipping condition. The checkout and confirmation show the same USD 99 total. That is a more coherent purchase path, though no presentation can guarantee that a customer will never raise a question.
Shopify's chargeback-prevention guidance provides broader context for clear purchase information. This worked example is original and hypothetical, not a report of a merchant result.
Resolve discrepancies before calling the audit complete
Assign each issue to the owner of the relevant configuration or wording. State the expected corrected result and rerun the affected basket and route. Do not broaden the test unnecessarily unless the fix changes shared behavior.
Keep the final record with the basket, route, expected total, observed total, material wording, and verification date. The audit is complete when every component reconciles and the customer sees the conditions that explain it before authorizing payment. That makes the charge understandable as well as numerically correct.
See the order and dispute information available in Lower Chargeback.
Related reading in this collection:
- Test Your Shopify Checkout for Dispute-Causing Surprises
- Return Shipping and Restocking Fees: Disclose Deductions Before Purchase
- Incorrect Amount Chargebacks: Explain the Authorized Total Line by Line