#voidrender

1 messages ยท Page 1 of 1 (latest)

buoyant sluiceBOT
narrow cosmos
#

So what is the use case here? A customer has a sub that renews 1st of every month. They redeem a promo code to go yearly and at the 1st of the next month they should get onto a yearly billing cycle with no cost?

shrewd fern
#

Yeah, that's one use case.

#

The other gnarly one is a yearly sub redeeming a promo code for a free month.

#

I'm also curious about the simpler use case of a monthly subscriber getting a promo code for a free month, but I have one decent solution for that--add a credit to their Stripe balance for the price of one month, and then when it renews their next month will be $0 (same for yearly w/ yearly promo)

rigid berry
#

๐Ÿ‘‹ Taking over this thread, catching up now

#

When you mentioned about "promo code", is the promo code from your own system or from Stripe?

shrewd fern
#

Hello there! It would be from our own system

rigid berry
#

Thanks for sharing! In this case, it'll be possible with subscription schedule. The steps will be:

  1. Customer enters promo code and your system decides to give one month free for yearly subscription in the 1st of next month
  2. Add a subscription schedule on the existing subscription: https://stripe.com/docs/billing/subscriptions/subscription-schedules/use-cases#existing-subscription
  3. Update the subscription schedule. First phase will be the current monthly price and set its end date to 1st of next month. Second phase will be the upcoming yearly price and you may specify the trial_end to the end of next month: https://stripe.com/docs/billing/subscriptions/subscription-schedules/use-cases#upgrading-subscriptions
#

The result will be:

  1. Customer's existing subscription started on 2 Jan 2023
  2. Customer redeems the promo code
  3. Subscription schedule is set to start one month trial from 1 Feb 2023 to 1 Mar 2023
  4. Yearly subscription starts on 1 Mar 2023
shrewd fern
#

Excellent! Thank you for the detailed response.

rigid berry
#

No problem! Happy to help ๐Ÿ˜„