Php PayPal忽略包含参数的返回url

Php PayPal忽略包含参数的返回url,php,paypal,Php,Paypal,我正在创建贝宝捐赠交易。其他一切正常,但我无法使返回url包含参数: return=http://example.com 工作正常,但是: return=http://example.com?action_upon_return=complete 只是被忽略,而默认为PayPal页面 PayPal文档清楚地表明,您可以: 如果您想通过querystring传递您自己的自定义参数,例如return=,请注意,PayPal将生成HTML表单,提示买家单击提交按钮以转到您的成功页面 以及: 例如,

我正在创建贝宝捐赠交易。其他一切正常,但我无法使返回url包含参数:

return=http://example.com
工作正常,但是:

return=http://example.com?action_upon_return=complete
只是被忽略,而默认为PayPal页面

PayPal文档清楚地表明,您可以:

如果您想通过querystring传递您自己的自定义参数,例如return=,请注意,PayPal将生成HTML表单,提示买家单击提交按钮以转到您的成功页面

以及:

例如,您可能希望将付款人重定向到网站上特定于此人的URL,URL中可能包含会话id或其他与交易相关的数据

但是我就是不能让它工作

我已经尝试了所有三种
rm
设置,它没有改变任何东西

我已经尝试过自动返回和关闭


此功能现在是否已损坏,或者我缺少了什么?

我从未真正尝试过使用返回URL传递参数

有一种方法可以做到:

  • 按照“完成”行创建会话变量
  • 检查会话变量是否存在/它包含什么,然后执行某些操作
不过,你可以用它做一些不同的事情。如果您只是检查他们是否已完成捐赠,以便显示已完成/感谢页面,那么您只需检查会话变量是否存在

因此,在返回页面上,检查会话变量是否已设置。如果设置好了,做点什么。如果用户导航回返回页面,它仍然会显示感谢信息(假设会话变量仍然设置)。请记住在捐赠过程开始时取消设置此会话变量,以便在他们再次尝试捐赠时不会出现问题

<?php

session_start();

//Set this once the transaction/donation is completed.
$_SESSION['complete'] = "something"; //Transaction ID/True/Some other data.

//This would be on the return page.
//Check if it is set, or the value of the variable depending on your needs.

if (isset($_SESSION['complete'])){
    echo "Thank you";

    //If you still have the transaction variables set, 
    //this is where you could use it to display something.

} 



?>


我个人有一个关于付款的简单确认页面,只显示交易ID。因为我在完成会话交易变量(将它们放入数据库)后就取消设置它们,所以我的完整变量可以保存交易ID。如果设置了,则显示页面。如果没有,他们还没有完成任何事务,我们可以重定向他们或显示特定的内容

那么这个呢:
return=http://example.com/?action_upon_return=complete
。我的意思是,尝试在域名后添加
/
,您是否尝试过
返回=http://example.com/index.html?action_upon_return=complete
也就是说,包括该文件?只是尝试了那些@devsie,没有运气,抱歉