Histórico de mensagens sobre webhook pix em pix

EXIBINDO CONVERSAS RECENTES:

Texto: webhook pix
Canal: pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Por default o webhook vai notificar todo Pix que vier com txid, seja ele de uma cobrança criada via /cob ou um QR-Code estático com txid. Mas a Efí tem uma opção que faz com que o webhook aconteça a qualquer Pix recebido.

Avatar discord do usuario ksevendev

ksevendev

Ver Respostas

Pelo que entendi desse webhook config é a forma que você faz a "interligação" da chave pix para o retorno...
E todas transação pix enviada pela api, a mesma faz envio de um retorno pelo link indicado quando houver alteração na transação, tais como alteração de status... Para trazer uma confirmação de pagamento e fazer alteração na fatura, pedido ou algo do tipo no sistema integrado.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Para https://exemplo.com/webhook.php você precisa passar https://exemplo.com/webhook.php?ignorar= , pq ele sempre adiciona /pix na URL que você passar.

Avatar discord do usuario alex_684067_87631

alex_684067_87631

Ver Respostas

Hola, como les va?
estoy necesitando saber en qué pagina de EFI debo incluir el link hacia el webhook de mi server por favor. En otras palabras cuando alguien genere un PIX, que pueda recibir el mensaje de EFI de "pending" y cuando se pagó el Pix que pueda recibir el mensaje de "approved". Ya lo tengo implementado con mercadopago esto, y creí que era similar, pero no encuentro el lugar donde debo declarar la url de mi webhook

Avatar discord do usuario .ilselangnar

.ilselangnar

Ver Respostas

Oi Guilherme:

Estou com um problema com o webhook

Consigo listar os webhooks configurados sem problema.

O problema vem quando quero configurar um novo webhook para receber notificações de pagamento

Aqui esta meu codigo:


const efipay = new EfiPay(options)

async function api_configure_webhook_efipay( req, res, next ) {

let body = {
webhookUrl: 'https://origami.ink/webhook_paymentefipay',
}

let params = {
chave: '8712f01e-e8e6-4eab-a636-ddc8e13fe8b7',
}

try {
let object_result = await efipay.pixConfigWebhook(params, body)
printf( "[configure_webhook] -> object_result -> ", object_result )
res.json( object_result )
} catch( e ) {
// throw e
res.json( e )
}

}

module.exports = api_configure_webhook_efipay


Aqui esta o erro:

{
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: ECONNRESET"
}

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Além disso, quando você estiver registrando a webhook URL no endpoint PUT /v2/webhook/:chave, na sua URL você pode acrescentar algum parâmetro para diferenciar a URL de cada cliente, e assim fazer alguma tratativa na sua aplicação. Exemplo:

Obs: Se for aplicar esta regra com um parâmetro na URL, aconselho deixar sempre o final um parâmetro sem valor, como no exemplo acima &tipo=. Que assim, o /pix cairá como parâmetro no final da URL, e você irá tratar a notificação em /webhook.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

@.andregomes, quando você registra o webhook no endpoint PUT /v2/webhook/:chave, você está basicamente associando uma chave Pix a uma URL específica. No seu caso, a URL permanecerá a mesma, mas a chave será única para cada conta de cliente.

Assim que nossa API enviar a notificação, o JSON incluirá essa chave. Isso permitirá que você identifique de qual conta é aquele recebimento. Além disso, através do txid, você poderá saber a qual cobrança se refere.

Avatar discord do usuario .ilselangnar

.ilselangnar

Estou com um problema com o webhook

Consigo listar os webhooks configurados sem problema.

O problema vem quando quero configurar um novo webhook para receber notificações de pagamento

Aqui esta meu codigo:


const efipay = new EfiPay(options)

async function api_configure_webhook_efipay( req, res, next ) {

let body = {
webhookUrl: 'https://origami.ink/webhook_paymentefipay',
}

let params = {
chave: '8712f01e-e8e6-4eab-a636-ddc8e13fe8b7',
}

try {
let object_result = await efipay.pixConfigWebhook(params, body)
printf( "[configure_webhook] -> object_result -> ", object_result )
res.json( object_result )
} catch( e ) {
// throw e
res.json( e )
}

}

module.exports = api_configure_webhook_efipay


Aqui esta o erro:

{
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: ECONNRESET"
}

Avatar discord do usuario .andregomes

.andregomes

Ver Respostas

pessoal, eu vi aqui o video sobre webhook, foi criado um servidor linux em uma vps na DigitalOcean, e lá foi configurado um servidor apache, com ssl, e tambem foi adicionado o certificado da Efi, configuração de dominio etc...

na criação do qr code, apontando para o webhook configurado, quando o cliente paga o qrcode, o servidor da Efi envia uma notificação para o webook, maravilha!

mas como que ficaria, um cenario onde eu tenho varios clientes diferentes? como eu posso aproveitar se é possivel, um só webhook e verificar qual pix foi pago, e de qual cliente?

Avatar discord do usuario .thallestks

.thallestks

Quando eu recebo uma confirmação de pagamento via webhook/pix e eu retorno status 200

Avatar discord do usuario joao_efi

joao_efi

Bom dia @.ilselangnar tudo certo?
O atributo deve ser uma string mesmo, porém é preciso que tenha as casas decimais da cobrança, exemplo: 10.00

