[RESOLVIDO] Transaction do PagSeguro?

Estou criando uma aplicação para realizar pagamento por boleto com PagSeguro e consigo gerar o boleto tranquilamente. Agora estou procurando uma maneira de consultar o status da transação e para isso eu preciso do código da transação, mas este código não retorna com JSON. Na documentação que estou usando de exemplo, esta aqui, não tem nenhum atributo do JSON para retorno deste código. Tentei usar “transaction_code” e o “transactionCode” no Json, mas não tive sucesso, não retorna o código da transação.

Como conseguir esse código quando gero um boleto novo ?

Quando eu fiz a integraçao, fiz em node. Tinha que converter o XML pra Json pra poder trabalhar com a response.

Mas o code vem sim, eu recuperei assim:

  respostaDaApi.transaction.code[0];
  //Resposta da API é a variável que vc tá armazenando os valores depois de fazer a chamada
   //Nesse caso de cima, eu já tinha feito a conversão pra json

Esta resposta vem no POST do JSON ? Qual atributo devo colocar no JSON para ter essa resposta ?

Pegando o XML eu faço, mas sabendo o código da transação. O que quero é pegar esse código de transação quando envio o POST JSON.

Mas vc tem que salvar esse código em algum lugar. Assim que a transação é finalizada ela tem um retorno.


Vc faz a requisição, vem os dados com o transaction. E dentro do transaction tem o code…

Mostra como está vindo o seu response se o seu não tiver aparecendo

Esse é o objeto JSON para o POST

{
"reference": "PEDIDO123321",
"firstDueDate": "2019-06-06",
"numberOfPayments": "4",
"periodicity": "monthly",
"amount": "19.87",
"instructions": "juros de 1% ao dia e mora de 5,00",
"description": "Assinatura de Sorvete",
"customer": {
    "document": {
        "type": "CPF",
        "value": "00000000000"
    },
    "name": "Alini QA",
    "email": "compradoralini@xpto.com.br",
    "phone": {
        "areaCode": "11",
        "number": "80804040"
    },
    "address": {
        "postalCode": "01046010",
        "street": "Av. Ipiranga",
        "number": "100",
        "district": "Republica",
        "city": "Sao Paulo",
        "state": "SP"
    }
}

}

Essa é a resposta do Servidor

{
"boletos": [
    {
        "code": "6A91AC74-D6BB-45CB-BC04-A6EB855A131B",
        "paymentLink": "https://pagseguro.uol.com.br/checkout/payment/booklet/print.jhtml?c=df0597592d53e1007805153628f83d667d52a67f15bed3e65f036d22602c3fe1f777c423b8409b2e",
        "barcode": "03399557345480000000998765401025954420000030050",
        "dueDate": "2017-09-14"
    },
    {
        "code": "21331CF4-7470-48F0-AFC3-95F10C2A48E7",
        "paymentLink": "https://pagseguro.uol.com.br/checkout/payment/booklet/print.jhtml?c=60ae9af4f314f9f4ddc5442cfd6b951bd1087ef363dc3aefbaa1f7e39dddb0f8696572d0f19ef49c",
        "barcode": "03399557345480000000998765401025954420000030050",
        "dueDate": "2017-10-14"
    },
    {
        "code": "94AE93E6-C91F-495D-9B54-6E1A8F8CC684",
        "paymentLink": "https://pagseguro.uol.com.br/checkout/payment/booklet/print.jhtml?c=273e997cf68be8a94fd332ba845321e6c8894b75eb930814494faf47e008e51f4b76c88f99dcd39e",
        "barcode": "03399557345480000000998765401025954420000030050",
        "dueDate": "2017-11-14"
    },
    {
        "code": "8FC514FD-36CC-4A3E-8913-F3AFA37E2391",
        "paymentLink": "https://pagseguro.uol.com.br/checkout/payment/booklet/print.jhtml?c=c1bf49771e9f017eede2158c819733f5606cd2cc2eb660d4d0bc70a2759da5f14b26d12a5db6cec1",
        "barcode": "03399557345480000000998765401025954420000030050",
        "dueDate": "2017-12-14"
    }
]

}

Ué, aqui o codigo da transação


Esse é o código do boleto não o da transação. Se vc tentar acessar a url de transaction usando esse codigo o servidor vai responder com “it is not a transaction code”

Não é o codigo do boleto.

O código do boleto é isso: aqui

 03399557345480000000998765401025954420000030050

E vc ta confundindo as coisas. O que vc ta procurando é sobre a API de notificações (o Webhook).

Esse código de transação vc recebe via POST, toda vez que uma transação é criada/muda o status, o pagseguro envia esse código pra vc.

Ou seja, vc tem que criar uma rota POST, e depois só desestrutuar os dados que serão recebidos.

Exatamente:

Esse é o código de barras do boleto, não o código. Mas enfim, eh exatamente isso que eu queria saber. Eu crio o método POST que recebo a notification do PagSeguro, armazeno ela, minha duvida é se havia alguma maneira de pegar ela pelo json que envio através da resposta.

Agora esta resolvido. Obrigado!

1 curtida

O código de barras é o atributo barcode.