I checked the forum for this but could not find anything regarding my question.
What I am doing is building an app with the stripe plugin from Bubble, and letting users subscribe to a monthly plan.
The way I have set it up is:
If users subscription plan is empty (not subscribes to a plan) - show “subscribe to button” which creates the payment workflow and subscribes the users to a plan. I have tried both the “update subscription” and without it.
If users subscription plan is “active” - then show the cancel subscription and do cancel subscription workflow.
However in my stripe dash test data I see that everytime a user resubscribes he/she pays in full the subscription plan fee, even if the subscription had 29-30 days left already paid for in the first place.
see image:
You may find this part of Stripe’s API documentation helpful. It offers a few suggestions which you could implement in your application.
Pausing a subscription
Stripe does not natively support pausing a subscription. You can, however, cancel the current subscription and recreate it later when it is time to start billing the customer again. There are also several alternative approaches that you can consider:
To keep the subscription effectively active but no longer billing the customer, you can apply a 100% off coupon that lasts forever. Later remove the coupon when it’s time to begin billing again.
You can move the customer to a free plan and then resubscribe them to the paid plan later.
When the user unsubscribes, you could save a value in the database that captures the days remaining of the subscription at the time that it is canceled (ie. current date and time - renewal date). (Stripe may have a useful field for this purpose, not sure off hand).
Then, when the user goes to “re-activate” their subscription, you set the renewal date as current date and time + days remaining.