Подпись HMAC-SHA256 · Детерминированный event_id · 6 этапов повтора

Единые события вебхуков криптоплатежей и архитектура доставки.

Автоматизируйте выполнение заказов, расширение мест в SaaS, пополнение балансов игроков и выпуск программных лицензий ES256 с помощью подписанных идемпотентных HMAC-SHA256 вебхуков во всех 12 поддерживаемых блокчейнах.

Выберите тип события (9 канонических событий)

HTTP-заголовки и JSON-полезная нагрузка события


        

Проверка HMAC-SHA256 за постоянное время (6 языков)


    
Надёжность

6-этапное расписание экспоненциальных повторов

Ответы вне 2xx запускают автоматические повторы через 30s → 2m → 10m → 1h → 6h → 24h, а также ручной повтор в 1 клик в журнале вебхуков мерчанта.

Целостность реестра

Уникальная идемпотентность event_id события

Сохраняйте event_id как ключ UNIQUE в базе данных перед зачислением баланса или выдачей цифровых товаров, чтобы повторы никогда не дублировали исполнение.

Безопасность исходящих вызовов

Привязка TLS и защита от SSRF

XPayr принудительно применяет строгий HTTPS, привязку DNS к публичным IP, CURLOPT_FOLLOWLOCATION=falseи заголовки временных меток с 5-минутным окном защиты от повтора.

Частые вопросы о вебхуках и колбэках

Как убедиться, что вебхук действительно отправлен XPayr?

Вычислите HMAC-SHA256 по точному необработанному сырому телу HTTP-запроса с использованием секрета whsec_ и сравните шестнадцатеричный дайджест с X-XPayr-Signature через функцию с постоянным временем выполнения, такую как crypto.timingSafeEqual (Node.js), hmac.compare_digest (Python) или hash_equals (PHP).

В чём разница между payment.completed и payment.underpaid_accepted?

Событие payment.completed срабатывает, когда ончейн-перевод равен точной сумме счёта или превышает её. Событие payment.underpaid_accepted срабатывает, когда прямой вывод с биржи по QR укладывается в порог допуска XPayr 1% (макс. $0.50), передавая и requested_amount, и received_amount для идеальной точности учёта до цента.

Как XPayr обрабатывает недоступность эндпоинта или ответы 5xx?

Любой ответ вне диапазона HTTP 200–299 (или дольше 10 секунд) помещается в очередь повторных попыток XPayr с экспоненциальной задержкой (30s, 2m, 10m, 1h, 6h, 24h) с сохранением идентичного event_id, чтобы ваша таблица идемпотентности исключила повторное зачисление.

Какие правила безопасности URL применяются к эндпоинтам вебхуков мерчантов?

Продуктивные адреса вебхуков должны использовать HTTPS через публично маршрутизируемые DNS/IP с действительными TLS-сертификатами. XPayr блокирует незашифрованный HTTP, частные и loopback-диапазоны RFC1918, IP-адреса облачных метаданных и HTTP-редиректы для защиты от SSRF.