将 Paypal 与 .Net Core 3 集成

Integrating Paypal with .Net Core 3

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

在过去的项目中,我使用的是 Paypal package, but now I was reading their documentation,他们建议使用 API 的第 2 版。 (之前我使用的是带有 Paypal SDK 的版本 1。如果我去 nuget.com 并检查 Paypal 包,我看到这个包的版本 2 仍然是 rc:

Version     Downloads   Last updated        
2.0.0-rc2   143,570     2018-04-12T18:17:40Z

现在已经快2年了,所以看起来不太乐观。如果我再次查看他们的文档,我发现他们建议使用以下包:PayPalCheckoutSdk. Link to their docs。如果我尝试复制粘贴一个示例,它甚至无法编译(主要是由于某些属性已重命名)。这真的根本没有给使用这个包带来很大的信心。我最后的办法就是直接调用 paypal API,而不使用他们提供的 SDK。

在 .Net Core 3.1 上将 paypal 与我的服务器 运行 集成的最佳方式是什么?

选项:

直接调用v2/ordersAPI。

服务器端创建:https://developer.paypal.com/docs/api/orders/v2/#orders_create

服务器端捕获:https://developer.paypal.com/docs/api/orders/v2/#orders_capture

遵循 PayPal Checkout integration 指南并在您的服务器上制作 2 条路线,一条用于 'Create Order',一条用于 'Capture Order'(参见 'Add and modify the code' 中的可选步骤 5) .这两条路线都应该 return 只有 JSON 数据(没有 HTML 或文本)。在第二条路线中,当捕获 API 成功时,您应该将其生成的付款详细信息存储在您的数据库中(特别是 purchase_units[0].payments.captures[0].id,这是 PayPal 交易 ID)并执行任何必要的业务逻辑(例如发送确认电子邮件或预订产品)立即 将您的 return JSON 转发给前端呼叫者之前。

将这 2 条路线与前端批准流程配对:https://developer.paypal.com/demo/checkout/#/pattern/server