0

我创建了一个沙盒 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);
      }
4

3 回答 3

1

听起来您混淆了 IPN 和 PDT。

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

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

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

于 2012-11-20T00:14:02.917 回答
0

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

于 2012-11-20T00:10:37.563 回答
0

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

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

于 2012-11-19T23:55:39.413 回答