首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理返回的PayPal API

处理返回的PayPal API
EN

Stack Overflow用户
提问于 2014-05-12 10:36:00
回答 1查看 94关注 0票数 0

我正在使用PayPal REST来支付: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返回时,PayerIDtoken作为GET参数。PayerID是进行事务的用户的一个很好的标识符,而不是订单(如果他们有很多订单)。因此,token似乎是用来识别顺序的合乎逻辑的东西。

然而..。

在步骤1中创建支付的响应只包含在approval_url末端的approval_url,它嵌套在approval_url中的几个节点上。我设法把它拿出来,以备日后参考之用。因此,它可以用于确定步骤5中要执行的付款。但是,如果PaymentID在返回中,那么执行起来就容易多了。

我想知道我的方法是否准确,还是有更好的方法。我不太确定在用户使用PayPal时是否自己将这些信息存储在会话中,以防这些信息过期。

请你的想法。

EN

回答 1

Stack Overflow用户

发布于 2014-05-12 15:52:27

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

代码语言:javascript
复制
$_SESSION['paymentId'] = $return['id'];

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

代码语言:javascript
复制
POST /v1/payments/payment/{paymentId}/execute

代码语言:javascript
复制
GET /v1/payments/payment/{paymentId}

将返回选定的运输地址等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23606763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档