Skip to content

Workflow evaluation

When a payment times out, can checkout safely retry?

Follow one payment through a missing response, a retry, and reconciliation. See the evidence a release owner needs before the change reaches more stores.

6 minute read By Zof Updated October 26, 2026

This guide presents an evaluation method, not a report of a completed customer engagement.

Workflow
Capture and order reconciliation
Trigger
A change to the payment handler
Environment
Staging with synthetic transactions
Boundary
One logical payment and one intended capture

The payment provider accepts a capture. Its response arrives too late for checkout, which offers a retry. The customer sees an unfinished sale. The provider may already hold a completed payment. Will another attempt recover the order or charge for it again?

Use this evaluation method to follow that disagreement through one checkout release. Identify the failure condition, reproduce it within an approved environment, and establish what safe recovery means for the payment integration.

A timeout does not reverse a payment

Assume the order already has the authorization needed for capture. The evaluation covers one logical payment with one intended capture for the agreed amount. Split tender, partial captures, refunds, and settlement reconciliation sit outside its scope. They need their own rules and checks.

A normal test confirms that a response marks the order paid. The harder case starts when the response is missing. Creating a new payment operation can duplicate the charge. Suppressing every retry can leave the customer charged while the order remains unresolved. The recovery rule must address both states.

Agree the recovery contract first

The payments owner supplies the API version, operation identity, allowed amount, retry window, and reconciliation method. The team selects a payment test account or a simulator whose behavior is documented. No live payment credentials belong in the fixture.

Stripe documents that API v1 retries with the same key return the saved result after execution begins. Parameters must match, and retained keys can be removed after at least 24 hours. That is one provider contract, not a universal payment rule. The actual integration determines which recovery cases are valid.

Follow the workflow

One payment, two views of its state

  1. 01

    Checkout

    Create the intended payment

    Record the synthetic order, authorized amount, and stable identity for this capture operation.

  2. 02

    Provider fixture

    Accept capture, delay confirmation

    Accept the request while withholding its response beyond the configured checkout timeout.

  3. 03

    Checkout

    Enter an uncertain state

    Record the timeout without treating it as proof that capture failed. Preserve the original operation identity.

  4. 04

    Recovery path

    Resolve the original attempt

    Run the permitted retry or reconciliation action. Connect its evidence to the existing logical payment.

  5. 05

    Release reviewer

    Compare both final states

    Inspect capture count and amount alongside the completed or explicitly unresolved order state.

Evaluate the interval between provider capture and checkout confirmation. Record both states so the release review can distinguish a failed payment from a missing response.

Connect the changed handler to the checks that matter

In the proposed Zof workflow, the engineering owner provides the candidate change, relevant service interfaces, existing checks, and fixture assumptions. System Graph supplies the connection between the handler and its dependencies. The resulting scope should include order reconciliation as well as the immediate payment response.

The Verification Engine selects and runs verification using approved tools, customer validators, and existing CI evidence. Here, the useful output is a finding tied to the candidate, failure condition, and affected order. Engineers still define correct financial behavior, approve access, and decide whether the evidence supports rollout.

Inspect the second attempt, not just its response code

The timeline deliberately separates provider state from checkout state. An HTTP success on the recovery request is insufficient. The reviewer needs the final capture count and amount, the order state, and the connection between both attempts and the original logical payment.

A delayed confirmation, repeated recovery request, and reconnect after interruption exercise different paths. Stripe’s network error guidance explains why restored connectivity alone cannot establish whether an earlier request succeeded. Unresolved outcomes need reconciliation under the provider’s rules, rather than a fresh operation created merely to clear an error.

An evaluation you can inspect

Recovery conditions worth testing

Acceptance criteria for the single capture workflow. The agreed provider policy defines retry timing and the permitted final order state.

Recovery conditions worth testing. Checks and acceptance criteria.
ConditionExpected behaviorEvidence to inspect
Ordinary confirmationOne intended capture; order paidProvider record and matching order transition
Confirmation after timeoutRecover the existing paymentBoth attempts linked to one operation
Repeated recovery requestNo additional capture or amountCapture records and unchanged financial total
Connection restoredReconcile before resolving the orderRecovery action and final state comparison
Retry window exhaustedFollow the agreed escalation policyUnresolved state, owner, and reconciliation record

