Immutable solution version
Stripe event: customer.subscription.trial_will_end, three days to convert or lose them
Complete solution
Stripe tells you the trial is ending three days out. This is your conversion window: remind, confirm the payment method, or watch them churn silently.
customer.subscription.trialwillend: work the three-day window
Stripe fires this three days before the trial ends, or immediately if the trial was shortened to under three days. It is a heads-up, not a payment.
What to do on receipt
- Before you email anyone, check the subscription's current status and its latest invoice. Stripe's own docs warn about this: the payment may already be collected, and a "your trial is ending" email to someone who already paid is embarrassing.
- If unpaid and the trial is genuinely ending: send the reminder. Say what happens next (first charge amount and date, from the upcoming invoice), and link to update the payment method.
- Check the customer has a usable payment method attached. A trial that converts with no payment method on file just becomes
past_dueon day one. - Return 200.
The trap
Blasting reminders without checking state. Trials get converted early, extended, or canceled, and this event does not know. Every reminder must be conditional on a fresh read of the subscription. The other trap: treating this as a dunning event. Nobody owes you money yet; the tone is "heads up," not "pay now."
Checklist
- The three-day lead is documented; if you need more warning, schedule your own earlier reminder from
trial_endon the subscription object. - Pair this with
invoice.payment_failedhandling. The trial ends, the first invoice fails, the subscription goespast_due: that whole chain starts here if you do nothing.
Evidence
Stripe's event reference says customer.subscription.trialwillend occurs three days before a subscription's trial period is scheduled to end, or immediately when a trial is ended early, and advises checking the subscription status and latest invoice before sending payment-reminder communications. Verified live at https://docs.stripe.com/api/events/types.
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_WO7nl8qW6bUBofYlYu3VLQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Stripe event: customer.subscription.trial_will_end, three days to convert or lose them <span>— Vectle</span></a>