Crear un pago aplazado
El aplazamiento del pago permite a los clientes dividir su compra en múltiples pagos. A diferencia de las ventas estándar, este flujo es interactivo: si el host de autorización determina que el aplazamiento está disponible, el Get Mini Android SDK pedirá a tu aplicación que proporcione la selección del usuario a través de una devolución de llamada.
Requisitos
Para admitir el aplazamiento del pago, tu aplicación debe:
- Implementar la Devolución de Llamada: Tu implementación de
RedCLSPinPadInterfacedebe sobrescribir el métodoseleccionDeferPayment. - Habilitar el Soporte del Comercio: Tu cuenta de comercio y terminal deben estar configuradas por Get Mini para permitir operaciones de aplazamiento.
Paso 1: Implementar la devolución de llamada de selección
Durante una operación de tarjeta estándar (operativaConTarjeta), si el host de autorización identifica que el aplazamiento está disponible, activará la devolución de llamada seleccionDeferPayment. Debes presentar las opciones al usuario y devolver el código del aplazamiento.
import redcls.itpvpc.interfaces.RedCLSPinPadInterface
import redcls.itpvpc.data.RedCLSDeferPaymentData
override fun seleccionDeferPayment(deferPayment: RedCLSDeferPaymentData): String {
// 1. 'deferPayment' contiene las opciones de aplazamiento disponibles proporcionadas por el host.
// 2. Presenta estas opciones (ej., 3 meses, 6 meses) a tu usuario.
val userSelectedCode = showInstallmentSelectionUI(deferPayment)
// 3. Devuelve el código de la opción seleccionada como String.
// Devuelve "0" si el usuario desea pagar en su totalidad sin aplazamiento.
return userSelectedCode ?: "0"
}Si tu aplicación no desea admitir esta funcionalidad, simplemente sobrescribe el método para devolver \"0\".
Paso 2: Ejecutar el flujo de pago
No hay un método separado para el aplazamiento del pago. Inicia una venta estándar y el Get Mini Android SDK gestiona el aplazamiento automáticamente si es aplicable.
import redcls.itpvpc.data.RedCLSOperativeWithCardData
val saleData = RedCLSOperativeWithCardData("300.00")
Thread {
// Esta llamada activará 'seleccionDeferPayment' internamente si el aplazamiento está disponible
val response = pinpadManager.operativaConTarjeta(saleData)
if (response.status == 0) {
Log.d("GetMini", "Transacción diferida exitosa")
val tx = response.transactionData
if (tx.result == "Autorizada") {
Log.i("GetMini", "Venta con aplazamiento aprobada. Autorización: ${tx.autorizationNumber}")
}
} else {
Log.e("GetMini", "Error del SDK: ${response.status} - ${response.msgKO}")
}
}.start()Paso 3: Manejar los resultados de la transacción
Después de la aprobación exitosa del aplazamiento, procesa el resultado y asegúrate de manejar los datos del recibo. El SDK proporciona literales específicos que tu aplicación debe imprimir o mostrar para proporcionar al cliente el desglose del aplazamiento.
if (tx.result == "Autorizada") {
Log.i("GetMini", "Venta con aplazamiento aprobada. Autorización: ${tx.autorizationNumber}")
// La respuesta incluye literales de recibo específicos relacionados con el aplazamiento.
// Tu aplicación debe imprimir o mostrar todos los literales devueltos (tx.literals)
// para reflejar adecuadamente los detalles del aplazamiento en el recibo.
}Mejores prácticas
- Interfaz de Usuario Clara: Cuando se llama a
seleccionDeferPayment, asegúrate de que tu interfaz de usuario muestre claramente el tipo de aplazamiento y cualquier tasa de interés asociada proporcionada en elRedCLSDeferPaymentData. - Impresión de Recibos: Los campos del Get Mini Android SDK utilizados para la impresión (Anexo I del manual) incluirán literales específicos para el aplazamiento del pago. Asegúrate de que tu lógica de recibo muestre todos los
Literalsdevueltos en la respuesta. - Pruebas: No todas las tarjetas admiten aplazamiento de pagos. Usa tarjetas de prueba específicas proporcionadas por Get Mini para verificar este flujo en el entorno de Integración.
Próximos pasos
- Crear una venta: Aprende más sobre la operación de venta principal.
- Crear un pago preautorizado: Reserva y captura fondos.
- Seguridad y enlace de dispositivos: Protege tu integración de pagos.