0

我正在尝试实现 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"]?

4

1 回答 1

0

解决了!事实证明,我的脚本中有关处理 $_POST 的安全功能阻止了来自 Quickpay 的回调 - 我将其关闭,现在它工作得很好。

所以......事实证明:当您从 Quickpay 收到回调时,会填充 $_SERVER["HTTP_QUICKPAY_CHECKSUM_SHA256"]。

于 2020-11-29T13:39:16.070 回答