Histórico de mensagens sobre webhook

EXIBINDO CONVERSAS RECENTES:

Texto: webhook
# pix
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

# 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?

# pix
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?

# pix
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?

# pix
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?

# pix
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

# pix
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?

# pix
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?

# devs
Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

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:

js
{
"code": 200, // retorno HTTP "200" informando que o pedido foi bem sucedido
"data": {
"installments": 1, // número de parcelas em que o pagamento deve ser dividido
"installment_value": 5990, // valor da parcela. Por exemplo: 8900 (equivale a R$ 89,00)
"charge_id": numero_charge_id, // número da ID referente à transação gerada
"status": "unpaid", // Indica que o pagamento foi reprovado.
"refusal": {
"reason": "Sistema de segurança: Os dados e comportamentos de utilização do cartão se assemelham a práticas e cenários de alto risco para pagamentos online. Utilize outro cartão ou outro meio de pagamento.", // Mensagem que contém o motivo da recusa da transação.
"retry": true // Indica se é possível tentar novamente a transação.
},
"total": 5990, // valor, em centavos. Por exemplo: 8900 (equivale a R$ 89,00)
"payment": "credit_card" // forma de pagamento associada à esta transação ("credit_card" equivale a "cartão de crédito")
}
}
Em relação ao Pix:
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.

Entretanto, ao https://dev.efipay.com.br/docs/api-pix/cobrancas-imediatas#consultar-cobrança">consultar uma cobrança Pix, você consegue visualizar o status atual dessa cobrança.

Os status possíveis para uma cobrança Pix são:

- ATIVA: A cobrança foi gerada com sucesso e está apta para pagamento.
- CONCLUÍDA: A cobrança foi gerada com sucesso e já está paga.
- REMOVIDA_PELO_USUARIO_RECEBEDOR: A cobrança foi gerada com sucesso, mas foi removida pelo usuário recebedor.
- REMOVIDA_PELO_PSP: A cobrança foi gerada com sucesso, mas foi removida pelo PSP.

A gestão de cobranças expiradas deve ser feita pelo próprio sistema do cliente, de acordo com o tempo de expiração que ele definiu para cada cobrança.

# pix
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.

# pix
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

# pix
Avatar discord do usuario lucianoolegario_57079

lucianoolegario_57079

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

# pix
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.

# dúvidas
Avatar discord do usuario jaderwpdias

jaderwpdias

na criação dos webhooks?

# pix
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

# 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?

# pix
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?

# pix
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

# devs
Avatar discord do usuario lucyannlenon

lucyannlenon

Ver Respostas

pessoal, meu webhook não esta recebendo notificação de pagamento, tem algum logar onde eu consiga ver os logs de error ?