2

任何人都可以帮助我了解 IPN 侦听器脚本。我尝试使用 IPN 的沙盒测试工具对其进行测试,但我总是得到一个无效的结果,但 HTTP 状态为 200。我还尝试回显 $_POST 数组,但它是空的..

这是我的代码

<?php


echo "<pre>".print_r($_POST,true)."</pre>\n";

$ipn_data=$_POST;

if((array_key_exists('test_ipn',$ipn_data)) && ($ipn_data['test_ipn']==1)){

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

}
else{

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

    $request=curl_init();
    curl_setopt_array($request,array
    (
        CURLOPT_URL=>$url,
        CURLOPT_POST=>true,
        CURLOPT_POSTFIELDS=>http_build_query(array('cmd'=>'_notify-validate')+ $ipn_data),
        CURLOPT_RETURNTRANSFER=>TRUE,
        CURLOPT_HEADER=>FALSE,
        CURLOPT_SSL_VERIFYPEER => false

    ));

    $result=curl_exec($request);
    $stat=curl_getinfo($request,CURLINFO_HTTP_CODE);
    curl_close($request);

    echo $result;
    echo $stat;
    if($stat==200 && $result=='VERIFIED'){


        echo "VERIFIED";



    }




?>
4

1 回答 1

0

也许您的问题是您没有在您的商家帐户中启用 IPN?“我的帐户”/“个人资料”/“销售偏好”/“即时付款通知偏好”。输入您的通知网址并将消息传递设置为启用。

于 2013-01-14T19:45:37.710 回答