#El_Chapalero-subscriptions
1 messages · Page 1 of 1 (latest)
Hi, thanks for taking the time to help.
I am trying to achieve the following behaviour with my subscriptions:
Subscription Upgrade:
User is refunded prorated amount for lower tier subscription (up to current plan end date), then user pays full amount for higher tier subscription and this creates a new subscription period which starts now.
Subscription Downgrade:
User keeps the higher tier plan until the end of the current subscription period (1 month) and then their plan is switched to the lower tier one for subsequent months.
I dont want to prorate downgrades because with my service the user could take advantage of this and do everything they need with the higher tier and then downgrade when they finish to save money every month.
User is refunded prorated amount for lower tier subscription (up to current plan end date), then user pays full amount for higher tier subscription and this creates a new subscription period which starts now.
you'll have to use the proration_behavior: none so no prorations happen when switching to a higher tier Price and changing billing_cycle_anchor: now so the period is reset to today
then separately, you calculate the prorated amount the Customer should have been charged to refund it to the Customer from the /v1/refunds endpoint
if you cause prorations, they add a Balance to the Customer object and then off-set the new (higher) Subscription so the approach is to avoid prorations entirely
User keeps the higher tier plan until the end of the current subscription period (1 month) and then their plan is switched to the lower tier one for subsequent months.
I think easiest is to use a SubscriptionSchedule to modify the Subscription
Ok, thats what I was thinking too, I am just not sure on implementation. If I am using the Stripe customer portal for users to make changes, which event would I want to intercept to add a subscription schedule? The only one I see is "customer.subscription.updated" but would this not be after the customer updates the subscription and pays?