Comunidade

Ask a Question
Back to All

Notificação após cobrança PIX

Olá, boa noite. Estou fazendo a integração do Pagseguro PIX com meu sistema em PHP/Codeigniter 4 e estou com uma dúvida. O sistema está quase todo pronto, já fazendo cobranças e tudo, inclusive nos testes de pagamento recebo o notificationCode na url que destinei para receber as notificações. O problema é depois que recebo o notificationCode, já que não consigo de forma alguma pegar as informações da cobrança, pois já tentei de tudo mas só recebo 401 (Unauthorized). Estou a utilizar o email e o token de minha conta no sandbox, mas nada funciona. Já tentei modificar os headers, tentei via curl no terminal, mas nada dá certo. Estou inclusive a utilizar a collection do postman que baixei de vocês, só troquei os dados e nada!

Obrigado

Olá, Paulo!

Você está fazendo o teste de pagamento em qual ambiente?
Pode compartilhar o notificationCode que está recebendo?

Att

Eu estou fazendo em sandbox. Estou seguindo a documentação. Já ouvi falar que o que vai pro webhook do pix é o TxId e não o notificationCode, mas não encontrei nada falando na documentação sobre isso. Se eu tivesse visto o TxId já teria implementado, mas tá bem complicado pq a documentação não é nada clara a respeito disso.

Segue o notificationCode: 1CE096-9A631B631BC2-AAA4104F849A-62009F

Com os melhores cumprimentos

Aproveitando o espaço, tenho outra dúvida: faço várias cobranças em sandbox no pix e todas retornam sucesso, mas somente as que eu faço o post com a simulação de pagamento elas aparecem nas transações. É isso mesmo? Obrigado

Pelo que percebi você está se integrando na API de order, correto?

Você pode ignorar o notificatoinCode, você deve utilizar a outra requisição que possui todas as informações do order/charge.

Você deve receber uma requisição neste modelo:
{
"id":"ORDE_..."
"reference_id":"cod_referencia",
"created_at":"",
"customer":{
},
"items":[
{
"name":"Produto ",
"quantity":1,
"unit_amount":120
}
],
"shipping":{
}
},
"qr_codes":[
{

  }

],
"notification_urls":[

],
"charges":[
{
"id":"CHAR_...",
"reference_id":"cod_referencia",
"status":"PAID"
}
]
}

Obrigado pela resposta.

Não, estou implementando pix. Estou utilizando o simulador de pagamentos que está na documentação e no postman do pagseguro. O que chega pra mim através desse simulador é o notificationCode

Olá, Paulo!

"Aproveitando o espaço, tenho outra dúvida: faço várias cobranças em sandbox no pix e todas retornam sucesso, mas somente as que eu faço o post com a simulação de pagamento elas aparecem nas transações. É isso mesmo? Obrigado"
R: Sim, somente as cobranças pagas irão aparecer nas transações.

Te ajudo em mais alguma dúvida?

Weser, muito obrigado pela resposta. Sim, só essa questão do webhooks do pix que está ainda bem nebuloso. Fiz toda a rotina pra receber o txId, mas não tenho certeza de que é isso que realmente vem

É isso mesmo, se você estiver se integrando na API Pix.

Pode compartilhar o curl da criação da cobrança?

Estou a enviar um put pra essa url: https://secure.sandbox.api.pagseguro.com/instant-payments/cob/txId

No webhooks eu estou fazendo um get pra https://secure.sandbox.api.pagseguro.com/instant-payments/cob/txId. Isso considerando que vem um post com o TxId e o status, coisa que não consigo testar ou simular. Obrigado pelo retorno

É isso mesmo, você não precisa fazer um get para consultar a cobrança, no próprio webhook, já é possível realizar a conciliação.

Em relação a receber o webhook, veja se a chave Pix que está utilizando para criar a cobrança é a mesma utilizada para cadastrar o webhook.

Segue o paylod que irá receber assim que a cobrança for paga.
[
{
"endToEndId": "e17dd160cbe449058617d155bc8ed64d",
"txId": "165451991416545199141654519914",
"valor": "1.10",
"horario": "2022-06-06T12:52:38Z",
"devolucoes": []
}
]

Att

Muito obrigado pela resposta. Teoricamente está correto, mas testar isso somente em produção é uma situação bem tensa, surreal. Vamos ver como vai ficar

Nao consigo testar o webhook em localhost?

Você precisa ter uma URL que permita acesso externo.



© 1996-2025 Todos os direitos reservados.

PAGSEGURO INTERNET INSTITUIÇÃO DE PAGAMENTO S/A - CNPJ/MF 08.561.701/0001-01

Av. Brigadeiro Faria Lima, 1.384, São Paulo - SP - CEP 01451-001

English
Powered by Localize
Português (Brasil)