Події та дані webhook
Ідентифікатори доставки й підстави для виконання замовлення.
X-Event-Id — сталий ID події, що збігається з X-Idempotency-Key. X-Delivery-Id ідентифікує доставку конкретному endpoint. Повтори зберігають ці ідентифікатори.
payment_session.paid
Сесія v2 передає sessionId, invoiceId, attemptId, externalId, projectId, mode, paymentMode, status, amountUsd, currency, amountPaid, amountExpected, txHash, chain. Звірте підпис, авторизований статус і збережені замовлення/проєкт/режим/розрахунок ціни. Test не виконує Live-замовлення. Дочірній рахунок не дозволяє повторну видачу.
invoice.paid
Подія окремих рахунків v1 містить invoiceId, externalId, userId, status: "PAID", рядкові amountPaid, amountExpected, txHash, chain. Після підпису вимагайте PAID і збіг збережених invoiceId/externalId.
treasury.credited
Зарахування сервісного балансу облікового запису, не оплата замовлення. Дані: treasuryDepositId, userId, amount, assetId, txHash, chain. Ніколи не запускайте видачу товару за цією подією.
integration.test / webhook.test
Перевіряють з’єднання й підпис, але не представляють платіж. Вибирайте обробник за підписаним X-Event-Type і відхиляйте суперечності з тілом. Повний безпечний процес інтеграції.
Синтетичний приклад оплати сесії
Штучні дані, не платіжні інструкції. За buyer pricing додаються pricingVersion/feePayer/pricing та поля суми проєкту. networkKey і test залежать від контексту. Перевіряйте підписаний тип події й авторизовану сесію.
{
"sessionId": "00000000-0000-4000-8000-000000000001",
"invoiceId": "00000000-0000-4000-8000-000000000002",
"attemptId": "00000000-0000-4000-8000-000000000002",
"externalId": "order-demo-1042",
"userId": "EXAMPLE_MERCHANT_USER",
"projectId": "EXAMPLE_PROJECT",
"mode": "TEST",
"paymentMode": "TEST",
"networkKey": "EXAMPLE_NETWORK_KEY",
"test": true,
"status": "PAID",
"amountUsd": "25",
"currency": "USD",
"ratePolicy": "STABLECOIN_PAR_1_V1",
"asset": "USDT",
"amountPaid": "25.000001",
"amountExpected": "25.000001",
"txHash": "EXAMPLE_NOT_A_TRANSACTION_HASH",
"chain": "TRON"
}