任何人都可以帮我解决IPN监听器脚本问题。我已经尝试使用沙盒测试工具测试IPN,但我总是得到一个INVALID结果,但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";
}
?>
答案 0 :(得分:0)
也许您的问题是您的商家帐户中未启用IPN? “我的帐户”/“个人资料”/“销售偏好设置”/“即时付款通知偏好设置”。输入您的通知网址并将消息发送设置为已启用。