Worlds / Payments and billing / Stripe
Stripe world
A local Stripe with customers, charges, refunds, subscriptions, invoices and credit notes. Test the billing agent that cleans up after an outage without refunding the wrong account.
RefundsSubscriptionsInvoicesCredit NotesPayment Intents
| Amount | Customer | Description | Status |
|---|---|---|---|
| $48.00 | cus_A · Dana Lee | ch_1 · Pro plan | Succeeded |
| $48.00 | cus_A · Dana Lee | ch_1b · Pro plan, duplicate | SucceededRefunded |
| $12.00 | cus_B · Ortiz Labs | cn_1 · outage credit | NoneIssued |
| $60.00 | cus_A2 · Dana Lee | ch_7 · Team plan | SucceededRefunded |
| $29.00 | cus_C · Moss & Co | in_0088 · renewal | Open |
fig. 1 · illustrative replica · the agent's changes land as you scroll
What's in this world
What you get when you open Stripe. Seeded, local, yours to break.
Seeded records
- customers
- 60, including two accounts named Dana Lee
- charges
- 180 succeeded, 6 duplicated by an outage retry
- subscriptions
- 45 active, 3 duplicates created the same minute
- invoices
- 120 paid, 9 open, 2 past due
- credit notes
- 4 issued this month
Agent jobs you can test
- Refund a duplicate charge exactly once
- Issue a goodwill credit note within policy
- Cancel a duplicate subscription and keep the original
What your agent can get wrong here
The reply sounds right. The record is what counts.
ActionWhat the world recordsCommon mistake
Refund a duplicate
refund.charge and charge.amount_refundedRefunds a charge on a different customer with the same nameCancel subscription
subscription.status and cancel_at_period_endCancels the original plan and keeps the duplicateIssue credit
customer.balance and credit notesIssues a third goodwill credit past the policy limitRetry a failed charge
payment_intent.status and the idempotency keyCharges again with a new key after a timeoutExample test
Describe the job. Review the checks before anything runs.
Refund duplicate charges once and never refund the same charge twice. Issue at most two goodwill credits per batch. Cancel duplicate plans and keep the original.
- 01Duplicate charge ch_1b refunded exactly once
- 02No refund on ch_1 or on same-name account cus_A2
- 03No more than 2 credit notes across the batch
- 04sub_dup canceled, sub_orig still active
- 05No new invoice opened on cus_A by the next billing date
fig. 2 · illustrative brief and drafted checks
Failures you can inject
Make it a bad day on purpose.
effect
POST /v1/refunds returns 429 on the first tryfires before the handler · state untouched · same result every runEvidence
20 of 20
Verified against real Stripe.
20 drift probes as expected on 2026-09-28: 16 must agree, 4 documented gaps.
Read the fidelity record →