PGWebLib Android v4.1.63.16
Documentação da PGWebLib Android.
Fluxograma de uso
Devido à s diferenças de arquitetura entre a biblioteca Android e a implementação original da PGWebLib (em linguagem C), algumas alterações foram efetuadas no fluxo, de maneira a simplificar a integração com Automações, utilizando os recursos de uma linguagem mais alto nÃvel.-
Inicialmente, deve ser instanciado um objeto do tipo PGWebLibImpl, que implementa a
interface
PGWebLib. -
Antes de qualquer operação, deve ser chamado o método
. Esta chamada deve ser efetuada uma única vez.
invalid @link
br.com.setis.pgweblib.PGWebLib#init() -
Para iniciar uma transação, deve ser chamado o método
PGWebLib.newTransaction(byte), informando também o tipo de operação a ser realizada. -
Para informar os dados necessários para a transação, bem como dados pré-capturados, a
automação pode criar um
Mapcom um par identificador(short) x valor(String), informando todos os parâmetros de uma só vez para o métodoPGWebLib.addParameters(Map) -
A automação então chama
uma única vez, para executar a transação. A partir daÃ, todas as iterações necessárias serão notificadas através do listener passado como parâmetro:
invalid @link
br.com.setis.pgweblib.PGWebLib#executeTransaction(br.com.setis.pgweblib.entidades.TransactionListener)-
Cada vez que a biblioteca necessitar de um novo dado para prosseguir a transação,
será
invocado o callback
TransactionListener.onMoreData(GetData[]), com os parâmetros de captura. A automação deve adicioná-los, utilizando o métodoPGWebLib.addParameters(Map). -
Caso a biblioteca necessite efetuar uma captura com PIN-Pad, será invocado o
callback
TransactionListener.onPinpadCommand(int, boolean, String). Neste cenário a automação não precisa fazer nada, a não ser retornar uma implementação dePinpadListenerpara notificação do andamento da captura. -
Durante o processamento da transação, a automação pode, a qualquer momento,
interromper uma transação (caso esteja sendo feita uma captura no PIN-Pad, será
necessário invocar o comando
PGWPinpad.abort()). Neste caso, cabe a automação checar se a transação necessita ou não de confirmação, e efetuar seu devido desfazimento, através do métodoPGWebLib.confirmation(br.com.setis.pgweblib.entidades.ConfirmationParams). -
Ao final de uma transação, seja ela com sucesso ou não, é invocado o método
TransactionListener.onTransactionFinished(int).
-
Cada vez que a biblioteca necessitar de um novo dado para prosseguir a transação,
será
invocado o callback
-
Finalizada a transação, a automação pode obter todas as informações relevantes através de
PGWebLib.getResult(Short). Caso seu resultado seja PWRET_OK, a transação foi realizada com êxito, e todos os processos de finalização (impressão de comprovantes, liberação de mercadorias, atualizações de dados, etc.) podem ser efetuados. Caso requerido pela transação, deve ser efetuada a confirmação ou desfazimento da transação, através dePGWebLib.confirmation(br.com.setis.pgweblib.entidades.ConfirmationParams). - Para mais detalhes sobre parâmetros, identificadores, códigos de retorno e outros detalhes da implementação, consultar o documento "Pay&Go Web - Especificação de Integração (LibC)", anexo à este documento.
Packages
Package
Description