Skip to content

Получение веб-хуков

Вы можете настрить адреса для отправки уведомлений о зачислении платеж на странице настройки проекта

Учтите, что при отправке веб-хука необходимо передать ответ:

json
{
  "success": true
}

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

Пример вебхука о зачисленнии

json
{
  "amount": "2.395", - Значение платежа в USD
  "created_at": "2025-03-17T12:57:52.449795Z", - Время создания платежа
  "paid_at": "2025-03-17T12:57:19Z",- Время оплаты платежа
  "status": "completed", - Статус платежа
  "transactions": {
    "amount": "0.02552778", - Значение платежа в криптовалюте
    "amount_usd": "2.395", - Значение платежа в USD
    "bc_uniq_key": "0", - Порядковый номер в транзакции, особенно актуально в btc-like сетях bc_uniq_key + tx_hash дает уникальность платежа
    "blockchain": "litecoin", - Наименование блокчейна
    "created_at": "2025-03-17T12:57:52.449795Z",- время создания платежа
    "currency": "LTC", - Значение криптовалюты
    "currency_id": "LTC.Litecoin", - Идентификатор криптовалюты
    "tx_hash": "2be41b0cad76bc5699c3da5d5a1d390f9fb4038e5bfe49aec3b675f9dd4515fd", - Хеш транзакции
    "tx_id": "4bbc91fd-a950-4fd0-83f3-9f1c09a6b54f" - Идентификатор транзакции в мерчанте
  },
  "type": "PaymentReceived",  - Тип вебхука
  "wallet": {
    "id": "9a07b545-f99e-4f51-bf37-a84fcbe4df4d", Внутренний идентификатор пользователя
    "store_external_id": "1" - Внешний идентификатор пользователя
  }
}

Проверка идемпотентности при получении вебхука

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

tx_hash — хеш-сумма содержимого запроса или события;
bc_uniq_key — уникальный идентификатор события, предоставляемый отправителем вебхука.

Перед обработкой вебхука необходимо проверить, что сочетание hash и uniq_key ещё не было обработано ранее. Если такое событие уже зафиксировано, оно должно быть проигнорировано как дубликат.