Getnet DocsGetnet Docs

Procesa un reembolso

Esta guía muestra cómo revertir una transacción aprobada previamente con initRefund.

Cómo funciona

Inicias un reembolso con initRefund. El parámetro refundData define quién proporciona el paymentId:

  • Reembolso directo — tu aplicación proporciona un paymentId conocido.
  • Reembolso indirecto — el usuario busca la transacción en las pantallas del SDK.

El resultado llega mediante un callback (consulta Resultado de la transacción). Se requiere un warm-up exitoso (WarmUpStatus.Success).

Los reembolsos aplican solo a transacciones de crédito y débito. Las transacciones Pix y voucher no se pueden reembolsar.

Antes de comenzar

Para un reembolso directo, mantén tu propio historial de transacciones. El SDK no expone las transacciones anteriores. El paymentId que devuelve el resultado de la venta es la clave para reembolsarla. Guarda el paymentId — no necesitas guardar los datos de la tarjeta.

Reembolso directo

Proporciona el paymentId que guardaste de la venta original:

ApoloSdk.getClient().initRefund(
    context = activity,
    refundData = Refund(paymentId = paymentIdFromYourRecord),
    onResult = { result -> /* see Transaction result */ },
)

Reembolso indirecto

Omite refundData (o pasa un paymentId vacío) para que el SDK guíe la búsqueda en sus propias pantallas:

ApoloSdk.getClient().initRefund(
    context = activity,
    onResult = { result -> /* see Transaction result */ },
)

Lee el resultado

El resultado llega en onResult. En caso de éxito, el payload es un ICancelPaymentResponse. Consulta Resultado de la transacción para ver los códigos y los campos del payload.

Siguientes pasos