Getnet DocsGetnet Docs

Referencia del resultado de la transacción

TransactionResultCallback entrega el resultado de initSale e initRefund. Se invoca una vez por operación, justo antes de que se cierre la Activity del SDK. El contrato no lanza excepciones al integrador: las fallas se reflejan en el valor y el mensaje del resultado.

Campos del resultado

CampoTipoDescripción
resultString?Código de resultado corto y estandarizado.
resultMessageString?Descripción legible del resultado.
payloadAny?Datos específicos de la operación. Haz el cast al tipo de la operación.

Códigos de resultado

CódigoSignificado
"00"Transacción aprobada.
"1-*"Error del terminal (POS).
"33-*"Error del host: un error HTTP del servicio de pago (SEP) o un rechazo del emisor.

Trata "00" como aprobación y cualquier otro valor como una no aprobación, mostrando resultMessage cuando esté disponible. Los terminales antiguos pueden seguir devolviendo el prefijo heredado "4-*" para los errores del host: trata "4-*" y "33-*" como equivalentes. Para el catálogo completo de errores, consulta Referencia de códigos de error; para saber cómo reaccionar a cada falla, consulta Solución de problemas.

Payload por operación

Haz el cast de payload al tipo que corresponde a la operación. Acceder a los campos sin el cast puede provocar una ClassCastException.

Pagos — IPaymentResponse

Lo devuelve initSale (crédito, débito, voucher, Pix). Campos principales:

CampoTipoDescripción
paymentIdString?Identificador único de la transacción. Guárdalo para habilitar un reembolso directo.
orderIdString?Identificador del pedido.
amountString?Monto de la transacción.
currencyString?Moneda.
statusString?Estado de la transacción.
paymentMethodString?Método de pago usado.
authorizationCodeString?Código de autorización.
authorizedAtString?Fecha y hora de la autorización.
acquirerString?Adquirente.
transactionId / acquirerTransactionIdString?Identificadores de la transacción.
reasonCode / reasonMessageString?Código y mensaje del motivo.
emvString?Datos EMV.

Reembolsos — ICancelPaymentResponse

Lo devuelve initRefund. Campos principales:

CampoTipoDescripción
paymentIdString?Identificador de la transacción original que se reembolsó.
amountInt?Monto reembolsado.
statusString?Estado del reembolso.
authorizationCodeString?Código de autorización del reembolso.
traceNumberInt?Número de traza.
canceledAtString?Fecha y hora de la cancelación.
reasonCode / reasonMessageString?Código y mensaje del motivo.

Ejemplo

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 */ }
    }
}