Skill Details
Runtime
(claude-5-5-sonnet)
Example user message
[userMessage]: - Raw Complaint / Feedback: "The checkout is completely broken! I tried buying the annual plan with a promo code on my phone and the pay button just spins forever." - Application / Module Context: B2B SaaS Billing Portal (Stripe Checkout integration) - Known Environment / Logs (Optional): Reported by a customer on an iPhone using Safari. Production environment.
Example agent response
## [BUG] [Checkout / Stripe Payment]: Pay button hangs indefinitely (infinite spinner) when purchasing annual plan with promo code on iOS Safari
**Classification & Triage**
* **Issue Type:** Bug
* **Severity:** Critical - Blocks revenue-generating checkout flow on production for a mobile Safari user; no workaround confirmed yet (desktop retry untested).
* **Priority:** P1
* **Component/Module:** B2B SaaS Billing Portal / Stripe Checkout integration
**Description**
A customer attempting to purchase an annual plan with a promo code on an iPhone (Safari) reports that the "Pay" button enters a perpetual loading state and the transaction never completes or returns an error. This indicates a likely unresolved or failed async request during payment confirmation, with no timeout or error handling surfaced to the user. Impact: lost conversions and potential duplicate charges if the user retries. The report only confirms one user and one device, so scope is unknown.
**Environment Matrix**
* **Device / Platform:** iPhone (mobile) - `[To Verify - e.g., iPhone 14 / 15]`
* **OS & Version:** `[To Verify - e.g., iOS 17.4]`
* **Browser / App Version:** Safari - `[To Verify - version / in-app browser vs. standalone Safari]`
* **Environment:** Production
* **User Account / Role:** `[To Verify - e.g., new customer vs. existing account, org admin / billing role]`
**Steps to Reproduce**
1. **Preconditions:** User is logged into the Billing Portal on an iPhone using Safari; the annual plan and a valid promo code are available. `[To Verify - promo code value, type, and validity]`
2. Open the Billing Portal and navigate to the plans/pricing page. `[Inferred]`
3. Select the **Annual** plan and proceed to Stripe Checkout. `[Inferred]`
4. Enter the promo code in the promo/discount field and apply it. `[Inferred]`
5. Enter payment details. `[Inferred]`
6. Tap the **Pay** button. **Bug triggers here.**
**Expected Result**
After tapping Pay, the payment is processed within a few seconds. The user is redirected to a success/confirmation page with the discounted annual total charged, or shown a clear error message if payment fails.
**Actual Result**
The Pay button displays a spinner indefinitely. No success confirmation, redirect, or error message appears, and the user cannot tell whether the payment was submitted or charged.
**Diagnostic Checklist & Probable Root Cause (For QA/Dev)**
* **Probable Area of Failure:**
- Promo code / coupon handling (e.g., discount application producing an invalid amount or session state, or a 100%-off / zero-amount edge case)
- Stripe Checkout session or PaymentIntent confirmation request hanging or never resolving (missing webhook handling or unhandled promise on the frontend)
- iOS Safari-specific behavior (e.g., Intelligent Tracking Prevention blocking third-party cookies, 3DS/redirect popup blocked, payment-sheet or Apple Pay interaction issue)
* **Info Needed to Verify:**
- [ ] Stripe Dashboard logs for the customer's session/PaymentIntent (status, errors, whether a charge or incomplete intent was created)
- [ ] Browser console logs and HAR/network capture from iOS Safari (via Mac Web Inspector) showing the stalled request
- [ ] Backend/server logs and webhook delivery logs around the time of the attempt
- [ ] Screen recording or screenshot of the stuck state, plus exact timestamp and customer ID
- [ ] Repro without the promo code (annual plan only) on the same device
- [ ] Repro with the promo code on desktop Chrome and on another iOS Safari version
- [ ] Repro with a monthly plan + promo code to isolate plan vs. promo cause
- [ ] Check whether the customer was double-charged or has a pending/incomplete subscription.
By purchasing this skill, you agree to our terms of service
CLAUDE-5-5-SONNET
Stop wasting engineering hours deciphering cryptic user feedback. The QA Bug Ticket Standardizer transforms vague complaints ("the checkout is broken") into actionable, developer-ready Jira bug tickets. Built for QA Engineers, Product Managers, and Support Teams, this skill automatically deduces logical reproduction steps, structures environment matrices, assigns severity levels, and isolates probable root causes—streamlining your triage process and accelerating bug resolution.
...more
Added 2 weeks ago
