如何在Php站点中集成Quickpay

问题描述 投票:0回答:1

朋友。我尝试在我的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>

但是当我尝试测试代码时,它会显示错误

校验和无效

请帮助朋友如何在表单中生成校验和为成功付款谢谢

php payment-gateway quickpay
1个回答
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作为加密散列函数。校验和使用帐户的私钥签名。

© www.soinside.com 2019 - 2024. All rights reserved.