php - PayPal 正在截断我的返回查询字符串

标签 php paypal

当连接到 PayPal 时,我使用这样的 URL(我在这里使用假值,但结构是真实的):

https://www.paypal.com/cgi-bin/webscr?&business=ZDS346347&cmd=_xclick&amount=100&item_name=Test&no_note=1&no_shipping=1&rm=2&return=http://www.website.com/registration.php?paypal=1&classid=122&sessionid=264&studentid=2286

问题是当我发送这个 url 时,它截断了我的返回值查询字符串:

paypal=1&classid=122&sessionid=264&studentid=2286

为此:

paypal=1

返回值中的 & 符号使它混淆,但我需要使用它们以便我可以在返回时处理这些查询字符串值。

有没有办法,我可以将整个返回字符串传递给 PayPal,这样它就不会在遇到第一个 & 符号后被截断。

谢谢,

克里斯

最佳答案

urlencode包裹传递的URL将 & 符号转换为 PayPal 可解析的字符,然后在调用您的 URL 时使用 urldecode解码它们。

发生这种情况是因为 PayPal 的 URL 简单地将 ? 之后的所有内容通过 & 符号拆分为 block 。它不知道什么时候是您网站的一部分。所以它发送 PayPal classid=122 作为它自己的键/值对,而不是作为你的 URL 的一部分。以这种方式编码 URL 应该可以使其正常工作。

编辑 引用了错误的 PHP 函数。 urlencode/decode 用于 GET 参数传递,htmlspecialchars 用于存储 HTML 数据

关于php - PayPal 正在截断我的返回查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30587972/

相关文章:

php - PayPal API createInvoice 总是返回 errorId 580001

php - Javascript - 使用 jquery 获取多个文本区域值

php - if else 循环 PHP mysql

PHP验证以逗号分隔的电子邮件地址

ruby-on-rails - ruby on rails 中的传递状态失败 notify_url IPN

php - magento paypal 收到错误 :We're sorry, PayPal 不允许美国居民将购买的商品运送到英国

php - 使用多数据库表的 Laravel 4 身份验证

php - 比较 2 个 MySQL 表的公共(public)字段,识别仅在其中 1 个表中的数据

c# - 如何代表我的客户使用 Paypal 快速结账?

ios - Paypal API错误