PayU web checkout - 校验和失败

时间:2017-12-22 07:30:39

标签: php payumoney payu

尝试与PayU集成时,我一直收到Checksum failed错误。从我在文档中看到的,集成应该是直截了当的,但我认为我搞乱了哈希生成。特别是,我不确定如何处理udf字段。

以下是我计算哈希值的方法:

$seq = "xxxxxxxx|11aa|400.00|Cleaning|Ankush|ankush@gmail.com|||||||||||xxxxxx";
$hash = strtolower(hash("sha512", $seq));

我已经验证了键值和盐值,但|||||||||||部分对我来说很可疑。我没有任何用户定义的字段;这是怎么做的?

3 个答案:

答案 0 :(得分:0)

此错误仅在表单中的值和

中发生
$seq = "xxxxxxxx|11aa|400.00|Cleaning|Ankush|ankush@gmail.com|||||||||||xxxxxx";

不匹配所以比较你肯定会得到差异的东西,并且正确地摆脱这个错误。

答案 1 :(得分:0)

在这里想指出两件事,在官方文档中可能没有:

  1. 包含金额的字符串应以'.00'结尾。如果需要手动添加,请添加它们。
  2. 这是大多数人必须弄清楚的方法之一: 仅允许您使用11个UDF(用户定义的字段)。您应该使用udf1|udf2|udf3之类的值,或者使用诸如|这样的管道。否则校验和将失败。如果您不通过任何udf,请添加11个管道。

答案 2 :(得分:0)

只需将哈希转换为小写

我个人花了几个小时来尝试解决checksum failed问题,这一切都要归功于payumoney提供的不良文件。