【发布时间】:2018-01-29 10:16:42
【问题描述】:
我已经创建了一个 paypal 的 ipn 响应 & 现在我想知道如何使用 GET 或 POST 在 php 中获取响应。我是第一次这样做。所以,当我收到 ipn 响应时,我不知道下一步该做什么。 建议一些方法来正确捕获贝宝 IPN 数据。 提前致谢。
<?php
class Paypal_IPN
{
public function __construct($mode= 'live')
{
//https://www.paypal.com/cgi-bin/webscr
if($mode == 'live'){
$this->_url = 'https://www.paypal.com/cgi-bin/webscr';}
else{
$this->_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr'; }
}
public function run()
{
$postFields = 'cmd=_notify-validate';
foreach($_POST as $key => $value)
{
$postFields .= "&$key=".urlencode($value);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
$fh = fopen('result.txt','w');
fwrite($fh, $result . '--' . $postFields);
fclose($fh);
echo "abc";
echo $result;
}
}
?>
【问题讨论】:
-
您的问题不清楚,标题表明您没有来自 IPN 的回复,但描述表明您不知道如何处理回复
-
您得到的响应是 JSON 格式。这里没有人可以告诉您如何处理它,因为这取决于您发送 api 的
POST;回报变化很大...developer.paypal.com/docs/classic/ipn/integration-guide/…
标签: php paypal-sandbox paypal-ipn