9 - Eventos
Fluxo completo de métodos e eventos de inicialização, criação de sessão e pagamento.
Esses eventos são enviados durante os fluxos nas callbacks onEvent dentro das funcionalidades de pagamento.
Quando os eventos são disparados
Os eventos de inicialização e criação de sessão podem ser disparados de duas formas:
Antes do pagamento
Quando você chama os métodos opcionais antes de iniciar o pagamento:
TapOnPhone.initialize()— opcionalTapOnPhone.activateSession()— opcional
Durante o pagamento
Quando TapOnPhone.pay() é chamado antes dos métodos opcionais serem finalizados. Nesse caso, os eventos são disparados automaticamente dentro do fluxo de pagamento.
Comportamento dos eventos
Dependendo de como você estrutura as chamadas dos métodos, você pode receber:
- Eventos padrão (ex:
ZoopActivationStarted) — sempre disparados durante o fluxo correspondente - Eventos duplicados — Se nenhum dos métodos opcionais for chamado antes de
TapOnPhone.pay(), você receberá tanto o evento padrão quanto seu equivalenteInPayment(ex:ZoopActivationStartedeZoopActivationInPaymentStarted)
Os eventos InPayment só são disparados quando a tela do SDK é aberta durante a execução de um desses processos.
Mapeamento de eventos padrão → InPayment
Cada evento padrão possui um equivalente InPayment. Veja o mapeamento completo:
val relatedEvents = mapOf<ApplicationEvent, ApplicationEvent>(
ZoopActivationStarted to ZoopActivationInPaymentStarted,
ZoopActivationSucceeded to ZoopActivationInPaymentSucceeded,
ZoopActivationFailed to ZoopActivationInPaymentFailed,
ZoopActivationFinished to ZoopActivationInPaymentFinished,
KernelActivationStarted to KernelActivationInPaymentStarted,
KernelActivationSucceeded to KernelActivationInPaymentSucceeded,
KernelActivationFailed to KernelActivationInPaymentFailed,
KernelActivationFinished to KernelActivationInPaymentFinished,
SessionActivationStarted to SessionActivationInPaymentStarted,
SessionActivationSucceeded to SessionActivationInPaymentSucceeded,
SessionActivationFailed to SessionActivationInPaymentFailed,
SessionActivationFinished to SessionActivationInPaymentFinished,
)Fluxo de métodos e eventos
A tabela abaixo mostra o fluxo completo de métodos e os eventos associados a cada um.
Para maiores detalhes, consulte as páginas de fluxo de eventos.
setConfig()
setConfig()| Tipo | Obrigatório |
| Eventos disparados | Nenhum |
initialize()
initialize()| Tipo | Opcional |
Eventos disparados
Terminal Activation
TerminalActivationStarted
Zoop Activation
ZoopActivationStartedZoopActivationSkipped(se aplicável)ZoopActivationSucceededouZoopActivationFailedZoopActivationFinished
Kernel Activation
KernelActivationStartedKernelRestartProcessing(se aplicável)KernelActivationSucceededouKernelActivationFailedKernelActivationFinished
Attestation API (se aplicável)
AttestationApiStartedAttestationApiSucceededouAttestationApiFailedAttestationApiFinished
Terminal Activation (conclusão)
TerminalActivationSucceededouTerminalActivationFailedTerminalActivationFinished
Diagrama de fluxo
activateSession()
activateSession()| Tipo | Opcional |
Eventos disparados
Session Activation
SessionActivationStartedSessionActivationSucceededouSessionActivationFailed
Attestation API (se aplicável)
AttestationApiStartedAttestationApiSucceededouAttestationApiFailedAttestationApiFinished
Session Activation (conclusão)
SessionActivationFinished
Diagrama de fluxo
pay()
pay()| Tipo | Obrigatório |
Se
initialize()eactivateSession()não foram chamados antes depay(), todos os eventos de ativação e sessão serão disparados automaticamente durante o pagamento, com o sufixo InPayment nos nomes dos eventos.
Eventos de ativação InPayment (se aplicável)
Zoop Activation InPayment (se aplicável)
ZoopActivationInPaymentStartedZoopActivationInPaymentSucceededouZoopActivationInPaymentFailedZoopActivationInPaymentFinished
Kernel Activation InPayment (se aplicável)
KernelActivationInPaymentStartedKernelActivationInPaymentSucceededouKernelActivationInPaymentFailedKernelActivationInPaymentFinished
Session Activation InPayment
SessionActivationInPaymentStartedSessionActivationInPaymentSucceededouSessionActivationInPaymentFailedSessionActivationInPaymentFinished
Eventos de pagamento
Leitura do cartão
LaunchBuiltInScreenPaymentProcessStartedCardReadingStartedHoldCardSteadyVerifyDeviceCardReadingRetry(se aplicável)TryAnotherCard(se aplicável)CardReadingFinished
PIN e autorização
PinInputStarted(se aplicável)PinInputCleared(se aplicável)TransactionAborted(se aplicável)AuthorisingPleaseWaitApprovedPleaseSign(se aplicável)
Attestation API (se aplicável)
AttestationApiStartedAttestationApiSucceededouAttestationApiFailedAttestationApiFinished
Resultado do pagamento
PaymentProcessSucceededouPaymentProcessFailed
Confirmação
PaymentConfirmationStartedPaymentConfirmationSucceededouPaymentConfirmationFailedPaymentConfirmationFinished
Animação de bandeira (se aplicável)
BrandAnimationStartedBrandAnimationFinished
Finalização
CloseBuiltInScreenPaymentProcessFinished
Diagrama de fluxo
Notas importantes
Ordem de chamada dos métodos
setConfig()deve ser chamado primeiro. Ele não dispara nenhum evento.
Métodos opcionais:
initialize()eactivateSession()Ambos são opcionais. Se não forem chamados antes de
pay(), ou sepay()for chamado enquanto algum deles ainda está em processamento, seus eventos serão disparados durante o pagamento com o sufixo InPayment. Por exemplo:ZoopActivationStarted→ZoopActivationInPaymentStarted.
Comportamento do
pay()
pay()sempre dispara os 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 chamados, receberá os eventos de ativação + pagamento.
Ordem dos eventos de falha
Os eventos
TransactionAborted,TerminalActivationFailede demais eventos de falha podem ocorrer fora da ordem listada, caso sejam emitidos antes de algum fluxo ser concluído. Por exemplo: sePaymentProcessFailedfor emitido, não haverá eventos de confirmação — apenasCloseBuiltInScreenePaymentProcessFinished.
Updated 2 days ago
