我正在尝试集成payu支付网关,并且我已经包含了所有必填字段,但是在重定向到payu的官方网站后它显示错误。
Error. We are sorry we are unable to process your payment.
Checksum Failed. Please contact your merchant.
我已经包含以下字段:
<input type="hidden" name="key" value="key here" />
<input type="hidden" name="txnid" value="67c778f0eed" />
<input type="hidden" name="hash" value="sdfdsfsdfsdfgsdrgsdf"/>
<input type="hidden" class="user2" name="firstname" value="sunil">
<input type="hidden" name="surl" value="abc.com" size="64" />
<input type="hidden" name="furl" value="abc.com" size="64" /></td>
<input type="hidden" name="service_provider" value="payu_paisa" size="64" />
<input id="pay_amoumt" type="hidden" name="amount" value="10">
<input id="pay_amoumt" type="hidden" name="productinfo" value="general">
我已经为哈希键分配了一个静态字符串。这是一个问题吗?或者我还有什么需要做的吗?
答案 0 :(得分:2)
您的校验和不是确切的检查变量,所有这些都是强制性的。交易前校验和的公式:
sha512 (key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5||||||<SALT>)
SALT将由PayUMoney提供。使用的算法是SHA2,它是全球众所周知的算法。使用Google为您的实施找到所需的函数库。下面还提到了一些示例代码:
PHP的示例代码:
$output = hash("sha512", $text);
http://softbuiltsolutions.com/uploads/readme/sZuRrXnkRVQXqv47f3hgy4LCmekcry-1443511890.pdf
答案 1 :(得分:1)
POST必须强制包含以下键
“key”“txnid”“amount”“productinfo”“firstname”“email”“phone”“surl”“furl”“hash”“service_provider”
此信息在文档中。
答案 2 :(得分:1)
不确定这是否已修复,但无法在任何地方找到答案,所以想一想分享对我有用的东西。 请确保金额像10.00一样浮动。 这对我有用。 感谢
答案 3 :(得分:0)
检查对象的前端和后端字段名称是否匹配,如果不匹配,则在生成哈希码时会出错。