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

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

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

\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 Ответ

0 голосов
/ 08 февраля 2019

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

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

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

...