首页 > 解决方案 > PayPal 自适应支付返回 URL 参数

问题描述

我在 PHP 中使用 PayPal Adaptive Payments(一种已弃用的集成方法)。

在调用“支付”请求时,我总是将返回 URL 设置为:

https://my-website/my-return-page.php?payKey=${payKey}

然后,当付款成功时,PayPal 应该将用户重定向到以下内容:

https://my-website/my-return-page.php?payKey=AP-ABCDEF123456

但是现在,PayPal API 抛出了一个错误:

The URL https://my-website/my-return-page.php?payKey=${payKey} is malformed

我们的端没有任何变化,它只是停止工作。

我需要返回 URL 中的 payKey,所以我可以查看 paymentDetails。

标签: paypalpaypal-adaptive-payments

解决方案


添加 &payKey=${payKey}

哦,根据您链接的答案,您正在按原样发送实际文本,而 PayPal 正在用该值动态替换它。

似乎不再支持语法了;它没有记录。

我建议生成您自己的唯一 ID,并将其传递为?id=abcde12345. 然后,当您第一次从初始 Pay API 响应中获取 payKey 时,将此 payKey 与您自己的 id 相关联(例如 abcde12345)。如果您碰巧使用 Adaptive Payments 的任一参数/功能,它可能与 TrackingID 或 Invoice ID 相同。

然后,返回应该有 ?id=abcde12345,您可以查找 payKey 并从那里开始使用 paymentDetails。


您还可以将 Adaptive Payments 的这种行为变化报告为 PayPal 错误,但由于它是一种非常陈旧且已弃用的产品,可能会在某个时候被淘汰,我不确定重新实现未记录的功能会有多大的牵引力,因此您自己的 id 的上述解决方法似乎是一个更好的计划。


推荐阅读