【问题标题】:Payments through PayPal with ASP.NET CORE 3使用 ASP.NET CORE 3 通过 PayPal 付款
【发布时间】:2020-05-18 16:24:10
【问题描述】:

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

我试图了解这是否是正确的运行顺序:

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

这是正确的执行顺序吗?

【问题讨论】:

标签: asp.net-core paypal paypal-sandbox


【解决方案1】:
  1. 您应该使用 v2/orders,而不是旧的 v1/payments; the v2 SDK can be downloaded here

  2. 与其将旧式的整页重定向到approval_url,不如使用新的结帐的上下文用户界面,让您的网站在后台加载。 Here is a demo pattern。另一个好处是它提供了嵌入式/在线信用卡表格。

  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/

【讨论】:

  • 您提到的 v2 SDK 适用于 .NET Framework(最低版本为 4.6.1)。我正在使用 .NET CORE 3.0
  • 所以您使用的是 2 年前的 v1 SDK 的 beta RC,不再受支持。祝你好运,我当然不推荐这种方法。如果您无法使用新的 v2 SDK for .NET,最好的方法是将最新的 v2/orders API 与直接 HTTPS 调用(无 SDK)集成。基本上看curl 或邮递员的例子,然后编写你自己的.NET 函数来模仿。
猜你喜欢
  • 2013-05-31
  • 2018-04-03
  • 2016-10-08
  • 2012-04-21
  • 2012-07-22
  • 2013-08-19
  • 2014-06-22
  • 2016-09-03
  • 2011-04-21
相关资源
最近更新 更多