Versões

Histórico de versões e release notes do SDK Tap on Phone.

2.4.0


10 de agosto de 2026

Instalação

Adicione a dependência no build.gradle:

releaseImplementation("com.zoop.sdk:taponphone-production-release:2.4.0")

Release Notes

Essa versão introduz o PinTheme (personalização completa do teclado PIN), recuperação de processo isolado, tratamento explícito do cancelamento pelo usuário, novos códigos de erro e a norma técnica de CNPJ alfanumérico.

Principais alterações

PinTheme

Personalização completa do teclado de senha: cores, textos, fontes, ícones, viewports, modo imersivo e acessibilidade.

Cancelamento pelo usuário

Tratamento explícito do botão fechar (1025) e voltar (1026), com fluxo 100% interno ao SDK.

Processo isolado

Invalidação de sessão quando o processo do kernel é reiniciado pelo SO, evitando o erro 2042.

CNPJ alfanumérico

Suporte à nova norma com detecção restrita aos dígitos raiz e validação para ExternalSeller.

PinTheme

Personalização completa do teclado de senha através do objeto PinTheme, exposto em TapOnPhoneTheme.pinTheme. Consulte Customização do teclado PIN.

Cancelamento de transação pelo usuário

O cancelamento durante o pagamento agora tem tratamento explícito e diferenciado:

AçãoCódigoMensagem
Botão fechar (X)1025Transação cancelada pelo botão fechar. Tente novamente.
Botão voltar (gesto)1026Transação cancelada pelo botão voltar. Tente novamente.
⚠️

O fluxo de back/cancelamento agora é 100% interno ao SDK — o integrador não deve interceptar o botão voltar nem sobrescrever as activities do SDK (fora do contrato).

Recuperação de processo isolado

A sessão é invalidada quando o processo do kernel é reiniciado pelo sistema operacional, evitando o erro 2042 (terminal disposed) após o kill do processo. Esse cenário ganhou códigos específicos: 2042, 2044 e 2046.

Novos códigos de erro

CódigoDescrição
1025Transação cancelada pelo botão fechar
1026Transação cancelada pelo botão voltar
2042Terminal disposed — Terminal dispose. Create a new terminal.
2044Falha na ativação da sessão (processo isolado)
2046Falha ao preparar o terminal (processo isolado)

Mensagens revisadas

Códigos que já existiam e receberam mensagem final ou revisada:

CódigoNova mensagem
1000Terminal não inicializado — execute initialize antes de pagar/ativar sessão
1012Timeout na inicialização do Kernel SDK
1019Valor da transação acima do limite máximo permitido
1020planId inválido (deve ter entre 1 e 52 caracteres)
1021Valor de cobrança inválido (deve ser maior ou igual a zero)
1022Tap to Pay não está pronto

Código migrado

CódigoMudança
2043Erro NFC migrado de 2040 para 2043 (elimina conflito com o timeout de criação do terminal)

Norma técnica — CNPJ alfanumérico

Ajuste para a nova norma de CNPJ alfanumérico: detecção restrita aos dígitos raiz e validação para ExternalSeller.

2.3.2


03 de Junho de 2026

Instalação

Adicione a dependência no build.gradle:

releaseImplementation("com.zoop.sdk:taponphone-production-release:2.3.2")

Release Notes

Essa versão traz um ajuste no Sensory Branding da Visa ao finalizar o pagamento

2.3.1


15 de Abril de 2026

Instalação

Adicione a dependência no build.gradle:

releaseImplementation("com.zoop.sdk:taponphone-production-release:2.3.1")

Release Notes

Essa versão introduz Multiseller, suporte a sandbox, orientação landscape e melhorias em diagnóstico de erros.

Principais alterações

Multiseller

Vários sellers compartilham a mesma configuração do SDK. Troque de seller em runtime sem reiniciar.

Sandbox

Valide o funcionamento em ambiente de testes fora da loja com a dependência dedicada.

Landscape

Suporte à orientação paisagem nas telas do SDK.

Diagnóstico

Campo kernelRedactLog no payload de erro para auxiliar suporte.


Multiseller

Modo em que vários sellers podem usar a mesma configuração do SDK:

  • O seller deixa de ser obrigatório no setConfig e passa a ser informado no initialize.
  • Permite trocar de seller em runtime com uma nova chamada a initialize, sem reiniciar o SDK e sem novo setConfig.

Saiba mais em Multiseller.

Novos códigos de erro

CódigoDescrição
2040Timeout na criação do terminal no kernel — Creating terminal timed out. Terminal creation exceeded the allowed time limit.
1023Seller não informado na inicialização em modo multiseller — seller not provided on initialization.
1024Tentativa de alterar o seller no initialize quando ele já está definido no setConfigseller cannot be changed in initialize when already set in setConfig.

Consulte Criação de terminal e Multiseller.

kernelRedactLog

Adicionado ao payload de onError o campo kernelRedactLog, contendo mensagens de log da operação (padrão e redatadas) para auxiliar diagnóstico e suporte.

⚠️

Trate o conteúdo de kernelRedactLog como dado sensível. Não exponha em logs públicos ou interfaces de usuário.

Orientação Landscape

Adicionado suporte à orientação paisagem nas telas do SDK através da configuração SdkConfig.allowLandscape.

Detalhes em Orientação landscape.

Sandbox

Adicionado suporte ao modo sandbox com a dependência dedicada no Gradle, permitindo validar o funcionamento em ambiente de testes fora da loja:

debugImplementation("com.zoop.sdk:taponphone-sandbox-debug:2.3.1")

Consulte Ambiente de Sandbox e Adicionar ao Projeto.

2.1.3


14 de janeiro de 2026

Instalação

Adicione a dependência no build.gradle:

releaseImplementation("com.zoop.sdk:taponphone-production-release:2.1.3")

Release Notes

Essa versão introduz uma arquitetura reformulada com a classe TapOnPhone como singleton e com 3 etapas simples (kernelInitializesetConfigpay), além de Device Attestation com tratamento detalhado de erros de integridade e códigos de erro específicos.

💡

O uso como singleton garante uma única instância do SDK em toda a aplicação, evitando conflitos de estado, múltiplas inicializações do terminal e problemas de concorrência, além de simplificar o gerenciamento de recursos e melhorar a performance.

Principais melhorias:

  • Criação da sessão de forma separada do pagamento
  • Sistema unificado de tratamento de erros com ErrorResponse
  • Callbacks de eventos obrigatórios em todos os métodos
  • Melhorias em logging e métricas
  • Tratamento aprimorado de erros NFC
  • Correção de bugs

Did this page help you?