Search code examples
stripe-paymentssubscription

How to give discount on new Stripe subscription?


We have a free subscription concept separate from Stripe. When a user signs up for a paid subscription we want to charge them immediately but still honor any remaining free-period.

I know I can use trial period to delay the start of the Stripe subscription, but we wanted to charge immediately to confirm valid credit card details. Is it possible to give a discount on a new subscription instead, to account for the users remaining free-time?

For example, if

  • today is the 1st
  • user has free subscription until 15th
  • monthly subscription is $10

I would like to charge them $5 today and immediately begin their subscription in Stripe with a Stripe renewal on the next 1st.


Solution

  • Easiest way to do this is to add an invoice item for the amount you want to charge and set a trial period until you want the renewing charge to occur (so in your example you set a trial_end for the next 1st of month). This will generate an initial invoice with the invoice item and then set your recurring payment as you desire.