我正在尝试集成nodejs应用程序以与PayUMoney集成。我按照php的说明和示例代码在node.js中实现,但是我得到校验和错误。
错误。很抱歉,我们无法处理您的付款。
校验和失败。请联系您的商家。
这是代码。前端
<form method="post" id="payu-payment-form" action="https://test.payu.in/_payment">
<input type="hidden" name="hash" value="hash"/>
<input type="hidden" name="key" value="marchentKey"/>
<input type="hidden" name="txnid" value="asc123"/>
<input type="hidden" name="amount" value="1000" />
<input type="hidden" name="productinfo" value="Product 1"/>
<input type="hidden" name="firstname" value="Amit" />
<input type="hidden" name="email" value="abc@gmail.com" />
<input type="hidden" name="phone" value="123423233" />
<input type="hidden" name="surl" value="http://localhost/success"/>
<input type="hidden" name="furl" value="http://localhost/fail"/>
<input type="hidden" name="service_provider" value="payu_paisa" />
<button class="" type="submit" formtarget="_blank" >Buy</button>
</form>
Node.js
var txnid='asc123';
var amount=1000;
var produnctinfo='Product 1';
var firstname='Amit';
var email='abc@gmail.com';
var phone='123423233';
var surl='http://localhost/success';
var furl='http://localhost/fail';
var service_provider='payu_paisa';
var string = marchentKey +'|' +txnid+ '|' +amount+'|'+productinfo+'|'+firstname+'|'+email+'|'+phone+'|'+ surl +'|'+furl+'|'+service_provider+'|||||||'+salt;
var hash=sha512(string);
答案 0 :(得分:1)
测试密钥&amp; PHP集成工具包中的Salt无效。所以使用我自己的测试密钥和salt并计算正确的哈希工作正常。
以前我用phone,surl,furl和service_provider计算哈希值。但它应该像
var string = marchentKey +'|' +txnid+ '|' +amount+'|'+productinfo+'|'+firstname+'|'+email+'|||||||||||'+salt;
var hash=sha512(string);
如果您发布其文档中未提及的变量,即用户定义的变量,则应将这些变量包括为udf1,udf2 ..
var string = marchentKey +'|' +txnid+ '|' +amount+'|'+productinfo+'|'+firstname+'|'+email+'|'+udf1+'|'+udf2+'|||||||||'+salt;
var hash=sha512(string);
答案 1 :(得分:1)
var service_provider ='';
将“服务提供商”字段留空。 这应该有用。
答案 2 :(得分:0)
我认为问题在于您使用自定义名称发布用户定义的变量。 使用udf1而不是使用service_provider。
<form method="post" id="payu-payment-form" action="https://test.payu.in/_payment">
<input type="hidden" name="hash" value="hash"/>
<input type="hidden" name="key" value="marchentKey"/>
<input type="hidden" name="txnid" value="asc123"/>
<input type="hidden" name="amount" value="1000" />
<input type="hidden" name="productinfo" value="Product 1"/>
<input type="hidden" name="firstname" value="Amit" />
<input type="hidden" name="email" value="abc@gmail.com" />
<input type="hidden" name="surl" value="http://localhost/success"/>
<input type="hidden" name="furl" value="http://localhost/fail"/>
<input type="hidden" name="phone" value="123423233" />
<input type="hidden" name="udf1" value="payu_paisa" />
<button class="" type="submit" formtarget="_blank" >Buy</button>
</form>
哈希计算
hash=sha512(key|txnid|amount|productinfo|firstname|email|udf1||||||||||SALT);