ralpopo
ralpopo

Reputation: 1

Stripe Monthly subscription amount cap before it triggers to an annual subscription

We currently have an annual subscription product, $30. We are considering a monthly subscription model, but don’t want to charge the user more than an amount (likely the annual subscription amount) in a given year before they are essentially “converted” to an annual subscription. This protects the user from paying more than they would have otherwise have paid upfront for the annual. I know this sounds like a crazy model and doesn’t incentivize the user to opt for the annual from the start. But we believe that many users are now so sensitive to overpaying for monthly subscriptions that they have forgotten to cancel or have difficulty cancelling, that this cap would give them some peace of mind. And hopefully encourage them to retain the service knowing the max they will be charged.

As I understand it, we have these two options to accomplish this:

  1. Create a monthly subscription product with a capped collected value. When that cap is reached we would then convert the user to the existing annual subscription product. Issues I see with this might be; 1. We would have to adjust that annual subscription to be paid or considered a trial for the balance of the months before a new annual billing cycle would be established based on the first monthly payment. And 2. Potentially some sort of confirmation requirement from the user to agree to new billing terms for the different subscription.

  2. Create a new subscription product that bills monthly and then changes the billing anchor date after a collected value is reached or number of payments (whichever is more reliable). The main difference I see with this option is that after 12 months, the user would again be billed monthly for some number of times before they either cancel the plan or meet the collected value threshold. Not sure if this is a good or bad thing. This could become our only subscription product and all new purchases are handled this way.

Can someone help me out how to achieve this?

I'm thinking about Subscription schedule then passing phases but not sure how. https://stripe.com/docs/api/subscription_schedules

Upvotes: 0

Views: 175

Answers (1)

Corey Clavette
Corey Clavette

Reputation: 437

I would use Subscription Schedules for this setup. The way you could implement this would look something like this:

  1. Get the user onto the subscription and implement some checking system that tracks the cap for the amount
  2. Once the cap is within 1 billing cycle of being reached, create a subscription schedule for their subscription (see method here) that defines phase[0] as the remainder of the current billing cycle, phase[1] as a zero-dollar subscription for whatever number of months are left in the year for them, and phase[2] as their return to a paid subscription after the year is up

Docs on Subscription Schedules can be found here: https://stripe.com/docs/billing/subscriptions/subscription-schedules

Upvotes: 0

Related Questions