贝宝休息 API 直接付款

PayPal Rest API Direct Payments

我的网站目前接受通过 PayPal 付款。我将 PHP SDK 用于 REST API 来处理这个问题。这是我通过我的网站处理付款所采取的步骤:

  1. Create a payment,意图设置为 "Sale",付款方式设置为 "paypal",重定向 url 设置为确认页面。
  2. 在确认页面上,我存储返回的 paymentId 和 PayerID(来自查询字符串)以在步骤 3 中使用。
  3. 一旦用户确认订单,我就会 execute the payment 传递在步骤 2 中存储的 paymentId 和 PayerID。

这很有用。但是,我想为用户提供通过 PayPal(如上)或通过我的网站(使用 PayPal 直接付款)处理付款的选项。

对于直接付款,我已经能够通过将意图设置为 "Sale"、将付款方式设置为 "credit_card" 并传入适当的银行卡详细信息来成功创建付款。但是我不确定我是否需要像上面那样在之后执行付款,或者付款是否自动完成。

如果我确实需要执行付款,那么如何获取 paymentId 和 PayerID?如果我不需要执行付款,那么这会出现问题,因为我希望用户确认付款。我可以将创建付款的内容移动到仅在用户确认直接付款订单后才执行,但是在用户输入后我无法验证卡详细信息。我想知道是否有更好的方法来处理这个问题?

如果有人能帮助解决这个问题,我将不胜感激。谢谢

当涉及到信用卡时,您只需要处理第一步(创建付款)(此处有详细说明:https://developer.paypal.com/docs/integration/direct/accept-credit-cards/)。

关于无法让用户确认的其他问题,您可以做以下几件事:

因为我认为 auth/capture 更接近您的想法,所以让我深入探讨一下。您实际上在做的是授权资金(将资金保存在用户的付款来源中),然后在稍后获取资金。这与酒店暂停您的信用卡以支付杂费,然后取消暂停的前提相同。

您可以使用 PayPal REST API 完成所有这些操作。以下是您正在寻找的功能:

授权之后,就是用户可以确认的地方,你可以验证卡片。一切通过后,您就可以捕获了。

我知道这对您来说不是问题,但我还是会提一下。使用 auth/capture,授权资金将保证只存在 3 天(荣誉期限),但您可以继续尝试获取资金 29 天。但是,在这 3 天之后,无法保证资金会到位。

希望对您有所帮助