PayPal 自适应支付返回 URL 参数
Posted
技术标签:
【中文标题】PayPal 自适应支付返回 URL 参数【英文标题】:PayPal Adaptive Payments return URL parameters 【发布时间】:2021-05-10 05:15:54 【问题描述】:我在 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。
【问题讨论】:
PayPal 不会自动将自己的键值添加到返回 URL 中吗? 不,默认情况下不添加(至少不适合我)。在 URL 末尾添加&payKey=$payKey
对我来说效果很好。
@PrestonPHX 检查这个答案:***.com/a/17397444/1172363
【参考方案1】:
添加 &payKey=$payKey
哦,根据you linked 的答案,您按原样发送实际文本,而 PayPal 正在用该值动态替换它。
似乎不再支持语法了;它没有记录在案。
我建议生成您自己的唯一 ID,并将其作为 ?id=abcde12345
传递。然后,当您第一次从初始 Pay API 响应中获取 payKey 时,将此 payKey 与您自己的 id 相关联(例如 abcde12345)。如果您碰巧使用 Adaptive Payments 的参数/功能,它可能与 TrackingID 或 Invoice ID 相同。
然后,退货应该有 ?id=abcde12345,您可以查找 payKey 并从那里继续使用 paymentDetails。
您还可以将自适应付款的这种行为变化报告为 PayPal 错误,但由于它是一种非常陈旧且已弃用的产品,可能会在某个时候被淘汰,因此我不确定重新实施未记录的产品有多大的吸引力功能将具有,因此您自己的 id 的上述解决方法似乎是一个更好的计划。
【讨论】:
奇怪的是...这个东西只在“沙盒”模式(测试站点)下被破坏......当使用实时模式(生产站点)时,它再次工作(使用完全相同的参数)... Paypal 没有出现错误...我按预期在返回 URL 中获得了 payKey。 我也有同样的问题。适用于现场,但不适用于沙盒!也没有代码更改。以上是关于PayPal 自适应支付返回 URL 参数的主要内容,如果未能解决你的问题,请参考以下文章