有没有办法在后端 Nodejs 中处理付款?

时间:2021-03-06 06:45:52

标签: node.js reactjs paypal

我用 react 创建了一个网站,并使用“react-paypal-button-v2”包将 paypal 集成到我的网站, 所以一切正常,但现在我想做的是隐藏“ClientId”,这是 react-paypal-button-v2 的属性之一,如下所示:

<PayPalButton
              amount={amount}
              currency={currency}
              onSuccess={(details, data) => onSuccess(details, data)}
              options={{
                clientId: "YOUR_CLINET_ID"
              }}
          />

因为像文档from react apps documentation中所说的那样将敏感数据放在前端是不安全的,因此我决定在后端处理这个并将ClientId保存为变量并使用它每次请求付款被触发。
所以我的问题是在服务器端付款的最佳方式是什么? 或者如果我错了,还有比这更好的方法,请告诉我。
提前致谢。

1 个答案:

答案 0 :(得分:1)

客户端 ID 不是敏感信息。它旨在用于客户端。

服务器集成使用客户端 ID + 密钥进行 API 调用。服务器集成更加强大和安全,因此如果您有资源和能力与后端集成,建议您这样做。

Vanilla JS+后端方法

在您的服务器上创建两条路由,一条用于“创建订单”,另一条用于“捕获订单”,documented here。这些路由应该返回 JSON 数据。后者应该(成功时)在返回之前将付款详细信息存储在您的数据库中。

将这两条路线与以下审批流程配对:https://developer.paypal.com/demo/checkout/#/pattern/server

反应细节

react-paypal-button-v2 不是官方模块,请尝试使用较新的 react-paypal-js。请参阅 the Storybook.

的“文档”标签