0

我正在开发简单的购物车,一个问题是让我疯狂的 IPN 侦听器无法正常工作

当我付款时,我会被重定向回感谢页面,并且这些值会被打印出来。

thankyou.php下面的那些帖子打印出来了,还有很多帖子变量。

[address_status] => confirmed

[payment_status] => Completed

[payer_status] => verified

问题在于我的 IPN 侦听器无法正常工作。

<input type="hidden" name="notify_url" value="http://mysqlphp.uphero.com/paypal_ipn.php">

这是下面我的 paypal_ipn.php 上的脚本:

// Check to see there are posted variables coming into the script

    if ($_SERVER['REQUEST_METHOD'] != "POST") 
    die ("No Post Variables"); ------> 

// Initialize the $req variable and add CMD key value pair

    $req = 'cmd=_notify-validate';
    // Read the post from PayPal
    foreach ($_POST as $key => $value) {
        $value = urlencode(stripslashes($value));
        $req .= "&$key=$value";
    }

    $url = "https://www.sandbox.paypal.com/cgi-bin/webscr";

    $curl_result=$curl_err='';

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded", "Content-Length: " . strlen($req)));
    curl_setopt($ch, CURLOPT_HEADER , 0);   
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    $curl_result = @curl_exec($ch);
    $curl_err = curl_error($ch);
    curl_close($ch);

    $req = str_replace("&", "\n", $req); 

// Check that the result verifies and sending email before doing anything i just wanted to make sure that this script is working but i don't receive an email

    if (strpos($curl_result, "VERIFIED") !== false) {
        $req .= "\n\nPaypal Verified OK";
        mail("eagleeyes26@hotmail.com", "IPN interaction verified", "$req", "eagleeyes26@hotmail.com" );


}
4

1 回答 1

0

我找到了这个解决方案

http://microlabs.altervista.org/paypal-ipn-listener/

并且工作正常,具有附带下载购买的自动电子邮件,意大利语网站,但您可以在页脚中翻译

于 2013-08-18T11:20:34.710 回答