Обновлено: 10.02.2021
В предыдущей статье я рассказывал, как выставлять инвойсы в Stripe. В этой статье опишу, как получать уведомления о приходе денег, совершенных возвратов (refund), или ошибках платежа.
Получение уведомления о приходе денег
Вот как выглядит сценарий целиком:
![Как получать уведомления о поступлении денег в Stripe (+рефанды, ошибки платежа) Как получать уведомления о приходе денег в Stripe](https://codelessman.com/wp-content/uploads/2021/02/stripe-watch-payments-integromat.png)
Первым делом создаем сценарий и добавляем модуль Stripe -> Watch Events. Добавляем новый вебхук, указываем свой аккаунт и группу вебхука.
![Как получать уведомления о поступлении денег в Stripe (+рефанды, ошибки платежа) Создание вебхука Stripe](https://codelessman.com/wp-content/uploads/2021/02/stripe-watch-payments-integromat2.png)
Выбираем группу Charge, и дальше конкретный ивент Charge succeeded. Сохраняем. После этого в ЛК Stripe автоматически создастся вебхук с соответствующим ивентом. Рекомендую проверить это в личном кабинете. Заходим в ЛК и идем в Developers -> Webhooks.
![Как получать уведомления о поступлении денег в Stripe (+рефанды, ошибки платежа) Созданные вебхуки в Stripe](https://codelessman.com/wp-content/uploads/2021/02/webhooks-stripe.png)
Нажав на каждый из вебхуков, можно увидеть его ивенты и при необходимости, отредактировать их (добавить/удалить). Там очень много разных ивентов и можно придумать сценарий на свой вкус.
Дальше, по умолчанию в модуль Stripe -> Watch Events приходит инфа без комиссии Stripe, а было бы очень удобно сразу видеть сумму Gross, комиссию и Net (сумму за вычетом комиссии).
Для этого создаем модуль Stripe -> Retrieve a Balance Transaction. В нем вставляем переменную с объектом транзакции из первого модуля.
![Как получать уведомления о поступлении денег в Stripe (+рефанды, ошибки платежа) Получаем развернутую инфу по платежу с комиссией Stripe](https://codelessman.com/wp-content/uploads/2021/02/stripe-watch-payments-integromat3.png)
В результате мы получим и сумму, которую получил клиент, и сумму комиссии. Не забываем, что в Stripe все суммы указаны в центах, поэтому надо делить на 100.
В принципе это все. Дальше, по аналогии с оплатами в Paypal можно:
- Записывать все оплаты в отдельный файл
![Как получать уведомления о поступлении денег в Stripe (+рефанды, ошибки платежа) Задание переменных из Трелло и записывание в Google Sheets](https://codelessman.com/wp-content/uploads/2021/02/stripe-watch-payments-integromat4-1.png)
- Суммировать все оплаты в одной ячейке
- Постить оплату в карточке Трелло, менять её статус, двигать в другой столбец и др.
- Отправлять сообщение в Телеграм
- Отправлять письмо клиенту.
- И многое другое.
В данной схеме есть трудность с определением по какой карточке была оплата, для этого я в этой статье описывал, что еще при создании инвойса, нужно записывать 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 (+рефанды, ошибки платежа) Настройка уведомления в Телеграм](https://codelessman.com/wp-content/uploads/2021/02/stripe-watch-refunds-integromat-telegram.png)
![Как получать уведомления о поступлении денег в Stripe (+рефанды, ошибки платежа) Уведомление в Телеграм о возврате](https://codelessman.com/wp-content/uploads/2021/02/210210233146.png)
Ну а вот так выглядит весь сценарий:
![Как получать уведомления о поступлении денег в Stripe (+рефанды, ошибки платежа) Сцегарий с уведомлением о возврате денег Stripe](https://codelessman.com/wp-content/uploads/2021/02/stripe-watch-refunds-integromat.png)
Получание уведомления об ошибке платежа
Здесь все совсем просто: создаем новый сценарий. Берем тот же модуль Stripe -> Watch Events, выбираем группу Charge и ивент Charge failed.
Дальше при срабатывании модуля текст ошибки будет показан в переменных object.failure_code и object.failure_message.
![Как получать уведомления о поступлении денег в Stripe (+рефанды, ошибки платежа) Уведомление об ошибке платежа Stripe](https://codelessman.com/wp-content/uploads/2021/02/stripe-watch-failed-payments-integromat.png)
![Как получать уведомления о поступлении денег в Stripe (+рефанды, ошибки платежа) Пример срабатывания уведомления](https://codelessman.com/wp-content/uploads/2021/02/210210233820.png)
Собственно, вот и все. Такая схема отлично работает. Если есть вопросы — задавайте в комментариях.
![Как получать уведомления о поступлении денег в Stripe (+рефанды, ошибки платежа) Slavomir](https://codelessman.com/wp-content/uploads/2020/12/authorme-150x150.jpg)
SEO-менеджер.
Люблю SEO, маркетинг, увлекаюсь автоматизацией и терпеть не могу ручную работу, которую можно делегировать роботу.