Обратный вызов API Quickpay: неопределенный индекс: HTTP_QUICKPAY_CHECKSUM_SHA256
РЕШЕНО - см. Мой ответ ниже.
Я пытаюсь внедрить 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.