Histórico de mensagens sobre webhook pix em pix

EXIBINDO CONVERSAS RECENTES:

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

joaolucas_efi

Ver Respostas

Bom dia, @viniciusfebasse_37973, tudo bem?

Como o, @diogo.f.m.7 mencionou, é preciso que sua aplicação faça a tratativa para a adição do /pix ao fim da sua URL. Essa tratativa pode ser feita criando mais uma rota ou adicionando ?ignorar= ao fim da sua URL no momento de cadastrar o webhook, dessa forma quando adicionarmos o /pix ele irá ser um query param ao invés de um componente do caminho da URL.

Avatar discord do usuario diogo.f.m.7

diogo.f.m.7

Ver Respostas

O webhook é adicionado um /pix ao final da URL informada, vc tem esse endpoint na sua aplicação?

Avatar discord do usuario diogo.f.m.7

diogo.f.m.7

Ver Respostas

No webhook do Pix q seria mais complicado por conta do mtls... Mas vc pode usar o skip-mtls....

Avatar discord do usuario calebportodev

calebportodev

Ver Respostas

Olá. Quando um cliente paga uma cobrança PIX, recebo o seguinte objeto no webhook:

{
pix: [
{
endToEndId: 'xxxxxxx',
txid: 'xxxxxxx',
chave: 'xxxxxxxxxxxxx',
valor: '1.99',
horario: '2024-04-10T15:23:03.000Z'
}
]
}

Vejo que o atributo pix é um array de objetos detalhando o pagamento. A dúvida é, sempre virá somente um objeto dentro do array quando o cliente pagar? Existe algum case que venha mais de um objeto dentro do array para eu tratar?

Avatar discord do usuario calebportodev

calebportodev

Boa tarde.
Estou acostumado com o Mercado Pago, lá ao gerar uma cobrança PIX tem um atributo no objeto chamado 'notification_url' em que você define a rota para receber os webhooks, sem ser necessário configurar os webhooks de outra forma. Assim:

"""
const body = {
date_of_expiration: new Date(new Date().getTime() + (10 60 1000)).toISOString(),
transaction_amount: Math.round(data.valorTotal 100) / 100,
description: description,
payment_method_id: 'pix',
issuer_id: 0,
payer: {
email: data.email || '[email protected]',
first_name: data.firstName,
last_name: data.lastName
},
notification_url: notification_url
}
"""

O Efi tem também esse recurso, ou só configurando os webhooks da forma tradicional mesmo?

Avatar discord do usuario geovannisc

geovannisc

nenhuma na /webhook/pix

Avatar discord do usuario geovannisc

geovannisc

Ver Respostas

Alguem poderia me ajuda com o webhook, estou recebendo o webhook de criação da chave normalmente, mas quando crio um pix do valor abaixo de 10,00, o webhook não esta vindo, nenhuma solicitação de POST esta tentando se feita para o meu servidor
imagem enviada na mensagem pelo usuario geovannisc

Avatar discord do usuario jhon0029

jhon0029

Ver Respostas

from efipay import EfiPay
from credenciais import CREDENTIALS

gn = EfiPay(CREDENTIALS)
headers = {'x-skip-mtls-checking': 'false'}
params = {'chave': ''}
body = {'webhookUrl': 'http://xxx.xxx.xxx.xxx:5000/webhook/pix'}
response = gn.pix_config_webhook(params=params, body=body, headers=headers)
print(response)

alguem pode me dizer se com este exemplo consigo verificar se meu server webhook está funcionando?

Avatar discord do usuario .thallestks

.thallestks

Ver Respostas

e uma ultima duvida, eu devo retornar algum status para o EFI quando recebo um /webhook/pix?

Avatar discord do usuario .thallestks

.thallestks

após o /webhook é adicionado um /pix

Avatar discord do usuario yasmin_efi

yasmin_efi

Ver Respostas

@trtavares é importante salientar de que quando enviamos o webhook, acrescentamos um "/pix" ao final da URL cadastrada. Você está mapeando esse /pix no seu servidor?

Avatar discord do usuario micaelmths

micaelmths

Ver Respostas

Olá pessoal, bom dia!

Eu já sou cliente de vocês e utilizo a API PIX para realizar a cobrança de um assinatura de um aplicativo que eu possuo. Estou pretendendo criar um novo app capaz de guardar as informações da chave PIX dos meus clientes e eu observar se esse PIX já recebeu o pagamento esperado ou não, ou seja, a funcionalidade de webhook que eu já tenho no meu primeiro app, só que agora observando o PIX dos meus clientes.

Além do mais, sou iniciante nesse processo de pagamento, talvez a lógica disso possa ser manipulando pelo meu próprio PIX e transferindo o valor depois pro meu cliente, ou seja, eu faço o meio de campo entre o meu cliente e o cliente dele.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Pix não tem notification_url por transação. Tem que configurar webhook para a chave Pix, aí toda cobrança daquela chave é notificada nesse webhook.

Avatar discord do usuario hlyras

hlyras

Ver Respostas

Eu li isso mas não consegui entender exatamente o que fazer, esse é o corpo que devo enviar nesse PUT, certo?

{
"webhookUrl": "https://exemplo-pix/webhook"
}

Mas em qual momento eu devo fazer isso?

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @hlyras!
O cadastro do webhook é realizado através do endpoint PUT /v2/webhook/:chave
Onde :chave é a chave Pix que você deseja cadastrar o webhook.
Você pode consultar mais informações sobre este procedimento em nossa documentação técnica: https://dev.efipay.com.br/docs/api-pix/webhooks

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @hlyras!

Sugerimos as duas formas de validação a seguir, mas recomendamos fortemente que as utilize em conjunto:

Verifique o IP de comunicação: Você pode restringir a comunicação ao domínio do webhhook cadastrado para aceitar apenas mensagens do IP utilizado pela Efí.
IP utilizado atualmente em nossas comunicações: '34.193.116.226'.

Adicione uma hash à URL cadastrada no webhook: Crie um hmac (uma identificação própria) que será acrescentado ao final da URL no momento do cadastro do webhook. Essa hash será utilizada para validar a origem da notificação. Assim, todos os webhooks enviados ao seu servidor terão essa identificação final e sua aplicação deve validar a presença da mesma.

Exemplo:
URL de notificação original: https://seu_dominio.com.br/webhook
Como deverá ser cadastrada com a hash: https://seu_dominio.com.br/webhook?hmac=xyz&ignorar=. O termo ignorar= servirá para tratar a adição do /pix no final da URL.

Avatar discord do usuario hlyras

hlyras

Ver Respostas

Boa tarde, tenho um SaaS hospedado na Digital Ocean através de um servidor compartilhado, eu vi que na documentação existe uma forma de receber o webhook da API PIX sem precisar do servidor dedicado:
"Por isso, disponibilizamos a opção skip mTLS, que permite o cadastro do webhook sem a necessidade de validação mTLS."
Seria muito mais prático para eu implementar dessa forma, tem algum código ou vídeo onde explica como fazer as verificações de segurança?

Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

Olá, @pianaro! A confirmação de pagamento se dá por meio de webhooks, você pode verificar mais detalhes na nossa documentação: https://dev.efipay.com.br/docs/api-pix/webhooks/

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se o atendedor é /webhook/pix, vc deve passar /webhook na URL