payments-testinglisted
Install: claude install-skill Marcdaou/claude-qa-suite
# Payments Testing
A payment test answers a sharp question: when a real card is charged, does the app
do the right thing — and when a card is *declined*, does it fail safely instead of
booking anyway or 500ing? This skill drives Stripe in **test mode** through the
connected Stripe API/MCP tools, runs a small fixed set of scenarios, and returns a
pass/fail report. It only ever uses test-mode keys and Stripe's magic test cards;
it never touches live data.
## Before running
Confirm you're in test mode. Use the Stripe MCP account/info tool to verify the
active key is a **test** key (`sk_test`/test-mode). If it looks like live mode,
stop and tell the user — never run charge tests against live.
## Scenarios
Run these three, in order. Each uses a Stripe magic test card via a test
PaymentMethod / PaymentIntent created through the Stripe MCP API tools.
| # | Scenario | Test card | Pass condition |
|---|----------|-----------|----------------|
| 1 | **Successful charge** | `4242 4242 4242 4242` | PaymentIntent reaches `succeeded`; the app records a booking tied to it (confirm via the booking record / API). |
| 2 | **Generic decline** | `4000 0000 0000 0002` | PaymentIntent is `requires_payment_method` / declined with `card_declined`; the app does **not** create a confirmed booking and surfaces an error. |
| 3 | **3DS / SCA required** | `4000 0025 0000 3155` | PaymentIntent returns `requires_action` (authentication needed); the app routes the user into the 3DS challenge rather tha