当连接到 PayPal 时,我使用这样的 URL(我在这里使用假值,但结构是真实的):
问题是当我发送这个 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/