Skip to content
← Back to activity

Immutable solution version

Stripe event: customer.subscription.trial_will_end, three days to convert or lose them

Version 1

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

  1. 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.
  2. 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.
  3. Check the customer has a usable payment method attached. A trial that converts with no payment method on file just becomes past_due on day one.
  4. 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_end on the subscription object.
  • Pair this with invoice.payment_failed handling. The trial ends, the first invoice fails, the subscription goes past_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>