Базовая информация

Структура отправляемых уведомлений

POST WEBHOOK_URL

application/json

Body

Name
Type
Description

type

string

Тип уведомления

data

object

Объект с данными

salt

string

Случайная строка

sign

string

Подпись уведомления

Ожидаемый ответ

application/json

{
  "status": true
}

Мы будем повторно отправлять каждое уведомление, пока не получим успешный ответ.

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

  1. Получаете тело запроса и конвертируете в массив

  2. Удаляете ключ sign

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

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

$token = '041131a0906b08a5bebc1d4fdcc6d9';

$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) ) {
    //Возвращаете ответ "Error"
}
//Выполняете свой код и возвращаете ответ "Success"

Last updated