Reference
Where it breaks.
Six common checkout failures, the symptom you will see in support tickets, and the design fix.
By Nagesh Koritala Reference Last verified: November 2026
A checkout is a distributed system with money in it. Messages time out, people double-click, batches run late, and cards expire between order and shipment. Each failure below has a symptom you will recognize from support tickets, and a design fix.
Double submit
The shopper taps “Place order” twice, or the browser retries after a slow response. Two authorizations go out.
Fix: send an idempotency key with every authorization so the provider returns the first result instead of creating a second. Disable the button after the first tap.
Timeout in the middle
The issuer approved, but the response never made it back. Your system shows a failure; the customer's bank shows a hold.
Fix: on timeout, query the status or send an authorization reversal. Never assume “no answer” means “declined.”
Expired authorization
A back-ordered item ships on day 12. The hold expired on day 7 (a common processor default; windows vary by brand and processor), and the capture fails.
Fix: track each authorization's expiry, reauthorize before capture when needed, and alert operations on aging orders.
Missing references
Finance cannot tie a deposit back to orders because the order never stored the capture's transaction ID.
Fix: persist every gateway ID (authorization, capture, refund) on the order, and pass your order number to the gateway as a reference.
Refund after chargeback
Customer service refunds a customer who has already filed a dispute. The chargeback also succeeds. You paid back the money twice.
Fix: surface dispute status in the service tool and block refunds on disputed payments.
Quoted vs committed
Tax shown at checkout differs from tax on the invoice because the address, price, or rates changed in between.
Fix: quote at checkout, commit the final tax record at invoice or shipment, and use the same engine and inputs for both.
Notice the pattern. Almost every failure lives in a gap between two systems or a gap in time. Checkout, OMS, gateway, and ERP each hold their own copy of the truth. The work of a checkout team is to keep those copies in agreement, and to notice quickly when they drift.
Sources for this guide
Card network rules change. Time limits, fees, and authorization windows here reflect published rules and provider documentation as of late 2026; confirm details with your processor before you build against them.
Sources
- Visa authorization and clearing time frame changes, April 2024 (TD Bank summary)
- Checkout.com: Visa authorization processing time frames
- Stripe: Place a hold on a payment method
- Revolut: Clearing windows by card brand
- Moov: Card-not-present best practices
- Adyen: Dispute timeframes
- Cybersource: Stored credential framework (CIT, MIT, standing instructions)
- VGS: DPAN vs MPAN
- Stripe: Apple Pay merchant tokens
- Google Pay: Payment data cryptography (PAN_ONLY and CRYPTOGRAM_3DS)
- Checkout.com: Google Pay authentication methods and liability shift
- Solidgate: Why the Apple Pay card number differs from the card
- Spreedly: Payment Account Reference (PAR)
- Visa: Authorization and reversal processing best practices
- Visa: Authorization framework time frames (2024)
- Visa: Declined transaction resubmission rules
- Visa: Dispute management guidelines for merchants
- Visa: VAMP fact sheet
- Visa: Account Updater FAQ
- Mastercard: Chargeback Guide, Merchant Edition
- Mastercard AN 5524: CIT and MIT indicators (via AIB Merchant Services)
- Mastercard Gateway: Cardholder and merchant initiated payments
- Adyen: Mastercard Transaction Link Identifier
- American Express: US Disputes Reference Guide
- American Express: International Merchant Regulations
- Adyen: Adjust authorisation (validity by brand)
- Apple: Merchant tokens (MPANs)
- Apple: Payment token format reference
- Apple: Merchant Token Notification Services
- Google Pay: Merchant-initiated transactions
- Google Pay: Token lifecycle management
- Stripe: PaymentIntent lifecycle
- Stripe: Refund object
- Stripe: Dispute object
- Stripe: Subscription object
- Stripe: Decline codes
- PCI SSC: Future-dated requirements of PCI DSS v4.x
- Report URI: SAQ A changes in PCI DSS 4.0.1
- SecureTrust: PCI DSS SAQ types
- Chargeback Gurus: Regulation II and card-not-present debit
- Baymard Institute: Cart abandonment rate statistics (updated September 2025)
- Baymard Institute: The current state of checkout UX (2025)
- Baymard Institute: Checkout optimization and average form fields (2024)
- Baymard Institute: Inline form validation
- Baymard Institute: Adaptive validation error messages
- Adobe: 2025 US holiday shopping season
- US Department of Justice: Guidance on web accessibility and the ADA
- W3C: Web Content Accessibility Guidelines (WCAG) 2.2
- Apple: Human Interface Guidelines, accessibility
- Stripe: How to increase checkout conversion
- Stripe: The checkout process, reducing friction
Your progress stays on this device.
Next
Payments dictionary.
Payment terms and abbreviations in plain language, searchable and filterable by topic.
Questions about payments? Email me. I read every note.