1

我正在为网站实施万事达卡支付网关。在官方指南中,JavaScript 用于传递要收取的金额,以及钱流向哪个商家。

看起来用户可能会更改任何值并让网关向我们返回成功消息。

即使是成功消息似乎也没有太多需要重新验证的细节。

除了以某种方式将 JavaScript 转换为服务器端代码之外,我想不出一种方法来防止这种情况发生。

官方指南: https ://ap-gateway.mastercard.com/api/documentation/integrationGuidelines/hostedCheckout/integrationModelHostedCheckout.html

4

1 回答 1

0

我刚刚找到了解决方案。来自https://ap-gateway.mastercard.com/api/documentation/integrationGuidelines/hostedCheckout/integrationModelHostedCheckout.html

您可以找到获取付款结果部分。您会看到在创建 checkout_session 时,您需要输入参数数量(*在 API 文档中不是强制性的)。

该行:-d "order.amount=100.00" \

这样当您将会话 ID 放入时:

Checkout.configure({
...
       session: { 
            id: "SESSION000292090496253818604576"
       },
...
});

您所说的“可能更改任何值”将被阻止。

摘要amount:获取会话ID时,只需在您的服务器端代码中添加参数。

于 2018-11-13T08:19:04.077 回答