使用 ASP.NET CORE 3 通过 PayPal 付款

Payments through PayPal with ASP.NET CORE 3

我正在尝试通过我的 .NET CORE 3 项目在沙盒模式下通过 PayPal 运行 付款。 这个想法是让客户能够选择是使用 his/her PayPal 帐户还是信用卡付款。 我正在使用 PayPal-NET-SDK v2.0.0-rc2

我想了解这是否是 运行 事情的正确顺序:

  1. 使用 PaymentCreateRequest
  2. 创建付款
  3. 此时,我得到了approval_url。我重定向客户并使用信用卡
  4. 批准payment/order
  5. 使用 PaymentExecuteRequest 执行付款,使用我从重定向 URL 获得的 PAYID 和 PAYERID。这里我得到一个订单对象
  6. 使用带有订单 ID 的 OrderAuthorizeRequest 授权订单(将正文设置为 PayPal.v1.Orders.Capture 对象)
  7. 使用 OrderCaptureRequest 和订单 ID 捕获订单(将正文设置为 PayPal.v1.Payments.Capture 对象)

这是正确的执行顺序吗?

  1. 而不是旧的v1/payments,你应该使用v2/orders; the v2 SDK can be downloaded here

  2. 与旧式整页重定向到 approval_url 相比,使用新结帐的上下文 UI 更好,它可以让您的网站加载到背景。 Here is a demo pattern。另一个好处是它提供 embedded/in-line 信用卡表格。

  3. 如果您以 intent=capture(v2) 或 sale(v1) 开始,则 capture(v2)/execution(v1) 调用将是最终的并完成交易,不会有授权步骤,因此列表中的 (4) 是可跳过的。 (如果你发现你有延迟捕获的特定业务需求,你应该只费心去实现 intent=capture/sale 以外的东西,因为它增加了复杂性)

  4. 有关实施集成的服务器端部分的更多一般信息:https://developer.paypal.com/docs/checkout/reference/server-integration/set-up-transaction/