Перейти к содержимому

Как получать уведомления о приходе денег в Paypal через Integromat

Получение уведомления о приходе денег Paypal через Integromat

Обновлено: 08.06.2021

В предыдущей статье я описал, как автоматически выставлять инвойсы в Paypal. В этой статье расскажу, как получать уведомления о приходе денег.

Получаем данные в модуле уведомления от Paypal

Создаем новый сценарий и называем его, например Paypal Watch Payments.

Вот как выглядит мой сценарий целиком:

Получение уведомления о приходе денег Paypal через Integromat
Получение уведомления о приходе денег Paypal через Integromat

В моем случае он усложнен, но для начала, чтобы все работало, нужно намного меньше модулей.


Создаем первым модулем Paypal -> New notification (Instant). Данный модуль будет мониторить все уведомления, которые будут приходить в ваш аккаунт Paypal.

Paypal модуль New notification
Paypal модуль New notification

Модуль сгенерирует Webhook URL, его нужно скопировать.

Модуль Paypal-> New notification
Модуль Paypal-> New notification

Дальше идем в аккаунт Paypal -> Settings -> Seller Tools ->Instant payment notifications -> Update.

На следующей странице включаем IPN и вставляем скопированный Webhook URL, сохраняем.

Настройка IPN в Paypal
Настройка IPN в Paypal

Теперь в модуль Paypal будут приходить все уведомления по аккаунту.

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

Ставим фильтр сразу же после модуля Paypal -> New notificaton

Проверка комментария в платеже Paypal
Проверка комментария в платеже Paypal

Данный фильтр проверяет, содержит ли уведомление конкретный комментарий в Item name. Если да, то сценарий продолжит работу.

Например комментарий может быть такой:

codelessman.com payment: nchfd43783bncndjn43

В предыдущей статье, при выставлении инвойса я рекомендовал добавлять в комментарий ID карточки Trello, так что теперь, чтобы мы могли использовать ID карточки, нам нужно отсечь из комментария все лишнее, а именно codelessman.com payment: 

Для этого используем модуль Set variable и функцию replace():

Убираем лишнее из комментария
Убираем лишнее из комментария

В функции replace() мы:

  • ищем «codelessman.com payment:».
  • заменяем на пустое значение.

На выходе получаем чистый ID карточки Trello.

Получаем карточку в Trello, по которой была оплата

С помощью модуля Trello -> Get a card и ID карточки из предыдущего модуля получаем все данные по карточке.

Дальше можно отправлять уведомление в Telegram (как настроить бота я писал здесь), примеры как выглядят уведомления здесь. Также можно записывать новые данные в Google Sheets и так далее.

Я добавляю все оплаты в Google Sheets, так что с ними можно дальше работать с помощью формул.

  • Если нужно добавлять оплату в конкретную строку таблицы, то лучше всего, если в этой строке уже есть столбец с ID карточки Trello. Тогда с помощью модуля Google Sheets -> Search Rows находим нужную строку, содержащую ID карточки. Далее создаем модуль Google Sheets -> Update Row, вставляем номер строки из предыдущего модуля Search Rows и вставляем в необходимый столбец сумму оплаты.
  • Если нужно суммировать несколько оплат в ячейке (предыдущие оплаты с текущей), то можно использовать такую формулу в модуле Set variable:
Суммирование оплат в ячейке
Суммирование оплат в ячейке

Где:

  • parseNumber() — функция, которая забирает данные из нужной ячейки и переводит их в цифровой формат с разделителем «точка».
  • далее суммируем поступившую сумму с тем, что уже есть в ячейке.
  • полученный результат можем вставлять в следующих модулях.

Другие уведомления

Уведомление о совершенном возврате

Иногда случаются рефанды, такое уведомление об успешном возврате также приходит в модуль Paypal -> New notification.

Чтобы понять, что был рефанд, нам нужно сделать где-нибудь роутер и поставить на одну из веток фильтр на переменную Reason code. Я поставил роутер после модуля Trello -> Get a Card, т.к. тогда можно будет в эту карточку записать рефанд и его сумму.

Проверка возврата в Paypal
Проверка статуса возврата в Paypal после роутера. Reason Code: refund

Уведомление о запросе на возврат

Для отлавливания такой ситуации, делаем новую ветку в роутере:

Статус возврата в Paypal
Статус возврата в Paypal Reversed

Уведомление о закрытом споре

Когда спор закрывается, отлавливаем его следующей веткой в роутере:

Статус закрытого спора
Статус закрытого спора в Paypal Canceled_Reversal

После этих событий, полученные данные можно также записывать в Google Sheets, отправлять сообщения в Telegram, Trello и т.д.

Оставшуюся ветку роутера (успешная оплата) можем пометить как запасную (Fallback route).

Что еще полезного можно добавить в сценарий

Постить комментарий в карточке Trello о приходе денег

Делаем это с помощью модуля Trello -> Create a Comment on a Card

Пример настройки модуля:

Как получать уведомления о приходе денег в Paypal через Integromat
Создание комментария об оплате в карточке

А вот как это будет выглядеть в Trello:

Комментарий о платеже в карточке
Комментарий о платеже в карточке

Перемещать карточку в нужный столбец

Если для выставления инвойса нужно передвинуть карточку в определенный столбец, то после оплаты её нужно куда-то убрать. В моем случае это рабочий столбец менеджера, например «Work Viktor». В этом столбце происходит работа над оплаченными заказами конкретного менеджера.

Чтобы убрать лишние действия для менеджера, можно сразу после оплаты двигать карточку в нужный столбец с помощью модуля Trello -> Edit a Card:

Перемещаем карточку в нужный столбец после оплаты
Перемещаем карточку в нужный столбец после оплаты
  • Выбираем куда перемещать (доска и список).
  • Далее размечаем в какой список двигать: в зависимости от того, кто добавлен в карточку с помощью функции switch(). Про эту функцию я писал здесь. ID списков и юзеров можно заранее задать переменной  Set Multiple Variables.
  • Выбираем позицию в списке. Лучше в самый верх, как самую свежую по активности.

Выставлять статус в карточке Trello

В кастомных полях Trello есть тип «Выпадающий список». В нем можно создать статусы, которые будут отражать работу над заказом.

Как часть автоматизации — после успешной оплаты можно сразу выставлять статус. В моем случае это либо Оплачено, либо Часть оплачена.

Выставить статус в кастомном поле можно через модуль Trello -> Set a Custom Field on a Card

Выставление статуса в карточке Trello
Выставление статуса в карточке Trello

Для выставления статуса нужно узнать ID кастомного поля и ID его значения. У выпадающих списков у каждой опции есть свой ID.

Узнать ID каждой опции можно через исходный код доски или модуль Trello -> Get Custom Field Options.

Отправлять клиенту письмо с успешной оплатой

Добавляем модуль Email -> Send an Email, настраиваем и размечаем письмо, отправителя, сервер. Чуть подробнее про этот модуль я описывал здесь.

В конце сценария у меня могут быть вариации из-за типа оплаты, поэтому использую много веток в роутере, чтобы выставить правильный статус и тип оплаты в Google Sheets в зависимости от нескольких условий. Здесь подробно останавливаться не буду.

Вариации оплаты и заполненности полей
Вариации оплаты и заполненности полей

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *