.net-core - 将 Paypal 与 .Net Core 3 集成
问题描述
我有一个 .Net Core 3 项目,我想集成 Paypal。
在过去的项目中,我使用Paypal
package,但现在我正在阅读他们的文档 ,他们建议使用他们的 API 版本 2。(以前我使用的是版本 1 和Paypal
SDK)。如果我去 nuget.com 并检查Paypal
包,我发现这个包的第 2 版仍然是rc
:
Version Downloads Last updated
2.0.0-rc2 143,570 2018-04-12T18:17:40Z
现在已经快2年了,所以看起来并不乐观。如果我再次检查他们的文档,我发现他们建议使用以下包:PayPalCheckoutSdk
. 链接到他们的文档。如果我尝试复制粘贴一个示例,它甚至无法编译(主要是由于某些属性重命名)。这真的没有给使用这个包很大的信心。我最后的手段是直接调用paypal API,而不使用他们提供的SDK。
将贝宝与我在 .Net Core 3.1 上运行的服务器集成的最佳方式是什么?
选项:
- 采用
paypal 2.0.0-rc2
- 采用
PayPalCheckoutSdk
- 直接调用API
解决方案
直接调用 v2/orders API。
服务器端创建:https ://developer.paypal.com/docs/api/orders/v2/#orders_create
服务器端捕获:https ://developer.paypal.com/docs/api/orders/v2/#orders_capture
按照PayPal Checkout 集成指南,在您的服务器上创建 2 条路由,一条用于“创建订单”,一条用于“捕获订单”(请参阅“添加和修改代码”中的可选步骤 5)。这两个路由都应该只返回 JSON 数据(没有 HTML 或文本)。在第二条路线中,当捕获 API 成功时,您应该将其生成的付款详细信息存储在您的数据库中(特别是 PayPal 交易 ID)并在转发之前purchase_units[0].payments.captures[0].id
立即执行任何必要的业务逻辑(例如发送确认电子邮件或预订产品)您将 JSON 返回给前端调用者。
将这 2 条路由与前端审批流程配对:https ://developer.paypal.com/demo/checkout/#/pattern/server
推荐阅读
- python - TensorFlow 中的张量 n 模式积
- javascript - Chrome 文件系统 API 挂起
- python-3.x - For循环用于在Python中使用多线程的对象列表
- jquery - 如何在 jQuery 的一种方法中使用 show() 和 hide() 制作三个重复的 if 条件?
- swift - 重用和改变init
- c++ - c++ - 将内存分配给空类会导致内存泄漏吗?
- node.js - 节点 docker 不适用于 feathersjs - 容器正在运行但 localhost 不可访问
- typescript - 打字稿:有条件地向对象添加项目
- javascript - 在浏览器中找到用于调试 javascript 的侦听器的最快方法是什么?
- powerbi - 如何根据 Power BI 中的表数据行选择筛选卡片?