gpt4 book ai didi

php - PayPal API 处理返回

转载 作者:太空宇宙 更新时间:2023-11-03 16:31:13 25 4
gpt4 key购买 nike

我正在使用 PayPal REST API 进行支付:https://developer.paypal.com/webapps/developer/docs/api/

流程本身非常简单:

  1. 用户选择支付从而创建支付对象/v1/payments/payment
  2. 用户被重定向到 PayPal 以进行身份​​验证(来自 PayPal 响应对象的批准链接)
  3. 用户验证和接受
  4. 用户回到原来的网站
  5. 用户完成付款触发/v1/payments/execute

现在我发现有点棘手的部分是步骤 1-2 和 4-5。

让我们从第 4 部分开始。在从 PayPal 返回时,URL 将 PayerIDtoken 作为 GET 参数。 PayerID 是进行交易的用户的良好标识符,但不是订单的标识符(如果他们有很多订单)。因此,token 似乎是用于标识订单的合乎逻辑的东西。

然而...

在步骤 1 中创建付款的响应仅包含 approval_url 末尾的 token,它嵌套在几个节点中。我已经设法得到拿出来拿来备查。这样它就可以用来识别第 5 步要执行的付款。不过,如果 PaymentID 在返回值中,会容易得多。

我想知道我的方法是否准确,或者是否有更好的方法。我不完全确定在用户转到 PayPal 以防它们过期时自己将信息存储在 session 中。

请说出你的想法。

最佳答案

您真的不需要存储 token ,因为它只能使用一次并在 3 小时后过期。相反,我所做的是存储生成的 paymentId:

$_SESSION['paymentId'] = $return['id'];

当他们被重定向到您的着陆页时,您只需检查以确保已设置,如果没有重定向并生成一个新的。您甚至需要 paymentId 来执行付款,或者查找有关付款的信息:

POST /v1/payments/payment/{paymentId}/execute

GET /v1/payments/payment/{paymentId}

返回选择的送货地址等

关于php - PayPal API 处理返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23606763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com