Getnet DocsGetnet Docs

Inserta pantallas con Slots

Esta guía muestra cómo insertar una de tus pantallas entre dos pantallas consecutivas del SDK, sin cambiar la lógica del flujo original (Nivel 2 — consulta Modelo de personalización).

Cómo funciona

El SDK lleva al usuario hasta la pantalla del slot y espera que tu aplicación indique que terminó con resumeFlow(). Desde ahí retoma el flujo original. Las pantallas de slot reciben resumeFlow() sin argumentos: su única tarea es avisar al SDK que puede continuar.

Registras los slots en SdkUiNavigationConfig.slotScreens, con una clave de tipo BrFlowSlot:

interface SdkFlowSlot
typealias SlotScreen = @Composable (resumeFlow: () -> Unit) -> Unit

Registra un slot al construir el SDK

import com.pagonxt.sdk.brazil.uxal.navigation.BrFlowSlot
import com.pagonxt.sdk.core.uxal.navigation.SdkUiNavigationConfig

val config = SdkUiNavigationConfig(
    slotScreens = mapOf(
        BrFlowSlot.AmountToProductSelection to { resumeFlow ->
            CustomConfirmationScreen(onConfirm = { resumeFlow() })
        }
    )
)

ApoloSdk.Builder(applicationContext)
    // ...
    .customizeNavigationConfig(config)
    .build()

Registra un slot en tiempo de ejecución

Aplica una configuración después de inicializar el SDK:

val apolo = ApoloSdk.getClient()

val config = SdkUiNavigationConfig(
    slotScreens = mapOf(
        BrFlowSlot.ProcessingToPaymentSuccess to { resumeFlow ->
            OfferScreen(onContinue = { resumeFlow() })
        }
    )
)

apolo.customizeNavigation(config)

Slots disponibles

Cada slot se ubica entre dos pantallas del SDK. Los rectángulos son pantallas del SDK; el slot se inserta entre ellas.

SlotDesde → HaciaContexto
AmountToProductSelectionAmount → ProductSelectionVenta con tarjeta
ProductSelectionToInstallmentSelectionProductSelection → InstallmentSelectionCuotas de crédito
ProductSelectionToCardReadingProductSelection → CardReadingDébito / crédito en una cuota / voucher
ProductSelectionToPixQrCodeLoadingProductSelection → PixQrCodeLoadingPix
InstallmentSelectionToCardReadingInstallmentSelection → CardReadingDespués de elegir las cuotas
CardReadingToCardSelectionCardReading → CardSelectionEMV multiaplicación
CardReadingToProcessingCardReading → ProcessingAutorización
CardReadingToPaymentErrorCardReading → PaymentErrorFalla de lectura
CardSelectionToProcessingCardSelection → ProcessingDespués de la selección
CardSelectionToPaymentErrorCardSelection → PaymentErrorFalla después de la selección
ProcessingToPaymentSuccessProcessing → PaymentSuccessAprobado
ProcessingToPaymentErrorProcessing → PaymentErrorRechazado
PixQrCodeLoadingToPixPaymentErrorPixQrCodeLoading → PixPaymentErrorFalla al generar el QR
PixQrCodeToPixPaymentSuccessPixQrCode → PixPaymentSuccessPix aprobado
PixQrCodeToPixPaymentErrorPixQrCode → PixPaymentErrorPix rechazado
PixPaymentRecognitionToPixPaymentSuccessPixPaymentRecognition → PixPaymentSuccessReconocimiento correcto
PixPaymentRecognitionToPixPaymentErrorPixPaymentRecognition → PixPaymentErrorFalla de reconocimiento
PixPaymentVerificationToPixPaymentSuccessPixPaymentVerification → PixPaymentSuccessVerificación correcta
PixPaymentVerificationToPixPaymentErrorPixPaymentVerification → PixPaymentErrorFalla de verificación
CancelInputToSearchTransactionCancelInput → SearchTransactionInicio del reembolso
SearchTransactionToCancelPaymentSearchTransaction → CancelPaymentDespués de la búsqueda
CancelPaymentToCancelPaymentProcessingCancelPayment → CancelPaymentProcessingConfirmación
CancelPaymentProcessingToCancelPaymentSuccessCancelPaymentProcessing → CancelPaymentSuccessReembolso correcto
CancelPaymentProcessingToCancelPaymentErrorCancelPaymentProcessing → CancelPaymentErrorReembolso fallido

Siguientes pasos