从NODE服务器向支付网关发送POST请求

在我目前对MEAN堆栈的启发下,对于select在线支付的客户,我已经创build了一个这样的超链接。

 <div> <a class="btn btn-pram-primary btn-block" href="node/public/orders">Online Payment</a> </div> 

我用节点代码拦截这个url。

 var sendRequestToPayU = function( req, res, next ) { console.log('In sendRequestToPayU' ); var post_data = querystring.stringify({ 'txnid': '1', 'amount': '100', 'productinfo' : 'ABCD', 'firstname' : 'UserName', 'email' : 'user@user.com', 'phone' : '9876543210' }); request({ url: 'https://test.payu.in/_payment', //URL to hit method: 'POST', headers: { 'Content-Type': 'MyContentType', 'Content-Length': post_data.length }, body: post_data //Set the body as a string }, function(error, response, body){ if(error) { console.log(error); } else { console.log(response.statusCode, body); res.html(body).send(); } }); }; 

为了正确的付款,控制权应该转移到支付网关站点,但在上面编码的过程中,我不确定如何将控制权redirect到支付网关?

是否应该在浏览器上处理,而不是通过创build表单来执行,表单操作应该是支付网关的URL?

如果我遵循这个规则? 客户不应该看到我的salt和merchant id吗?

请build议我采取适当的方式来追求这一点。

在将payu与我的网站集成时,我面临同样的问题。 虽然我使用PHP作为我的后端,但是这个问题的解决scheme是通用的。

你需要做的是处理两种forms:

FORM A:使用户填写该表格的数量,将该表格的行为设置为FORM B.

表格B(隐藏):此表格将隐藏在您的服务器中,并将此表格的行为设置为http://test.payu.in/_payment并自动提交此表格&#x3002; 这个表格将包含所有的敏感信息,如商家密钥和盐。

只要参数在FORM B中发布,它就会自动提交,并通过操作将其redirect到payu网站。

您的商家密钥和盐也像服务器上一样以这种方式得到保护。