Alguém pode me ajudar, tenho o seguinte caso...
Às vezes os clientes me enviam PIX fora do QrCODE gerado...
Preciso de uma forma de saber quando recebo um Pix que não seja QrCode através da chave pix....
Existe api de extrato?
Alguém pode me ajudar, tenho o seguinte caso...
Às vezes os clientes me enviam PIX fora do QrCODE gerado...
Preciso de uma forma de saber quando recebo um Pix que não seja QrCode através da chave pix....
Existe api de extrato?
Olá, estou utilizando o sdk da efipay e estou com uma duvida ao implementar no meu sistema. estou desenvolvendo um script que no cenario atual ele consegue gerar o pix qrcode somente com a client_id, secret_id, certificado e chave pix, a minha duvida é no ambiente de produção tem que fazer algum lógica de autenticação para gerar o qrcode de pix?
Por exemplo pay.freekassa.ru/pix
E customizar com os dados necessários como qrcode e as informações de cobrança para conferência.
Boa noite, acredito ser algum bug do sistema da Efi ou algo que ainda não foi visto.
Quando utilizo a API Pix
$qrcode = $api->pixGenerateQRCode($params);
Me retorna um link para visualização
"linkVisualizacao": "https://pix.sejaefi.com.br/cob/pagar/065xxxxxxxxxxxxx"
Apesar de estar configurado na conta para não exibir endereço comercial, na hora de visualizar o qrcode neste link esta exibindo meu endereço.
Já procurei em todos os lugares algo pra configurar isso, mas não consigo remover isso de la!
As chaves PIX usadas na API de gerar qrcode, só podem ser do EFI?
Alguém sabe me dizer qual permissão preciso na aplicação para gerar um qrcode?
Estou recebendo esse erro na função efi.pix_generate_qrcode()
{'error': 'insufficient_scope', 'error_description': 'Access token has insufficient scope'}
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"
}
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
Para o acima seria:
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
Nem precisa ssid diferente... Depois de criar as listas de permissão certinho, quando o usuário gerar o Pix, ele libera essa lista por 10min por exemplo, o msm tempo do qrcode dele .. após ser pago libera tudo, se não for pago, bloqueia novamente tudo...
Boa tarde, como consigo pegar uma flag que o pagamento do pix foi realizado, pois preciso disso para chamar uma função após o pagamento. Minha aplicação já está rodando em produção e o pix está tudo certo.
Aqui esta a rota de pagamento.
router.post("/payment", async (req: Request, res: Response) => {
const reqGN = await reqGNAlready;
const dataCob = {
calendario: {
expiracao: 3600,
},
valor: {
original: "0.10", //req.body.value,
},
chave: "b801ed6a-27ba-4927-a952-d44e2c8ab9cc",
solicitacaoPagador: "Informe o número ou identificador do pedido.",
};
const cobResponse = await reqGN.post("/v2/cob", dataCob);
const qrcodeResponse = await reqGN.get(
/v2/loc/${cobResponse.data.loc.id}/qrcode
);
res.send(qrcodeResponse.data);
});
Aqui está a do webhook:
router.post("/webhook(/pix)?", (req: Request, res: Response) => {
if (req.secure){
var body = req.body;
const filePath = __dirname + "/data.json";
fs.appendFile(filePath, JSON.stringify(body) + "\n", function (err) {
if (err) {
console.log(err);
} else {
res.status(200).end();
}
})
res.status(200).end();
}else{
res.status(401).end();
}
});
{
"pix": {
"receberSemChave": true,
"chaves": {
"222e85ae-e16a-4962-9e56-45a072df3339": {
"recebimento": {
"txidObrigatorio": false,
"qrCodeEstatico": {
"recusarTodos": false
},
"webhook": {
"notificacao": {
"tarifa": true,
"pagador": true
},
"notificar": {
"pixSemTxid": true
}
}
},
"envio": {
"webhook": {
"notificacao": {
"tarifa": true,
"favorecido": true
}
}
}
}
}
}
}
dessa forma era para receber as notificações no caso certo?
Boa noite galera referente ao PIX usando a sdk qual é a opcao nos exemplos que vc criar um qrcode porem não precisa passar informacao do devedor?