Checkout Testing Checklist
A checkout testing checklist for online stores: cart, discounts, shipping, tax, payment methods, failures and emails to test after each release or theme change.
- Typical schedule per release
- The checklist 5 sections, 20 items
- Variables
{{store}}{{release}} - Start from CI
Use this checklist after any change that could affect how customers pay: a theme update, a new app or plugin, a payment provider change, a platform upgrade or new shipping and tax rules. Run it on staging first, and run the short real-payment part on production after the change goes live. Checkout bugs are expensive because they fail quietly. Customers rarely report them; they just leave.
Who owns it
The developer or agency who made the change runs the tests. The store owner or e-commerce manager confirms the result, especially for the real payment and refund. If the store has a QA person, they own the run and the developer fixes what they find.
Common pitfalls
- Testing only the happy path. Declined cards, 3-D Secure challenges and cancelled payments are where checkouts break. Test failures too.
- Testing only on desktop. Most problems with wallets, autofill and pop-ups appear on phones. Test on a real phone, not only a resized browser.
- Trusting test mode for everything. Test mode does not cover payouts, some wallets or fraud rules. Place one small real order and refund it.
- Forgetting the after-payment steps. A payment that succeeds but sends no confirmation email or no order to fulfilment is still a broken checkout.
Start the run from your deployment pipeline, so every release has a test record linked to the build.
The checklist: Checkout test {{store}} {{release}}
Cart
-
Add a product, change the quantity and remove it, and confirm totals update correctly
-
Add products with variants and confirm the correct variant reaches the cart
-
Apply a valid discount code and an expired one, and check both messages
-
Confirm out-of-stock items cannot be bought, or show the correct back-order message
Shipping and tax
-
Enter a domestic address and confirm the expected shipping options and rates
-
Enter a foreign address and confirm rates, or a clear message if you do not ship there
-
Confirm tax is calculated correctly for at least two destinations
-
Test a free shipping threshold just below and just above the amount optional
Payment
-
Pay with a test card using the payment provider's test card numbers
-
Pay with a test card that triggers 3-D Secure or strong customer authentication
-
Test a declined card and confirm the customer sees a clear error and can retry
-
Test each wallet or alternative method you offer (e.g. Apple Pay, Google Pay, PayPal, Klarna, TWINT)
-
Cancel a payment on the provider's page and confirm the customer returns to a working cart
After payment
-
Confirm the order confirmation page shows the correct order and totals
-
Confirm the order confirmation email arrives with the correct details
-
Confirm the order appears in the admin and in connected fulfilment or accounting tools
-
Confirm the analytics purchase event fires once with the correct value optional
Devices and production
-
Repeat a full checkout on a real iPhone and a real Android phone
-
Check the checkout with a guest account and with a logged-in customer
-
Place one small real order on production after the release and refund it
Checklist as Markdown
Start this checklist from your pipeline
After a deploy to staging, POST /api/v1/runs with template "Checkout test {{store}} {{release}}" and the build number as release.
curl -X POST https://runbook.metastic.ch/api/v1/runs \
-H "Authorization: Bearer $RUNBOOK_TOKEN" \
-H "Content-Type: application/json" \
-d '{"template": "Checkout test {{store}} {{release}}", "variables": {"store": "…", "release": "…"}}'
Frequently asked questions
How do I test a checkout without charging real money?
Use your payment provider's test or sandbox mode with the test card numbers it documents, which include cards that trigger declines and 3-D Secure. Test mode covers most cases. Still, place one small real order on production after important changes and refund it, because some wallets and payout steps only work live.
What should I test in an ecommerce checkout?
Test the cart, discounts, shipping rates, tax calculation, every payment method, failed and cancelled payments, and everything after payment: the confirmation page, emails and the order reaching fulfilment. Repeat the key path on real phones, because many checkout problems only appear on mobile.
How do I run checkout tests automatically after a deploy?
Automated end-to-end tests (for example with Playwright or Cypress) can cover the cart and test-mode payments.
For the manual parts, have your pipeline call POST /api/v1/runs with the store and release variables,
so a checklist run is created for each deploy and the team can see who checked what.
Updated