首页 > 解决方案 > 将 Paypal 与 .Net Core 3 集成

问题描述

我有一个 .Net Core 3 项目,我想集成 Paypal。

在过去的项目中,我使用Paypal package,但现在我正在阅读他们的文档 ,他们建议使用他们的 API 版本 2。(以前我使用的是版本 1 和PaypalSDK)。如果我去 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 上运行的服务器集成的最佳方式是什么?

选项:

标签: .net-corepaypal.net-core-3.1

解决方案


直接调用 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


推荐阅读