paypal rest sdk - 取消付款只提供令牌

Posted

技术标签:

【中文标题】paypal rest sdk - 取消付款只提供令牌【英文标题】:paypal rest sdk - cancel a payment gives only token 【发布时间】:2017-01-26 11:06:02 【问题描述】:

所以我看到了一些关于这个主题的问题,但没有好的答案

通过 paypal api 创建 paypal 付款后,客户端被重定向到 paypal 以进行付款批准 付款对象还获得“已批准”和“已取消”网址,以便贝宝可以让我的服务器知道在客户的批准过程中发生了什么操作

如果客户端取消了支付,paypal 发送的 http 请求如下所示: /customerCancelled?token=EC-32W183225U612050A 当“customerCancelled”当然是我的服务器中的get方法时

这里应该做的贝宝索赔只是取消我的数据库中的付款,因为他们已经在他们的数据库上取消了

问题就在这里——这个令牌有什么技巧?它不是支付ID(这是我数据库中支付的主键) 它如何帮助我识别被取消的付款对象?

paypal 回答问题需要很长时间.. 所以如果这里有人知道会有帮助的线索

谢谢

【问题讨论】:

我也有同样的疑问。无法获取付款ID(PAY-XXXXXXXXX)代码与返回取消批准的令牌之间的关系。 似乎没有人能够回答这个问题.. 我不知道如何处理客户取消付款的情况,因为我只有令牌 【参考方案1】:

我知道这是旧的,但我认为 Paypal .net API 自从这个错误以来没有太大改进,文档也没有。

我注意到您需要的令牌在“approved_url”上

我将其剥离并保存,因此如果返回取消,您可以通过该令牌查找您的订单。

【讨论】:

【参考方案2】:

我发现了。当您首先输入取消 URL 时,您必须请求访问令牌(如果您没有存储它),然后获取付款信息​​(您可以看到here)并且响应包含购物车值,购物车值相同没有 EC- 的令牌,我的意思是,如果购物车值为 1234567890,那么您拥有的令牌是 EC-1234567890。

当您在数据库(或其他地方)中创建支付存储时,支付 ID、购物车价值和最终令牌。然后在取消时搜索数据库中的购物车值并获得付款 ID。

我解释了吗?

【讨论】:

当您首先输入取消 URL 时,您必须向谁索取访问令牌?如何?在什么时候,您要求访问令牌?因为取消 url 是通过 RedirectUrls 配置的

以上是关于paypal rest sdk - 取消付款只提供令牌的主要内容,如果未能解决你的问题,请参考以下文章

Paypal rest sdk沙盒账户在0资金后仍然可以付款

如何使用 PayPal REST API 和 PayPal PHP SDK 保存 PayPal 帐户以备将来付款

执行付款后调用的 PayPal REST API 取消 URL

使用 REST api 执行 PayPal 付款

使用 python Paypal REST SDK 在 django 中动态获取付款和付款人 ID

PayPal REST SDK:删除送货地址和付款授权,使其进入待处理状态[关闭]