4

我正在尝试将 payUMoney 集成到 node.js 中,但出现错误

必须在交易中发送的强制参数有:key、txnid、amount、productinfo、firstname、email、phone、surl、furl、hash

您的交易请求中缺少的强制性参数是:key、txnid、amount、productinfo、surl、hash、firstname、email、phone。

这里显示参数 furl 丢失,但我提供了。我的代码如下:

app.get('/payu',function(req,res){

var request = require('request'),
    crypto=require('crypto'),
    str='taO2Gy|idr001|50|test|anonymous|anonymous@gmail.com|||||||||||CMpSRcXk';

var hash = crypto.createHash('sha512');
hash.update(str);
var value = hash.digest('hex');

console.log(value);

var params={
   'key':'taO2Gy',
   'txnid':'idr001',
   'amount':'50',
   'productinfo':'test',
   'firstname':'anonymous',
   'email':'anonymous@gmail.com',
   'phone':'9999999999',
   'surl':'http://localhost:8080/',
   'furl': 'http://localhost:8080/',
   'curl': 'http://localhost:8080/',
   'hash':value,
  'service_provider':'payu_paisa'
};


request({
  url:"https://test.payu.in/_payment",
  method:"POST",
  json:true,
  body:params
}, function(err,response,body){
  if(err)
    console.log('Error : ' + err);
  res.send(body);
});

});
4

2 回答 2

1

发送您的参数如下

var params = {
        url: 'https://test.payu.in/_payment',

        form: {
          key: key,
          txnid: txnid,
          amount: amount,
          productinfo: productinfo,
          firstname: firstname,
          email: email,
          phone: phone,
          surl: surl,
          furl: furl,
          hash: hash,
          service_provider: service_provider,

        }
      };
于 2016-05-14T18:06:19.013 回答
0

您没有在 body params 中提供盐。您必须提供它,例如:

 'salt':CMpSRcXk

它会起作用的。

于 2015-10-05T10:12:47.237 回答