bacen / pix-api

API Pix: a API do Arranjo de Pagamentos Instantâneos Brasileiro, Pix, criado pelo Banco Central do Brasil.
https://bacen.github.io/pix-api
2.32k stars 262 forks source link

Implementação Webhook vs API - #532

Open rafaeltozato opened 1 year ago

rafaeltozato commented 1 year ago

Estou implementando PIX usando o Bradesco e na documentação disponibilizada pelo banco consta configuração do webhook. O ideal seria configurar webhook ou eu poderia criar uma rota/endpoint em minha API para receber payload de confirmação de pagamentos?

rubenskuhl commented 1 year ago

Estou implementando PIX usando o Bradesco e na documentação disponibilizada pelo banco consta configuração do webhook. O ideal seria configurar webhook ou eu poderia criar uma rota/endpoint em minha API para receber payload de confirmação de pagamentos?

Mas as duas opções que você descreveu são a mesma... webhook é isso. A alternativa a webhook é fazer polling.

PortoJuliano commented 1 year ago

Estou lutando para conseguir usar o webhook (uso o sicoob), porém, não estou entendendo o funcionamento. Não sei se tem que configurar alguma coisa no apache, pq de toda forma q tentei, não consegui receber esse retorno. Se alguem puder auxiliar, agradeço.

amarborto commented 1 year ago

Estou lutando para conseguir usar o webhook (uso o sicoob), porém, não estou entendendo o funcionamento. Não sei se tem que configurar alguma coisa no apache, pq de toda forma q tentei, não consegui receber esse retorno. Se alguem puder auxiliar, agradeço.

Primeiro você deve registrar o seu endpoint (url | webhook) para que o banco possa emitir a notificação de pagamento nele

PortoJuliano commented 1 year ago

Estou lutando para conseguir usar o webhook (uso o sicoob), porém, não estou entendendo o funcionamento. Não sei se tem que configurar alguma coisa no apache, pq de toda forma q tentei, não consegui receber esse retorno. Se alguem puder auxiliar, agradeço.

Primeiro você deve registrar o seu endpoint (url | webhook) para que o banco possa emitir a notificação de pagamento nele

Já está devidamente registrado, porém de toda forma que tentei ler o retorno, não consegui... já tive auxilio de várias pessoas, não sei o que estou fazendo errado. Os webhooks q usei, era direcionando já para um arquivo especifico. nao apenas o caminho.

Fiz assim... a url registrada termina em ...webhook/

então criei um index.php dentro de webhook/api , o index é acionado, porém não consegue caputar nada.

esse é o procedimento correto?

rubenskuhl commented 1 year ago

Se vc cadastra exemplo.com.br/webhook a API chama exemplo.com.br/webhook/pix .

Rubens

Em seg., 6 de mar. de 2023 20:05, Juliano Porto Alvarenga < @.***> escreveu:

Estou lutando para conseguir usar o webhook (uso o sicoob), porém, não estou entendendo o funcionamento. Não sei se tem que configurar alguma coisa no apache, pq de toda forma q tentei, não consegui receber esse retorno. Se alguem puder auxiliar, agradeço.

Primeiro você deve registrar o seu endpoint (url | webhook) para que o banco possa emitir a notificação de pagamento nele

Já está devidamente registrado, porém de toda forma que tentei ler o retorno, não consegui... já tive auxilio de várias pessoas, não sei o que estou fazendo errado. Os webhooks q usei, era direcionando já para um arquivo especifico. nao apenas o caminho.

Fiz assim... a url registrada termina em ...webhook/

então criei um index.php dentro de webhook/api , o index é acionado, porém não consegue caputar nada.

esse é o procedimento correto?

— Reply to this email directly, view it on GitHub https://github.com/bacen/pix-api/issues/532#issuecomment-1457183974, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA53LCIDSEUA2ZH2VR5D77DW2ZUVFANCNFSM6AAAAAARPRRTRQ . You are receiving this because you commented.Message ID: @.***>

amarborto commented 1 year ago

webhook

Como o @rubenskuhl explicou acima e callback ocorre em https://exemplo.com.br/webhook/pix

no seu caso que é php coloque o index.php dentro do diretório /pix

Outro detalhe sobre o sicoob é que eles não usam mtls no webhook então se voce estiver configurado o apache/nginx com o cert na rota do webhook pode ser que esta dando erro, veja nos logs qual status a requisição retorna quando um pagamento é informado e caso seja 401 remova a obrigatoriedade da rota /webhook que possivelmente voce pode ter colocado, se estiver retornando o status 200 então esta tudo certo e o problema é outro.

johngalt85 commented 1 year ago

@thiagolvlsantos @ninrod Boa tarde,

Quanto ao requisito de segurança mTLS, em leitura ao Manual de Padrões para Iniciação do Pix v2.6.3, página 46 item 2 c:

"O Authorization Server do PSP deve implementar a técnica de vinculação do certificado do cliente aos access tokens emitidos (“Client Certificate-Bound Access Tokens”), conforme seção 3 da RFC 8705."

Isso signiifca que o PSP deve obrigatoriamente validar se o acess token gerado é de titularidade do certificado apresentado no momento das chamadas da API? Pois quando se trata de webhook, a documentação é literal em enfatizar ser recomendável, porém esclarece que - "não há objeção quanto à utilização de outros certificados, mediante acordo entre o PSP e o usuário recebedor."

Já nas chamdas da API, essa flexibilidade não está explícita, porém fiquei em dúvidas se o trecho transcrito acima da página 46 item 2 c, está vedando essa flexibilidade.

A dúvida é, posso fechar o mTLS com qualquer certificado confiável para o PSP recebedor apresentado na chamada, independente das credenciais OAuth serem de outro cliente?