#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.