Stripe Entitlements (Features on Products) tell you the customer's subscription includes a named feature. That is a catalog lookup. It does not atomically burn 1 of 20 AI credits, and it does not return 402 when the wallet is empty. That check is yours — or UsageGate's.
| Stripe Entitlements | UsageGate | |
|---|---|---|
| Charges the card | No — Stripe Billing does | No |
| Catalog flag on the product | Yes | No — plan table cells |
| Blocks a request over the plan | No | Yes |
| Atomic credit consume | No | Yes — Redis |
| 402 when empty | No | Yes |
| Works if you leave Stripe | No | Yes — reportSubscription |
| Replace the other | No | No |
When to use both
Most UsageGate workspaces stay on Stripe for checkout. Paste the Price id on the paid plan column. Stripe assigns the plan. UsageGate enforces canAccess / consume. See Connect Stripe and UsageGate + Stripe.
When Entitlements are the wrong tool
You sell AI credits, exports, or seats with a remaining count. A boolean feature on the Product does not keep that count. Meters invoice the overage; they still do not stop the request.
