Something went wrong!
Hang in there while we get back on track
Subscription Checkout Payment Edge Cases
Analyzes a subscription checkout flow to identify missing payment failures, validation, and concurrent user edge cases. Demonstrates handling of e-commerce scenarios including card declines, gateway failures, and duplicate submission prevention.
Input
What you provide to the skill
Subscription checkout: user selects plan, enters payment, gets confirmation. AC: user sees plans, can pay with card
Output
What the skill generates for you
Edge Case Analysis: Subscription Checkout
Current AC Coverage: 33% (happy path only, missing critical payment, error, and security edge cases)
Missing Edge Cases Identified (14 cases)
Category: Empty/Null States
Edge Case 1: What if no plans are available to display? MEDIUM PRIORITY
Current Status: Not defined
Suggested AC:
- “If no plans exist, show message: ‘No subscription plans available at this time’”
- “Display ‘Contact Support’ button with link”
- “Log incident for investigation (should not occur in production)”
Why Important: Graceful handling prevents broken UI and user confusion
Edge Case 2: What if user has incomplete payment method from previous attempt? MEDIUM PRIORITY
Current Status: Not defined
Suggested AC:
- “If incomplete payment data exists, allow user to complete or start fresh”
- “Show message: ‘Continue with previous payment method or enter new one’”
- “Clear incomplete data after 24 hours”
Why Important: Reduces friction for users returning to complete checkout
Category: Boundary Conditions
Edge Case 3: What if plan has $0 price (free trial/free tier)? HIGH PRIORITY
Current Status: Not defined
Suggested AC:
- “Free plans ($0) skip payment entry screen”
- “Show confirmation: ‘Your free plan is active’”
- “Still collect email for account creation”
- “Allow upgrade to paid plan later”
Why Important: Common business model, prevents confusing payment flow for free plans
Edge Case 4: What if plan price is very large (e.g., enterprise $10,000+)? MEDIUM PRIORITY
Current Status: Not defined
Suggested AC:
- “Display prices clearly with proper comma/period formatting for locale”
- “Show price breakdown if applicable (per user, per month)”
- “No arbitrary maximum price limit”
Why Important: Professional handling for enterprise pricing
Category: Error Scenarios
Edge Case 5: What if payment fails (declined card)? CRITICAL PRIORITY
Current Status: Not defined
Suggested AC:
- “Show clear error: ‘Payment was declined. Please check your card details or try a different card.’”
- “Allow user to retry with same or different card”
- “Do not create subscription if payment fails”
- “Log decline reason (insufficient funds, invalid card, etc.) for support”
Why Important: Most common payment failure, needs clear recovery path
Edge Case 6: What if payment gateway is down/unavailable? HIGH PRIORITY
Current Status: Not defined
Suggested AC:
- “Show error: ‘Payment system temporarily unavailable. Please try again in a few minutes.’”
- “Provide retry button”
- “Send alert to ops team”
- “Do not charge user or create subscription”
Why Important: Prevents bad UX and billing issues during outages
Edge Case 7: What if card number is invalid? HIGH PRIORITY
Current Status: Not defined
Suggested AC:
- “Validate card number format client-side (Luhn algorithm)”
- “Show error immediately: ‘Invalid card number’”
- “Highlight card number field in red”
- “Disable payment button until valid”
Why Important: Prevents unnecessary API calls, improves UX
Edge Case 8: What if card is expired? HIGH PRIORITY
Current Status: Not defined
Suggested AC:
- “Validate expiration date client-side (must be future month/year)”
- “Show error: ‘Card has expired. Please use a different card.’”
- “Highlight expiration field”
Why Important: Common issue, caught early saves API calls
Edge Case 9: What if CVV is missing or invalid? HIGH PRIORITY
Current Status: Not defined
Suggested AC:
- “CVV field required (3-4 digits depending on card type)”
- “Show error: ‘Please enter valid CVV (3-4 digits on back of card)’”
- “Mask CVV input for security”
Why Important: Security requirement and common user error
Edge Case 10: What if user already has active subscription? HIGH PRIORITY
Current Status: Not defined
Suggested AC:
- “Check for existing subscription before allowing selection”
- “If active subscription exists, show: ‘You already have [Plan Name]. Would you like to upgrade/downgrade?’”
- “Prevent duplicate subscriptions”
- “Offer plan change flow instead”
Why Important: Prevents duplicate billing and user confusion
Category: Concurrent/Conflict Scenarios
Edge Case 11: What if plan pricing changes while user is on checkout page? MEDIUM PRIORITY
Current Status: Not defined
Suggested AC:
- “When user clicks confirm, validate current plan price matches”
- “If price changed, show: ‘Plan pricing has been updated. New price: $X/month. Continue?’”
- “Require user confirmation before processing changed price”
Why Important: Transparency and legal protection for price changes
Edge Case 12: What if user submits payment twice (double-click)? HIGH PRIORITY
Current Status: Not defined
Suggested AC:
- “Disable payment button immediately on click”
- “Show loading spinner: ‘Processing payment…’”
- “Implement idempotency key to prevent duplicate charges”
- “If duplicate detected, show existing confirmation”
Why Important: Prevents accidental double billing
Category: Input Validation
Edge Case 13: What if user enters SQL injection or XSS attempts in payment fields? CRITICAL PRIORITY
Current Status: Not defined
Suggested AC:
- “Sanitize all inputs server-side”
- “Use parameterized queries for database operations”
- “Payment provider SDK handles card data securely (PCI compliance)”
- “Log suspicious input patterns”
Why Important: Critical security requirement, PCI compliance
Category: Network/Performance
Edge Case 14: What if payment processing takes very long (30+ seconds)? HIGH PRIORITY
Current Status: Not defined
Suggested AC:
- “Show progress indicator: ‘Processing payment… This may take a moment.’”
- “Timeout after 60 seconds with error: ‘Payment is taking longer than expected. Please check your account or contact support.’”
- “Do not show success until confirmed”
- “Verify subscription status server-side before showing confirmation”
Why Important: Prevents confusion during slow payment processing
Priority Summary
CRITICAL/HIGH (11 cases) - Must address:
- Payment declined handling
- Payment gateway unavailable
- Invalid card number validation
- Expired card validation
- Invalid CVV validation
- Existing subscription check
- Double-click/duplicate submission prevention
- SQL injection/XSS prevention
- Free plan ($0) handling
- Payment timeout handling
MEDIUM (3 cases) - Should address:
- No plans available state
- Incomplete payment method from previous attempt
- Plan pricing changes during checkout
- Very large enterprise pricing
LOW (0 cases) - Nice to have:
- (None identified)
Coverage Improvement
Before: 3 acceptance criteria (happy path only)
After: 17 acceptance criteria (3 original + 14 edge cases)
Estimated Bugs Prevented: 10-14 (including security vulnerabilities and payment failures)
Recommended Next Steps:
- URGENT: Review security and PCI compliance edge cases with engineering and security teams
- Implement payment validation and error handling (critical/high priority cases)
- Test with test credit cards for various decline scenarios
- Ensure idempotency for payment submissions
- Add monitoring for payment gateway failures
About This Skill
Systematically analyzes feature descriptions and existing acceptance criteria to identify missing edge cases across six categories. Generates specific, testable acceptance criteria for each missing edge case with priority ratings.
View Skill DetailsMore Examples
API Rate Limiting Technical Edge Cases
Analyzes an API rate limiting feature to identify missing boundary conditions, race conditions, and distributed systems edge cases. Demonstrates technical infrastructure-level analysis including off-by-one errors, concurrent request handling, and failure mode decisions.
Password Reset Feature Security Analysis
Analyzes a basic password reset flow to identify missing security, validation, and error handling edge cases. Demonstrates comprehensive coverage of authentication-related features including email enumeration prevention, rate limiting, and token expiration.