Когда регистрировать событие «оплата» в веб-крюке Stripe - PullRequest
0 голосов
/ 26 октября 2018

В Stripe есть следующее событие, показывающее, что заряд прошел:

charge.succeeded

https://stripe.com/docs/api/events/types#event_types-charge.succeeded

Исходя из этого, я могу сгенерировать квитанцию ​​и отправить ее клиенту по электронной почте. Достаточно просто. Тем не менее, информация о том, что начисляется в этом пункте, отсутствует - она ​​показывает только сумму. Что еще более важно, он не сообщает мне, когда начинается / заканчивается подписка, о чем я должен сообщить клиенту в квитанции счета.

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

invoice.payment_succeeded

https://stripe.com/docs/api/events/types#event_types-invoice.payment_succeeded

Это дает элементы в подписке, а также amount_paid, однако не ссылается на объект charge или что-либо еще. Я также обеспокоен тем, что это событие выглядит немного более абстрактным, чем событие charge.succeeeded/refunded, поэтому, возможно, оно может ничего не фиксировать (пожалуйста, исправьте меня, если я ошибаюсь).

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

1 Ответ

0 голосов
/ 26 октября 2018

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

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

однако он не ссылается на объект заряда или что-либо еще

Полезная нагрузка события - это объект Invoice, который имеет поле charge с идентификатором сбора для самого последнего платежа в счете-фактуре (что и послужило причиной запуска события invoice.payment_succeeded) , Вы можете получить этот заряд, чтобы получить дополнительную информацию о нем, если это необходимо.

...