我正在以Paypal形式编写PHP脚本。我正在使用$ testUrl变量发送返回URL,该变量在成功付款后可以正常工作,但它不会重定向到该URL。
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<select name="amount">
<option value="10">10 SEK</option>
<option value="20">20 SEK</option>
<option value="30">30 SEK</option>
</select>
<?php $testUrl= "http://www.google.com"; ?>
<input type="hidden" name="cmd" value="_s-xclick" />
<input type="hidden" name="hosted_button_id" value="3FWC3TJEYANK4" />
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!" />
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" />
<input type="hidden" name="notify_url" value="http://beeurban.ayond.com/wp-content/payment/ipn.php" />
<input type="hidden" name="currency_code" value="SEK" />
<input type="hidden" name="return" value="<?php echo $testUrl ; ?>" />
</form>
答案 0 :(得分:3)
需要在paypal帐户中激活自动退货选项。
见这里:Setting PayPal return URL and making it auto return?
请查看@ andrew的答案:https://stackoverflow.com/a/13468873/1722914
答案 1 :(得分:2)
您的问题是您使用的是托管按钮。当您使用托管按钮时,无法像这样向按钮代码添加其他字段。必须在PayPal帐户的按钮管理器中配置所有内容。从我看到的情况来看,你的notify_url也可能无法正常工作,因为这也必须在按钮管理器中进行设置......除非你的配置文件在即时付款通知首选项下设置了相同的通知URL。然后这将生效,但你在这里传递的内容将被忽略。
在按钮管理器中,第3步 - 自定义高级功能,有一个选项“当客户完成结帐后将其带到此URL”,您需要启用并填写返回URL。您还会在“高级变量”下看到可以在那里添加notify_url。
不幸的是,您无法使用动态值,就像您尝试使用返回URL的PHP变量一样。如果返回URL是可以根据您需要使用非托管按钮的顺序而更改的内容。
为此,在第2步 - 跟踪库存,利润和丢失,您需要取消选中PayPal框中的保存按钮。这将为您提供不同的HTML代码,其中包含更多字段,然后您可以为return,notify_url等添加自己的值。
答案 2 :(得分:0)