Я использую Stripe API (PHP SDK) для создания подписки и последующего обновления ее количества. Я недоволен тем, как ведут себя «програации».
Как в данный момент ведет себя пропорциональная система:
- Я создаю подписку с количеством 1 (стоит 10 долларов США). )
- Через неделю я обновляю количество до 2 в середине месяца
- Я немедленно выставляю счет клиенту
- Клиент получает счет на сумму менее 10 долларов, скажем, 7,5 долларов (что осталось до конца текущего цикла выставления счетов) (это не так, как я этого хочу)
- При повторных новостях цикла выставления счетов клиенту выставляется счет в размере 20 долларов США (это также не так, как я этого хочу)
Как я хочу это:
- Я создаю подписку с количеством 1 (стоит $ 10)
- Через несколько дней я обновляю количество 2 в середине месяца
- Я немедленно выставляю счет клиенту
- Клиент получает счет за полный цикл выставления счетов - $ 10
- При повторных новостях цикла выставления счетов клиенту выставляется счет в размере 10 долларов США за первый пункт и менее 10 долларов за второй, потому что они имеют заранее. Общая сумма может составлять примерно $ 17,5
Когда я выставляю счет на дополнительное количество, клиент должен оплатить один полный цикл выставления счетов, а не сумму, оставшуюся до конца текущего цикла. И тогда клиент платит меньше в следующем месяце.
API "Обновление подписки" имеет параметр "prorate_behavior", но он здесь не делает то, что я хочу: https://stripe.com/docs/api/subscriptions/update#update_subscription -proration_behavior Похоже Позволяет только выставлять счета сразу, позже или полностью отключать прорации.