
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
Termos mais procurados:
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
@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?
@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?
@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?
Não é em C#, é no ambiente do servidor web que configura isso.
Tem exemplos para diversos servidores web como Nginx, Apache e outros aqui:
https://dev.efipay.com.br/docs/api-pix/webhooks#exemplos-de-configura%C3%A7%C3%B5es-de-servidor
@rubenskuhl mas você tem um exemplo em c# de como deve ser feita a api de webhook?
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
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?
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?
Boa tarde @jp3dr tudo certo?
Em relação ao cartão essas informações são informadas no momento da criação da cobrança. Nesse momento ocorre a análise imediata e o retorno da API já inclui um campo com motivo de recusa se for o caso
Exemplo:
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.
Seguindo a ideia de que o webhook é a maneira de saber se cobrança foi efetuada com sucesso
reparei aqui que o retorno do webhook não retorna o status da transação
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.
na criação dos webhooks?
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
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?
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?
Alguém poderia me auxiliar no cadastro do webhook?
Qualquer parametro que eu passe só recebo essa mensagem:
pessoal, meu webhook não esta recebendo notificação de pagamento, tem algum logar onde eu consiga ver os logs de error ?