Você está na página 1de 11

AUTTARPAYMENTSDK

MANUAL DE INTEGRAÇÃO
CUSTOMVIEW

VERSÃO 1.3

Este documento contém aspectos confidenciais e estratégicos da empresa Auttar, os quais foram entregues em
caráter restrito, não podendo ser distribuído, copiado ou divulgado a terceiros sem autorização prévia da mesma
Controle de Versão

Versão Data Autor Descrição


01.00 23/07/18 Eduardo Santos

01.01 31/07/18 Eduardo Santos Definição do comando abort

01.02 09/08/18 Eduardo Santos Definição do CustomData

01.03 30/07/20 Michel Martinez Inclusão do Qr Code

Aprovação do Documento

Nome Cargo Data Assinatura

AuttarPaymentSDK Android-CustomView-v.1.3.doc 2/11


Índice
1 OBJETIVO ............................................................................................................................................................. 4
2 CUSTOMVIEWCTFCLIENTACTIVITY........................................................................................................................ 4
2.1 MÉTODOS .................................................................................................................................................................. 4
2.1.1 onOk .............................................................................................................................................................. 4
2.1.2 onCancel........................................................................................................................................................ 5
2.1.3 init ................................................................................................................................................................. 5
2.2 MÉTODOS CUSTOMIZÁVEIS ............................................................................................................................................ 5
2.2.1 onShowDisplay .............................................................................................................................................. 6
2.2.2 onShowDataCapture ..................................................................................................................................... 6
2.2.3 onShowMenu ................................................................................................................................................ 6
2.2.4 onShowQuestionAbort.................................................................................................................................. 7
2.2.5 onShowConfirmationButtons ....................................................................................................................... 7
2.2.6 onShowKeyboard .......................................................................................................................................... 7
2.2.7 onClean ......................................................................................................................................................... 8
2.2.8 onAbort ......................................................................................................................................................... 8
2.2.9 showQrCode.................................................................................................................................................. 8
2.2.10 closeQrCode .................................................................................................................................................. 9
2.3 CLASSES ................................................................................................................................................................... 10
2.3.1 Result .......................................................................................................................................................... 10
2.3.2 MenuResult ................................................................................................................................................. 10
2.3.3 InputType .................................................................................................................................................... 11

AuttarPaymentSDK Android-CustomView-v.1.3.doc 3/11


1 Objetivo
Este documento descreve o processo de integração com a CustomViewCTFClientActivity que
possibilita a customização da UI de captura do SDK AuttarPaymentSDK.

Esse documento é compatível com versões da AuttarPaymentSDK igual ou superior a 2.1.7

2 CustomViewCTFClientActivity
Para customizar a UI de captura é necessário especializar a CustomViewCTFClientActivity e
implementar os métodos abstratos que definem cada comportamento da interação com o
usuário.

A configuração da CustomView deve ser realizada através da instância da LibCTFClient, que


disponibiliza o método setCustomViewCTFClient(Class).

Caso a CustomView necessite receber dados adicionais para compor a UI, é possivel fornecer
esses dados com ajuda do setCustomData, disponivel na instância da LibCTFClient.IntentBuilder
e que recebe como parâmetro, tipos que implementam android.os.Parcelable. Para recuperar
os dados dentro da CustomView, devemos utilizar o getCustomData().

Observação:
• Se a implementação da CustomView sobrescrever os métodos onBackPressed, onResume
e onDestroy, ela deve obrigatoriamente realizar a chamada para o super de cada
método.
• A CustomView não suporta rotação da tela, sendo assim, a orientação da tela deve ser
travada (landacape ou portrait) antes da execução do método init().

2.1 Métodos

Os métodos a seguir são disponibilizados para complementar as funcionalidades de


customização da UI. Contudo, não podem ser modificados, uma vez que são responsáveis por
aspectos internos do SDK e seu fluxo de integração.

