我有一个PayPal表单,其中包含带有#标签的返回URL。当付款准备好并且用户按下他们的链接返回页面链接是%23 insted#,有没有办法解决这个问题?我需要哈希标记来显示正确的标签。
我知道问题有点不在编程中,这可能是一些PayPal api问题,但也许我做错了。
对于协议,我已尝试将urlencode直接插入到我的表单中,但问题仍然存在,似乎paypal编码该url并且何时返回我的浏览器无法再解码它。
答案 0 :(得分:1)
Hashtag应该在返回网址中正常工作:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" target="paypal" method="post">
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="business" value="hbsawnhdglv@paypal.com" />
<input type="hidden" name="item_name" value="item" />
<input type="hidden" name="currency" value="USD" />
<input type="hidden" name="amount" value="0" />
<input type="hidden" name="return" value="http://localhost/test.php#test" />
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!" />
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" />
</form>
并在jsfiddle上。我也试过ExpressCheckout并且它也可以工作,但是使用标准锚点这可能不起作用,因为标签可能在错误的位置。此外,如果您试图将它放在GET
变量的末尾,它会认为它是变量的一部分并对其进行编码:
<input type="hidden" name="return" value="http://localhost/test.php?v=1#test" />
制作:http://localhost/test.php?v=1%23test