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étodo | Tipo | Eventos Disparados |
|---|---|---|
setConfig() | Obrigatório | Nenhum evento |
initialize() | Opcional | • terminalActivationStarted• kernelActivationStarted• kernelActivationSucceeded ou kernelActivationFailed |
createSession() | Opcional | Se 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ório | Se 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• sessionActivationInPaymentFinishedPagamento: • 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 sepay()for chamado enquanto algum desses ainda está em processamento, seus eventos serão disparados durante o pagamento. Evento normal e seu relacionado com o sufixoInPayment. - 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,terminalActivationFailede demais de falha, podem acontecer fora dessa ordem, caso sejam emitidos antes de algum fluxo chegar. Ex. Se lançarpaymentProcessFailednão terá nenhum evento de confirmação, apenascloseBuiltInScreenepaymentProcessFinished
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.