Источник входящих событий

Уведомления CloudPayments с проверкой подписи и повторами

CloudPayments подписывает каждое уведомление заголовком Content-HMAC. HookPilot проверяет подпись по вашему API Secret, отсекает чужие запросы и доставляет настоящие уведомления в бэкенд столько раз, сколько нужно.

Бесплатный тариф без карты: одно подключение и 10 000 событий в месяц.

Как подключить

Источник CloudPayments считается одним подключением независимо от числа уведомлений.

  1. 1

    Создайте источник с провайдером «CloudPayments» и вставьте API Secret из настроек сайта в личном кабинете CloudPayments.

  2. 2

    Скопируйте адрес приёма и укажите его в разделе уведомлений CloudPayments для нужных типов: Pay, Fail, Refund, Recurrent и других.

  3. 3

    Выберите эндпоинты-получатели и подпишите их на типы событий, например cloudpayments.pay или маску cloudpayments.*.

  4. 4

    Отправьте тестовое уведомление из кабинета CloudPayments и убедитесь, что оно появилось в ленте принятого.

Что проверяется при приёме

Заголовок Content-HMAC

Подпись считается как HMAC-SHA256 от тела запроса на вашем API Secret и кодируется в base64. Значение сравнивается с заголовком за постоянное время, уведомление без подписи или с неверной подписью отклоняется.

JSON и форма

CloudPayments может присылать тело как JSON или как форму. Оба формата разбираются одинаково, а тип события берётся из поля Type.

Идентификатор транзакции

Поле TransactionId становится внешним идентификатором события: повтор того же уведомления не создаст второй вебхук.

Check-уведомление остаётся у вас

Уведомление Check требует синхронного ответа, принимать или отклонять платёж. Его должен обрабатывать ваш бэкенд напрямую. Через HookPilot пропускайте уведомления о результате: Pay, Fail, Refund и остальные.

Событие не пришло

Три причины, которые встречаются чаще остальных. Всё принятое видно в ленте принятого в кабинете вместе с типом и историей доставки.

Уведомление отклонено по подписи

API Secret в источнике не совпадает с тем, что указан в кабинете CloudPayments. После смены секрета в CloudPayments обновите его и в источнике.

CloudPayments сообщает, что адрес недоступен

Проверьте, что источник активен и адрес скопирован без изменений. Отвечает HookPilot, поэтому ошибка не связана с вашим сервером.

Событие принято, вебхука нет

Эндпоинт не подписан на этот тип. Сверьте тип в ленте принятого с подпиской эндпоинта: cloudpayments.pay не попадёт под маску payment.*.

Частые вопросы

Остальное в базе знаний или в поддержке.

База знаний
Можно ли направить Pay и Fail на один источник?

Да. Один адрес приёма принимает все типы уведомлений, тип различается по полю Type. Эндпоинты подписываются на нужные типы или на маску cloudpayments.*.

Что будет, если бэкенд не ответил на вебхук?

Доставка повторится по расписанию: через минуту, пять минут, полчаса и дальше до суток, всего до восьми попыток. Событие остаётся в истории на срок хранения тарифа, его можно отправить заново вручную.

Где смотреть, что пришло от CloudPayments?

В ленте принятого в кабинете: тело уведомления, тип события, время приёма и список эндпоинтов, в которые оно ушло, с историей попыток по каждому.

Другие интеграции

Платёжные системы, маркетплейсы и любая система с подписанными вебхуками или HTTP API.