Histórico de mensagens sobre webhook em pix

EXIBINDO CONVERSAS RECENTES:

Texto: webhook
Data: 15/04/2024
Canal: pix
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

mas e a questão do certificado? no video foi utlizado somente 1? eu não teria que adicionar no meu webhook o certificado de cada cliente que eu tenho?

Avatar discord do usuario .ilselangnar

.ilselangnar

Você utiliza somente 1 webhook e filtra la por cliente.

Avatar discord do usuario .ilselangnar

.ilselangnar

Ver Respostas

Acredito andré, que quando você recebe o webhook, ele carrega informações sobre o pagamento, na qual você consegue diferenciar os clientes.

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 diogo.f.m.7

diogo.f.m.7

Ver Respostas

Isso pra mim não faz sentido...

São requests diferentes... Com respostas diferentes....

Uma request é do usuário, e outra request é do webhook... E as requests não se misturam...

Avatar discord do usuario .thallestks

.thallestks

E quando eu recebo do webhook a confirmação de pagamento eu retorno um status 200 para api de vocês

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 .thomasjackson

.thomasjackson

ah entendi, eu preciso criar o webhook

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Caso queira testar o seu webhook pode seguir a seguinte regra
imagem enviada na mensagem pelo usuario joaolucas_efi

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Assim você pode adicionar o atributo recebimento->webhook->notificacao->tarifa como true às configurações que você obter no GET

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 adsonsouza

adsonsouza

Ver Respostas

Bom dia. Referente as taxas do PIX na API ela não é retornada no Webhook. tem algum endpoint que eu consulte a taxa cobrada por aquela transação?