Tipos de operações

Quando uma transação é criada ela passa por uma série de operações, que são procedimentos internos ao fluxo de uma transação. Entre tais operações existem:

  • Authorize: Feito para todo e qualquer tipo de transação. É usado para autorizar a quantia pedida junto com o Pagar.me
  • Analyze: Operação feita junto ao antifraude, com o intuito de analisar os dados passados.
  • Issue: Apenas para boletos, tem o intuito de gerar o código de barras e url do boleto
  • Capture: Usada para cartões de crédito, é a operação que confirma a cobrança da quantia no cartão do portador junto ao banco emissor.
  • Conciliate: É a operação que identifica pagamento de boletos e chargebacks para transações de cartão de crédito junto ao banco emissor.
  • Refund: Operação de estorno, válida para qualquer tipo de transação.

Ao fazer um GET na rota /transactions/:id/operations, como na seção anterior, você irá receber um objeto do tipo:

Exemplo de retorno

[
    {
        "id": "go_cj25j5fbw07p7p03slfyxhxh7",
        "date_created": "2017-05-01T02:52:59.228Z",
        "date_updated": "2017-05-01T02:52:59.520Z",
        "status": "success",
        "fail_reason": null,
        "type": "capture",
        "rollbacked": false,
        "model": "transaction",
        "model_id": "1489647",
        "group_id": "gog_cj25j5fbw07p8p03sxjid6ybt",
        "next_group_id": null,
        "request_id": "gr_cj25j5fbi07p6p03su8bisxfe",
        "started_at": 1493607179383,
        "ended_at": 1493607179520,
        "processor": "pagarme",
        "processor_response_code": null,
        "metadata": {
            "environment": {
                "captured_amount": 150000
            }
        }
    },
    {
        "id": "go_cj25j5fc407p9p03sfq1xa2y0",
        "date_created": "2017-05-01T02:52:59.236Z",
        "date_updated": "2017-05-01T02:52:59.375Z",
        "status": "success",
        "fail_reason": null,
        "type": "analyze",
        "rollbacked": false,
        "model": "transaction",
        "model_id": "1489647",
        "group_id": "gog_cj25j5fc407pap03s5aa8nv96",
        "next_group_id": "gog_cj25j5fbw07p8p03sxjid6ybt",
        "request_id": "gr_cj25j5fbi07p6p03su8bisxfe",
        "started_at": 1493607179326,
        "ended_at": 1493607179375,
        "processor": "antifraud",
        "processor_response_code": null,
        "metadata": {
            "environment": {
            },
            "kind": "rule"
        }
    },
    {
        "id": "go_cj25j5ff107pgp03s7gjghx3c",
        "date_created": "2017-05-01T02:52:59.341Z",
        "date_updated": "2017-05-01T02:52:59.368Z",
        "status": "failed",
        "fail_reason": "environment_error",
        "type": "analyze",
        "rollbacked": false,
        "model": "transaction",
        "model_id": "1489647",
        "group_id": "gog_cj25j5fc407pap03s5aa8nv96",
        "next_group_id": "gog_cj25j5fbw07p8p03sxjid6ybt",
        "request_id": "gr_cj25j5fbi07p6p03su8bisxfe",
        "started_at": 1493607179339,
        "ended_at": 1493607179368,
        "processor": "development",
        "processor_response_code": null,
        "metadata": {
            "environment": {
            },
            "kind": "analyze",
            "antifraud_analysis_id": 297636
        }
    },
    {
        "id": "go_cj25j5fca07pbp03s0hnvc21q",
        "date_created": "2017-05-01T02:52:59.242Z",
        "date_updated": "2017-05-01T02:52:59.320Z",
        "status": "success",
        "fail_reason": null,
        "type": "authorize",
        "rollbacked": false,
        "model": "transaction",
        "model_id": "1489647",
        "group_id": "gog_cj25j5fca07pcp03sn5jqj0lh",
        "next_group_id": "gog_cj25j5fc407pap03s5aa8nv96",
        "request_id": "gr_cj25j5fbi07p6p03su8bisxfe",
        "started_at": 1493607179261,
        "ended_at": 1493607179320,
        "processor": "pagarme",
        "processor_response_code": "0000",
        "metadata": {
            "environment": {
                "response_code": "0000",
                "authorization_code": "416762",
                "authorized_amount": 150000,
                "tid": "1489647",
                "nsu": "1489647"
            }
        }
    }
]

Significado de cada propriedade

PropriedadeDescrição
id ID da operação realizada
date_createdData(ISODate) em que a operação foi criada
date_updated Data(ISODate) em que a operação foi atualizada.
status Estado da operação. Valores possíveis: waiting, processing, deferred, failed, success, dropped.
fail_reason Em caso de falha, essa propriedade mostra a sua respectiva causa.
type Cada operação tem uma responsabilidade no fluxo de uma transação, tal característica é definida por seu tipo. Valores possíveis: authorize, analyze, capture, issue, conciliate, refund.
rollbacked Define se a operação foi revertida ou não.
model Define a qual modelo está operação pertence. Valores possíveis: transaction, subscription, card.
model_id ID do respectivo modelo da operação.
group_id Operações são executadas em grupo, e essa propriedade define a qual pertence a respectiva operação.
next_group_id Operações seguem um fluxo, e você pode identificar qual foi o próximo grupo a ser executado por meio dessa propriedade. Ex: O próximo group de uma operação que envolve uma transação por boleto, pode ser a operação de issue, que pega um grupo de transações e gera as informações necessárias para seus respectivos boletos.
request_id A propriedade define à qual request a respectiva operação tem origem.
started_at Data(ISODate) em que a operação foi criada
ended_at Data(ISODate) em que a operação foi finalizada.
processor Define qual entidade no fluxo da operação foi responsável pelo procedimento.
processor_response_code Corresponde ao código de retorno da entidade responsável por executar a operação.
metadata[environment][nsu] Para a operação de authorize, o Pagar.me irá retornar o identificador NSU para transação.
metadata[environment][tid] Para a operação de authorize, o Pagar.me irá retornar o identificador TID para transação.
metadata[environment][authorized_amount] Para a operação de authorize, o Pagar.me irá confirmar o valor autorizado através desta propriedade.
metadata[environment][authorization_code] Para a operação de authorize, o Pagar.me irá retornar um código correspondente ao processo de autorização junto ao banco emissor.
metadata[environment][response_code] Corresponde ao código Pagar.me em relação ao status da operação.
metadata[kind] Para operação de analyze, esta propriedade define o que está sendo executado em relação ao processo. Para kind = rule, a regra de antifraude em sua company está sendo executada, e para kind = analyze, o resultado da análise está sendo processado.
metadata[antifraud_analysis_id] ID da análise de antifraude executada.
metadata[environment][captured_amount] Para operação de capture, representa o valor capturado junto ao banco emissor, para cartões de crédito. OBS: Boletos não tem operação de capture, apenas issue, em que o valor de captura é confirmado.
metadata[environment][boleto_id] ID do boleto, gerado da operação de issue.
metadata[environment][boleto_url] URL do boleto, gerada da operação de issue.
metadata[environment][boleto_barcode] Código de barras do boleto, gerado da operação de issue.
metadata[conciliation][type] Está propriedade representa o tipo de conciliação feita junto ao banco emissor para esta transação. Valores possíveis: boleto_paid e chargeback