RevClamp Enterprise B2B REVENUE ASSURANCE Start Free
FREE STRIPE 2025-03-31.BASIL DIAGNOSTIC | ZERO LOGIN REQUIRED
STRIPE 2025-03-31.BASIL • Stateless Browser Diagnostic

Free Stripe 2025-03-31.basil Subscription Entitlement & Ghost-Usage Auditor

In Stripe API 2025-03-31.basil, top-level subscription.current_period_end is undefined (moved onto items.data[]), causing legacy sub.current_period_end * 1000 < Date.now() checks to evaluate to false and allow unpaid API consumption indefinitely.

1. Subscription Snapshot & Metered Cost Parameters

Test how naive webhook handlers compare against RevClamp's multi-item 2025-03-31.basil entitlement engine.

2. Entitlement Verdict & Signed Revoke Webhook Preview

Compares legacy sub.current_period_end logic against item-level has_more-aware reconciliation.

Click Run basil Entitlement Audit to compare legacy webhook behavior against deterministic 2025-03-31.basil evaluation.
Awaiting evaluation...

3. Stripe 2025-03-31.basil Entitlement Failure Modes & Deterministic Guards

Why B2B SaaS and AI platforms need customer-level subscription reconciliation and item-level period aggregation before revoking API access.

Failure Mode Stripe 2025-03-31.basil Payload Shape Naive Webhook Handler Bug RevClamp Deterministic Guard
Top-Level Period Removal sub.current_period_end === undefined undefined * 1000 < Date.now() is false (unpaid bleed) Aggregates max items.data[].current_period_end (fail-closed)
Multi-Subscription Customer sub_old (canceled) + sub_new (active) Revokes API key on first subscription.deleted webhook Reconciles full customer subscription set before emitting revoke
Truncated List Pagination items.has_more === true or subscriptionsHasMore === true Evaluates partial page-1 items and revokes active seats Blocks revocation with INCOMPLETE_PAGINATION_SNAPSHOT
Active Bank Retry (Dunning) status: "past_due", latest_invoice_failed_at < grace Locks out enterprise customer during 48h card retry Honors configurable 0–14d dunningGracePeriodDays
Out-of-Order Webhook Replay Delayed invoice.payment_failed arrives after renewal Overwrites paid subscription state back to past_due Enforces 72h event deduplication and transition-timestamp ordering
Stripe 2025-03-31.basil Billing Period Normalization and Visa CE 3.0 Evidence Pipeline Flowchart
Read Stripe basil Engineering Post-Mortem → Open Free Visa CE 3.0 Readiness Checker Start Free Workspace (5,000 events/mo)