Skip to main content
Вебхуки позволяют вашему серверу получать уведомления о событиях (оплата, истечение инвойса) в реальном времени.

Настройка

Укажите webhookUrl в настройках магазина в личном кабинете. Tranzor будет отправлять POST-запросы на этот URL при каждом событии.

События

Формат вебхука

Поле amountUsd указано в центах. Значение 1050 = $10.50.

Проверка подписи

Каждый вебхук подписан HMAC-SHA256. Подпись передаётся в заголовке X-Tranzor-Signature. Строка для проверки — это сырое тело запроса (raw body). Ключ — ваш webhookSecret.
Всегда используйте timing-safe сравнение (timingSafeEqual, compare_digest, hash_equals) для проверки подписи, чтобы защититься от timing-атак.

Рекомендации

  • Отвечайте 200 — Tranzor ожидает HTTP 200 в течение 10 секунд. При другом ответе вебхук будет повторён.
  • Идемпотентность — вебхук может быть доставлен более одного раза. Используйте invoiceId как ключ идемпотентности.
  • Проверяйте подпись — никогда не обрабатывайте вебхук без проверки подписи.
  • Проверяйте статус — после получения вебхука можно дополнительно запросить статус инвойса через GET /api/v1/invoices/{invoiceId}.