0
votes

What is the best way to subscribe my users to a plan that renews monthly yet bills yearly using stripe subscriptions, as i contacted Stripe's support and they said a plan with an interval of month and interval_count of 12 will not generate any events (ex: customer.subscription.updated event) until the end of the 12 months interval while i need these events to be generated on monthly basis.

1

1 Answers

2
votes

The best solution here would be to subscribe the customer to a $0 monthly plan. This ensures that, each month, a new billing cycle starts and a new invoice is created. The invoice will be for $0 but send an invoice.created event to your webhook endpoint.

There, you can decide whether you need to bill the customer anything or not. If you don't, you simply ignore the event and the customer won't be charged anything. If you do, you will simply add an invoice item for the correct amount to this invoice. This is covered in the Invoices section of Stripe's documentation.

For the first invoice, you would add the invoice item first which means three steps:

  • Create the customer
  • Create the invoice item for the correct price
  • Create the subscription to the $0 monthly plan

The last step will automatically pull the invoice item in the invoice and charge them that amount as expected.

If you have follow up questions, I'd recommend talking to Stripe's support here.