我试图点击某个本地MPESA支付API,但收到错误

时间:2018-01-30 19:27:26

标签: php laravel curl laravel-5

我正在尝试使用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;
    }
}

我得到的错误如下 enter image description here

2 个答案:

答案 0 :(得分:2)

Base控制器使用具有'authorize()'功能的Illuminate \ Routing \ Controller特性。你的函数声明与它发生了冲突。 将您的控制器方法名称更改为其他任何名称(“授权”除外),您应该好好去

答案 1 :(得分:-1)

您应使用其他函数名称代替“授权”。这是因为控制器中的“授权”是父类Controller中使用的保留名称。