Какие события подписки следует отслеживать и какие действия предпринимать?

У меня есть продукт подписки, который предлагает пользователям месячные и годовые подписки без бесплатной пробной версии. Все документы, которые я видел, как бы предполагают, что я должен знать, какие действия нужно предпринять, когда новый пользователь подписывается на мой сервис. В документации по Stripe provision and monitor говорится, что минимальные события, которые необходимо отслеживать, следующие:

  1. checkout.session.completed
  2. invoice.paid
  3. invoice.payment_failed

Но что же делать после мониторинга этих событий? В документации dj-stripe docs по webhooks есть некоторые подсказки о том, что я должен делать, включая:

  • Уведомление клиента по электронной почте
  • "Аннулирование кэша"
  • "Запуск задачи сельдерея"

Есть ли что-то еще, что я должен рассмотреть? И как мне узнать, когда что делать?

Простите, если это вопросы новичка, но все это кажется очень субъективным, и я просто пытаюсь найти какое-то руководство. Конечно, с помощью dj-stripe я буду добавлять много информации в базу данных, и все это будет обрабатываться автоматически. И я знаю, что я могу и должен отправлять пользователю письмо, когда счет оплачен или платеж не прошел.

Но что насчет checkout.session.completed? Почему это минимальное событие, за которым нужно следить? Когда сессия оформления подписки завершена, Stripe перенаправляет пользователя обратно на мой сайт, так что еще я должен сделать? Далее, при локальном тестировании Stripe с stripe listen при завершении подписки на оформление заказа я вижу следующее.

2022-01-03 10:43:13   --> charge.succeeded [evt_3KDtcoKxszORsacj2FQfXUML]
2022-01-03 10:43:13   --> checkout.session.completed [evt_1KDtcrKxszORsacjTw9deAqR]
2022-01-03 10:43:13   --> payment_method.attached [evt_1KDtcrKxszORsacjaXyLietR]
2022-01-03 10:43:13   --> customer.created [evt_1KDtcrKxszORsacj9uw5NaU8]
2022-01-03 10:43:13   --> customer.updated [evt_1KDtcrKxszORsacjRinrFA0W]
2022-01-03 10:43:13   --> invoice.created [evt_1KDtcrKxszORsacjrT6Iqq1d]
2022-01-03 10:43:13   --> invoice.finalized [evt_1KDtcrKxszORsacjCEEjfN1A]
2022-01-03 10:43:13   --> customer.subscription.created [evt_1KDtcrKxszORsacjJoc8bIwy]
2022-01-03 10:43:14   --> invoice.updated [evt_1KDtcrKxszORsacjLWiDYTDN]
2022-01-03 10:43:14   --> customer.subscription.updated [evt_1KDtcrKxszORsacj8dw2DX35]
2022-01-03 10:43:14   --> invoice.paid [evt_1KDtcsKxszORsacjxJzrlZRS]
2022-01-03 10:43:14   --> invoice.payment_succeeded [evt_1KDtcsKxszORsacjzaBHyX6z]
2022-01-03 10:43:14   --> payment_intent.succeeded [evt_3KDtcoKxszORsacj2XHeCjzp]
2022-01-03 10:43:14   --> payment_intent.created [evt_3KDtcoKxszORsacj29ByjaXa]

Являются ли единственными событиями, которые можно использовать, invoice.paid и checkout.session.completed ? Возможно, я слишком много думаю, но я хочу быть уверенным, что делаю все правильно и ничего не упущу. Все, что я видел в Интернете, похоже, указывает на то, что я должен "просто знать", какие события нужно отслеживать, исходя из моего бизнеса, и "просто знать", что делать. Если есть какая-то более ясная информация о том, какие события нужно отслеживать и что нужно сделать, я буду рад ее услышать. Для справки, если речь идет о юридическом языке, я работаю в США и вроде как предполагаю GDPR. Спасибо!

Событие checkout.session.completed актуально только в том случае, если вы создаете подписку через Checkout - оно не будет происходить, если вы создаете подписку непосредственно через API.

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

Если вам нужно предпринять какое-то действие в вашей системе с каждым ежемесячным обновлением, то invoice.paid будет тем, что вам нужно для этого, но не является необходимым в строгом смысле.

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

Если вы можете расширить свой вопрос контекстом действий, которые вам нужно/намерены предпринять в вашей собственной системе или с вашими клиентами, тогда я могу попытаться порекомендовать, какие события могут быть полезны для этого.

Вернуться на верх