PHP中的PayPal IPN无法向IPNPB发送请求
我这里有一个PayPal IPN脚本,但问题是,它正确地接收了POST请求,但当它试图向PayPal发出CURL请求时,PayPal似乎没有给出响应(甚至不是PHP中的PayPal IPN无法向IPNPB发送请求,php,paypal,paypal-sandbox,paypal-ipn,Php,Paypal,Paypal Sandbox,Paypal Ipn,我这里有一个PayPal IPN脚本,但问题是,它正确地接收了POST请求,但当它试图向PayPal发出CURL请求时,PayPal似乎没有给出响应(甚至不是无效的或任何东西!) 这是我的密码: <?php // Format POST values foreach($_POST as $name => $value) { $data .= $name.'='.$value.'&'; } $data = substr_repla
无效的或任何东西!)
这是我的密码:
<?php
// Format POST values
foreach($_POST as $name => $value) {
$data .= $name.'='.$value.'&';
}
$data = substr_replace($data, NULL, -1);
$data = urlencode($data);
// THE PROBLEM COMES HERE, I TRY TO MAKE A CURL REQUEST TO PAYPAL BUT NO RESPONSE RETURNED
$ch = curl_init('https://sandbox.ipnpb.paypal.com/cgi-bin/webscr');
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));
$res = curl_exec($ch);
$res = curl_close($ch);
file_put_contents('result.txt',$res);
// There is nothing in my result.txt file for $res , but $data returns the POST data PayPal gave me
?>
可能的解决方案是将修改后的信息登录到收件人Paypal帐户并设置IPN
为此,请执行以下步骤:
步骤配置文件->配置文件和设置->我的销售工具->即时付款通知->更新
单击“选择IPN设置”
将“通知URL”字段设置为HTML表单中“通知URL”上的内容
选择“接收IPN消息”
拯救
注意:如果您检查IPN历史记录,它可能会显示为队列。这似乎是一个沙箱故障,或者可能是它处理了很多请求,并且队列很长。您可以尝试使用小值(例如$1)的实时支付。请参见此处:Paypal IPN状态-排队恐怕不行,来自Paypal的POST请求很好,但当我尝试将值返回到IPNPB时,它根本不起作用。其他人可以帮助我吗?