代码之家  ›  专栏  ›  技术社区  ›  nfplee

PayPal Rest API直接支付

  •  7
  • nfplee  · 技术社区  · 9 年前

    我目前有我的网站通过PayPal接受付款。我使用 PHP SDK REST API来处理此问题。以下是我通过我的网站处理付款的步骤:

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

    这很管用。然而,我想给用户一个通过PayPal(如上所述)或通过我的网站(使用PayPall直接支付)处理付款的选项。

    对于直接付款,我已经能够通过将意向设置为“销售”、将付款方式设置为“信用卡”并传递适当的卡详细信息来成功创建付款。然而,我不确定我是否需要像上面那样事后执行付款,或者付款是否自动通过。

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

    如果有人能帮我澄清一下,我会很感激的。谢谢

    1 回复  |  直到 9 年前
        1
  •  1
  •   Jonathan LeBlanc    9 年前

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

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

    由于我认为auth/capture更接近于您正在考虑的内容,所以让我进一步探讨一下。实际上,您所做的是授权资金(将其保存在用户的支付源上),然后在以后的时间获取资金。这与酒店因杂费而暂停您的信用卡,然后取消暂停的前提相同。

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

    在您授权之后,这是用户可以确认和验证卡的地方。一旦一切都得到批准,您就可以进行捕获。

    我知道这对你来说不是问题,但我无论如何都会提到。使用auth/capture,授权资金将保证只在那里停留3天(荣誉期),但您可以继续尝试捕获资金29天。然而,在这3天之后,资金无法保证会到位。

    希望有帮助