我已经通过注册交易获得了SagePay的成功回复。
我已填写所有卡片详细信息,我知道数据已达到我的通知。
然后停止了。零响应,没有发送任何内容。
为了简化我已剥离代码并使用硬编码变量来查看是否有人可以提供帮助。
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);
}
}
答案 0 :(得分:0)
作为字符串传递给cURL的数据应该是URLencoded。请参阅curl_setopt()页面并搜索CURLOPT_POSTFIELDS。
从php5开始,建议使用http_build_query: