Payments-driven entitlements owns the grant/revoke decision — when a customer gets access, and when they lose it. The subscription records what the customer wants. The payment proves they can have it.

Subscription Event Entitlement Grant Runtime Check
Subscription Event

Subscription creates, changes, and cancellations emit events. The system doesn't know or care whether payment succeeded.

Entitlement Grant

Access is granted the moment the subscription changes, not when payment confirms. Provisioned asynchronously.

Runtime Check

~50 product services query entitlements at runtime. Binary — access granted or not. No visibility into payment status.

If payment fails, gets stuck, or requires 3DS, the customer already has access. The entitlement was granted when the subscription changed — not when money moved. This creates two problems that compound.

The Timing Gap

Access granted the moment subscription changes, not when payment confirms. If payment fails or requires 3DS, the customer already has the product. The entitlement was granted on intent, not proof.

The Revocation Dilemma

When dunning eventually flags the account, the system revokes something the customer may believe they legitimately have. Indistinguishable from a bait-and-switch.

Sub Created Payment Attempted Outcome Resolved Entitlements Granted
Payment Succeeds

Entitlements granted. The customer paid, the payment resolved, access is provisioned. This is the only path to feature access.

Payment Fails

No entitlements. The subscription records intent, but access is not provisioned. The customer sees a clear state — pay to activate.

Payment Pending

Entitlements held. 3DS challenges, async resolution — no access until the outcome resolves. The customer knows they're waiting.

Deferred PM Collection

Users subscribe and pay interactively. 3DS works because the user is present. PM collection decoupled from subscription changes.

Entitlement Provisioning

Consumes payment outcomes from both on-session and off-session flows. Grants or revokes based on whether money moved.

Dunning Overhaul

Manages payment recovery when renewal charges fail. Produces payment outcomes that feed into this system.