Informações de Transação

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:

  1. 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.
  2. 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.
  3. 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 NameTypeTransaction StatePayment MethodDescription
payment.payer.namestringAll StatesPIX and OpenFinanceO nome do solicitante, como provido pelo integrador
payment.payer.cpfstringAll StatesPIX and OpenFinanceO número do documento do solicitante, se ele é um indivíduo
payment.payer.cnpjstringAll StatesPIX and OpenFinanceO número do documento do solicitante, se ele é uma empresa
payment.receiver.namestringAll StatesPIX and OpenFinanceO nome do recebedor, como provido pelo integrador
payment.receiver.cpfstringAll StatesPIX and OpenFinanceO número do documento do recebedor se ele é um indivíduo
payment.receiver.cnpjstringAll StatesPIX and OpenFinanceO número do documento do recebedor se ele é uma empresa
payment.keystringAll StatesPIXO 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.keyTypestringAll StatesPIXOs 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.qrCodestringAll StatesPIXUm código feito para o recurso Copiar e Colar do PIX nos aplicativos de banco, facilitando a execução do pagamento sem problemas.
payment.qrCodeLocationstringAllStatesPIXA 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 CampoTipoEstado da transaçãoForma de PagamentoDescrição
transaction.idstringTodos os EstadosPIX e OpenFinanceUm identificador exclusivo (UID)
transaction.externalIdstringTodos os EstadosPIX e OpenFinanceUm ID externo fornecido pelo Banco Adquirente
transaction.orderIdstringTodos os EstadosPIX e OpenFinanceUm ID opcional fornecido pelo integrador na solicitação da transação, para contravalidação, se necessário
transaction.orderDescriptionstringTodos os EstadosPIX e OpenFinanceUma descrição opcional fornecida pelo integrador na solicitação da transação, para contravalidação, se necessário
transaction.typestringTodos os EstadosPIX e OpenFinanceO tipo de transação que contém um dos seguintes: Crédito ou Débito
transaction.categorystringTodos os EstadosPIXA 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.paymentTypestringTodos os EstadosPIX e OpenFinanceNúmero do documento do requerente se for uma empresa
transaction.statestringTodos os EstadosPIX e OpenFinanceO 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.datestringTodos os EstadosPIX e OpenFinanceA data de criação do pedido de transação
transaction.stateRegisteredDatestringTodos os EstadosPIX e OpenFinanceA data para o estado intermediário quando a transação é registrada no banco
transaction.stateCancelledDatestringCancelledPIX e OpenFinanceA data do cancelamento de uma transação se o estado da transação for Cancelado. Vazio caso contrário
transaction.stateCompletedDatestringCompletedPIX e OpenFinanceA data de conclusão de uma transação se o estado da transação for Concluído. Vazio caso contrário
transaction.stateRefundDatestringNenhumPIX e OpenFinanceThe 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.stateReversedDatestringNenhumPIX e OpenFinanceA 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.stateErrorDatestringErroPIX e OpenFinanceA data de um erro de transação se o estado da transação for Erro. Vazio caso contrário
transaction.stateErrorCausestringErroPIX e OpenFinanceUma 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 campoTipoEstado da transaçãoForma de PagamentoDescrição
transaction.payer.bankCodestringCompletedPIX e OpenFinanceO código do banco pagador conforme definido pela autoridade do Banco Central no Brasil
transaction.payer.bankIspbstringCompletedPIX e OpenFinanceUm código de seis dígitos do pagador usado para identificar exclusivamente as instituições de pagamento no Brasil (se disponível)
transaction.payer.bankNamestringCompletedPIX e OpenFinanceO nome da instituição pagadora (se disponível)
transaction.payer.accountAgencystringCompletedPIX e OpenFinanceA agência da conta bancária do pagador (se disponível)
transaction.payer.accountNumberstringCompletedPIX e OpenFinanceO número da conta bancária do pagador (se disponível)
transaction.payer.accountTypestringCompletedPIX e OpenFinanceUm texto com um dos seguintes: ContaCorrente, ContaPoupança ou ContaSalário (se disponível)
transaction.payer.namestringCompletedPIX e OpenFinanceO nome do proprietário da conta
transaction.payer.taxNumberstringCompletedPIX e OpenFinanceO número do documento do proprietário da conta
transaction.recipient.bankCodestringCompletedPIX e OpenFinanceO código do banco destinatário conforme definido pela autoridade do Banco Central no Brasil
transaction.recipient.bankIspbstringCompletedPIX e OpenFinanceO 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.bankNamestringCompletedPIX e OpenFinanceO nome da instituição destinatária (se disponível)
transaction.recipient.accountAgencystringCompletedPIX e OpenFinanceA agência bancária destinatária (se disponível)
transaction.recipient.accountNumberstringCompletedPIX e OpenFinanceO número da conta bancária do destinatário (se disponível)
transaction.recipient.accountTypestringCompletedPIX e OpenFinanceUm texto com um dos seguintes: ContaCorrente, ContaPoupança ou ContaSalário (se disponível)
transaction.recipient.namestringCompletedPIX e OpenFinanceO nome do proprietário da conta
transaction.recipient.taxNumberstringCompletedPIX e OpenFinanceO 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 campoTipoEstado da transaçãoForma de PagamentoDescrição
webhook.customHeaderNamestringTodos os EstadosPIX e OpenFinanceUm texto contendo o cabeçalho da credencial fornecido pelo integrador para contravalidação, por exemplo: "Authorization"
webhook.customHeaderValuestringTodos os EstadosPIX e OpenFinanceUm texto contendo um valor fornecido pelo integrador para contravalidação, como "Bearer b880eec8ba284c6ebb62b5af4015fe2f"
webhook.deliveryStatusstringTodos os EstadosPIX e OpenFinanceUm 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.deliveryTimestringTodos os EstadosPIX e OpenFinanceO timestamp de entrega, apresentado no mesmo formato de data apresentado antes
webhook.urlstringTodos os EstadosPIX e OpenFinanceA URL do webhook invocada