#AJ95

1 messages · Page 1 of 1 (latest)

golden slateBOT
next fern
#

Hi there!

#

If you want to charge the customer immediately for the change, you should set proration_behavior to always_invoice.

cold shore
#

always_invoice will prorate the invoice: so if product A is 10$ and product B is 20$, switching will only charge the customer 10$, we want to charge them the full amount

next fern
#

Also in your example, it looks like the user is loosing some money if no proration is applied.

cold shore
#

I seem to be having difficulty understanding the difference between the 3 options, and I wasn't able to previously find an explanation for each behavior. What is the difference between always_invoice and create_proration? if in both cases there is a proration applied... also how does the none work exactly, why is it only working for different intervals?

next fern
#

always_invoice will create proration and the user will have to pay immediately.
create_proration will create prorations, but they will be paid in the next invoice (unless the subscription billing cycle change, for example from monthly to yearly, and in this case we charge the customer immediately)

cold shore
#

ok i see, so none will not create a proration and charge at the end of the billing cycle (again unless there is a change in the interval so in this case it charges immediately)?

next fern
#

correct

cold shore
#

ok thank you, is there a possibility that there will be additional options in the near future to not create a proration and charge immediately?

next fern
#

If I understand correctly what you want:

  • user starts one subscription at $10 per month
  • on the 15th, they switch to a product costing $20 per month
  • you want the user to immediately get the upgrade and per $20?
    In this case the user just lost money, since the $10 they already paid was not fully used, correct?
cold shore
#

yes

next fern
#

So in this case I don't think Stripe would support this in the Customer Portal.

cold shore
#

ok noted, thank you; again remember we are just devs, we don't set the illogical requirements 😔