Обновлено: 10.02.2021
В предыдущей статье я рассказывал, как выставлять инвойсы в Stripe. В этой статье опишу, как получать уведомления о приходе денег, совершенных возвратов (refund), или ошибках платежа.
Получение уведомления о приходе денег
Вот как выглядит сценарий целиком:
Первым делом создаем сценарий и добавляем модуль Stripe -> Watch Events. Добавляем новый вебхук, указываем свой аккаунт и группу вебхука.
Выбираем группу Charge, и дальше конкретный ивент Charge succeeded. Сохраняем. После этого в ЛК Stripe автоматически создастся вебхук с соответствующим ивентом. Рекомендую проверить это в личном кабинете. Заходим в ЛК и идем в Developers -> Webhooks.
Нажав на каждый из вебхуков, можно увидеть его ивенты и при необходимости, отредактировать их (добавить/удалить). Там очень много разных ивентов и можно придумать сценарий на свой вкус.
Дальше, по умолчанию в модуль Stripe -> Watch Events приходит инфа без комиссии Stripe, а было бы очень удобно сразу видеть сумму Gross, комиссию и Net (сумму за вычетом комиссии).
Для этого создаем модуль Stripe -> Retrieve a Balance Transaction. В нем вставляем переменную с объектом транзакции из первого модуля.
В результате мы получим и сумму, которую получил клиент, и сумму комиссии. Не забываем, что в Stripe все суммы указаны в центах, поэтому надо делить на 100.
В принципе это все. Дальше, по аналогии с оплатами в Paypal можно:
- Записывать все оплаты в отдельный файл
- Суммировать все оплаты в одной ячейке
- Постить оплату в карточке Трелло, менять её статус, двигать в другой столбец и др.
- Отправлять сообщение в Телеграм
- Отправлять письмо клиенту.
- И многое другое.
В данной схеме есть трудность с определением по какой карточке была оплата, для этого я в этой статье описывал, что еще при создании инвойса, нужно записывать ID клиента Stripe в строку, которая соответствует вашему заказу в Google Sheets. В этой строке также должен быть записан ID карточки Трелло.
Тогда, после оплаты в Stripe, можно искать строку с нужным ID клиента (который отдает модуль Stripe -> Watch Events) и в этой строке брать столбец с ID карточки трелло. Поиск осуществляется модулем Google Sheets -> Search Rows.
А дальше просто переменную с ID карточки Trello вставляете в модуль Trello -> Get a Card.
Получение уведомления о возврате (refund)
Для данной схемы нужно будет создать новый сценарий. Берем тот же модуль Stripe -> Watch Events, выбираем группу Charge и ивент Charge refunded.
Проверяем в ЛК Stripe, что вебхук создался правильно и с нужным ивентом.
Сразу после первого модуля можем искать в Google Sheets нужную карточку Трелло, ну а дальше как обычно, раскидываем инфу туда, где нужно.
Вот как может выглядеть сообщение о рефанде в Telegram:
Ну а вот так выглядит весь сценарий:
Получание уведомления об ошибке платежа
Здесь все совсем просто: создаем новый сценарий. Берем тот же модуль Stripe -> Watch Events, выбираем группу Charge и ивент Charge failed.
Дальше при срабатывании модуля текст ошибки будет показан в переменных object.failure_code и object.failure_message.
Собственно, вот и все. Такая схема отлично работает. Если есть вопросы — задавайте в комментариях.
SEO-менеджер.
Люблю SEO, маркетинг, увлекаюсь автоматизацией и терпеть не могу ручную работу, которую можно делегировать роботу.