我正在实现一个网站的MasterCard支付网关。在官方指南中,JavaScript用于传递要收取的金额,以及资金流向哪个商家。
看起来用户可能会更改任何值,并让网关向我们返回一条成功消息。
即使是成功的消息似乎也没有太多用于重新验证的细节。
除了以某种方式将JavaScript转换为服务器端代码之外,我想不出其他方法来防止这种情况发生。
发布于 2018-11-13 16:19:04
我刚刚找到了一个解决方案。来自https://ap-gateway.mastercard.com/api/documentation/integrationGuidelines/hostedCheckout/integrationModelHostedCheckout.html
您可以找到获取支付结果部分。您可以看到,在创建checkout_session时,需要输入参数amount (*在接口文档中不是必须的)。
行:-d "order.amount=100.00" \
因此,当您将会话id放入:
Checkout.configure({
...
session: {
id: "SESSION000292090496253818604576"
},
...
});你所说的“潜在地改变了任何值”将会被阻止。
汇总:在获取session id时,只需在服务端代码中添加amount参数即可。
https://stackoverflow.com/questions/41158947
复制相似问题