Sobre a notificação de pagamento, você precisa registrar o endpoint vinculando ele a chave Pix que será utilizada na emissão.
Assim, todos os recebimentos que tiverem TXID irão gerar a notificão no endpoint informado.
Na nossa documentação você encontra mais detalhes sobre a configuração do webhook: https://dev.efipay.com.br/docs/api-pix/webhooks

Avatar discord do usuario .ilselangnar

.ilselangnar

Boa Tarde

Estou tendo dificuldades para gerar um link de pagamento pix

Eu somente preciso gerar um pix de um certo valor e depois ourvir o webhook e fazer uma ação

Aqui esta meu codigo:


let body = {
calendario: {
expiracao: 3600,
},
devedor: {
cpf: '94271564656',
nome: 'Gorbadock Oldbuck',
},
valor: {
original: float_amount.toString(),
},
chave: '14.359.846/0001-27', // Informe sua chave Pix cadastrada na efipay. //o campo abaixo é opcional
infoAdicionais: [
{
nome: 'Pagamento em',
valor: 'StartPro Treinamentos',
},
{
nome: string_name,
valor: float_amount,
},
],
}

let params = {
txid: 'dt9BHlyzrb5jrFNAdfEDVpHgiOmDbVq111',
}

const efipay = new EfiPay(options)

try {
let object_result = efipay.pixCreateCharge(params, body)
return object_result
} catch( e ) {
throw e
}



Aqui esta o error que ele me da

"erros": [
{
"chave": "pattern",
"caminho": ".body.valor.original",
"mensagem": "deve corresponder ao padrão \"^[0-9]{1,10}\\.[0-9]{2}$\""
}
]

o "body.valor.original" é "10"

se eu colocar um 10 como number ele me informa que ele precisa ser um texto, por isso deixei ".toString()"

Eu basicamente estou tentanto fazer uma API na qual a pessoa escolhe o valor que quer gerar um pix e o nome do produto, a API deve retornar o codigo pix copia e cola para a pessoa pagar.

No mercado livre você so coloca o endpoint do seu servidor para onde a notificação POST dever ser enviada, como faço isso no efipay?

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia, @adsonsouza, você pode configurar seu webhook para que seja enviado o valor da tarifa junto ao webhook consumindo o endpoint PUT /v2/gn/config, um exemplo de configuração seria:

{
"pix": {
"receberSemChave": true,
"chaves": {
"sua-chave": {
"recebimento": {
"webhook": {
"notificacao": {
"tarifa": true,
"pagador": true
}
}
},
"envio": {
"webhook": {
"notificacao": {
"tarifa": true,
"favorecido": true
}
}
}
}
}
}
}

Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Bom dia @cfuent.es tudo bem?
Esses retornos significam que sua URL foi registrada com sucesso, não sendo necessário repetir o registro.

Agora sempre que um QrCode gerado por essa conta for pago, nossa API já enviará a confirmação de pagamento para a URL cadastrada.

É importante lembrar que por determinação do Banco Central, nossa API adiciona o /pix ao final da URL cadastrada, sendo assim
- Se você cadastra o webhook com a URL:

exemplo.com.br/webhook
- A confirmação de pagamento será enviada para:
exemplo.com.br/webhook/pix

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Tem 3 jeitos de checar se o Pix foi pago:
1) Webhook (e é o recomendado)
2) GET de /cob/:txid, ver se há objeto pix (não é recomendado)
3) GET de /pix?inicio=fim=txid= (não é recomendado, mas é uma boa contingência para perda de webhook)

Avatar discord do usuario walysonpatric

walysonpatric

Ver Respostas

Oi, pra confirmar se o pix foi pago seria algo assim? (não sei muito sobre isso, to aprendendo e usei o GPT pra criar o código.)

app.post('/webhook(/pix)?', async (req, res) => {

try {
// Consultar a cobrança usando o txid
const response = await axios.get(/v2/cob/:txid, {
headers: {
Authorization: 'Bearer' + process.env.GN_CLIENT_ID // Substitua pelo token de autorização correto
}
});

// Verificar o status da cobrança na resposta
if (response.status === 200 && response.data.status === 'CONCLUIDA') {

// Enviar o código de ativação para o Supabase
const { data: insertedData, error } = await supabaseClient
.from('dominios_permitidos')
.insert([{ code: generatedCode }]); // Acesse o código gerado na rota '/api/key'

// Enviar o código de ativação junto com a resposta
return res.status(200).json({ message: 'Webhook recebido com sucesso.', code: generatedCode });
} else {
// Se a cobrança não estiver concluída, retorne uma mensagem de erro
return res.status(400).json({ error: 'Cobrança não concluída.' });
}
} catch (error) {
console.error('Erro ao consultar a cobrança:', error.message);
return res.status(500).json({ error: 'Erro ao consultar a cobrança.' });
}

});

Avatar discord do usuario adriano7682

adriano7682

Ver Respostas

Bom dia...

estou usando "gerencianet/gerencianet-sdk-php": "^5.1"
como faço pra configurar um webhook no pix?

Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

Olá, @viniciusfebasse_37973! Pela configuração que você mencionou você está recebendo as notificações via webhook, é importante lembrar que as notificações são enviadas para a URL cadastrada + /pix

Avatar discord do usuario viniciusfebasse_37973

viniciusfebasse_37973

Ver Respostas

Entendi @joaolucas_efi e @diogo.f.m.7
Só cadastrei a URL como webhook_efipay_pix
Não tinha me atentado que precisava deste parâmetro pix

Vou ajustar aqui
Grato!