2.1.1 onOk
Utilizado para indicar ao SDK que o usuário já finalizou a entrada de dados. Logo a seguir, será
apresentado o método onShowDataCapture que descreve o comportamento do componente

AuttarPaymentSDK Android-CustomView-v.1.3.doc 4/11


de entrada de dados. Esse componente está associado ao teclado default do Android ou uma
customização, que em conjunto, possibilita interagir com o usuário.

Dessa forma, o método onOk deve ser associado ao botão “Enter” ou equivalente, que por sua
vez, deve sempre ser acionado para indicar ao SDK que ele deve recuperar os dados imputados
pelo usuário.

2.1.2 onCancel
Utilizado para indicar ao SDK que o usuário não deseja informar os dados solicitados. Deve ser
associado a um componente visual que possibilite essa ação. Ex.: botão no display ou botão
físico (voltar).

2.1.3 init
Responsável por iniciar os demais componentes de integração e UI do SDK. Deve ser solicitado
apenas quando todos os componentes de UI customizáveis estiverem prontos para execução.

Com a execução do método init, o SDK entende que deve iniciar o processamento e passa a
controlar todos os componentes que foram customizados pelo integrador.

O método init deve receber como parâmetro uma instancia do componente que será utilizado
para capturar dados do usuário.

A UI customizada deve iniciar o processamento da AuttarPaymentSDK com os componentes


visuais ocultos ou desabilitados, dependendo da implementação adotada.

2.2 Métodos customizáveis

Os métodos customizáveis compreendem o conjunto de controles de UI que podem ser


implementados pelo integrador para modificar o comportamento de UI da SDK.

Os componentes modificados pela customização são: display, menu, teclado, componente de


captura, botões de confirmação.

A seguir, serão apresentados os métodos abstratos que devem ser implementados para

AuttarPaymentSDK Android-CustomView-v.1.3.doc 5/11


compor a customização de UI.

2.2.1 onShowDisplay
Responsável por exibir mensagens ao operador. O componente de display deve ser
implementado de forma independente dos demais componentes, uma vez que ele
complementa outros aspectos da interação com usuário. Ex.: Exibir uma mensagem ao usuário
ou associado a captura do número de parcelas enquanto aguardar uma confirmação do
usuário.

2.2.2 onShowDataCapture
Responsável por indicar se o componente de captura de dados deve ser exibido ou ocultado. O
componente de captura deve ser um componente EditText ou um componente personalizado
que especialize o EditText.

Para garantir o correto funcionamento do tratamento de captura da SDK, onde as máscaras de


entrada são documentadas e certificadas pelas adquirentes, o componente deve ser
customizado apenas em relação ao seu aspecto visual e todo controle deve ser delegado para a
SDK. Dessa forma, o componente deve ser inicializado e sua referência passada para o método
init(EditText).

2.2.3 onShowMenu
Responsável por exibir um menu de seleção para o usuário. O menu deve conter o título
passado no parâmetro do método e a lista de opção, onde a seleção do usuário deve ser
indicada através da instancia do MenuResult.

AuttarPaymentSDK Android-CustomView-v.1.3.doc 6/11


2.2.4 onShowQuestionAbort
Responsável por exibir de forma bloqueante um questionamento ao operador, onde ele deve
confirmar se realmente deseja executar aquela ação. Normalmente será solicitado pelo SDK
quando o método onBackPressed da Activity for executado.

2.2.5 onShowConfirmationButtons
Responsável em exibir um componente para confirmação de dados. O componente deve
compor 2 botões (Confirmar e Cancelar). Normalmente utilizado para solicitar ao usuário que
ele concorde ou indique confirmação dos dados apresentado.

Na maioria das vezes, será precedido da execução do onShowDisplay, dessa forma, a


customização da UI deve prever que o controle de confirmação não sobrescreva visualmente o
componente de display.

