Настройка
УкажитеwebhookUrl в настройках магазина в личном кабинете. Tranzor будет отправлять POST-запросы на этот URL при каждом событии.
События
| Событие | Описание |
|---|---|
invoice.paid | Инвойс оплачен, транзакция подтверждена |
invoice.expired | Истёк срок ожидания оплаты |
Формат вебхука
Поле
amountUsd указано в центах. Значение 1050 = $10.50.Проверка подписи
Каждый вебхук подписан HMAC-SHA256. Подпись передаётся в заголовкеX-Tranzor-Signature.
Строка для проверки — это сырое тело запроса (raw body). Ключ — ваш webhookSecret.
Рекомендации
- Отвечайте 200 — Tranzor ожидает HTTP 200 в течение 10 секунд. При другом ответе вебхук будет повторён.
- Идемпотентность — вебхук может быть доставлен более одного раза. Используйте
invoiceIdкак ключ идемпотентности. - Проверяйте подпись — никогда не обрабатывайте вебхук без проверки подписи.
- Проверяйте статус — после получения вебхука можно дополнительно запросить статус инвойса через GET
/api/v1/invoices/{invoiceId}.