Como ativar é fazendo um PUT para /webhook/:chave indicando o path base sem /pix, aí a Efí adiciona o /pix.
O body da requisição é:
E aí a Efí vai fazer o POST em https://exemplo.com.br/webhook/pix
Termos mais procurados:
Como ativar é fazendo um PUT para /webhook/:chave indicando o path base sem /pix, aí a Efí adiciona o /pix.
O body da requisição é:
Boa noite pessoal, estou tentando configurar o webhook no meu site, que está em hospedagem compartilhada, porem estou tendo algumas duvidas.
O trecho de código abaixo da SDK PHP
$body = [
"webhookUrl" => "https://seudominio.com/webhook/"
];
é responsável por identificar qual é a rota do site que vai receber a resposta do servidor da EFI?
e se for, o que essa rota deve esperar do servidor?
E com a pegadinha (que veio da especificação do BACEN) que você manda a URL https://exemplo.com.br/webhook , e o POST de pagamento vem em https://exemplo.com.br/webhook/pix
Vou mostrar como estou fazendo.
Parâmetros passados para criação do webhook:
Olá pessoal, tudo bem?
Estou com um problema para receber as notificações do Pix.
Eu cadastro a URL de notificação certinho porem não estou recendo a resposta da transação.
Estou usando com o "x-skip-mtls-checking" => "true" pois o sistema do cliente está um host compartilhado na Hostgator.
Já tentei vários testes porém não recebo resposta na url de notificação.
Certo. Você implementou o sistema de notificação? Nesse caso, no momento da emissão você deve informar uma url de notificação, para que a Efí dispare um POST para sua URL a cada mudança de status da cobrança. Essa notificação possui um token específico, que o seu sistema deverá consultar para obter as informações da cobrança.
Boa noite, estou tendo problemas para cadastrar minha url de webhook do pix, tem como cadastrar usando o sdk ? ou somente com postman
Boa noite, estou tendo problemas para cadastrar minha url de webhook do pix, tem como cadastrar usando o sdk ? ou somente com postman
No postman, gerei um token em homologação para deletar o webhookUrl de homologação.
Posteriormente efetuei uma nova solicitação de token produção, solicitei a criação da webhookUrl novamente, porém o token apresentou-se inválido.
Devo esperar expirar o token gerado em homologação?
No postman, gerei um token em homologação para deletar o webhookUrl de homologação.
Posteriormente efetuei uma nova solicitação de token produção, solicitei a criação da webhookUrl novamente, porém o token apresentou-se inválido.
Devo esperar expirar o token gerado em homologação?
Consegui aqui, Igor. Obrigado pela atenção. O problema é na hora de vincular o certificado a uma URL no postman. Eu configurei uma e estava usando outra.
//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 "
@dinhoafsn. a URL de retorno é a URL do seu site onde enviaremos as notificações de pagamento.
No plugin, elas são definidas de maneira automática, de acordo com a forma de pagamento.
Como:
Boa noite!!!
Estou com problemas no certificado.pem
"string(311) "cURL error 58: could not load PEM client certificate from ./certs/homologacao.pem, OpenSSL error error:80000003:system library::No such process, (no key found, wrong pass phrase, or wrong file format?) (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://api-pix-h.gerencianet.com.br/oauth/token"
Fatal error: Uncaught Error: Call to a member function getBody() on null in C:\xampp\htdocs\pix\vendor\gerencianet\gerencianet-sdk-php\src\Gerencianet\Request.php:64
Stack trace:
#0 C:\xampp\htdocs\pix\vendor\gerencianet\gerencianet-sdk-php\src\Gerencianet\Auth.php(44): Gerencianet\Request->send('post', '/oauth/token', Array)
#1 C:\xampp\htdocs\pix\vendor\gerencianet\gerencianet-sdk-php\src\Gerencianet\ApiRequest.php(23): Gerencianet\Auth->authorize()
#2 C:\xampp\htdocs\pix\vendor\gerencianet\gerencianet-sdk-php\src\Gerencianet\Endpoints.php(65): Gerencianet\ApiRequest->send('post', '/v2/cob', Array)
#3 C:\xampp\htdocs\pix\vendor\gerencianet\gerencianet-sdk-php\src\Gerencianet\Endpoints.php(42): Gerencianet\Endpoints->Gerencianet\{closure}(Array, Array)
#4 C:\xampp\htdocs\pix\pix\emitir_pix.php(36): Gerencianet\Endpoints->__call('pixCreateImmedi...', Array)
#5 {main}
thrown in C:\xampp\htdocs\pix\vendor\gerencianet\gerencianet-sdk-php\src\Gerencianet\Request.php on line 64
"
@espartano9720, bom dia!
Antes de você utilizar este endpoint, você precisa autenticar na API informando o client_id e client_secret do jeito que você esta fazendo.
Na autenticação, vai ser retornado para você o access token, que você deverá utilizar nos demais endpoints.
Segue o exemplo em Python de autenticação:
olá pessoal, bom dia
espero que alguém possa me ajudar, agradeço desde já!
estou tentando obter os dados dos pix's recebidos atraves de um código python:
É possível testar Webhook em homolog?
Estou desenvolvendo em Laravel, fiz a rota com o /webhook, no entanto ao executar:
https://pix-h.api.efipay.com.br/v2/webhook/:chave
É retornado:
{
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 419"
}
No WebhookController eu coloquei apenas isso para testar:
to mandando assim: curl_setopt_array($curl, array(
CURLOPT_URL => "https://pix-h.api.efipay.com.br/v2/cob", // 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 => $data,
CURLOPT_SSLCERT => $config["certificado"],
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $token",
"Content-Type: application/json"
),
));
Boa tarde! Os pagamentos de assinatura com cartão de crédito (usando POST p/ o endpoint "/plan/:id/subscription/one-step") só estão sendo confirmados/creditados 2 ou 3 dias depois. Até aí tudo bem, foi o acordado em nosso contrato.
Contudo tenho uma dúvida bem básica: as notificações começam a ser enviadas p/ nossa "notification_url" assim que o POST é realizado, com status "waiting" e tal... 3 dias depois, quando o status for "paid" ainda será enviada uma notificação? Não estou conseguindo confirmar a chegada dessa notificação dias depois. É pra chegar, certo?