Обратный вызов API Quickpay: неопределенный индекс: HTTP_QUICKPAY_CHECKSUM_SHA256

#php #callback #payment #gateway #quickpay

#php #обратный вызов #оплата #шлюз #quickpay

Вопрос:

Я пытаюсь реализовать Quickpay API.

При этом я также пытаюсь использовать функциональность обратного вызова, как описано здесь: https://learn.quickpay.net/tech-talk/api/callback /

И просто для начала я использую фрагмент кода PHP, найденный на вышеупомянутой странице:

 <?php
    function sign($base, $private_key) {
        return hash_hmac("sha256", $base, $private_key);
    }

    $request_body = file_get_contents("php://input");
    $checksum     = sign($request_body, "your_account_private_key");

    if ($checksum == $_SERVER["HTTP_QUICKPAY_CHECKSUM_SHA256"]) {
      // Request is authenticated
    } else {
      // Request is NOT authenticated
    }
?>
 

Однако, глядя на этот код, я просто не понимаю, как / откуда $ _SERVER[«HTTP_QUICKPAY_CHECKSUM_SHA256»] должен быть заполнен каким-либо значением?

… и, конечно же; просто надеясь на волшебство и пытаясь выполнить приведенный выше код, я просто получаю эту ошибку:

«Неопределенный индекс: HTTP_QUICKPAY_CHECKSUM_SHA256»

Итак … мой вопрос: как должен быть установлен / заполнен $ _SERVER[«HTTP_QUICKPAY_CHECKSUM_SHA256»]?

Ответ №1:

РЕШАЕМАЯ! Оказывается, функция безопасности в моем скрипте, касающаяся обработки $ _POST, блокировала обратный вызов из Quickpay — я отключил ее, и теперь она работает просто отлично.

Итак … как выясняется: $ _SERVER[«HTTP_QUICKPAY_CHECKSUM_SHA256»] заполняется при получении обратного вызова от Quickpay.