O método será requisitado sempre que o SDK identificar que o controle de confirmação deve
ser exibido ou ocultado. Conforme mencionado anteriormente, o componente deve
disponibilizar botões de ação, onde seu estado (visível ou oculto) é controlado de forma
individual.

Após ação do usuário, o botão deve ser ocultado automaticamente. Ou seja, ao clicar no botão
“confirmar ou cancelar” o componente deve ser ocultado, sem aguardar uma ação do SDK.

2.2.6 onShowKeyboard
Responsável por indicar se o teclado deve ser exibido ao usuário. A implementação desse
método pode não ser aplicável para algumas customizações de UI. Ex.: Customizações onde o

AuttarPaymentSDK Android-CustomView-v.1.3.doc 7/11


teclado é definido como fixo.

Porém, mesmo com a definição de um teclado fixo, se for o caso, a implementação não deverá
ignorar o parâmetro inputType, que define o layout do teclado para captura de dados.

2.2.7 onClean
Responsável por “limpar” o componente de display modificado pelo onShowDisplay. O SDK
pode solicitar a execução do onClean combinado com um conjunto de interações com o
usuário. Ex.: Antes da execução do onShowDisplay ou antes do onShowMenu.

2.2.8 onAbort
Permite sinalizar para o SDK uma intenção de abort da operação em execução. Atualmente, o
SDK irá iniciar o processo de abort apenas durante o processamento da leitura do cartão ou
senha.
O processamento do abort não é 100% garantido, uma vez que depende da execução da
máquina de estado do SDK. Quando a solicitação de abort for elegível, o SDK irá retornar true.
Contudo, esse retorno apenas indica que a intenção foi aceita.

Observação:
A rotina de abort deve ser utilizada apenas quando for necessário forçar uma interrupção do
processamento do SDK. Essa rotina foi disponibilizada para atender soluções de ATM, onde
existe a necessita de recuperar o controle do processamento, uma vez, que o usuário
abandonou a operação durante o fluxo de leitura do cartão, por exemplo.

2.2.9 showQrCode
Método responsável por exibir a imagem QR Code nas transações com QR Code. O método
possuí a seguinte assinatura:

void showQrCode(Bitmap image, String pinCode, String transactionValue, String


transactionType);

Parâmetros:
• image: Um Bitmap, possui a imagem do QR Code em si, devendo ser exibida em tela
obrigatoriamente para poder seguir com a transação.
• pinCode: String com o código para transações QR Code digitadas, aceita somente por
alguns wallets. É uma segunda opção para este tipo de transações, a preferência é o uso

AuttarPaymentSDK Android-CustomView-v.1.3.doc 8/11


da imagem, porém este código pode ser exibido junto na mesma tela com QR Code;
• transactionValue: String com o valor monetário da transação já formatado, devendo ser
exibida com o QR Code.
• transactionType: String retorna o tipo de transação podendo ser crédito, débito ou
cancelamento por exemplo.

Segue um exemplo com o posicionamento da imagem e textos:

2.2.10 closeQrCode
Método chamado após a conclusão ou fim do tempo para a leitura do QR Code exibido pela
showQrCode este por sua vez deve remover a tela de QR Code, seja ela uma Activity ou um
Dialog.

AuttarPaymentSDK Android-CustomView-v.1.3.doc 9/11


2.3 Classes

A seguir, serão apresentadas as classes complementares que utilizaremos para controlar o


comportamento do SDK.

2.3.1 Result
Interface que representa a decisão do usuário.

2.3.2 MenuResult

Interface que representa a seleção do usuário nas interações de menu.

AuttarPaymentSDK Android-CustomView-v.1.3.doc 10/11


2.3.3 InputType

Enum que indica o layout do teclado que deve ser utilizado para capturar os dados de entradas.
Atualmente, o SDK suporta apenas captura com teclado numérico.

AuttarPaymentSDK Android-CustomView-v.1.3.doc 11/11

Você também pode gostar