Вебхуки
Вебхуки — это POST запросы которые AdaptGroup отправляет на ваш сервер при изменении статуса платежа. Настройте URL и секретный ключ вебхука в дашборде.
Формат запроса
Каждый запрос вебхука имеет следующую структуру:
{
"event": "payment_success",
"timestamp": "2026-05-10T12:00:00.000Z",
"data": { ... }
}
| Поле | Тип | Описание |
|---|---|---|
event | string | Тип события |
timestamp | string | Временная метка UTC в формате ISO 8601 |
data | object | Данные события, зависят от типа события |
Аутентификация
Каждый запрос вебхука содержит заголовок X-Webhook-Signature — HMAC-SHA256 от тела запроса с использованием вашего secret.
const crypto = require('crypto');
function verifySignature(body, secret, signature) {
const expected = crypto
.createHmac('sha256', secret)
.update(body)
.digest('hex');
return expected === signature;
}
IP-адрес
Все вебхуки отправляются с IP-адреса 139.60.162.7. Добавьте его в белый список на вашем сервере чтобы гарантировать получение запросов.
Политика повторных попыток
Если ваш сервер не отвечает кодом 200 или 201, AdaptGroup повторит отправку вебхука:
| Попытка | Задержка |
|---|---|
| 1 | Немедленно |
| 2 | 1 минута |
| 3 | 2 минуты |
| 4 | 5 минут |
| 5 | 10 минут |
| 6 | 15 минут |
| 7 | 30 минут |
| 8 | 1 час |
| 9 | 2 часа |
| 10 | 2 часа |
Если вебхук не доставлен после всех попыток (~6 часов), он удаляется.
События
payment_success
Отправляется когда платёж успешно оплачен.
| Поле | Тип | Описание |
|---|---|---|
payment_id | string | UUID платежа |
status | string | Всегда success |
amount_usd | string | Общая сумма платежа в USD |
commission_usd | string | Удержанная комиссия в USD |
amount_credited | string | Сумма зачисленная на баланс после вычета комиссии |
{
"event": "payment_success",
"timestamp": "2026-05-10T12:00:00.000Z",
"data": {
"payment_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "success",
"amount_usd": "5.4321",
"commission_usd": "0.4889",
"amount_credited": "4.9432"
}
}
payment_expired
Отправляется когда истёк срок жизни платежа.
| Поле | Тип | Описание |
|---|---|---|
payment_id | string | UUID платежа |
status | string | Всегда expired |
amount_usd | string | Сумма платежа в USD |
{
"event": "payment_expired",
"timestamp": "2026-05-10T12:00:00.000Z",
"data": {
"payment_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "expired",
"amount_usd": "5.4321"
}
}
payment_cancelled
Отправляется когда платёж отменён.
| Поле | Тип | Описание |
|---|---|---|
payment_id | string | UUID платежа |
status | string | Всегда cancelled |
amount_usd | string | Сумма платежа в USD |
{
"event": "payment_cancelled",
"timestamp": "2026-05-10T12:00:00.000Z",
"data": {
"payment_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "cancelled",
"amount_usd": "5.4321"
}
}
payment_refunded
Отправляется когда по платежу произведён возврат средств. Сумма возврата списывается с баланса вашей интеграции.
| Поле | Тип | Описание |
|---|---|---|
payment_id | string | UUID платежа |
status | string | Всегда refunded |
amount_usd | string | Сумма возврата в USD |
{
"event": "payment_refunded",
"timestamp": "2026-05-10T12:00:00.000Z",
"data": {
"payment_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "refunded",
"amount_usd": "5.4321"
}
}