朋友。 我尝试在我的PHP站点中集成quickpay。 我的快速支付表格
<form method="POST" action="https://payment.quickpay.net">
<input type="hidden" name="version" value="v10">
<input type="hidden" name="merchant_id" value="43215429">
<input type="hidden" name="agreement_id" value="114267437">
<input type="hidden" name="order_id" value="0001">
<input type="hidden" name="amount" value="100">
<input type="hidden" name="currency" value="INR">
<input type="hidden" name="continueurl" value="http://shop.domain.tld/continue">
<input type="hidden" name="cancelurl" value="http://shop.domain.tld/cancel">
<input type="hidden" name="callbackurl" value="http://shop.domain.tld/callback">
<input type="hidden" name="checksum" value="ed93f788f699c42aefa8a6713794b4d347ff493ecce1aca660581fb1511a1816">
<input type="submit" value="Continue to payment...">
</form>
但是当我尝试测试代码时,它会显示错误,如
校验和无效
请帮助朋友如何在表格中生成校验和用于成功付款 感谢
答案 0 :(得分:0)
QuickPay表单采用校验和机制对您和您的系统进行身份验证,并确保数据没有被纠缠在一起。
<?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
}
?>
整个原始回调请求体的校验和 - 使用HMAC和SHA256作为加密哈希函数。校验和使用帐户的私钥进行签名。