On a small screen, scroll the matrix to compare all columns.

Download the evaluation worksheet

Failure condition to test

Failure condition: recovery creates a second capture

Condition to exercise
Check whether a recovery action creates another payment operation when the original capture has already succeeded.
Required behavior
One intended capture for the agreed amount, connected to a defined order resolution.
Evidence to collect
  • Candidate and fixture identifiers
  • Original and recovery request relationships
  • Final capture count, amount, and order state
Release decision
Block wider rollout until the duplicate operation is explained, corrected, and the relevant recovery cases are checked again.

Make the environment part of the evidence

A simulator can establish that checkout reacts correctly to a defined response sequence. It cannot establish that a real provider produces that sequence under every condition. Record what the fixture represents, which store configurations are covered, and which behavior still needs a provider test environment.

If local connectivity changes the result, assess execution inside the store network during scoping. The owner approves the accounts, paths, and evidence location. Any proposed fix returns through engineering review and the same recovery checks before a wider rollout is considered.

A release decision needs a financial answer

The release owner should stop the rollout for an unintended additional capture, a wrong amount, or an order that remains unresolved beyond the agreed recovery policy. Missing evidence is an open question, not a pass. Each exception needs an owner and a disposition.

Measure review effort separately if efficiency is an evaluation goal. Use comparable releases and a consistent definition of review time. Keep that measurement separate from the payment correctness checks, and retain the fixture’s provider and tender limits in the release record.

Before you scope the work

What should we bring?

One checkout change, its owner, the provider contract, and access to a representative test environment. Identify the recovery behavior you are least certain about.

Can we use existing payment tests?

Yes. Include relevant tests and CI results in scoping. The investigation should expose a missing recovery condition and connect its evidence, rather than replace useful existing coverage.

Does this require live transactions?

The proposed evaluation uses synthetic orders and approved test facilities. Any behavior those facilities cannot reproduce remains an explicit limit of the conclusion.

What would we receive?

A Reliability Sprint provides scoped findings, supporting evidence, reproduction steps, a baseline, and prioritized recommendations. Scope, price, environment, and timing are agreed before work begins.

Resolve the payment and the order together

A safe retry preserves financial intent and gives the order a defined outcome. The release evidence must demonstrate both under the failure conditions that matter.

Sources and scope

These primary references explain the mechanisms and review practices used in this evaluation.

  1. Idempotent requests · Stripe

    API v1 key reuse, parameter matching, and retention. Other API versions and providers require their own contract.

  2. Network errors and recovery · Stripe

    Why a missing response leaves an uncertain outcome and recovery must preserve the original operation.

Your workflow. Your evidence.

Put one checkout workflow under scrutiny

Bring the payments engineer who owns recovery and the release question you need answered. Scope a paid Reliability Sprint around that workflow and the evidence needed for the next decision.

Book a Reliability Sprint

A paid engagement for one critical system. Scope and price are agreed first. Seven days is typical; access and deployment requirements can extend the timeline.

Continue the investigation

Manufacturing and plant software

After the plant connection returns, is the order still in the right state?

Follow another recovery problem where interrupted connectivity changes an order’s state.

Cybersecurity software

A detection update should not change who can see the event.

Inspect how a shared processing change can preserve one result while breaking another boundary.

01Zof Console

One surface for posture, operations, and what needs attention next.

The authenticated home that engineering, QA, and SRE teams open every day: quality posture, in-flight runs, coverage by module, and what needs attention next.

OPERATIONAL KPIs

  • Runs
  • Coverage
  • Risk

Live across every environment you ship to.

WORK SPINE

  • Specs
  • Tests
  • Schedules

From specification to scheduled regression.

GUARDRAILS

  • RBAC
  • SSO
  • audit

Every action attributable to a named human.

LIVE/console
Zof home command center showing 12 runs at 94% pass, 3 open critical issues, 84% coverage, four module traceability bars, the specification pipeline, upcoming schedules, and recommended next actions with an active-runs sidebar.
Example console home · Checkout Service · Staging.