I am trying to decide how to handle the situation where a user has subscribed through the month, lets says 6/1 they are subscribed through until 6/31. Midway through the month they decide to cancel their subscription (6/15), but then on 6/20, they decide to restart their subscription again. How is this handled in Braintree, if at all? Is there an advised route for handling this situation?
My current thought:
I'll be keeping track of their canceled subscription and checking how far they are paid through and stop providing them service once that period ends. I was considering putting the new subscription on a trial period for the difference in days between their canceled subscription paid through date (in this case 10 days). The implication here is that I have to check now if they are in a trial period on top of the paid through date if for some reason they do this n times within the month. I saw some advice to consider the implications of trial periods on the Braintree documentation and so I wanted to make sure this was the best route to go.
In relation to the 'n' repetitions, does the trial-duration decrease with each day? So trial period starts on 6/20 with ten days remaining, does the trial-duration go down to 9 on 6/21? There seems to be no indication on the documentation on what the specific case is.
Thanks to the Braintree Support team:
The main reason we advise you to take extra care with trial periods is that there are risk and liability issues around making sure your customer knows when they’re going to be charged. However, it can get difficult to keep track of start dates when using trial periods. What I’d recommend doing, actually, is setting a first billing date instead when you create a new subscription. This allows you to specify a particular date (rather than just a day of the month or a time period into the future) to first charge your customer.
All you’d have to do is keep track of the date each subscription was paid through (which you could do via our API.) Then, if a customer canceled their subscription and created a new one before that date occurred, just create a new subscription with a first billing date of the day after the paid-through date. You then wouldn’t have to do any trial period checking if the customer kept canceling and re-signing up—the only thing you’d need to keep track of was the paid-through date of the original subscription.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With