Este endpoint permite recuperar as informações completas sobre uma transação
Endpoint de Referência
POST /accounts/transactions/pix/{transactionId}
Transaction Response Object
O objeto completo de resposta de transação inclui 3 estruturas internas importantes: transaction, payment e webhook:
- o objeto payment contém os parâmetros da solicitação da própria transação, como o solicitante do pagamento e o recebedor informado.
- o objeto transaction representa o registro completo da transação e contém informações sobre o fluxo da transação, os participantes (pagador e recebedor) e os resultados do processamento.
- o objeto webhook contém informações sobre o endpoint para enviar as alterações de estado da transação.
Aqui está um exemplo de objeto de resposta:
{
"statusCode": "Done",
"data": {
"transaction": {
"id": "4494a26c-4f21-400a-bbe7-cbef6ea7c3c3",
"externalResourceId": "016c2d96-fb56-407a-b142-88ef29bee379",
"orderId": "in-1414870875-158709817091784",
"orderDescription": "This is a test order.",
"date": "2023-08-04T14:45:34.323Z",
"stateRegisteredDate": "2023-08-04T14:45:34.332Z",
"stateCompletedDate": "2023-08-04T14:45:39.150Z",
"stateCancelledDate": null,
"stateRefundDate": null,
"stateReversedDate": null,
"stateErrorDate": null,
"stateErrorCause": null,
"type": "Credit",
"paymentType": "PIX",
"category": "PartnerSales",
"amount": "50.000000",
"currency": "BRL",
"state": "Completed",
"charges": "0.000000",
"chargesObject": {
"costValue": "0",
"rateValue": "0",
"rate": "0.00"
},
"receiptUrl": "https://api.sandbox.paybrokers.solutions/v1/system/e-receipt/4494a26c-4f21-400a-bbe7-cbef6ea7c3c3/receipt.pdf",
"receiptDate": "2023-08-04T14:45:39.047Z",
"receiptVoucher": "D6BE9C802C7846029269C485FE23060C",
"receiptAmount": "50.000000",
"metadata": {},
"payer": {
"name": "CRISTINA INACIO OLIVEIRA DA CONCEICAO",
"taxNumber": "14435549603",
"bankCode": "999",
"bankName": null,
"accountAgency": "99999",
"accountNumber": "99999",
"accountDigit": "9"
},
"customerName": "Test Customer",
"accountName": "1",
"accountNumber": "6212790001"
},
"payment": {
"value": {
"original": "50.000000"
},
"qrCode": "02393767956483436107br.gov.bcb.pix2564qrcode.sandbox.paybrokers.solutions/QR/cob/224227163566832131468968987105612380081043125773316115079433PayBrokers Cobrança e Serviço em Tecnologia Ltda80993926086756031824***98A2E1EE",
"qrCodeLocation": "https://api.sandbox.paybrokers.solutions/v1/system/qrcodeviewer/4494a26c-4f21-400a-bbe7-cbef6ea7c3c3",
"payer": {
"name": "CRISTINA INACIO OLIVEIRA DA CONCEICAO",
"cpf": "14435549603",
"cnpj": null
}
},
"webhook": {
"url": "https://postman-echo.com/post?test=1",
"customHeaderName": "Authorization",
"customHeaderValue": "eyJhbGciOiJIUzM4NCIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2YTZjYjY2NC03NzI4LTR",
"deliveryStatus": "Sent",
"deliveryTime": "2023-08-04T14:45:39.227Z"
}
}
}
A seguir, detalhamos cada um desses objetos, considerando seus nomes de campos, tipos, em quais estados de transação eles aparecem e em qual forma de pagamento também.
O Objeto Payment
O objeto fornece uma visão abrangente dos dados associados a uma solicitação de pagamento. Abrange detalhes essenciais, incluindo o valor da transação, timestamp de data e hora de criação e data de vencimento, bem como informações iniciais sobre o pagador e o recebedor. Como citado, o pagador é o solicitante do pagamento neste contexto.
Field Name | Type | Transaction State | Payment Method | Description |
---|---|---|---|---|
payment.payer.name | string | All States | PIX and OpenFinance | O nome do solicitante, como provido pelo integrador |
payment.payer.cpf | string | All States | PIX and OpenFinance | O número do documento do solicitante, se ele é um indivíduo |
payment.payer.cnpj | string | All States | PIX and OpenFinance | O número do documento do solicitante, se ele é uma empresa |
payment.receiver.name | string | All States | PIX and OpenFinance | O nome do recebedor, como provido pelo integrador |
payment.receiver.cpf | string | All States | PIX and OpenFinance | O número do documento do recebedor se ele é um indivíduo |
payment.receiver.cnpj | string | All States | PIX and OpenFinance | O número do documento do recebedor se ele é uma empresa |
payment.key | string | All States | PIX | O valor da chave PIX, essencialmente um endereço de conta que identifica exclusivamente o recebedor. Disponível apenas se a forma de pagamento for PIX |
payment.keyType | string | All States | PIX | Os tipos de chave PIX válidos, que incluem: CPF (Cadastro de Pessoa Física), CNPJ (Cadastro Nacional de Pessoas Jurídicas), Telefone, E-mail ou EVP (Identificador Gerado Aleatoriamente) |
payment.qrCode | string | All States | PIX | Um código feito para o recurso Copiar e Colar do PIX nos aplicativos de banco, facilitando a execução do pagamento sem problemas. |
payment.qrCodeLocation | string | AllStates | PIX | A URL de um QR Code gráfico a ser escaneado nos aplicativos do banco PIX, possibilitando o início do pagamento |
Participante Suprimido
Para transações Cash In, o destinatário é sempre PayBrokers e este objeto é suprimido.
Para Cash Out, onde a transação pagador é sempre PayBrokers, este objeto também é suprimido.
O Objeto Transaction
Conforme mencionado anteriormente, o objeto transaction mantém o conjunto completo referente ao seu ciclo de vida enquanto está sendo processado, conforme segue:
Nome do Campo | Tipo | Estado da transação | Forma de Pagamento | Descrição |
---|---|---|---|---|
transaction.id | string | Todos os Estados | PIX e OpenFinance | Um identificador exclusivo (UID) |
transaction.externalId | string | Todos os Estados | PIX e OpenFinance | Um ID externo fornecido pelo Banco Adquirente |
transaction.orderId | string | Todos os Estados | PIX e OpenFinance | Um ID opcional fornecido pelo integrador na solicitação da transação, para contravalidação, se necessário |
transaction.orderDescription | string | Todos os Estados | PIX e OpenFinance | Uma descrição opcional fornecida pelo integrador na solicitação da transação, para contravalidação, se necessário |
transaction.type | string | Todos os Estados | PIX e OpenFinance | O tipo de transação que contém um dos seguintes: Crédito ou Débito |
transaction.category | string | Todos os Estados | PIX | A categoria da transação como uma das seguintes: PartnerSales, PartnerWithdrawals ou PartnerRecipientPayments (que se refere a pagamentos de terceiros suportados pela plataforma via Admin Portal) |
transaction.paymentType | string | Todos os Estados | PIX e OpenFinance | Número do documento do requerente se for uma empresa |
transaction.state | string | Todos os Estados | PIX e OpenFinance | O estado da transação, que descreve o estágio atual da transação em seu ciclo de vida. Contém um dos seguintes: Registered, Cancelled, Completed, Reverted ou Error |
transaction.date | string | Todos os Estados | PIX e OpenFinance | A data de criação do pedido de transação |
transaction.stateRegisteredDate | string | Todos os Estados | PIX e OpenFinance | A data para o estado intermediário quando a transação é registrada no banco |
transaction.stateCancelledDate | string | Cancelled | PIX e OpenFinance | A data do cancelamento de uma transação se o estado da transação for Cancelado. Vazio caso contrário |
transaction.stateCompletedDate | string | Completed | PIX e OpenFinance | A data de conclusão de uma transação se o estado da transação for Concluído. Vazio caso contrário |
transaction.stateRefundDate | string | Nenhum | PIX e OpenFinance | The date of a transaction refund if the transaction state is Refunded. Empty otherwise. Note: Refund state is included in the API but can not be reached. If you have doubts, please read the discussion about refunds in the transaction lifecycle section. |
transaction.stateReversedDate | string | Nenhum | PIX e OpenFinance | A data de uma reversão de transação se o estado da transação for Reversed. Vazio caso contrário. Nota: O estado de Reversão só se aplica a transações em estados intermediários, mas não para transações em estado final. |
transaction.stateErrorDate | string | Erro | PIX e OpenFinance | A data de um erro de transação se o estado da transação for Erro. Vazio caso contrário |
transaction.stateErrorCause | string | Erro | PIX e OpenFinance | Uma chave para uma descrição de erro se o estado for Error. Esvaziar caso contrário |
Sobre formato de datas
Todas as datas são strings no formato ISO 8601 (YYYY-MM-DDTHH:mm:ss.SSSZ), como em 2023-07-04T02:33:50.690Z.
Os objetos aninhados pagador e recebedor (transaction.payer e transaction.recipient)
O objeto transaction também apresenta dois objetos aninhados: payer e recipient, e inclui informações sobre os participantes efetivos da transação. Os objetos cheios só serão preenchidos se a transação atingir um estado em que as informações processadas possam ser incluídas.
Esses campos também aparecem no objeto de pagamento, mas com semântica diferente. Lá, esses são os dados da solicitação da transação, na transação significam os participantes finais. Essa distinção se mostra significativa em cenários de PIX Cash In, onde o solicitante do pagamento e o executor do pagamento podem variar.
Por exemplo, imagine o João, um indivíduo que gera um QRCode PIX, e depois solicita à Maria que faça o pagamento em seu nome. Este é um pagamento completamente legal. Assim, enquanto João figuraria no objeto payment.payer (visto anteriormente), Maria estaria descrita no objeto transaction.payer, com os seguintes atributos.
Nome do campo | Tipo | Estado da transação | Forma de Pagamento | Descrição |
---|---|---|---|---|
transaction.payer.bankCode | string | Completed | PIX e OpenFinance | O código do banco pagador conforme definido pela autoridade do Banco Central no Brasil |
transaction.payer.bankIspb | string | Completed | PIX e OpenFinance | Um código de seis dígitos do pagador usado para identificar exclusivamente as instituições de pagamento no Brasil (se disponível) |
transaction.payer.bankName | string | Completed | PIX e OpenFinance | O nome da instituição pagadora (se disponível) |
transaction.payer.accountAgency | string | Completed | PIX e OpenFinance | A agência da conta bancária do pagador (se disponível) |
transaction.payer.accountNumber | string | Completed | PIX e OpenFinance | O número da conta bancária do pagador (se disponível) |
transaction.payer.accountType | string | Completed | PIX e OpenFinance | Um texto com um dos seguintes: ContaCorrente, ContaPoupança ou ContaSalário (se disponível) |
transaction.payer.name | string | Completed | PIX e OpenFinance | O nome do proprietário da conta |
transaction.payer.taxNumber | string | Completed | PIX e OpenFinance | O número do documento do proprietário da conta |
transaction.recipient.bankCode | string | Completed | PIX e OpenFinance | O código do banco destinatário conforme definido pela autoridade do Banco Central no Brasil |
transaction.recipient.bankIspb | string | Completed | PIX e OpenFinance | O código de seis dígitos do destinatário usado para identificar exclusivamente as instituições de pagamento no Brasil (se disponível) |
transaction.recipient.bankName | string | Completed | PIX e OpenFinance | O nome da instituição destinatária (se disponível) |
transaction.recipient.accountAgency | string | Completed | PIX e OpenFinance | A agência bancária destinatária (se disponível) |
transaction.recipient.accountNumber | string | Completed | PIX e OpenFinance | O número da conta bancária do destinatário (se disponível) |
transaction.recipient.accountType | string | Completed | PIX e OpenFinance | Um texto com um dos seguintes: ContaCorrente, ContaPoupança ou ContaSalário (se disponível) |
transaction.recipient.name | string | Completed | PIX e OpenFinance | O nome do proprietário da conta |
transaction.recipient.taxNumber | string | Completed | PIX e OpenFinance | O número do documento do proprietário da conta |
Informações sobre Participantes
Note que alguns campos só estão disponíveis se o Banco Adquirente disponibilizá-los.
O Objeto Webhook
Por fim, conforme mencionado anteriormente, o objeto interno do webhook apresenta informações de pagamento relacionadas às transições de estado das transações.
Nome do campo | Tipo | Estado da transação | Forma de Pagamento | Descrição |
---|---|---|---|---|
webhook.customHeaderName | string | Todos os Estados | PIX e OpenFinance | Um texto contendo o cabeçalho da credencial fornecido pelo integrador para contravalidação, por exemplo: "Authorization" |
webhook.customHeaderValue | string | Todos os Estados | PIX e OpenFinance | Um texto contendo um valor fornecido pelo integrador para contravalidação, como "Bearer b880eec8ba284c6ebb62b5af4015fe2f" |
webhook.deliveryStatus | string | Todos os Estados | PIX e OpenFinance | Um texto que descreve o status atual da última entrega de mensagem, um dos seguintes: Pending, Failed ou Success. Enquanto as mensagens de evento de sucesso são o resultado para os integradores, os outros status são críticos para o PayBrokers e são usados para novas tentativas de entrega |
webhook.deliveryTime | string | Todos os Estados | PIX e OpenFinance | O timestamp de entrega, apresentado no mesmo formato de data apresentado antes |
webhook.url | string | Todos os Estados | PIX e OpenFinance | A URL do webhook invocada |