答案 0 :(得分:0)
由于代码示例,我必须将此作为答案。
您是否查看了NabTransact集成指南,或者在您开始此问题之前发送给您的任何内容?错误515表示“由于未知原因致命错误”。一旦我遇到类似的错误,我的标题就不对了。
您可以尝试使用use CURLOPT_HTTPHEADER
,因为它未定义:
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-type: application/xml',
'Content-length: ' . strlen($xml)
));
确保$xml
全部在一行中。
集成指南说了什么?
集成指南说明如下:
第8章基于HTTP的XML
HTTP请求和响应消息的结构需要符合HTTP 1.1网络协议。 (...)重要:HTTP 客户als NAB Transact支付网关之间的通信必须 通过SSL套接字完成,以便包含在内的敏感信息 请求和响应消息已加密。
8.1请求
POST /test/payment HTTP/1.1 host: www.NABTransact.com.au content-type: text/xml content-length: 677 <?xml-rubbish here, all in one-line>
8.2回复
初始HTTP服务器响应(100 continue)表示已收到请求,应忽略该请求。 200响应应该跟随XML响应消息。如果内容长度为0且未包含XML响应,则无法理解请求并且未生成响应。
随后是数据的XML响应。
因此,请确保使用SSL在cURL 和中使用正确的标头。如果您因为正在使用localhost而无法使用官方SSL证书,那么cURL中有一些技巧可以使用您自己的证书或绕过SSL检查。