Detalhes

Os eventos de inicialização e criação de sessão podem ser disparados de duas formas. A tabela abaixo mostra o fluxo completo de métodos e eventos:

Dica

Para maiores detalhes, consulte as páginas de fluxo de eventos

MétodoTipoEventos Disparados
setConfig()ObrigatórioNenhum evento
initialize()OpcionalterminalActivationStarted
kernelActivationStarted
kernelActivationSucceeded ou kernelActivationFailed
kernelActivationFinished
zoopActivationStarted
zoopActivationSuceeded ou zoopActivationFailed
zoopActivationFinished
sessionActivationStarted
terminalActivationSucceeded ou terminalActivationFailed
terminalActivationFinished
createSession()OpcionalSe initialize ainda estiver processando, os eventos do initialize vão sair pela callback onEvent de createSession
sessionActivationStarted
sessionActivationSucceeded ou sessionActivationFailed
sessionActivationRetry (se necessário)
sessionActivationFinished
pay()ObrigatórioSe initialize/createSession não foram chamados anteriormente, todos os eventos do initialize e createSession, além dos relacionados do tipo inPayment. Alternativamente, se os métodos foram chamados e pay também sem espera, aí os que forem processados dentro do pagamento (com a tela do sdk aberta) vão ter os eventos normais e inPayment também
zoopActivationInPaymentStarted (se aplicável)
zoopActivationInPaymentSucceeded ou zoopActivationInPaymentFailed(se aplicável)
zoopActivationInPaymentFinished(se aplicável)
kernelActivationInPaymentStarted(se aplicável)
kernelActivationInPaymentSucceeded ou kernelActivationInPaymentFailed(se aplicável)
kernelActivationInPaymentFinished(se aplicável)
sessionActivationInPaymentStarted
sessionActivationInPaymentSucceeded ou sessionActivationInPaymentFailed
sessionActivationInPaymentFinished
Pagamento:
paymentProcessStarted
kernelUpdateProgress(se aplicável)
cardReadingStarted
holdCardSteady
cardReadingRetry(se aplicável)
cardReadingFinished
pinInputStarted(se aplicável)
pinInputFinished(se aplicável)
transactionAborted(se aplicável)
authorizingPleaseWait
paymentProcessSucceeded ou paymentProcessFailed
paymentConfirmationStarted
paymentConfirmationSucceeded ou paymentConfirmationFailed
paymentConfirmationFinished
brandAnimationStarted (se aplicável)
brandAnimationSucceeded (se aplicável) ou brandAnimationFailed
brandAnimationFinished (se aplicável)
closeBuiltInScreen
paymentProcessFinished

Notas Importantes

  • setConfig(): Deve ser chamado primeiro. Não dispara eventos.
  • initialize() e createSession(): Ambos são opcionais. Se não forem chamados antes de pay(), ou se pay() for chamado enquanto algum desses ainda está em processamento, seus eventos serão disparados durante o pagamento. Evento normal e seu relacionado com o sufixo InPayment.
  • pay(): Sempre dispara eventos de pagamento. Se os métodos anteriores já foram chamados, você receberá apenas os eventos de pagamento e criação de sessão. Se não foram, receberá os eventos de ativação + pagamento.
  • Ordem dos eventos: Os eventos transactionAborted, terminalActivationFailed e demais de falha, podem acontecer fora dessa ordem, caso sejam emitidos antes de algum fluxo chegar. Ex. Se lançar paymentProcessFailed não terá nenhum evento de confirmação, apenas closeBuiltInScreen e paymentProcessFinished
Informação

Independente de se o método de sessão foi chamado anteriormente, durante o pagamento sempre haverá eventos de criação de sessão. Pode acontecer de já ter uma instância pronta e devolver instantaneamente.