最后的帖子中没有发送任何数据


No data is being sent in the final post

我收到了SagePay的成功响应,其中包含一笔注册交易。

我已经填写了所有卡的详细信息,我知道数据正在到达我的通知URL。

但随后它停止了。零响应,并且不发送任何内容。

为了简化事情,我去掉了代码,并使用硬编码的vars来查看是否有人可以提供帮助。

ob_clean();
if(isset($_POST) && isset($_POST['Status'])){
    if(isset($_POST['Status']) && $_POST['Status'] == 'OK'){
        $data['Status'] = 'OK';
        $data['RedirectURL'] = 'https://www.metano.com/payments/success';
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,'https://test.sagepay.com/gateway/service/vspserver-register.vsp');
        curl_setopt($ch,CURLOPT_POSTFIELDS,"Status=OK'nRedirectURL=https://www.metano/payments/success");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        $output = curl_exec($ch);
    }
}

作为字符串传递给cURL的数据应该是URLencoded。请参阅curl_setopt()页面,并搜索CURLOPT_POSTFIELDS。

从php5开始,建议使用http_build_query: