响应校验和或散列在 payumoney 中不匹配?

response checksum or hash not matching in payumoney?

当通知在 payumoney 处理后传递给应用程序时,它会发送响应哈希值,我们需要计算哈希值并将其与传入的响应哈希值进行匹配。

我使用以下代码来计算预期的响应哈希。

Digest::SHA512.hexdigest([
  PAYU_SALT,
  notification.transaction_status,
  notification.user_defined,
  notification.customer_email,
  notification.customer_first_name,
  notification.product_info,
  notification.gross,
  notification.invoice,
  PAYU_KEY].join("|"))  

计算以下字符串的哈希值

"salt|success|||||||||||||Payment|100.0|1|key"

当我打印下面的散列时,它给出了

Digest::SHA512.hexdigest([
  PAYU_SALT,
  notification.transaction_status,
  notification.user_defined,
  notification.customer_email,
  notification.customer_first_name,
  notification.product_info,
  notification.gross,
  notification.invoice,
  PAYU_KEY].join("|"))  

  #⇒ e7b3c5ba00b98aad9186a5e6eea65028a[...]

notification.checksum 给出

  #⇒ 546f5d23e0cadad2d4158911ef72f095d[...] 

所以两个哈希值不匹配。

我正在使用以下 gem:https://github.com/payu-india/payuindia

对于为什么响应哈希不匹配的任何帮助,我表示感谢。我计算响应散列的逻辑是否有任何错误?谢谢!

您是从哪里得出数组中字段的顺序的?

PayU's Developer FAQ好像顺序是这样的:

key|txnid|amount|productinfo|firstname|email|||||||||||salt

Please make sure that the hash is calculated in the following format - hashSequence= key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5||||||salt

Please make sure that in the above sequence please use the UDFs which have also been posted to our server. In case you haven't posted any UDFs, the hash sequence should look like this - hashSequence= key|txnid|amount|productinfo|firstname|email|||||||||||salt.

请记住,在计算散列值时,即使是一个不合适的字符也会导致完全不同的校验和。

好的,这是我犯的一个愚蠢的错误。哈希值不匹配的原因是因为我的 PAYU 测试密钥有错字。最后我输入了small 'u',当时它是'U'。图书馆很好,逻辑是正确的。错误出在我这边,因为我使用了错误的密钥。

哈希的实际序列是: 额外收费|SALT|状态||||||udf5|udf4|udf3|udf2|udf1|电子邮件|名字|产品信息|金额|txnid|key

稍晚但实际顺序是:

SALT|status||||||udf5|udf4|udf3|udf2|udf1|email|firstname|productinfo|amount|txnid|key

感谢 Ravi Kant Singh

additionalCharges| 已删除

已在实际环境中测试

按上面的顺序检查你的哈希,如果它匹配你可以处理请求

额外收费的实际哈希生成:

additionalCharges|SALT|status||||||udf5|udf4|udf3|udf2|udf1|email|firstname|productinfo|amount|txnid|key

无额外费用:

SALT|status||||||udf5|udf4|udf3|udf2|udf1|email|firstname|productinfo|amount|txnid|key