2017-01-09 15 views
0

В моем приложении Stripe-Connect я хочу обрабатывать Stripe customer.subscription.deleted webhook, сгенерированный при автоматической отмене подписки после неудачных попыток платежа (в зависимости от настроек подписки для неудачных попыток платежи).Обнаружение автоматического аннулирования подписки на Stripe с cancel_at_period_end true

Stripe documentation: «Вы можете видеть, что подписка была отменена автоматически - в отличие от вашего запроса, если свойство request.subscription.deleted event is null." См. Также Detect if subscription is cancelled automatically.

Однако, кажется, что если подписка имеет cancel_at_period_end, установленную в «true», свойство request.subscription.deleted event имеет значение null, даже если подписка заканчивается «естественно» в конце периода, а не как результат неудачных попыток платежа.

Итак, мой вопрос в том, как я могу определить, что подписка с cancel_at_period_end установлена ​​на true, была отменена из-за неудачных попыток платежа?

ответ

1

Невозможно провести различие между этими двумя случаями в настоящий момент, к сожалению. Я бы рекомендовал сохранить на вашем конце, что вы отметили подписку на отмену в конце текущего периода. Таким образом, когда вы получаете событие customer.subscription.deleted, вы можете проверить, произошел ли он от неудачного платежа или нет на основе этого флага на вашем конце.

Другим решением является просмотр последнего счета за эту подписку. Вы могли бы посмотреть на свойство attempt_count, чтобы узнать, сколько попыток было сделано на нем, и сделать вывод, было ли отменено последнее действие или нет.

+0

Да, это то, что я понял. Ну ладно, спасибо в любом случае! Мне не нравится идея вывести это на основе try_count, так как это приведет к сочетанию настроек неудачных попыток оплаты подписки. Еще несколько слов, как я могу узнать, какое значение try_counts определяет, что это действительно был неудачный платеж, не делая предположений о том, что настроено в настройках неудачной оплаты подписки? –

+0

Да, вам нужно сделать часть этого, но это резервное решение. Правильное решение в моих глазах - это проследить это самостоятельно. – koopajah

 Смежные вопросы

  • Нет связанных вопросов^_^