【发布时间】:2013-01-14 15:57:56
【问题描述】:
任何人都可以帮助我了解 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";
}
?>
【问题讨论】:
-
我们可以假设您的付款方式(按钮、购物车等)中有
rm = "2"以从$_GET(默认)更改为$_POST- -
如果您进入您的 paypal 帐户并查看 ipn 响应,您会得到什么?
-
我尝试使用 IPN 测试工具对其进行测试,但我仍然无法得到任何响应..这是我的 ipn 侦听器的网址occs.evsuit2013.com/ipn_listener.php,如果您愿意,可以尝试...谢谢
标签: php paypal paypal-ipn