você está passando os dados do Body ?
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "
https://api-pix-h.gerencianet.com.br/v2/cob/fc9a4366ff3d4964b5dbc6c91a8724d5",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS =>"{\r\n \"calendario\": {\r\n \"expiracao\": 3600\r\n },\r\n \"devedor\": {\r\n \"cpf\": \"12345678909\",\r\n \"nome\": \"Francisco da Silva\"\r\n },\r\n \"valor\": {\r\n \"original\": \"124.45\"\r\n },\r\n \"chave\": \"\",\r\n \"solicitacaoPagador\": \"Cobrança dos serviços prestados.\"\r\n}",
CURLOPT_HTTPHEADER => array(
"authorization: {{Authorization}}",
"x-client-cert-pem: {{X-Certificate-Pem}}"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;