#Rob.Clayton

1 messages · Page 1 of 1 (latest)

honest brambleBOT
shut topaz
#

starts, not stars, sorry

shadow tree
#

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?

shut topaz
#

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

shadow tree
#

which particular portion are you trying to invoice immediately? is it when the customer first subscribes? or is it for the renewal?

shut topaz
#

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

shadow tree
#

it's just not possible to invoice / charge ahead of the renewal date with the Subscription or Subscription Schedule

shut topaz
#

we can't send an invoice before the due date?

shadow tree
#

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

shut topaz
#

ah, so it would mean it was sent after the renewal day, not before?

shadow tree
#

um, not quite

shut topaz
#

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

shadow tree
#

to clarify, are we talking about charge_automatically, or send_invoice for the collection method?

shut topaz
#

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

shadow tree
#

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.

shut topaz
#

no worries, thanks alex

#

I guess I could create a new subscription that starts 30 days before the end of the previous with an end date 13 months in the future and the first 30 days is a trial period, and our system can only act on the new subscription when the trial expires ...