Subscription trials
Stripe Price data may include a default trial period, and trial subscriptions are projected with exact Stripe timestamps.
Required product decisions
Before enabling a trial, decide and document:
- whether a payment method is required at signup;
- which plans and customers are eligible;
- whether repeated trials are prevented;
- when reminder messages are sent;
- what happens when payment fails at conversion;
- whether access ends immediately or receives a grace period; and
- how cancellation during a trial behaves.
Supacharger does not make these product decisions automatically.
Access state
trialing is a distinct subscription state on each Subscription. Applications may grant trial access, but they must use the same billing-account entitlement decision as paid access. With multiple Subscriptions, one trial ending must not revoke features still granted by another Subscription or by a manual/promotion grant. Never trust a client-side timer or Checkout redirect.
Testing
Use a Stripe Sandbox and test clocks to verify:
- trial creation timestamps;
- reminder timing if
customer.subscription.trial_will_endis added to the implemented event contract; - conversion to
active; - payment failure and recovery;
- cancellation before the trial ends; and
- expiry without a payment method.
The current canonical event list does not handle customer.subscription.trial_will_end. Add that event only with a notification handler, duplicate protection, retry behaviour, tests, and matching documentation.