我正在尝试使用laravel从MPESA支付API获得响应,但我得到了一个错误。我的代码如下
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class MPESA_AUTH extends Controller
{
public function Authorize(){
$url = 'https://sandbox.safaricom.co.ke/oauth/v1/generate?grant_type=client_credentials';
$CONSUMER_KEY= 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$CONSUMER_SECRET= 'xxxxxxxxxxxx';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
$credentials = base64_encode($CONSUMER_KEY,$CONSUMER_SECRET);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: Basic '.$credentials)); //setting a custom header
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$curl_response = curl_exec($curl);
$curl_json=json_decode($curl_response);
return $curl_json;
}
}我得到的错误如下

发布于 2018-01-31 03:42:01
基本控制器使用Illuminate\Routing\Controller特征,它有一个'authorize()‘函数。您的函数声明与它冲突。将您的控制器方法名称更改为任何其他名称(而不是'authorize'),您就可以开始使用了
发布于 2019-06-21 08:00:04
你应该使用一个不同的函数名来代替"Authorize“。这是因为控制器中的"authorize“是在父类Controller中使用的保留名称。
https://stackoverflow.com/questions/48529095
复制相似问题