Getnet DocsGetnet Docs

Referência do resultado da transação

O TransactionResultCallback entrega o resultado de initSale e initRefund. Ele é chamado uma vez por operação, imediatamente antes de a Activity do SDK ser fechada. O contrato não lança exceções para o integrador — as falhas aparecem no valor e na mensagem do resultado.

Campos do resultado

CampoTipoDescrição
resultString?Código de resultado padronizado e curto.
resultMessageString?Descrição legível do resultado.
payloadAny?Dados específicos da operação. Faça o cast para o tipo da operação.

Códigos de resultado

CódigoSignificado
"00"Transação aprovada.
"1-*"Erro do terminal (POS).
"33-*"Erro de host — um erro HTTP do serviço de pagamento (SEP) ou uma recusa do emissor.

Trate "00" como aprovação e qualquer outro valor como não aprovação, exibindo resultMessage quando disponível. Terminais mais antigos ainda podem retornar o prefixo legado "4-*" para erros de host — trate "4-*" e "33-*" como equivalentes. Para o catálogo completo de erros, consulte a Referência de códigos de erro; para saber como reagir a cada falha, consulte Solução de problemas.

Payload por operação

Faça o cast de payload para o tipo que corresponde à operação. Acessar campos sem o cast pode lançar um ClassCastException.

Pagamentos — IPaymentResponse

Retornado por initSale (crédito, débito, voucher, Pix). Campos principais:

CampoTipoDescrição
paymentIdString?Identificador único da transação. Armazene-o para permitir um estorno direto.
orderIdString?Identificador do pedido.
amountString?Valor da transação.
currencyString?Moeda.
statusString?Status da transação.
paymentMethodString?Meio de pagamento usado.
authorizationCodeString?Código de autorização.
authorizedAtString?Data e hora da autorização.
acquirerString?Adquirente.
transactionId / acquirerTransactionIdString?Identificadores da transação.
reasonCode / reasonMessageString?Código e mensagem do motivo.
emvString?Dados EMV.

Estornos — ICancelPaymentResponse

Retornado por initRefund. Campos principais:

CampoTipoDescrição
paymentIdString?Identificador da transação original que foi estornada.
amountInt?Valor estornado.
statusString?Status do estorno.
authorizationCodeString?Código de autorização do estorno.
traceNumberInt?Número de rastreio.
canceledAtString?Data e hora do cancelamento.
reasonCode / reasonMessageString?Código e mensagem do motivo.

Exemplo

val onResult = TransactionResultCallback { result ->
    when (result.result) {
        "00" -> when (val payload = result.payload) {
            is IPaymentResponse -> { /* handle an approved payment */ }
            is ICancelPaymentResponse -> { /* handle an approved refund */ }
            else -> { /* ... */ }
        }
        else -> { /* non-approval — show result.resultMessage */ }
    }
}