繁体   English   中英

Payfast付款网关ITN请求在Laravel 5.1中不起作用

[英]Payfast payment gateway ITN request not working in Laravel 5.1

我已经在我们的Laravel 5.1网站中集成了payfast支付网关,它在我们的开发服务器上运行正常,但是当我们在活动服务器上移动站点时,它在ITN请求步骤中给出了错误,这是我得到的错误:

HTTP/1.1 500 Internal Server Error
Date: Wed, 09 Nov 2016 14:10:09 GMT
Server: Apache
Cache-Control: no-cache, private
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

当我寻找解决方案时,我得到以下选项来启用没有CSRF令牌的ITN请求

protected $except = [
//
'/itn'
];

但这也行不通,我将示例代码文件夹放在网站的根文件夹中,然后尝试进行付款,这样就可以了。

另外,当我尝试在文本文件中写入通知响应时,它会响应该文件成功打印。

调试我的代码后,我发现CURL帖子有问题。

// Base settings
            $curlOpts = array(
            // Base options
            CURLOPT_USERAGENT => USER_AGENT, // Set user agent
            CURLOPT_RETURNTRANSFER => true, // Return output as string rather than outputting it
            CURLOPT_HEADER => false, // Don't include header in output
            CURLOPT_SSL_VERIFYHOST => true,
            CURLOPT_SSL_VERIFYPEER => false,
            // Standard settings
            CURLOPT_URL => 'https://' . $pfHost . '/eng/query/validate',
            CURLOPT_POST => true,
            CURLOPT_POSTFIELDS => $pfParamString,
            );
            curl_setopt_array($ch, $curlOpts);
            // Execute CURL
            $res = curl_exec($ch);
            curl_close($ch);

发生主要问题是因为这两行代码

            CURLOPT_SSL_VERIFYHOST => true,
            CURLOPT_SSL_VERIFYPEER => false,

我改变它的价值,它开始工作

            CURLOPT_SSL_VERIFYHOST => 2,
            CURLOPT_SSL_VERIFYPEER => true,

完成这些更改后,这将解决我的问题并快速实现完美的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM