Informações de Transação

Este endpoint permite recuperar as informações completas sobre uma transação

Endpoint de Referência

  • GET /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.pagfast.com/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.pagfast.com.br/QR/cob/224227163566832131468968987105612380081043125773316115079433Pagfast Cobranca e Servic6014Campina Grande80993926086756031824***98A2E1EE",
            "qrCodeLocation": "https://api.sandbox.pagfast.com/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.

CampoTipoEstado da TransaçãoMétodo de PagamentoDescrição
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 PagFast e este objeto é suprimido.
Para Cash Out, onde a transação pagador é sempre PagFast, 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:

Campo

Tipo

Estado da transação

Método 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.

CampoTipoEstado da transaçãoMétodo 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 PagFast 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