【发布时间】:2019-11-10 10:01:22
【问题描述】:
尝试了 2 个 Node.js 包:
https://www.npmjs.com/package/payumoney_nodejs
https://www.npmjs.com/package/payumoney-node
在本地主机上调试。
在每个包的node_modules下的index.js文件中调试。
params {
key: 'x1FanfbP',
salt: 'Vs2GrDyaMQ',
service_provider: 'payu_paisa',
hash: '65f75ced566e2d76dbc6153a277c25f591fc3c0a00a8f51a0699f609d5cbbc94dc7acd5d3be5fe0c0a855c4c6dc7faef49d8b6a1d77dd09398058f800bab068d',
firstname: '',
lastname: '',
email: 'xxxxxxxx@xxxxx.xxx',
phone: XXXXXXXXXX,
amount: '100',
productinfo: '',
txnid: '5b51d253-5d6e-4512-951a-cd6d05bf9e6b',
surl: 'http://localhost:3000/member/contribution/success',
furl: 'http://localhost:3000/member/contribution/failure'
}
request.post(this.payUmoneyURL, form: params, headers: this.headers },
function(error, response, body) {
if (!error) {
var result = response.headers.location;
callback(error, result);
}
});
request.post(payment_url[this.mode] + API.makePayment, { form: params, headers: this.headers }, function(error, response, body) {
if (!error) {
var result = response.headers.location;
callback(error, result);
}
});
response.headers 的响应:
response.headers {
date: 'Fri, 28 Jun 2019 12:06:35 GMT',
server: 'Apache',
'x-powered-by': 'PHP/7.2.14',
p3p: 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"',
'set-cookie': [ 'PHPSESSID=naopga57qf58vl0hdfj5krq4n5; path=/; domain=.payu.in' ],
expires: 'Thu, 19 Nov 1981 08:52:00 GMT',
'cache-control': 'no-store, no-cache, must-revalidate',
pragma: 'no-cache',
vary: 'Accept-Encoding',
'content-length': '3129',
connection: 'close',
'content-type': 'text/html; charset=UTF-8'
}
上面没有location像response.headers.location这样的键
有人可以帮忙知道为什么location 没有返回吗?
是因为在本地机器上开发吗?如果是,那么如何在 localhost 上测试呢?
感谢任何帮助。
【问题讨论】:
-
为什么需要位置?
-
在问题中提供的包 urls 中说 API 应该返回一个需要发送到 UI(在我的情况下为 Angular)的 URL,然后重定向到该 URL。
-
在请求正文中,您是否按照文档设置了 surl 和 furl?
-
如果你可以分享
console.log(response)的输出 -
它说“您将获得一个链接以响应重定向到 payUMoney”,您正在检查标头,但它可能在响应本身中。参考文章 - medium.com/@swapnilnakhate/…
标签: node.js payment-gateway payumoney