Histórico de mensagens sobre php em dúvidas

EXIBINDO CONVERSAS RECENTES:

Texto: php
Canal: dúvidas
Avatar discord do usuario he128

he128

Ver Respostas

Olá, eu criei o servidor webhook com certificado configurado no virtual host do apache e o arquivo php no diretório e subdomínio apontado, quando gerar um pix aonde coloco a url de retorno dentro do json ou como cadastro a url do webhook, no mercadopago cada transação que faço informo a url de retorno em cada transação pix, só funciona via SDK ou posso fazer tudo com CURL ?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia! Tudo bem?

A partir da versão 1.9.0, incluímos uma nova feature que permite capturar o header da resposta da requisição. Agora, você pode acessar tanto o $response->body quanto o $response->headers.

Se preferir, você pode desativar essa função nas opções junto com as credenciais. Basta passar o parâmetro "responseHeaders" => false. Veja como fazer. Então você consegue acessar o body apena no $response

Avatar discord do usuario litho_on

litho_on

Ver Respostas

Uma pergunta, foi atualizado algo no SDK do PHP certo ? Antes não precisava no body para acessar o valor
imagem enviada na mensagem pelo usuario litho_on

Avatar discord do usuario joao_efi

joao_efi

@souzinhadoemekate nesse caso você pode utilizar nossa SDK de PHP para realizar a criação das cobranças no seu projeto.
https://github.com/efipay/sdk-php-apis-efi

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @esdrasfyy! Tudo bem?
Você está implementando a SDK de PHP com Laravel, certo?
Verifique se no arquivo de credenciais está debub => true e troque para debug => false ou para debug => fopen('php://stderr', 'w').

Avatar discord do usuario esdrasfyy

esdrasfyy

Ver Respostas

'pix_cert' => public_path('certs/certificate-chain-prod.crt'),

alguem que manja de php e efipay ai me da uma ajuda aqui, estou cadastrando o webhook e passando o pix_cet porem ta dando esse erro

"curl_setopt_array(): Cannot represent a stream of type Output as a STDIO FILE"

Avatar discord do usuario luizfeleal

luizfeleal

Ver Respostas

Eu tenho um código em php que faz isso, e também já testei utilizando o conversor de vocês, mas o mesmo erro é retornado

Avatar discord do usuario luizfeleal

luizfeleal

Ver Respostas

recebi esse erro com o arquivo .p12:
Exception: could not load PEM client certificate from /projeto_maquina_api/storage/app/Certificados/certificate12.p12, OpenSSL error error:0480006C:PEM routines::no start line, (no key found, wrong pass phrase, in file /projeto_maquina_api/app/Services/Efi/AuthService.php on line 62

Avatar discord do usuario luizfeleal

luizfeleal

Ver Respostas

Agora o erro retornado é esse:
Exception: unable to set private key file: '/projeto_maquina_api/storage/app/Certificados/certificate12.pem' type PEM in file /projeto_maquina_api/app/Services/Efi/AuthService.php on line 59

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

@luizfeleal existem algumas falha em como você montou a requisição, segue um exemplo de como fazer a autenticação:

php
//Desenvolvido pela Consultoria Técnica da Efí
$config = [
"certificado" => "./certificado.pem",
"client_id" => "YOUR-CLIENT-ID",
"client_secret" => "YOUR-CLIENT-SECRET"
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://pix-h.api.efipay.com.br/oauth/token", // Rota base, homologação ou produção
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{"grant_type": "client_credentials"}',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);

echo "
";
echo $response;
echo "
";
?>

Avatar discord do usuario cwichoski

cwichoski

Ver Respostas

um erro do 7 da biblioteca cURL do PHP, CURLE_COULDNT_CONNECT. que não conseguiu conectar ao servidor, estranho que nosso servidor recebeu o request da notificação e essa autenticação é a que pega o request e entra pra baixar dados da notificação.