Migração SDK 2.0.x para o novo SDK 2.1.8
A nova versão 2.1.8 do SDK Android corresponde a melhorias e ajustes sendo liberados publicamente em junho/2021.
Melhoria e ajustes no SDK 2.1.8:
-
Melhor comunicação com o backend Zoop. O novo suporte as operações "pós-charge" torna o SDK Android mais confiável, resiliente a erros e mais performático na resposta da operação;
-
Melhor gerenciamento das conexões de rede e bluetooth;
-
Melhora no serviço de mensagens de recibo via SMS;
-
Melhora na segurança de dados sensíveis;
-
Compatibilidade, 100% com novo adquirente REDE;
-
Suporte completo às operações de cobrança tipo voucher (VR e Alelo);
-
Novo formato Android Library (AAR) mais moderno, seguro e adequado aos requerimentos da Google PlayStore;
-
Recuperação de todas as configurações de backoffice do marketplace/seller de forma segura;
-
Correção de diversos bugs menores, tornando a experiência de uso do SDK mais fluída e resiliente.
O que devo considerar ao migrar para o novo SDK?
Este método será requerido para receber a listagem de transações Pix , mas já deve estar marcado no código como implementado, ainda que vazio neste primeiro momento.
- Indicador "conexão liberada". Este indicador recebido via callback do método showMessage() da activity que implementa a interface ApplicationDisplayLister que indica o ponto exato em que a operação no backend está dada como concluída (sucesso ou falha), e o SDK já executou a desconexão segura do backend e o encerramento da maquininha (terminal), não havendo mais nenhuma operação restante a ser executada. Com isto é possível seguramente seguir com o processo no seu app sem correr risco de que alguma operação tenha ficado pendente no SDK. Este é um indicador "opcional", sem a necessidade de depender deste, mantendo a forma como monitora atualmente a finalização da operação retornada pelo SDK (seja observando mensagem de remover cartão ou imediatamente após o recebimendo do callback paymentSucess/paymentFailed/voidSucess/voidFailed), entretanto, caso use o SDK como "bridge" com outra aplicação híbrida (por exemplo, React native) poderá ter no uso deste indicador um ponto seguro para interrupção da tarefa de pagamento, e o retorno seguro para seu aplicativo.
Sobre o controle de pagamento em duplicidade
Atenção:
os métodos paymentDuplicated() e paymentPending() que estavam implemetandos na release anterior a 2.1.8 estão obsoletos agora e devem ser comentados no seu código.
Caso você tenha feito uso deles anteriormente, o tratamento do controle de duplicidade agora está sendo feito diretamente no listener do método paymentFailed() como os demais casos de falha/negação.
Lembre que para usar o controle de duplicidade é necessário o marketplace habilitar o flag de controle no sistema BackOffice. Uma vez habilitado todo pagamento realizado como o mesmo cartão, mesmo valor e mesmo método de cobrança dentro de 1 minuto após a última venda será considerado como duplicidade e negado. Esta feature só faz esse controle se especificamente liberada/habilitada no backoffice, do contrário o comportamento padrão é executar uma nova transação sem restrição.
Nota sobre Pix:
Atenção, apesar do suporte a Pix estar oficialmente disponível somente a partir da próxima release (2.2.0) deste SDK, você precisa incluir os seguintes ajustes com métodos vazios (sem código) na sua activity que implementa as interfaces TerminalPaymentListener e VoidTransactionListener:
Na sua activity que implementa a Interface TerminalPaymentListener, que você já usa para a função de charge, você precisará implementar os métodos:
@Override
void pixPaymentSuccessful(JSONObject jo) {}
@Override
void pixPaymentFailed(JSONObject jo) {}Na activity que implementa a interface VoidTransactionListener, que é utilizada para a função de estorno, será necessário implementar o método:
@Override
public void voidPixTransactionList(JSONObject jo) {}Caso não implemente estes métodos de corpo vazio, você receberá um erro durante o build do seu projeto.
Updated 7 months ago