ScoutSentinelScoutSentinel
Menu

Guide

How to monitor checkout and payment journeys without taking real payments

How checkout and payment journeys fail while the site stays up, how to test them in production without real charges, and what to check at each step.

Updated

In short

  • Checkouts fail at the basket, the delivery step, the payment fields or the confirmation, usually while every page still loads.
  • Production payment providers decline test cards, so agree a test path before you script the payment step.
  • The usual options are a test mode switched on by a marker, a low-value product refunded automatically, or stopping at a payment page that is proven ready.
  • Assert on the outcome a customer sees, such as an order reference, not on the payment page loading.
  • Keep card details out of scripts and evidence, and mark the traffic so it never reaches revenue or fraud reports.

Checkout is where a visit becomes revenue, and it is the part of a site most likely to depend on systems you do not run: a payment provider, a fraud check, a tax or delivery service, an address lookup. When one of them fails, the site stays up. Customers fill their basket, reach the payment step and stop.

This guide covers how checkouts break, the hard part of testing payments in production, and a step-by-step plan for a synthetic checkout check.

How checkout and payment journeys fail

  • The basket loses items or prices. A pricing or stock service times out and the basket shows nothing, or the wrong total.
  • Delivery or address steps reject valid answers. A postcode lookup fails, or a delivery service returns no options for a region.
  • Payment fields do not appear. The provider’s script is blocked by a content security policy change, an ad blocker rule or a consent banner, so the card form never loads.
  • Payment is declined for everyone. A key rotated in one place but not another, a merchant account setting changed, or a fraud rule now blocks a whole card range or country.
  • Strong customer authentication stalls. The 3-D Secure challenge window opens and never returns to the site.
  • Payment succeeds, the order does not. The charge goes through but the confirmation page errors, shows no order reference, or the confirmation email never arrives.
  • Wallets disappear. Apple Pay or Google Pay buttons stop showing after a domain or certificate change.

Most of these leave server health checks green. Several only show up in a real browser, after the HTML has loaded.

The hard part: payments in production

A synthetic check has to finish the journey to prove it works, but you do not want real charges every ten minutes, and production payment accounts decline test card numbers. Agree one of these approaches with the people who own payments before you write the script:

  1. A test mode switched on by a marker. The check sends a header or query parameter your site recognises, and your checkout routes that session to the provider’s test environment. This tests everything except the live payment account itself. Protect the switch so only your checks can use it, for example with a secret header value.
  2. A low-value test product, refunded automatically. A real card and a real charge, refunded by a scheduled job. This tests the live account end to end, at a small cost in fees. Make sure the orders are excluded from revenue, stock and fulfilment.
  3. Stop at a proven-ready payment step. Check that the payment fields loaded and accept input, and stop before submitting. This is safe and cheap, and it misses declines and failures after payment.

Many teams combine them: option 3 every few minutes, and option 1 or 2 less often.

What to check at each step

  1. Product or quote page. The price is shown and the “Add to basket” or “Buy” control is visible.
  2. Basket. The item, quantity and total are what the check added.
  3. Customer details and delivery. Address lookup returns results; at least one delivery option is offered.
  4. Payment fields. The card form or wallet button is visible and accepts input. Hosted card fields usually sit in an iframe from the provider, so your script has to reach into that frame.
  5. Authentication. If 3-D Secure appears for the test card, complete it and check the journey returns to your site.
  6. Confirmation. An order or policy reference is shown. This is the assertion that matters most: it is what the customer needs.
  7. Follow-up. If your process depends on it, check that the confirmation email arrives, as a separate check.

Run it from the countries your customers buy from, on mobile and desktop screen sizes, every five to fifteen minutes, and straight after each release.

Keeping card details and test orders safe

  • Never write card numbers into scripts. Store them as secrets and reference them by name.
  • Mask them in evidence. Screenshots and HTML from a payment step can contain the card number and security code.
  • Mark the traffic. A header or query parameter lets analytics, fraud tools and revenue reports exclude the check. Tell your fraud team before the first run, so its pattern is not mistaken for card testing.
  • Clean up. Cancel or refund test orders automatically, and keep them out of fulfilment and stock.

How ScoutSentinel does it

ScoutSentinel runs checkout checks in a real browser from outside your systems. You describe the purchase in plain words; it proposes the steps and assertions; you approve them before anything runs.

  • Card numbers and other test data are stored as encrypted secrets and referenced by name, never written into the check. They are redacted from HTML, network logs and step messages. Before every screenshot, the fields filled from a secret are masked, as are fields marked as a card number, expiry date or security code (autocomplete of cc-number, cc-exp or cc-csc).
  • Every request carries the documented ScoutSentinel user agent and a probe header, and you can add your own header or query parameter as the marker your checkout uses to switch to test mode. See synthetic traffic.
  • Checks can run at mobile, tablet and desktop screen sizes.
  • By default an event opens after two consecutive failures at the same step, and resolves after two passes. The event names the step that failed and keeps the screenshot, page HTML and network log, each hashed at capture.
  • A run that could not complete for reasons on our side is recorded as unknown, with the reason, not as a failure of your checkout.

New to the approach? Start with what synthetic monitoring is, or see how to monitor a booking journey for the same ideas applied to slots and reservations.

Check your checkout from outside

Describe the purchase in plain words. ScoutSentinel proposes the steps, you approve them and the test data, and the check runs from outside your systems with evidence kept for every run.

Free 14-day pilot by invitation. No card required. Starter limits apply unless we agree a scoped one-service evaluation. When the trial ends, the organisation is suspended until you choose a plan: scheduled checks stop, and your journeys and checks stay in your account. See pricing.