Getnet DocsGetnet Docs

Insira telas com Slots

Este guia mostra como inserir uma das suas telas entre duas telas consecutivas do SDK, sem alterar a lógica do fluxo original (Nível 2 — consulte Modelo de personalização).

Como funciona

O SDK conduz o usuário até a tela do slot e espera que seu aplicativo sinalize a conclusão com resumeFlow(). A partir daí, ele retoma o fluxo original. As telas de slot recebem resumeFlow() sem argumentos — a única função delas é avisar ao SDK que ele pode continuar.

Você registra os slots em SdkUiNavigationConfig.slotScreens, usando um valor BrFlowSlot como chave:

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

Registre um slot ao construir o 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()

Registre um slot em tempo de execução

Aplique uma configuração depois de inicializar o SDK:

val apolo = ApoloSdk.getClient()

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

apolo.customizeNavigation(config)

Slots disponíveis

Cada slot fica entre duas telas do SDK. Os retângulos são telas do SDK; o slot é inserido entre elas.

SlotDe → ParaContexto
AmountToProductSelectionAmount → ProductSelectionVenda com cartão
ProductSelectionToInstallmentSelectionProductSelection → InstallmentSelectionParcelamento no crédito
ProductSelectionToCardReadingProductSelection → CardReadingDébito / crédito à vista / voucher
ProductSelectionToPixQrCodeLoadingProductSelection → PixQrCodeLoadingPix
InstallmentSelectionToCardReadingInstallmentSelection → CardReadingDepois de escolher as parcelas
CardReadingToCardSelectionCardReading → CardSelectionEMV multiaplicação
CardReadingToProcessingCardReading → ProcessingAutorização
CardReadingToPaymentErrorCardReading → PaymentErrorFalha de leitura
CardSelectionToProcessingCardSelection → ProcessingDepois da seleção
CardSelectionToPaymentErrorCardSelection → PaymentErrorFalha depois da seleção
ProcessingToPaymentSuccessProcessing → PaymentSuccessAprovado
ProcessingToPaymentErrorProcessing → PaymentErrorRecusado
PixQrCodeLoadingToPixPaymentErrorPixQrCodeLoading → PixPaymentErrorFalha ao gerar o QR
PixQrCodeToPixPaymentSuccessPixQrCode → PixPaymentSuccessPix aprovado
PixQrCodeToPixPaymentErrorPixQrCode → PixPaymentErrorPix recusado
PixPaymentRecognitionToPixPaymentSuccessPixPaymentRecognition → PixPaymentSuccessReconhecimento correto
PixPaymentRecognitionToPixPaymentErrorPixPaymentRecognition → PixPaymentErrorFalha de reconhecimento
PixPaymentVerificationToPixPaymentSuccessPixPaymentVerification → PixPaymentSuccessVerificação correta
PixPaymentVerificationToPixPaymentErrorPixPaymentVerification → PixPaymentErrorFalha de verificação
CancelInputToSearchTransactionCancelInput → SearchTransactionInício do estorno
SearchTransactionToCancelPaymentSearchTransaction → CancelPaymentDepois da busca
CancelPaymentToCancelPaymentProcessingCancelPayment → CancelPaymentProcessingConfirmação
CancelPaymentProcessingToCancelPaymentSuccessCancelPaymentProcessing → CancelPaymentSuccessEstorno concluído
CancelPaymentProcessingToCancelPaymentErrorCancelPaymentProcessing → CancelPaymentErrorEstorno com falha

Próximos passos