BILLING REPLAY / observed adapter checks
PASS · 8/8 scenarios passed
Normalized synthetic fixtures. A passing demo does not establish a production Stripe integration or prove every billing policy.
activation
| Step | Expected | Observed | Result |
|---|---|---|---|
| initially-denied | {
"customerId": "customer-a",
"access": false,
"credits": 0
} | {
"access": false,
"credits": 0
} | PASS |
| activate | {
"customerId": "customer-a",
"access": true,
"credits": 0
} | {
"access": true,
"credits": 0
} | PASS |
stale-reactivation
| Step | Expected | Observed | Result |
|---|---|---|---|
| activate | {
"customerId": "customer-a",
"access": true
} | {
"access": true,
"credits": 0
} | PASS |
| cancel | {
"customerId": "customer-a",
"access": false
} | {
"access": false,
"credits": 0
} | PASS |
| deliver-old-activation | {
"customerId": "customer-a",
"access": false
} | {
"access": false,
"credits": 0
} | PASS |
duplicate-invoice
| Step | Expected | Observed | Result |
|---|---|---|---|
| paid-invoice | {
"customerId": "customer-a",
"access": true,
"credits": 10
} | {
"access": true,
"credits": 10
} | PASS |
| retry-identical-event | {
"customerId": "customer-a",
"access": true,
"credits": 10
} | {
"access": true,
"credits": 10
} | PASS |
payment-failure
| Step | Expected | Observed | Result |
|---|---|---|---|
| activate | {
"customerId": "customer-a",
"access": true
} | {
"access": true,
"credits": 0
} | PASS |
| fail-payment | {
"customerId": "customer-a",
"access": false
} | {
"access": false,
"credits": 0
} | PASS |
cross-customer-isolation
| Step | Expected | Observed | Result |
|---|---|---|---|
| customer-a-pays | {
"customerId": "customer-a",
"access": true,
"credits": 5
} | {
"access": true,
"credits": 5
} | PASS |
| customer-b-remains-denied | {
"customerId": "customer-b",
"access": false,
"credits": 0
} | {
"access": false,
"credits": 0
} | PASS |
| customer-b-canceled | {
"customerId": "customer-a",
"access": true,
"credits": 5
} | {
"access": true,
"credits": 5
} | PASS |
duplicate-credit-grant
| Step | Expected | Observed | Result |
|---|---|---|---|
| grant | {
"customerId": "customer-a",
"access": false,
"credits": 3
} | {
"access": false,
"credits": 3
} | PASS |
| retry-grant | {
"customerId": "customer-a",
"access": false,
"credits": 3
} | {
"access": false,
"credits": 3
} | PASS |
paid-then-canceled
| Step | Expected | Observed | Result |
|---|---|---|---|
| paid | {
"customerId": "customer-a",
"access": true,
"credits": 8
} | {
"access": true,
"credits": 8
} | PASS |
| cancel | {
"customerId": "customer-a",
"access": false,
"credits": 8
} | {
"access": false,
"credits": 8
} | PASS |
late-paid-invoice
| Step | Expected | Observed | Result |
|---|---|---|---|
| cancel | {
"customerId": "customer-a",
"access": false,
"credits": 0
} | {
"access": false,
"credits": 0
} | PASS |
| late-invoice | {
"customerId": "customer-a",
"access": false,
"credits": 10
} | {
"access": false,
"credits": 10
} | PASS |