#Rob.Clayton
1 messages · Page 1 of 1 (latest)
starts, not stars, sorry
hello! Stripe Billing (a.k.a Subscriptions / Subscription Schedules) doesn't have a feature to charge ahead of renewal date. I would say that the current design of the product isn't able to handle this use case well at all. Workarounds are particularly complicated when you start factoring prorations.
imo, it would probably be easier for you to build your own logic using SetupIntents and PaymentIntents.
if you do want to continue on with what you're doing, have you considered using a one off invoice?
hmmm ... is there anyway to have the invoice created immediately?
so when we add a phase, or a create a subscription schedule in the future, that we invoice immediately?
Even if we could just send the invoice to the customer that would be useful
the one off invoice sounds awkward, since we are really trying to model a subscription that is yearly
and they need to renew their contract with us, even if they are paying monthly
which particular portion are you trying to invoice immediately? is it when the customer first subscribes? or is it for the renewal?
for the renewal
the initial creation is fine, we charge them and start immediately
so they can renew, say ... 20 days ahead of the new "contract" beginning
it's just not possible to invoice / charge ahead of the renewal date with the Subscription or Subscription Schedule
we can't send an invoice before the due date?
the invoice is created, finalized, and sent on the renewal date. If you're using collection_method=send_invoice, you can set X days, before it becomes due, but that would still be renewal date + x days due
it's not renewal date - x days, if that makes sense
ah, so it would mean it was sent after the renewal day, not before?
um, not quite
the reason for this is because our subscription is for a quantity of data calculations, and we don't want them having time in their renewal to use a year's worth in a week and then not pay the renewal even though the new phase has started
to clarify, are we talking about charge_automatically, or send_invoice for the collection method?
both really, whatever payment method.
We want to be able to collect between 20-0 days before the renewal is due, and only create the new phase when they pay for the upcoming year
it's totally not possible for the Subscription or Subscription Schedule to send an invoice before the renewal date. The only idea that I can think of is to generate a one-off invoice before that. Or you could manually charge their card off session with a PaymentIntent. Subsequently add that paid amount to the customer balance, and the renewal would be paid for using the funds from the customer balance.