Runbook

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 template Free, no credit card. Imports the checklist into your Runbook organization.

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": "…"}}'

See the API and the GitHub Action

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

Send feedback

Ideas, bugs, questions: we read every message.