Checkout flow regression — Stripe → LemonSqueezy migration
Completed · 2h 14m turnaround- Target
- test4all.info / checkout
- Scope
- End-to-end checkout flow + 3 payment providers
- Submitted
- Mar 14, 09:42
- Devices
- Web (Chrome 126 / macOS) · iOS 17 / Safari 17 · Android 14 / Chrome 126
Chronological findings — 8 logged across 2h 14m
Discount code lost on Stripe → LemonSqueezy hand-offSeverity: high
Applied promo `LAUNCH20` is dropped when LemonSqueezy receives the cart payload. Steps + payload diff in §3.2.
- Open /checkout in Chrome 126 (macOS); add cart item
- Apply promo LAUNCH20; verify line-item discount visible
- Click Pay → observe LS payload missing discount field
Address autofill clobbers manually-entered ZIPSeverity: med
Reproduced on Chrome 126 (macOS) + Safari 17 (iOS). Form re-submit fails silently when ZIP mismatches autofill.
- Trigger Chrome address autofill on shipping form
- Manually edit ZIP to a different valid value
- Submit → form silently rejects with no error visible
Apple Pay round-trip — greenSeverity: low
End-to-end Apple Pay sandbox checkout passes on iOS 17 / Safari 17. Receipt emails arrive within SLA.
- Initiate Apple Pay sheet from /checkout
- Authenticate via sandbox account on iOS 17
- Verify receipt email arrives within 60s
Webhook retry storm on 503Severity: high
When the LemonSqueezy webhook receiver returns 503, the retry policy fires 6 attempts within 11 seconds (expected: exponential backoff).
- Force webhook endpoint to return 503 via fault injection
- Observe retry log — 6 attempts in 11s
- Compare expected exponential backoff (max 3 attempts in 30s)
Tax calculation latency p95 = 1.4sSeverity: low
Avalara API call adds 1.4s p95 latency on cart update. Within SLO but worth caching at edge.
- Trigger cart update with new tax-jurisdiction ZIP
- Measure p95 over 50 calls
- Compare with cached jurisdiction lookup baseline
Refund flow — green across all 3 providersSeverity: low
Stripe + LS + Apple Pay all process partial refunds correctly; balance ledger reconciles on next webhook.
- Issue partial refund via admin dashboard for each provider
- Verify ledger balance updates on next webhook
- Confirm customer notification email arrives
Cart total off-by-1¢ on multi-currency convertSeverity: med
Floating-point rounding produces 1¢ delta when cart switches USD → EUR mid-session. Server total ≠ client total by 0.01.
- Add USD item to cart
- Switch locale to EU → convert to EUR
- Compare client display vs server total — observe 0.01 delta
All 6 SOC 2-required audit logs presentSeverity: low
Every checkout state transition emits structured audit log with actor + delta + timestamp.
- Walk through checkout end-to-end on staging
- Tail audit log; verify 6 required transitions logged
- Cross-check actor + delta + timestamp fields
Full report sections
This is what a real Test4All report looks like — structured, reproducible, hand-written by senior QA engineers.
Coverage
End-to-end checkout flow tested across 3 payment providers (Stripe / LemonSqueezy / Apple Pay) on Web (Chrome 126 / macOS), iOS 17 / Safari 17, and Android 14 / Chrome 126. SOC 2 audit-log requirements verified.
Reproduction guarantee
Every bug in the timeline above includes 3-step reproduction with environment context, expected behavior, and actual behavior. We rerun the report after fixes — no extra charge.
Severity rubric
High = blocks release. Med = ship-with-followup. Low = nice-to-fix. We use the same rubric across every report so your engineers triage faster.
See what your own report looks like.
Submit your first test request — typically 72-hour turnaround. No setup, cancel anytime.
Start free trial