Providers - Android
Esta página irá apresentar os principais métodos disponíveis para a integração dos terminais Minizinha, Moderninha PRO e WIFI com o sistema operacional Android, assim como alguns exemplos de aplicações. Esta apresentação está dividida em duas partes, sendo a primeira a respeito do terminal Minizinha e a segunda dos terminais Moderninha PRO e WIFI. Clique aquipara ser direcionado à seção dos terminais Moderninha PRO e WIFI.
Minizinha
Esta seção irá apresentar métodos e exemplos de aplicação destes métodos para o terminal PagBank Minizinha.
Métodos
Nesta tabela você encontra a lista completa de métodos, retornos e suas descrições para a integração com seu terminal.
Métodos | Retorno | Descrição |
---|---|---|
initBTConnection | Int | Configura a conexão bluetooth utilizando os dados de deviceInformation. |
isAuthenticated | Boolean | Verifica se há um usuário autenticado. |
invalidateAuthentication | Void | Invalida uma autenticação. Equivalente a realizar um logout |
requestAuthentication | Void | Solicita autenticação. Para realizar autenticação, uma Activity será aberta utilizando o método Activity.startActivityForResult(Intent, int). |
setEventListener | Void | Armazena a referência de uma instância de interface que receberá os eventos gerados durante as transações. Os eventos são gerados apenas para transações feitas utilizando um leitor. |
doPayment | PlugPagTransactionResult | Efetua um pagamento. |
voidPayment | PlugPagTransactionResult | Efetua um estorno. |
abort | PlugPagAbortResult | Solicita o cancelamento da operação atual. O cancelamento da transação não ocorre instantaneamente, pois depende das ações que estão sendo executadas. |
getVersionLib | String | Retorna a versão da biblioteca PlugPag. |
setVersionName | Int | Define o nome e a versão do aplicativo que está integrando com o PlugPag. |
Documentação
Para mais detalhes sobre os métodos disponíveis você pode baixar a documentação completa.
Exemplos da aplicação
A seguir você encontra exemplos da aplicação dos métodos apresentados anteriormente.
Efetuando uma solicitação de pagamento
Para efetuar uma chamada para o seu terminal, você deve utilizar o método doPayment
. Veja abaixo alguns exemplos de uma solicitação de venda.
public void startPayment(Context context) {
// Define o terminal ou leitor que será utilizado para transação
String deviceIdentification = "Nome ou MAC address do leitor/pinpad";
PlugPagDevice device = new PlugPagDevice(deviceIdentification);
// Define os dados do pagamento
PlugPagPaymentData paymentData =
new PlugPagPaymentData(
PlugPag.TYPE_CREDITO,
25000,
PlugPag.INSTALLMENT_TYPE_A_VISTA,
1,
"CODVENDA");
// Cria a identificação do aplicativo
PlugPagAppIdentification appIdentification =
new PlugPagAppIdentification("MeuApp", "1.0.0");
// Cria a referência do PlugPag
PlugPag plugpag = new PlugPag(context, appIdentification);
// Prepara conexão bluetooth e faz o pagamento
int initResult = plugpag.initBTConnection(device);
if (initResult == PlugPag.RET_OK) {
PlugPagTransactionResult result = plugpag.doPayment(paymentData);
// Trata o resultado da transação
...
}
}
public void startPayment(Context context) {
// Define o terminal ou leitor que será utilizado para transação
String deviceIdentification = "Nome ou MAC address do leitor/pinpad";
PlugPagDevice device = new PlugPagDevice(deviceIdentification);
// Define os dados do pagamento
PlugPagPaymentData paymentData =
new PlugPagPaymentData(
PlugPag.TYPE_CREDITO,
30000,
PlugPag.INSTALLMENT_TYPE_PARC_VENDEDOR,
3,
"CODVENDA");
// Cria a identificação do aplicativo
PlugPagAppIdentification appIdentification =
new PlugPagAppIdentification("MeuApp", "1.0.0");
// Cria a referência do PlugPag
PlugPag plugpag = new PlugPag(context, appIdentification);
// Prepara conexão bluetooth e faz o pagamento
int initResult = plugpag.initBTConnection(device);
if (initResult == PlugPag.RET_OK) {
PlugPagTransactionResult result = plugpag.doPayment(paymentData);
// Trata o resultado da transação
...
}
}
Estornando uma transação
O exemplo abaixo demonstra como iniciar uma transação de estorno no terminal.
public void voidPayment(Context context) {
// Define o terminal ou leitor que será utilizado para transação
String deviceIdentification = "Nome ou MAC address do leitor/pinpad";
PlugPagDevice device = new PlugPagDevice(deviceIdentification);
// Define os dados do estorno
PlugPagVoidData voidData =
new PlugPagVoidData
.Builder()
.setTransactionCode("transactionCode")
.setTransactionId("transactionId")
.build();
// Cria a identificação do aplicativo
PlugPagAppIdentification appIdentification =
new PlugPagAppIdentification("MeuApp", "1.0.0");
// Cria a referência do PlugPag
PlugPag plugpag = new PlugPag(context, appIdentification);
// Prepara conexão bluetooth e faz o pagamento
int initResult = plugpag.initBTConnection(device);
if (initResult == PlugPag.RET_OK) {
PlugPagTransactionResult result = plugpag.voidPayment(voidData);
// Trata o resultado do estorno
...
}
}
Solicitar autenticação
O exemplo abaixo demonstra como solicitar uma autenticação no terminal.
public void showAuthenticationActivity(Activity activity) {
// Cria a identificação do aplicativo
PlugPagAppIdentification appIdentification =
new PlugPagAppIdentification("MeuApp", "1.0.0");
// Cria a referência do PlugPag
PlugPag plugpag = new PlugPag(activity, appIdentification);
// Solicita autenticação
plugpag.requestAuthentication(activity);
...
}
Moderninha PRO e WIFI
Esta seção irá apresentar métodos e exemplos de aplicação destes métodos para os terminais PagBank Moderninha PRO e WIFI.
Métodos
Nesta tabela você encontra a lista completa de métodos, retornos e suas descrições para a integração com seu terminal.
Método | Retorno | Descrição |
---|---|---|
GetVersionLib | String | Retorna uma string null terminated com a versão da biblioteca de integração. |
SetVersionName | Int | Seta o nome e versão da aplicação que está utilizando a PlugPag. É MANDATÓRIO que esta função seja chamada antes de se realizar qualquer transação. |
InitBTConnection | Nenhum | Inicializa a comunicação bluetooth utilizando o dispositivo padrão do aparelho Android. |
SimplePaymentTransaction | Int | Inicia a transação de venda. Em caso de sucesso, retorna os dados da transação numa estrutura. |
CancelTransaction | Int | Inicia a transação de estorno. Em caso de sucesso, retorna os dados da transação numa estrutura |
GetLastApprovedTransactionStatus | Int | Verifica qual foi a última transação com sucesso feita pelo terminal. |
getRawBuffer | Byte[] | Retorna o buffer recebido como resultado da última comunicação via bluetooth. |
getMessage | Nenhum | Retorna a mensagem resultante da transação (ISO-8859-1/Latin-1). |
getTransactionCode | String | Retorna o transaction code obtido pela última chamada de SimplePaymentTransaction ou GetLastApprovedTransaction. |
getDate | String | Retorna a data da transação da última chamada de SimplePayment ou GetLastApprovedTransaction no formato “yyyy-mm-dd”. |
getTime | String | Retorna a hora da transação da última chamada de SimplePayment ou GetLastApprovedTransaction no formato “hh:mm:ss” |
getHostNsu | String | Retorna o NSU do host obtido pela última chamada de SimplePaymentTransaction, GetLastApprovedTransaction ou CancelTransaction. |
getCardBrand | String | Retorna a bandeira do cartão da transação da última chamada de SimplePayment ou GetLastApprovedTransaction. |
getBin | String | Retorna os 6 primeiros dígitos do cartão da última transação de sucesso. |
getHolder | String | Retorna os 4 últimos dígitos do cartão da última transação de sucesso. |
getTerminalSerialNumber | String | Retorna o número de série do terminal que realizou a última transação. |
Documentação
Para mais detalhes você pode baixar a documentação completa
Efetuando uma solicitação de pagamento
Para efetuar uma chamada para o terminal, você deve utilizar o método SimplePaymentTransaction
. Veja abaixo alguns exemplos de uma solicitação de venda.
int ret;
// Transação de 12,34
String amount = "1234";
// A Vista, 1 Parcela
int installmentType = PlugPag.A_VISTA;
int installment = 1;
// Transação crédito
int method = PlugPag.CREDIT;
// Meu código de venda é “CODIGVENDA”
String codigoVenda = ”CODIGVENDA”;
PlugPag plugPag = new PlugPag();
plugPag.InitBTConnection();
pugPag.SetVersionName("MyApp", "R001");
ret = plugPag.SimplePaymentTransaction(
method,
installmentType,
installment,
amount,
codigoVenda);
String date = plugPag.getDate();
String time = plugPag.getTime();
String cardBrand = plugPag.getCardBrand();
int ret;
// Transação de 1208,34
String amount = "128034";
// 7 Parcelas
int installmentType = PlugPag.PARC_VENDEDOR;
int installment = 7;
// Transação crédito
int method = PlugPag.CREDIT;
// Meu código de venda é “CODIGVENDA”
String codigoVenda = ”CODIGVENDA”;
PlugPag plugPag = new PlugPag();
plugPag.InitBTConnection();
pugPag.SetVersionName("MyApp", "R001");
ret = plugPag.SimplePaymentTransaction(
method,
installmentType,
installment,
amount,
codigoVenda);
String date = plugPag.getDate();
String time = plugPag.getTime();
String cardBrand = plugPag.getCardBrand();
Estornando uma transação
O exemplo abaixo demonstra como iniciar uma transação de estorno no terminal.
PlugPag plugPag = new PlugPag();
plugPag.InitBTConnection();
ret = plugPag.CancelTransaction();
Consultando a última transação
O exemplo abaixo demonstra como consultar a última transação aprovada no terminal.
PlugPag plugPag = new PlugPag();
plugPag.InitBTConnection();
ret = plugPag.GetLastApprovedTransactionStatus ();
String date = plugPag.getDate();
String time = plugPag.getTime();
String cardBrand = plugPag.getCardBrand();
String hostNsu = plugPag.getHostNsu();
Atenção
Caso exista uma transação em andamento no momento da consulta, a função
GetLastApprovedTransactionStatus()
aguarda a finalização da transação e retorna os dados desta se aprovada (nessessário biblioteca 1.3.0+ e moderninha 3.12+).
Updated 11 months ago