Histórico de mensagens sobre webhook em pix

EXIBINDO CONVERSAS RECENTES:

Texto: webhook
Canal: pix
Avatar discord do usuario londarks

londarks

Ver Respostas

Ola alguém poderia me ajudar, onde na doc esta a parte de criar webhook

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Olá, @curioso8310. Bom dia! Tudo bem?
Você emitindo uma cobrança Pix em ambiente de homologação com valor entre R$ 0.01 a R$ 10.00, é feita a confirmação automaticamente, e você receberá a notificação via Webhook.
imagem enviada na mensagem pelo usuario guilherme_efi

Avatar discord do usuario gabrielz_fr

gabrielz_fr

esse e o exemplo do payload enviado como webhook da efi

Avatar discord do usuario gabrielz_fr

gabrielz_fr

Ver Respostas

Boa noite! Tudo bem com vocês? Alguem sabe me dizer se tem alguma regex para esse endToEndId e a chave? E que estou validando os dados recebidos no /webhook/pix

Avatar discord do usuario andre_94652

andre_94652

@guilherme_efi @jessica_efi eu chamei a url da api https://pix.api.efipay.com.br/v2/webhook/c0515522-4756-463d-aa1d-523bd63498c6 com o json abaixo. {
"webhookUrl": "https://walrus-app-kcenm.ondigitalocean.app/api/v1"
} e estou recebendo a mensagem de erro abaixo. {
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 400"
} Eu criei uma api em c# com a definição de rota abaixo. [HttpPost()]
public async Task ReceiveWebhook([FromBody] PixRecebidoEfi response, CancellationToken cancellationToken = default) O que eu devo fazer para resolver esse problema?

Avatar discord do usuario andre_94652

andre_94652

Ver Respostas

@rubenskuhl eu ainda não fiz a configuração do certificado. A minha url funciona abertamente para ser chamada. Mas quando eu chamo para configurar através da sua api. Aparece a mensagem de erro abaixo: {
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 400"
} Isso ocorre porque?

Avatar discord do usuario andre_94652

andre_94652

Ver Respostas

@rubenskuhl na documentação que você me enviou está escrito o texto abaixo. Quando ocorre uma alteração no status de uma transação Pix associada à chave cadastrada, a Efí envia uma requisição POST para a URL de webhook que você definiu. Um objeto JSON (como os exemplos abaixo) será enviado ao seu servidor. Cada requisição de callback possui um timeout de 60 segundos, ou seja, é interrompida se não houver resposta em 60 segundos. Eu tenho que configurar a minha rota da api para receber esse json como [FromBody] ou [FromForm] ou e para configurar como a rota?

Avatar discord do usuario andre_94652

andre_94652

@rubenskuhl mas você tem um exemplo em c# de como deve ser feita a api de webhook?

Avatar discord do usuario gabriel_efi

gabriel_efi

Olá, @andre_94652!
A falha 404 indica que a URL que está sendo passada como webhook não está sendo encontrada ou não existe

Avatar discord do usuario andre_94652

andre_94652

Ver Respostas

Olá amigos,

Tudo bem?

Eu estou chamando a url https://pix.api.efipay.com.br/v2/webhook/c0515522-4756-463d-aa1d-523bd63498c6

com o body da requisição contendo o json abaixo

{
"webhookUrl": "https://walrus-app-kcenm.ondigitalocean.app/api/v1"
}

Eu estou recebendo a mensagem de erro abaixo

{
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 404"
}

A url do meu webhook é https://walrus-app-kcenm.ondigitalocean.app/api/v1/pix

A seguir segue a codificação da minha rota escrita em c#

[HttpPost("pix")]
public async Task ReceiveWebhook([FromBody] PixRecebidoEfi response, CancellationToken cancellationToken = default)
{
//Código a ser feito

return Ok();
}

Segue a classe da entrada que eu estou esperando

public class PixRecebidoEfi
{
public List Pix { get; set; }
}

public class PixRecebidoEfiResponse
{
public string endToEndId { get; set; }
public string txid { get; set; }
public string chave { get; set; }
public string valor { get; set; }
public string horario { get; set; }
public string infoPagador { get; set; }
}

Se você fizer uma requisição do tipo post a url https://walrus-app-kcenm.ondigitalocean.app/api/v1/pix

com o json abaixo você verá que a url retorna um "200"

{
"pix": [
{
"endToEndId": "1",
"txid": "1",
"chave": "1",
"valor": "1.00",
"horario": "1",
"infoPagador": "1"
}
]
}

O que eu estou fazendo de errado?
O que eu tenho que fazer para fazer funcionar?

