paypal - 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。
解决方案
添加 &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 的上述解决方法似乎是一个更好的计划。
推荐阅读
- flask - 如何使用 flask-sqlalchemy 读取烧瓶中保存的 docx 文件内容?
- java - 检查按钮是否被按住一段时间或是否只是单击 ANDROID
- python - 如何在python中定义空变量或将值从函数传递给全局变量?
- vue.js - 如何使用 Vue 动态创建多个引导卡
- vue.js - 如何结合 vue、i18n 和 markdown 页面?
- sql - 将值插入表时,插入触发器(2行)之前的超级简单不起作用
- python - 为什么我不能正确绘制和更新我的地图?
- node.js - Nodejs与OpenSSL不同的HMAC签名
- vala - Meson+Vala:如果 C 文件依赖于 --header 标志生成的包头怎么办
- bash - 期望从 bash 脚本调用的脚本在完成时不会返回控制