Skip to main content

Webhooks

Webhooks are POST requests sent by AdaptGroup to your server when payment status changes. Configure your webhook URL and secret in the dashboard.

Request format​

Each webhook request has the following structure:

{
"event": "payment_success",
"timestamp": "2026-05-10T12:00:00.000Z",
"data": { ... }
}
FieldTypeDescription
eventstringEvent type
timestampstringUTC timestamp in ISO 8601 format
dataobjectEvent payload, varies by event type

Authentication​

Each webhook request includes an X-Webhook-Signature header — HMAC-SHA256 of the request body using your secret.

const crypto = require('crypto');

function verifySignature(body, secret, signature) {
const expected = crypto
.createHmac('sha256', secret)
.update(body)
.digest('hex');
return expected === signature;
}

IP address​

All webhooks are sent from IP address 139.60.162.7. Add it to your server's allowlist to ensure webhook delivery.

Retry policy​

If your server does not respond with 200 or 201, AdaptGroup will retry the webhook:

AttemptDelay
1Immediately
21 minute
32 minutes
45 minutes
510 minutes
615 minutes
730 minutes
81 hour
92 hours
102 hours

If the webhook is not delivered after all attempts (~6 hours total), it is discarded.


Events​

payment_success​

Sent when a payment is successfully completed.

FieldTypeDescription
payment_idstringPayment UUID
statusstringAlways success
amount_usdstringTotal payment amount in USD
commission_usdstringCommission charged in USD
amount_creditedstringAmount credited to your balance after commission
{
"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​

Sent when a payment's lifetime has expired.

FieldTypeDescription
payment_idstringPayment UUID
statusstringAlways expired
amount_usdstringPayment amount in 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​

Sent when a payment has been cancelled.

FieldTypeDescription
payment_idstringPayment UUID
statusstringAlways cancelled
amount_usdstringPayment amount in 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​

Sent when a payment has been refunded. The refunded amount is deducted from your integration balance.

FieldTypeDescription
payment_idstringPayment UUID
statusstringAlways refunded
amount_usdstringRefunded amount in 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"
}
}
© 2026 ОсОО «Глобал Бридж». All rights reserved.
ОГРН: 309678-3301-ООО · ИНН: 9909704508
Кыргызская Республика, г. Бишкек, Октябрьский район, улица Юнусалиева 185/1
Back to top