Avatar discord do usuario andre_94652

andre_94652

Ver Respostas

Olá amigos,

Tudo bem?

Eu estou chamando a url https://pix.api.efipay.com.br/v2/webhook/c0515522-4756-463d-aa1d-523bd63498c6

com o body da requisição contendo o json abaixo

{
"webhookUrl": "https://walrus-app-kcenm.ondigitalocean.app/api/v1"
}

Eu estou recebendo a mensagem de erro abaixo

{
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 404"
}

A url do meu webhook é https://walrus-app-kcenm.ondigitalocean.app/api/v1/pix

A seguinte segue a codificação da minha rota escrita em c#

[HttpPost("pix")]
public async Task ReceiveWebhook([FromBody] PixRecebidoEfi response, CancellationToken cancellationToken = default)
{
//Código a ser feito

return Ok();
}

Segue a classe da entrada que eu estou esperando

public class PixRecebidoEfi
{
public List Pix { get; set; }
}

public class PixRecebidoEfiResponse
{
public string endToEndId { get; set; }
public string txid { get; set; }
public string chave { get; set; }
public string valor { get; set; }
public string horario { get; set; }
public string infoPagador { get; set; }
}

O que eu estou fazendo de errado?
O que eu tenho que fazer para fazer funcionar?

Avatar discord do usuario joao_efi

joao_efi

Boa tarde @lucianoolegario_57079 tudo certo?
Nossa API segue os padrões estabelecidos pelo BACEN para consumo e retorno das informações.
E atualmente esses padrões estabelecem que só é disparado webhook quando a cobrança é de fato paga. No caso de expiração não é disparado nenhuma informação.
Dessa forma, sempre que receber o acionamento do webhook é que de fato o pagamento ocorreu.

Avatar discord do usuario lucianoolegario_57079

lucianoolegario_57079

Seguindo a ideia de que o webhook é a maneira de saber se cobrança foi efetuada com sucesso

Avatar discord do usuario lucianoolegario_57079

lucianoolegario_57079

reparei aqui que o retorno do webhook não retorna o status da transação

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @guilherme.bvr.
Você pode receber 30 Pix GRÁTIS por mês por chave, QR Code estático e dados bancários. Mas essa gratuidade não vale para recebimentos por uma chave Pix cadastrada na API, maquininha Mini e Pro ou webhook.
Veja mais detalhes na nossa página de tarifas.

Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

Olá, @andre_94652! Isso mesmo!
Lembrando que as notificações seram enviadas para a sua URL + /pix, então se você cadastrar, por exemplo:

https://exemplo.de.url.com/webhook

Nós enviaremos as notificações para:

https://exemplo.de.url.com/webhook/pix

Avatar discord do usuario andre_94652

andre_94652

Ver Respostas

Se eu entendi bem. Então eu fiz certo. Na propriedade WebhookUrl eu coloco a minha url que irá tratar as requisições que vocês enviarem. E isso mesmo?

Avatar discord do usuario andre_94652

andre_94652

Ver Respostas

Olá amigos, tudo bem?

Eu criei uma api chamada webbookcobranca

Eu criei uma rota do tipo HttpPost para ser utilizada para fazer webhook dentro da plataforma.

Eu estou usando a rota do tipo put para configurar o webhook de resposta.

Segue a url que estou usando para chamar para fazer a configuração

https://pix.api.efipay.com.br/v2/webhook/Chave:1525

Segue o json que estou enviando

{
"webhookUrl": "https://walrus-app-kcenm.ondigitalocean.app/api/v1/webbookcobranca"
}

Essa url que eu informei no parâmetro webhookurl está correto. É isso mesmo?

Alguém aqui no grupo pode me responder?

Avatar discord do usuario alessandrodev

alessandrodev

Alguém poderia me auxiliar no cadastro do webhook?
Qualquer parametro que eu passe só recebo essa mensagem:


{
"nome": "webhook_invalido",
"mensagem": "A URL informada respondeu com o código HTTP 403"
}

Curl:


curl --location --request PUT 'https://pix-h.api.efipay.com.br/v2/webhook/:chave' \
--header 'x-skip-mtls-checking: false' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhb...' \
--data '{
"webhookUrl": "https://.com/webhook?hmac=TEST"
}
'

Obs: retorna esse mesmo erro até informando x-skip-mtls-checking: true

Meu serviço webhook tem observabilidade então qualquer chamada tenho logs e quando tento realizar o cadastro não tem nenhum registro de chamada ao meu webhook nem que seja de handshake, então aparentemente parece que nem está chamando o meu serviço