nao to conseguindo buscar a location
Não é o location, é o id, que é 7716. Com ele você faz GET em /loc.
eu tenho a Payload Locations
Opção 1: pega o pixCopiaeCola que já vem no retorno do /cob e usa um biblioteca para gerar o QR-Code (muitas linguagens tem). Esta opção é portável entre PSPs.
Opção 2: pega o loc.id que vem no retorno do /cob e faz em GET em /location aonde vem já a imagem do QR-Code. Esta opção não é portável.
cob.write, cob.read, location.write, location.read
quando botei o location /webhook deu erro no nginx
Onde você tratou o location?
location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
proxy_pass /webhook;
}
dados de entrada
{
"calendario": {
"expiracao": 3600
},
"devedor": {
"cpf": "31435600886",
"nome": "Doss App Official"
},
"valor": {
"original": "0.01"
},
"chave": "0aee45d3-0c50-4104-90f7-af6142f01b84",
"solicitacaoPagador": "Residencia"
}
dados de saida
{
"calendario": {
"criacao": "2024-04-24T21:30:02.789Z",
"expiracao": 3600
},
"txid": "5dbb6b24b81443e595b7aba488a0bd6e",
"revisao": 0,
"status": "ATIVA",
"valor": {
"original": "0.01"
},
"chave": "0aee45d3-0c50-4104-90f7-af6142f01b84",
"devedor": {
"cpf": "31435600886",
"nome": "Doss App Official"
},
"solicitacaoPagador": "Residencia",
"loc": {
"id": 20,
"location": "qrcodespix-h.sejaefi.com.br/v2/618748afff0d431381b862f438baf58d",
"tipoCob": "cob",
"criacao": "2024-04-24T21:30:02.814Z"
},
"location": "qrcodespix-h.sejaefi.com.br/v2/618748afff0d431381b862f438baf58d",
"pixCopiaECola": "00020101021226850014BR.GOV.BCB.PIX2563qrcodespix-h.sejaefi.com.br/v2/618748afff0d431381b862f438baf58d5204000053039865802BR5905EFISA6008SAOPAULO6207050363041473"
}
nao recebi nenhuma chamada no meu webhook
dados de saida
{
"calendario": {
"criacao": "2024-04-24T21:30:02.789Z",
"expiracao": 3600
},
"txid": "5dbb6b24b81443e595b7aba488a0bd6e",
"revisao": 0,
"status": "ATIVA",
"valor": {
"original": "0.01"
},
"chave": "0aee45d3-0c50-4104-90f7-af6142f01b84",
"devedor": {
"cpf": "31435600886",
"nome": "Doss App Official"
},
"solicitacaoPagador": "Residencia",
"loc": {
"id": 20,
"location": "qrcodespix-h.sejaefi.com.br/v2/618748afff0d431381b862f438baf58d",
"tipoCob": "cob",
"criacao": "2024-04-24T21:30:02.814Z"
},
"location": "qrcodespix-h.sejaefi.com.br/v2/618748afff0d431381b862f438baf58d",
"pixCopiaECola": "00020101021226850014BR.GOV.BCB.PIX2563qrcodespix-h.sejaefi.com.br/v2/618748afff0d431381b862f438baf58d5204000053039865802BR5905EFISA6008SAOPAULO6207050363041473"
}
Bom dia, estou fazendo testes com a api pix de vocês, mas como para ela funcionar, com as principais funcionalidas é necessário usa-la em produção, estou gerando transações reais.
Fiz uma consulta a situação do pix usando a chamada pixDetailCharge passando como parâmetro txid, observe que ao chamar esta função os dados são retornados e o pix esta com a situação ATIVA:
Coloquei alguns XXXXX no meio para mascarar os dados, apesar de ser fornecido o TXID
TXID - 66afcfc1dafe41bdb6a59dd565a09479
Response = {"devedor":{"cpf":"XXXXXXXXX","nome":"XXXXXXXXXXXX"},"loc":{"location":"qrcodespix.sejaefi.com.br/v2/c90653b52bb34c8dbd5584313a499103","id":31,"criacao":"2024-03-20T04:42:09.000Z","tipoCob":"cob"},"pixCopiaECola":"00020101021226830014BR.GOV.BCB.PIX2561qrcodespix.sejaefi.com.br/v2/c90653b52bb34c8dbdXXXXXXXXXXXXXXX65802BR5905EFISA6008SAOPAULO6207050363042BC5","valor":{"original":"96.90"},"chave":"1cbXXXXXXX-810f-4967-b302-7d94425c49f5","calendario":{"expiracao":7776000,"criacao":"2024-03-20T04:42:09.000Z"},"txid":"66afcfc1dafe41bdb6a59dd565a09479","location":"qrcodespix.sejaefi.com.br/v2/c90653b5XXXXXXXXXX313a499103","revisao":0,"solicitacaoPagador":"Pagamento Adesão\n2 ou mais filhos","status":"ATIVA"}
Veja que com o mesmo TXID fiz a chamada a pixUpdadeDueCharge e esta retorna que o pix não existe:
TXID - 66afcfc1dafe41bdb6a59dd565a09479
{"detail":"Cobrança com vencimento não encontrada para o txid informado","type":"https://pix.bcb.gov.br/api/v2/error/CobvNaoEncontrado","title":"Não Encontrado","status":404}
Alguém do suporte da EFI pode dizer o que esta sendo feito de errado para tal pix ser consultado pelo txid ser encontrado e ao tentar cancela-lo não se encontra?
Desde já agradeço.
{
"calendario": {
"criacao": "2024-04-15T14:12:09.667Z",
"expiracao": 3600
},
"txid": "3759d538329141a38d325a2c42886279",
"revisao": 0,
"status": "ATIVA",
"valor": {
"original": "0.01"
},
"chave": "0aee45d3-0c50-4104-90f7-af6142f01b84",
"devedor": {
"cpf": "12345678909",
"nome": "Francisco da Silva"
},
"solicitacaoPagador": "Informe o número ou identificador do pedido.",
"loc": {
"id": 2,
"location": "qrcodespix-h.sejaefi.com.br/v2/e227bec994f64e398b897131ff2fd640",
"tipoCob": "cob",
"criacao": "2024-04-15T14:12:09.731Z"
},
"location": "qrcodespix-h.sejaefi.com.br/v2/e227bec994f64e398b897131ff2fd640",
"pixCopiaECola": "00020101021226850014BR.GOV.BCB.PIX2563qrcodespix-h.sejaefi.com.br/v2/e227bec994f64e398b897131ff2fd6405204000053039865802BR5905EFISA6008SAOPAULO620705036304AEBF"
}
Segue um exemplo mais detalhado, onde é feito a autenticação e consumo do endpoint para criar um boleto.
";";
var_dump($returnAuth);
echo "
";";
var_dump($responseBillet);
echo "
sim estou usando cURL.
//Desenvolvido pela Consultoria Técnica da Efí
$config = [
"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://cobrancas-h.api.efipay.com.br/v1/authorize',
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_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo "";
";
echo $response;
echo "
?>
com as devidas alterações no client_id e client_secret.
Bom dia, @.andregomes!
Neste caso, você pode consumir diretamente os endpoints.
1- Faz a autenticação na API: https://dev.efipay.com.br/docs/api-pix/credenciais/#obter-autorização
2-Cria a cobrança Pix imediada: https://dev.efipay.com.br/docs/api-pix/cobrancas-imediatas#criar-cobrança-imediata-com-txid
3-Obtêm o QR Code da cobrança gerada: https://dev.efipay.com.br/docs/api-pix/payload-locations#gerar-qrcode-de-um-location
location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
linha 61: proxy_pass /webhook;
}
Bom dia a todos!
Criei um fork da biblioteca da Efí Pay (efipay/sdk-node-apis-efi) sdk em nodejs da api, que é na verdade um exemplo completo de como fazer a chamada da API de Pix da Efí em nodeJS, usando js puro e axios (inspirado pelo próprio sdk) e mais importante, rodando em um AWS Lambda recuperando o certficidado .p12 diretamente de um AWS S3 Bucket.
Logo irei publicar um incremento para que o exemplo também recupere o QRCode (location api da Efí) e grave a imagem do QRCode também em um S3 Bucket.
Como eu apenas uso AWS Lambda, tecnologias serverless e mais recentemente Cloudflare workers, senti falta de uma versão para estes ambientes.
Segue link do repo no git:
https://github.com/pipeu/sdk-node-apis-efi-lambda
Qualquer dúvida, sugestão ou crítica (será muito bem recebida), estou à disposição!
Luiz Couto