【问题标题】:paypal - on success - redirect is not working贝宝 - 成功 - 重定向不起作用
【发布时间】:2012-11-19 23:54:06
【问题描述】:

我创建了一个沙盒 paypal 帐户并使用教程 http://www.micahcarrick.com/paypal-ipn-with-php.html 中的 IPNListener。在我的代码中,在验证贝宝响应后,尝试重定向到动态 url。 paypal支付成功后,没有跳转到动态url

    include('ipnlistener.php');
    $listener = new IpnListener();
    $listener->use_sandbox = true;
    $listener->use_ssl = false;

    try {
        $listener->requirePostMethod();
        $verified = $listener->processIpn();
     } catch (Exception $e) {
     error_log($e->getMessage());
     exit(0);
     }
    $url1="http://www.google.com";
    $url2="http://www.ayond.se";
     if ($verified) {
      header('Location: '.$url1);
     }
     else
     {
           header('Location: '.$url2);
      }

【问题讨论】:

  • @Osa 添加了完整代码。谢谢。

标签: php paypal payment


【解决方案1】:

听起来您在混淆 IPN 和 PDT。

IPN 与您的结帐页面完全分开,它是服务器到服务器的通信。 PayPal 只是将数据发布到此 URL,您可以相应地处理该数据。这使您可以自动执行数据库更新、电子邮件通知等任务。

不过,这不是在浏览器会话中发生的事情,因此重定向在这里不起作用。

为了设置用户完成付款后的去向,您需要在 API 调用中设置 ReturnURL,或在标准按钮表单代码中设置返回字段。

【讨论】:

    【解决方案2】:

    正确检查您的代码,成功时您将重定向到 $url,您没有 $url 您有 $url1

    好的,你编辑了你的代码,它有效吗?

    【讨论】:

    • 您能否发布有关如何从贝宝获取 $verified 价值的代码
    • 您是否在已验证变量中获得任何内容或在错误日志中获得任何内容?
    【解决方案3】:

    确保您的标头之前没有任何内容('Location: '.$url2);称呼。 (在重定向之前应该只是 php 代码)

    【讨论】:

      猜你喜欢
      • 2015-02-28
      • 1970-01-01
      • 2012-11-08
      • 2012-11-27
      • 2013-04-29
      • 1970-01-01
      • 1970-01-01
      • 2020-06-26
      • 1970-01-01
      相关资源
      最近更新 更多