Stripe: Предварительный просмотр предстоящего счета для обновления подписки

Как правильно получить предстоящий счет (размер счета), который я собираюсь оплатить при обновлении / понижении подписки? Таким образом, он будет учитывать примененные купоны, текущий баланс / кредиты (после понижения рейтинга) и т. Д.

Попробовал вот так:

\Stripe\Invoice::upcoming([
"customer" => $user->stripe_id,
"subscription" => 'sub_XXXXXXXXXXX', // current user subscription (monthly)
"subscription_prorate" => true,
"subscription_items" => [
["plan" => "plan_XXXXXXXXXXX"] // plan for upgrade (annually)
]
]);

Но я получаю «Stripe \ Error \ InvalidRequest: Поля валюты и интервала должны совпадать во всех планах этой подписки. Обнаружено несоответствие в поле интервала».
Я понимаю, что я ошибаюсь, поэтому, пожалуйста, скажите мне, как это должно быть сделано?

1

Решение

Недавно я получил похожую ошибку при использовании клиента .NET, и я почти уверен, что проблема та же. Если вы обновляете планы подписки, все они должны иметь одинаковую валюту и интервал. Например, в подписке не может быть одного элемента в месячном плане, а другого — в годовом. Если вы хотите предварительно просмотреть переключение между планами с другим интервалом, вы должны явно удалить старый план. Мой PHP ржавый, но я предполагаю что-то вроде этого:

"subscription_items" => [
["id" => "currentPlanId", deleted => true]
["plan" => "plan_XXXXXXXXXXX"] // plan for upgrade (annually)
]

Просмотр формы подписки на обновления в панели инструментов помог мне понять это лучше. Предыдущая версия API не работала таким образом, уверен.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]