Skip to content

Вебхуки

Вебхуки используются для асинхронной передачи информации о статусе платежей. Мы отправляем HTTP POST-уведомления на указанный вами WEBHOOK_URL при изменении состояния платежа.

Request Endpoint

POSTWEBHOOK_URL

Headers

NameValue
Content-Typeapplication/json
Acceptapplication/json

Request Body

NameTypeDescription
typestringТип уведомления
dataobjectОбъект с данными
saltstringСлучайная строка
signstringПодпись уведомления

Response Body

NameTypeDescription
statusbooleanРезультат обработки уведомления
msgstringОписание ошибки

Response Example

json
{
	"status": true
}

Важно

Webhook считается успешно обработанным только при выполнении всех условий:

  • Content-Type: application/json
  • В теле ответа присутствует JSON с полем "status": true

В этом случае повторная отправка уведомления прекращается.

Если хотя бы одно из условий успешной доставки не выполнено, система выполнит до 100 попыток доставки уведомления: первая повторная попытка — через 5 минут, вторая — через 10 минут, третья — через 15 минут, далее — каждые 30 минут.

Проверка подписи (sign) запроса

Для проверки подписи выполните следующие шаги:

  1. Получите тело запроса и конвертируйте его в массив.
  2. Удалите ключ sign.
  3. Вычислите подпись с использованием алгоритма HMAC-SHA256 на основе JSON-представления массива и секретного ключа token.

Пример обработчика уведомлений

php
$token = '041131a0906b08a5bebc1d4fdcc6d9';

header('Content-Type: application/json');

$inputJSON = file_get_contents('php://input');
$input = json_decode($inputJSON, true);

$input_sign = $input['sign'];
unset($input['sign']);

$sign = hash_hmac('sha256', json_encode($input), $token);

if (!hash_equals($input_sign, $sign)) {
    http_response_code(400);
    echo json_encode([
        'status' => false,
        'msg' => 'Invalid signature'
    ]);
    exit;
}

// Execute your logic

http_response_code(200);
echo json_encode([
    'status' => true
]);
exit;

Список IP-адресов, с которых мы отправляем уведомления

Добавьте наши IP-адреса в белый список файрвола

45.76.81.14
2001:19f0:6c01:878:5400:5ff:fe38:50d1
207.148.69.64
2401:c080:1400:109b:5400:5ff:fe95:20d3

SeverPay.io API Documentation