Уведомление о выводе

Пример тела callback запроса
{
  "signature": "9eabbecc21c8bc968b73291bb19def2a10c8251c",
  "id": "123456789_dpWminAiaqwTcBOJVlFk",
  "state": "failed",
  "method": "ETHEREUM",
  "currency": "ETH",
  "commission": 0.0015,
  "amount": 0.002,
  "rub_amount": 193,
  "receive_amount": 0.0005,
  "deduction_amount": 0.002,
  "subtract_from": "amount",
  "wallet": "examplewallet",
  "message": "",
  "callback_url": "https://example.com/crystalpay.php",
  "extra": "",
  "created_at": "2023-01-01 11:11:11"
}

Валидация callback запроса по signature

<?php
$content = json_decode(file_get_contents('php://input'), true);
...
$id = $content["id"];
$signature = $content["signature"];

$salt = "Salt кассы";

$hash = sha1($id.":".$salt);

if (!hash_equals($hash, $signature)) { //Безопасное сравнение подписи callback
    exit("Invalid signature!");
}

...

Last updated