Php Curl中的数组到字符串转换错误异常

Php Curl中的数组到字符串转换错误异常,php,Php,您好,我正在尝试集成Hubtel支付网关,但出现数组到字符串转换错误异常 如果我使用CURLOPT\u POSTFIELDS=>http\u build\u query($invoice),我会得到空白响应 请帮忙 $items = ["name" => "Harry Potter", "quantity" => 1, "unitPrice" => 50]; $invoice = array("items" => $items, "totalAmount"

您好,我正在尝试集成Hubtel支付网关,但出现数组到字符串转换错误异常

如果我使用CURLOPT\u POSTFIELDS=>http\u build\u query($invoice),我会得到空白响应

请帮忙

  $items = ["name" => "Harry Potter", "quantity" => 1, "unitPrice" => 50];
      $invoice = array("items" => $items, "totalAmount" => 1, "description" => "test", "callbackUrl" => "https://localhost:8000/status","returnUrl"=>"https://localhost:8000/return","cancellationUrl"=>"https://localhost:8000/cancel",
        "merchantBusinessLogoUrl"=>"https://localhost:8000/wallet","merchantAccountNumber"=>"HM0409180006","clientReference"=> '1');
      $curl = curl_init();

      curl_setopt_array($curl, array(
        CURLOPT_URL => "https://api.hubtel.com/v2/pos/onlinecheckout/items/initiate",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_POSTFIELDS => $invoice,
        CURLOPT_HTTPHEADER => array(
          "Authorization: Basic bjJXS0o1Qjo0saMWU4NzA4ZS0wODVkLTQ0NDwUtOTQ3ZS1hZjBiODlkNzI1OWY=",
          "Content-Type: application/json",
          "Postman-Token: 2bd373c8-3669-4f5f-93e9-d3001af0a9cff",
          "cache-control: no-cache"
        ),
      ));


如果您使用
POST
方法-添加
CURLOPT\u POST
选项。我删除了Laravel标签(在同行评审中),这与Laravel无关。它只是简单的PHP。如果要使用Laravels函数,请使用Guzzle类。使用http\Client;尝试{$this->response=$this->client->request($method,'uri',['headers'=>['Authorization'=>'Bearer'.$this->token,],'form_params'=>$body,];}catch(ClientException$exception){return$exception;}“如果我做了CURLOPT_POSTFIELDS=>http_build_query($invoice),我会得到一个空白的响应”-如果你对服务器撒谎,假装http_build_query返回的是JSON,你可能不应该对此感到太奇怪…如果你使用
POST
方法-添加
CURLOPT_POST
选项。我删除了Laravel标记(在同行评审中),这与Laravel无关。它只是普通的PHP。如果要使用Laravels函数,请使用Guzzle类。使用Guzzle HTTP\Client;尝试{$this->response=$this->Client->request($method,'uri',['headers'=>['Authorization'=>'Bearer'。$this->token,'form_params'=>body,];}catch(ClientException$exception){return$exception;}“如果我做了CURLOPT_POSTFIELDS=>http_build_query($invoice),我会得到空白响应”-如果你对服务器撒谎,假装http\u build\u查询返回的是JSON,你可能不应该对此感到太奇怪…