Providers - iOS
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 iOS, 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 | Tipo do Retorno | Descrição |
---|---|---|
getVersionLib | Char | Retorna uma String com a versão da biblioteca PlugPag. |
setInitBTConnection : | PlugPagTransactionResult | Configura a conexão bluetooth utilizando os dados de deviceInformation. |
isAuthenticated | Bool | Verifica se há um usuário autenticado. |
invalidateAuthentication | Void | Invalida uma autenticação. Equivalente a realizar um logout |
requestAuthentication | Void | Solicita autenticação. Uma UIViewController é executada no device para autenticação na conta PagBank. |
doPayment | PlugPagTransactionResult | Inicia a transação de venda. Em caso de sucesso, retorna os dados da transação no objeto PlugPagTransactionResult. |
voidPayment | PlugPagTransactionResult | Inicia a transação de estorno. Em caso de sucesso, retorna os dados da transação no objeto PlugPagTransactionResult. |
getLastApprovedTransaction | PlugPagTransactionResult | Recebe dados da última transação finalizada com sucesso pelo terminal. |
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. |
plugPagAppIdentification: withVersion | Int | Define o nome e a versão do aplicativo que está integrando com o PlugPag |
startScanForPeripherals | Void | Inicia o processo de scanner para encontrar terminais PagBank que estejam próximos. |
pairPeripheral | Void | Inicia o processo de pareamento com o terminal PagBank informado por parametro |
setDelegate | String | Define o delegate do destinatário para um determinado objeto. |
peripheralDiscover | Void | Delegate disparado após a PlugPag encontrar um novo terminal PagBank próximo durante o scanner |
userEventsInterface | Void | Delegate disparado contendo os eventos durante uma transação com pinpad. |
pairPeripheralStatus | Void | Delegate disparado contendo o resultado do pareamento do device iOS com o terminal PagBank. |
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 terminal, você deve utilizar o método doPayment. Veja abaixo alguns exemplos de uma solicitação de venda.
PlugPagDevice *device = [PlugPagDevice new]; // configura o terminal que realizara a transação
device.mPeripheralName = @"PRO-68000001";
[[PlugPag sharedInstance] plugPagAppIdentification:@"MyApp" withVersion:@"R001"];
PlugPagTransactionResult *ret = [[PlugPag sharedInstance]
setInitBTConnection:device];
if (ret.mResult == RET_OK) {
NSString *value = @"1234"; // Transação de R$ 12,34
int numeroParcelas = 1; // Venda, Crédito, A Vista, R$ 12,34
PlugPagPaymentData *data = [PlugPagPaymentData new];
data.mType = CREDIT;
data.mAmount = [value intValue];
data.mInstallmentType = A_VISTA;
data.mInstallment = numeroParcelas;
data.mUserReference = @"CODIGVENDA";
PlugPagTransactionResult *result = [[PlugPag sharedInstance] doPayment:data];
if (result.mResult == RET_OK) {
NSLog(@"%@", result.mMessage);
}
}
PlugPagDevice *device = [PlugPagDevice new]; // configura a maquina que realizara a transação
device.mPeripheralName = @"PRO-68000001";
[[PlugPag sharedInstance] plugPagAppIdentification:@"MyApp" withVersion:@"R001"];
PlugPagTransactionResult *ret = [[PlugPag sharedInstance]
setInitBTConnection:device];
if (ret.mResult == RET_OK) {
NSString *value = @"128034"; // Transação de R$ 1.208,34
int numeroParcelas = 7; // Venda, Crédito, Parcelado Vendedor, 7 parcelas, R$ 1.208,34
PlugPagPaymentData *data = [PlugPagPaymentData new];
data.mType = CREDIT;
data.mAmount = [value intValue];
data.mInstallmentType = PARC_VENDEDOR;
data.mInstallment = numeroParcelas;
data.mUserReference = @"CODIGVENDA";
PlugPagTransactionResult *result = [[PlugPag sharedInstance] doPayment:data];
if (result.mResult == RET_OK) {
NSLog(@"%@", result.mMessage);
}
}
Estornando uma transação
O exemplo abaixo demonstra como iniciar uma transação de estorno no terminal.
PlugPagDevice *device = [PlugPagDevice new]; // configura o terminal que realizara a transação
device.mPeripheralName = @"PRO-68000001";
[[PlugPag sharedInstance] plugPagAppIdentification:@"MyApp" withVersion:@"R001"];
PlugPagTransactionResult *ret = [[PlugPag sharedInstance]
setInitBTConnection:device];
if (ret.mResult == RET_OK) {
PlugPagVoidData *voidData = [PlugPagVoidData new];
voidData.mTransactionId = @"TRANSACTIONID";
voidData.mTransactionCode = @"TRANSACTIONCODE";
PlugPagTransactionResult *result = [[PlugPag sharedInstance]
voidPayment:voidData];
if (result.mResult == RET_OK) {
NSLog(@"%@", result.mMessage);
}
}
Solicitar autenticação
O exemplo abaixo demonstra como solicitar uma autenticação no terminal.
[[PlugPag sharedInstance] plugPagAppIdentification:@"MyApp" withVersion:@"R001"];
[[PlugPag sharedInstance] requestAuthentication:self];
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 | Const Char* | Retorna uma const char com a versão da biblioteca de integração. |
SetVersionName: withVersion | 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 | Int | Inicializa a comunicação bluetooth utilizando o dispositivo padrão do aparelho iOS. |
SimplePaymentTransaction: withInstallmentType: endInstallments: endAmount | 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. |
SetModel | Nenhum | Seta o modelo do terminal PagBank que a PlugPag vai parear e conectar via bluetooth |
SetPeripheralName | Nenhum | Seta o ID do terminal PagBank que a PlugPag vai parear e conectar via Bluetooth (O ID pode ser encontrado ao pressionar a tecla '0' no terminal). |
SetPeripheral:withName | Nenhum | Seta o modelo do terminal e o ID do terminal PagBank que a PlugPag vai parear e conectar via Bluetooth. |
GetListModels | NSArray (NSArray de Strings) | Retorna uma lista de modelos de terminais PagSeguro disponível para pareamento via Bluetooth. |
GetListPeripheral | NSArray (NSArray de Strings) | Retorna uma lista de terminais PagBank disponíveis para pareamento via Bluetooth de acordo com o modelo selecionado. Limitação: Deve ser Chamado após ter informado o modelo desejado através do método SetModel |
GetPairPeripheralStatus | Int | Retorna o status do pareamento Bluetooth, sendo 3 status possíveis: PAIR_STATE_PROCESSING, PAIR_STATE_OK ou PAIR_STATE_FAIL. |
Baixe a 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 terminal, você deve utilizar o método SimplePaymentTransaction
. Veja abaixo alguns exemplos de uma solicitação de venda.
[[PlugPag sharedInstance] SetVersionName:@"MyApp" withVersion:@"R001"];
int ret = [[PlugPag sharedInstance] InitBTConnection];
if (ret == RET_OK) {
// Transação de 12,34
NSString * value = @"1234";
// Venda, Crédito, A Vista, R$ 12,34
ret = [[PlugPag sharedInstance] SimplePaymentTransaction:CREDIT withInstallmentType:A_VISTA andInstallments:1 andAmount:value andUserReference:@"CODIGVENDA"];
if (ret == RET_OK) {
_txtResultado.text = @"Transação realizada com sucesso";
}else{
_txtResultado.text = [NSString stringWithFormat:@"Erro: %d", ret];
}
}else{
_txtResultado.text = [NSString stringWithFormat:@"Erro: %d", ret];
}
[[PlugPag sharedInstance] SetVersionName:@"MyApp" withVersion:@"R001"];
int ret = [[PlugPag sharedInstance] InitBTConnection];
if (ret == RET_OK) {
// Transação de 1208,34
NSString * value = @"128034";
// A vista, 7 parcelas
int numeroParcelas = 7;
// Venda, Crédito, Parcelado Vendedor, 7 parcelas, R$ 1.208,34
ret = [[PlugPag sharedInstance] SimplePaymentTransaction:CREDIT withInstallmentType:PARC_VENDEDOR andInstallments:numeroParcelas andAmount:value andUserReference:@"CODIGVENDA"];
if (ret == RET_OK) {
_txtResultado.text = @"Transação realizada com sucesso";
}else{
_txtResultado.text = [NSString stringWithFormat:@"Erro: %d", ret];
}
}else{
_txtResultado.text = [NSString stringWithFormat:@"Erro: %d", ret];
}
Estornando uma Transação
O exemplo abaixo demonstra como iniciar uma transação de estorno no terminal.
int ret = [[PlugPag sharedInstance] InitBTConnection];
if (ret == RET_OK) {
// Estorno
ret = [[PlugPag sharedInstance] CancelTransaction];
if (ret == RET_OK) {
_txtResultado.text = @"Estorno realizado com sucesso";
}else{
_txtResultado.text = [NSString stringWithFormat:@"Erro: %d", ret];
}
}else{
_txtResultado.text = [NSString stringWithFormat:@"Erro: %d", ret];
}
Consultando a última transação aprovada
O exemplo abaixo demonstra como consultar a última transação aprovada no terminal.
int ret = [[PlugPag sharedInstance] InitBTConnection];
if (ret == RET_OK) {
// Consulta a última transação
ret = [[PlugPag sharedInstance] GetLastApprovedTransactionStatus];
if (ret == RET_OK) {
NSString *txDate = [PlugPag sharedInstance].date;
NSString *txTime = [PlugPag sharedInstance].time;
NSString *txHost = [PlugPag sharedInstance].hostNsu;
NSString *txCardBrand = [PlugPag sharedInstance].cardBrand;
}else{
_txtResultado.text = [NSString stringWithFormat:@"Erro: %d", ret];
}
}else{
_txtResultado.text = [NSString stringWithFormat:@"Erro: %d", ret];
}
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