【问题标题】:PayPal ignoring return url if it includes parameters如果包含参数,PayPal 会忽略返回 url
【发布时间】:2016-06-15 05:41:33
【问题描述】:

我正在创建一个贝宝捐赠交易。其他一切都很好,除了我无法让返回 url 有参数:

return=http://example.com

工作正常,但是:

return=http://example.com?action_upon_return=complete

只是简单地忽略,而是默认为 PayPal 页面。

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

如果您想使用查询字符串传递您自己的自定义参数,例如 return=http://yoursite.com/somescript.php?name=value,请注意 PayPal 将生成 HTML 表单,提示买家单击“提交”按钮以转到您的成功页面。

还有here

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

但是我无法让它工作。

我已经尝试了所有三个rm 设置,它并没有改变任何事情。

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

这个功能现在是坏了还是我遗漏了什么?

【问题讨论】:

  • 这又如何:return=http://example.com/?action_upon_return=complete。我的意思是,尝试在您的域名后添加/
  • 你试过return=http://example.com/index.html?action_upon_return=complete 即包含文件吗?
  • 刚刚尝试了那些@devsie 并没有运气,对不起

标签: php paypal


【解决方案1】:

我从未真正尝试使用返回 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。如果已设置,则显示页面。如果没有,他们还没有完成任何交易,我们可以重定向他们或显示一些特定的东西。

【讨论】:

    猜你喜欢
    • 2015-09-18
    • 2019-08-02
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多