【问题标题】:Is there a way to handle the payment in the Backend Nodejs?有没有办法在后端 Nodejs 中处理付款?
【发布时间】:2021-06-04 18:13:52
【问题描述】:

我用 react 制作了一个网站,我使用“react-paypal-button-v2”包将贝宝集成到我的网站, 所以一切都运行良好,但现在我想做的是隐藏“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 保存为变量并每次都使用它请求付款被触发。
所以我的问题是在服务器端付款的最佳方式是什么? 或者如果我错了,还有比这更好的方法,请告诉我。
在此先感谢各位。

【问题讨论】:

  • Razorpay 也有类似的概念,但客户端 ID 不是敏感信息。您可以继续并将其存储在您的前端配置中
  • 所以如果有人得到那个client_id也没关系?
  • 是的,这真的没关系,因为主要是密钥,您应该将该密钥存储在后端,这就是我在集成 Razorpay 时所做的所有类似事情
  • 哦,谢谢 Vikas

标签: node.js reactjs paypal


【解决方案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.的“文档”标签

【讨论】:

  • 非常感谢普雷斯顿,这很有帮助。
猜你喜欢
  • 2012-01-01
  • 2016-04-19
  • 2021-04-24
  • 2020-05-11
  • 2022-01-27
  • 2016-07-04
  • 2015-12-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多