Полоса: предотвращение напоминаний в счетах без кредитной карты - PullRequest
0 голосов
/ 24 сентября 2018

Я хотел бы обработать сценарий в Stripe, где пробная версия закончилась и кредитная карта не была введена.В настоящее время в полосе ...

  • В конце пробного периода создается счет-фактура (invoice.created).
  • Через час предпринимается попытка оплаты счета-фактуры.
  • Если попытка не удалась, счет-фактура вводится в напоминание (в зависимости от того, как они были настроены).

Однако я хотел бы «замкнуть» попытку на счете-фактуре, если естьнет кредитной карты в файле.Вместо сбоя и входа в цикл напоминания, я хотел бы немедленно пометить счет как failed (или какой-либо другой статус, который позволяет мне оплачивать его позже).

Таким образом ...

  • Клиент, находящийся под следствием, который не намерен продолжать (т. Е. Никогда не вводил кредитную карту), не будет вынужден выполнять процедуру напоминания и получать электронные письма с ошибками платежа через Stripe.
  • Если они решат вернуться, после ввода информации CC, я мог бы оплатить неоплаченный счет через API и активировать их с нашей стороны.

Кажется, нет простого способа сделать это.В частности, хотя я мог бы обработать событие invoice.created webhook и затем выяснить, есть ли у клиента файл CC, я могу только отметить этот счет как closed, что, насколько мне известно, означает, что я не могу открыть его позже, чтобы оплатитьесли они решат вернуться.

Кто-нибудь имел дело с подобным сценарием?Кажется, что не существует элегантного сценария для обработки пробного завершения, когда клиент не ввел данные CC.

1 Ответ

0 голосов
/ 24 сентября 2018

Я нашел обходной путь.Публикация здесь на случай, если кто-то еще случайно наткнется на эту проблему.

Вместо того, чтобы замкнуть цикл напоминания для счета-фактуры без CC, я просто позволю циклу напоминания продолжить.

Однако,Я отключил отправку электронных писем с ошибками в Stripe.Таким образом, я могу решить, какие письма отправлять (или не отправлять) при любой ошибке платежа через веб-крючок.

Теперь, когда я получаю хук invoice.payment_failed, я могу проверить по идентификатору клиента, переданному всобытие, чтобы увидеть, если этот клиент имеет CC.Если они этого не сделают, то я смогу отправить мне электронное письмо с уведомлением о завершении пробного периода и приостановить действие учетной записи (опять же, с моей стороны).

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

Чистый эффект состоит в том, что клиент получает электронное письмо с уведомлением о завершении испытания при первом событии invoice.payment_failed и ничего при последующих событиях.

Для клиентов, у которых есть ЦК, я могу отправить электронное письмо с уведомлением о сбое платежа при получении каждого события.

...