PayPal Rest API直接付款

nfp*_*lee 7 paypal-sandbox paypal-rest-sdk

我目前让我的网站通过PayPal接受付款.我使用REST SDKPHP SDK来处理这个问题.这是我通过我的网站处理付款的步骤:

  1. 创建一个意图设置为"销售",付款方式设置为"paypal"并将重定向网址设置为确认页面的付款.
  2. 在确认页面上,我将返回的paymentId和PayerID(来自查询字符串)存储在步骤3中使用.
  3. 一旦用户确认订单,我就执行在步骤2中存储的paymentId和PayerID中的支付.

这是一种享受.但是,我想让用户选择通过PayPal(如上所述)或通过我的网站(使用PayPal直接付款)处理付款.

对于直接付款,我已经能够通过将意图设置为"促销",将付款方式设置为"credit_card"并传递相应的卡详细信息来成功创建付款.但是,我不确定我是否需要像之前那样执行付款,或者付款是否自动完成.

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

如果有人能帮忙解决这个问题,我会很感激.谢谢

Jon*_*anc 1

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

对于您关于无法让用户确认的问题的其他问题,您可以执行以下操作:

因为我认为 auth/capture 更接近您正在考虑做的事情,所以让我进一步深入研究一下。您本质上要做的是授权资金(将它们保存在用户的付款来源上),然后稍后获取它们。这与酒店冻结您的信用卡用于杂费,然后取消冻结的前提相同。

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

授权后,用户可以确认并且您可以验证该卡。一旦一切都获得批准,您就可以捕获。

我知道这对你来说不会是问题,但无论如何我都会提到它。通过授权/捕获,授权资金将保证仅存在 3 天(荣誉期),但您可以继续尝试捕获资金 29 天。但 3 天之后,无法保证资金一定会到位。

希望有帮助