These docs are for v1.0. Click to read the latest docs for v4.1.

Exemplos de implementação

Seguem abaixo alguns exemplos de camadas dos métodos do PlugPagService Wrapper para realizar transações.

As formas de fazer as chamadas e de tratar os valores retornados vão depender da implementação do seu aplicativo, porém é importante que sua aplicação controle ações de duplo clique para prevenir que o serviço seja chamado duas vezes.

Pagamento de R$250,00. Credito à vista:

public void startPayment(Context context) {
    // 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.7");
    
    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);
    
    // Ativa terminal e faz o pagamento
    int initResult = plugpag.initializeAndActivatePinpad(new 
    PlugPagActivationData("SEU_CODIGO_DE_ATIVAÇÃO")));
    
    if (initResult == PlugPag.RET_OK) {
        PlugPagTransactionResult result = plugpag.doPayment(paymentData);
        
        // Trata o resultado da transação
        ...
    }
}

Pagamento de R$300. Credito parcelado em 3 :

public void startPayment(Context context) {
    // 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.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);

    // Ativa terminal e faz o pagamento
    int initResult = plugpag.initializeAndActivatePinpad(new 
    PlugPagActivationData("SEU_CODIGO_DE_ATIVAÇÃO")));

    if (initResult == PlugPag.RET_OK) {
        PlugPagTransactionResult result = plugpag.doPayment(paymentData);

        // Trata o resultado da transação
        ...
    }
}

Pagamento de R$150,00. Débito:

public void startPayment(Context context) {
    // Define os dados do pagamento
    PlugPagPaymentData paymentData =
            new PlugPagPaymentData(
                    PlugPag.TYPE_DEBITO,
                    15000,
                    PlugPag.INSTALLMENT_TYPE_A_VISTA,
                    1,
                    "CODVENDA");

    // Cria a identificação do aplicativo
    PlugPagAppIdentification appIdentification =
            new PlugPagAppIdentification("MeuApp", "1.0.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);

    // Ativa terminal e faz o pagamento
    int initResult = plugpag.initializeAndActivatePinpad(new 
    PlugPagActivationData("SEU_CODIGO_DE_ATIVAÇÃO")));

    if (initResult == PlugPag.RET_OK) {
        PlugPagTransactionResult result = plugpag.doPayment(paymentData);

        // Trata o resultado da transação
        ...
    }
}

Pagamento de R$50,00. Voucher:

public void startPayment(Context context) {
    // Define os dados do pagamento
    PlugPagPaymentData paymentData =
            new PlugPagPaymentData(
                    PlugPag.TYPE_VOUCHER,
                    5000,
                    PlugPag.INSTALLMENT_TYPE_A_VISTA,
                    1,
                    "CODVENDA");

    // Cria a identificação do aplicativo
    PlugPagAppIdentification appIdentification =
            new PlugPagAppIdentification("MeuApp", "1.0.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);

    // Ativa terminal e faz o pagamento
    int initResult = plugpag.initializeAndActivatePinpad(new 
    PlugPagActivationData("SEU_CODIGO_DE_ATIVAÇÃO")));

    if (initResult == PlugPag.RET_OK) {
        PlugPagTransactionResult result = plugpag.doPayment(paymentData);

        // Trata o resultado da transação
        ...
    }
}

Pagamento de R$150,00, no débito utilizando pagamento via carnê:

public void startPayment(Context context) {
    // Define os dados do pagamento
    PlugPagPaymentData paymentData =
            new PlugPagPaymentData(
                    PlugPag.TYPE_DEBITO,
                    15000,
                    PlugPag.INSTALLMENT_TYPE_A_VISTA,
                    1,
                    "CODVENDA",
                    true,
                    false,
                    true //Define que o pagamento será via carnê
);
    // Cria a identificação do aplicativo
    PlugPagAppIdentification appIdentification =
    new PlugPagAppIdentification("MeuApp", "1.0.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);

    // Ativa terminal e faz o pagamento
    int initResult = plugpag.initializeAndActivatePinpad(new
            PlugPagActivationData("SEU_CODIGO_DE_ATIVAÇÃO")));

    if (initResult == PlugPag.RET_OK) {
        PlugPagTransactionResult result = plugpag.doPayment(paymentData);

    // Trata o resultado da transação
    ...
    }
}

Pagamento de R$250,00, no crédito, à vista utilizando pagamento parcial:

public void startPayment(Context context) {
    // Define os dados do pagamento
    PlugPagPaymentData paymentData =
            new PlugPagPaymentData(
                    PlugPag.TYPE_CREDITO,
                    25000,
                    PlugPag.INSTALLMENT_TYPE_A_VISTA,
                    1,
                    "CODVENDA",
                    true,
                    true //Define que o pagamento será do tipo parcial false
) ;
    // Cria a identificação do aplicativo
    PlugPagAppIdentification appIdentification =
    new PlugPagAppIdentification("MeuApp", "1.0.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);

    // Ativa terminal e faz o pagamento
    int initResult = plugpag.initializeAndActivatePinpad(new
            PlugPagActivationData("SEU_CODIGO_DE_ATIVAÇÃO")));

    if (initResult == PlugPag.RET_OK) {
        PlugPagTransactionResult result = plugpag.doPayment(paymentData);

    // Trata o resultado da transação
    ...
    }
}

Estorno de um pagamento

public void voidPayment(Context context) {

    // Cria a identificação do aplicativo
    PlugPagAppIdentification appIdentification =
            new PlugPagAppIdentification("MeuApp", "1.0.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);

    // Ativa terminal e faz o pagamento
    int initResult = plugpag.initializeAndActivatePinpad(new 
    PlugPagActivationData("SEU_CODIGO_DE_ATIVAÇÃO")));

    if (initResult == PlugPag.RET_OK) {
        PlugPagTransactionResult result = plugpag.voidPayment(
                          "transactionCode", 
                          "transactionId");

        // Trata o resultado do estorno
        ...
    }
}

Verificar autenticação

public void checkAuthentication(Context context) {
    // Cria a identificação do aplicativo
    PlugPagAppIdentification appIdentification =
            new PlugPagAppIdentification("MeuApp", "1.0.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);

    // Verifica autenticação
    boolean authenticated = plugpag.isAuthenticated();

    if (authenticated) {
        // Usuário autenticado
        ...
    } else {
        // Usúario não autenticado
        ...
    }
}

Invalidar autenticação

public void logout(Context context) {
    // Cria a identificação do aplicativo
    PlugPagAppIdentification appIdentification =
            new PlugPagAppIdentification("MeuApp", "1.0.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);

    // Invalida a autenticação existente
    plugpag.invalidateAuthentication();
    ...
}

Solicitar ativação

public void requestAuth(Activity activity) {
   // Cria a identificação do aplicativo
   PlugPagAppIdentification appIdentification =
          new PlugPagAppIdentification("MeuApp", "1.0.7");
   // Cria a referência do PlugPag
   PlugPag plugPag = new PlugPag(activity, appIdentification);
   // Cria objeto com informação do código de ativação
   PlugPagActivationData plugPagActivationData =
              new PlugPagActivationData("SeuCodigoDeAtivação”);

   // Solicita autenticação
   PlugPagInitializationResult result =
plugPag.initializeAndActivatePinPad(plugPagActivationData);
 
   if(result.getResult() == PlugPag.RET_OK) {
       //Sucesso
   } else {
       //Erro
   }
   ...
}

O resultado da autenticação será retornado através da classe PlugPagInitializationResult.

Se a autenticação for efetuada com sucesso, o método getResult() irá retornar valor igual a PlugPag.RET_OK. Caso contrário, mais informações do erro podem ser encontradas nos métodos getErrorCode() e getErrorMessage().

Obter versão da biblioteca

public void getLibVersion(Context context) {
    // Cria a identificação do aplicativo
    PlugPagAppIdentification appIdentification =
            new PlugPagAppIdentification("MeuApp", "1.0.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);
    
    // Obtém a versão da biblioteca
    String version = plugpag.getLibVersion();
}

Reimpressão da via do estabelecimento

public void reprintStablishmentReceipt() {
    // Cria a identificação do aplicativo
    PlugPagAppIdentification appIdentification =
            new PlugPagAppIdentification("MeuApp", "1.0.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);
    
    // Obtém a versão da biblioteca
    PlugPagPrintResutlt result = plugpag.reprintStablishmentReceipt();
}

Reimpressão da via do cliente

public void reprintCustomerReceipt() {
    // Cria a identificação do aplicativo
    PlugPagAppIdentification appIdentification =
            new PlugPagAppIdentification("MeuApp", "1.0.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification); 
    
    // Obtém a versão da biblioteca
    PlugPagPrintResutlt result = plugpag.reprintCustomerReceipt();
}

Calcular parcelas

public void calculateInstallments() {
    // Cria a identificação do aplicativo
    PlugPagAppIdentification appIdentification =
            new PlugPagAppIdentification("MeuApp", "1.0.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);
    
    // Obtém a versão da biblioteca
    Array<String> installments = plugpag.calculateInstallments(saleValue);
}

O resultado retornado será uma String contendo a quantidade de parcelas permitidas mais o valor de cada parcela, seguindo o padrão “ x R$ ”.

Customizar dialog de impressão da via do cliente

public void startPayment(Context context) {
    // Define os dados do pagamento
    PlugPagPaymentData paymentData =
            new PlugPagPaymentData(
                    PlugPag.TYPE_DEBITO,
                    15000,
                    PlugPag.INSTALLMENT_TYPE_A_VISTA,
                    1,
                    "CODVENDA");

    // Cria a identificação do aplicativo
    PlugPagAppIdentification appIdentification =
            new PlugPagAppIdentification("MeuApp", "1.0.7");

    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context, appIdentification);

   // Cria a customização da dialog de impressão da via do cliente
   PlugPagCustomPrinterLayout customDialog = new                                                         PlugPagCustomPrinterLayout(); 
   customDialog.setTitle("Imprimir via do cliente?");
   customDialog.setButtonBackgroundColor("#00ff33");
   customDialog.setConfirmText("Yes");
   customDialog.setCancelText("No");

    // Ativa terminal e faz o pagamento
    int initResult = plugpag.initializeAndActivatePinpad(new 
    PlugPagActivationData("SEU_CODIGO_DE_ATIVAÇÃO")));

    if (initResult == PlugPag.RET_OK) {
        plugPag.setPlugPagCustomPrinterLayout(customDialog);
        PlugPagTransactionResult result = plugpag.doPayment(paymentData);

        // Trata o resultado da transação
        ...
    }
}

Ler cartão NFC

public void readNFCCard() {
   // Cria a referência do PlugPag
   PlugPag plugpag = new PlugPag(context);
   PlugPagNearFieldCardData dataCard = new PlugPagNearFieldCardData();
   dataCard.setStartSlot(1);
   dataCard.setEndSlot(1);
   
   // Lê um cartão NFC
   PlugPagNFCResult result = plugpag.readFromNFCCard(dataCard);
}

O resultado da autenticação será retornado através da classe PlugPagNFCResult.

Se a autenticação for efetuada com sucesso, o método getResult() irá retornar valor igual
a 1. Do contrário, o método getResult() retornará -1.

Escrever no cartão NFC

public void writeToNFCCard() {
    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context);
 
    String info = "teste_com16bytes";
    byte[] infoBytes = info.getBytes();

    PlugPagNearFieldCardData dataCard = new PlugPagNearFieldCardData();
    dataCard.setStartSlot(1);
    dataCard.setEndSlot(2);
    dataCard.getSlots()[1].put(“data”, infoBytes);
 
    // Escreve em um cartão NFC
    int result = plugpag.writeToNFCCard(dataCard);
}

O resultado da autenticação será retornado através da classe PlugPagNFCResult.

Se a autenticação for efetuada com sucesso, o método getResult() irá retornar valor igual a 1. Do contrário, o método getResult() retornará -1.

Abortar operação de leitura/escrita no cartão NFC

public void abortNFC() {
    // Cria a referência do PlugPag
    PlugPag plugpag = new PlugPag(context);

    // Escreve em um cartão NFC
    int result = plugpag.abort(); 
}

O resultado do abort será retornado através da classe PlugPagNFCResult.

Se o abort for efetuada com sucesso, o método getResult() irá retornar valor igual a 1. Do
contrário, o método getResult() retornará -1.

Imprimir arquivo

public void printFile() {
    // Cria a referência do PlugPag
    PlugPag plugPag = new PlugPag(context);

    // Cria objeto com informações da impressão
    PlugPagPrinterData data = new PlugPagPrinterData(
          Environment.getExternalStorageDirectory().getAbsolutePath() + “/SeuDiretorio/SeuArquivo”, 
          4, 
          10 * 12));

    PlugPagPrinterListener listener = new PlugPagPrinterListener() {
          @Override
          public void onError(@NotNull PlugPagPrintResult plugPagPrintResult) {
                 plugPagPrintResult.getMessage(); // Mensagem de erro
                 plugPagPrintResult.getErrorCode(); // Código de erro
 
          }
    };

    //Seta listener de impressão
    plugPag.setPrinterListener(listener)

    // Imprime arquivo
    PlugPagPrintResult result = plugPag.printFromFile(plugPagPrinterData)
    
    if (result == PlugPag.RET_OK) {
       //sucesso
    }
}

Buscar última transação aprovada

public void getLastApprovedTransaction(Context context) {
   // Cria a referência do PlugPag
   PlugPag plugpag = new PlugPag(context);
 
   PlugPagTransactionResult lastApprovedTransaction
                          = plugpag.getLastApprovedTransaction();
}

Pré-Autorização

criar pré-autorização

public Observable<PlugPagTransactionResult> doPreAutoCreate(int value, int
installmentType, int installments) {
	return Observable.create(emitter -> {
PlugPagPreAutoData plugPagPreAutoData = new PlugPagPreAutoData(	
	value,
	installmentType,
	installments,
	true
"userref”
);
PlugPagTransactionResult plugPagTransactionResult = mPlugPag.doPreAutoCreate(plugPagPreAutoData);
		// Trata o retorno do PlugPagTransactionResult
	});
}

Efetivar pré-autorização

public Observable<PlugPagTransactionResult> doPreAutoEffectuate(	
		int value,
		String transactionId,
		String transactionCode
) {
		return Observable.create(emitter -> {
		PlugPagEffectuatePreAutoData plugPagEffectuatePreAutoData = new	
		PlugPagEffectuatePreAutoData(
	value,
	true,
	transactionId,
	transactionCode,
	"userref”
);
	PlugPagTransactionResult plugPagTransactionResult =
mPlugPag.doEffectuatePreAuto(plugPagEffectuatePreAutoData);
			// Trata o retorno do PlugPagTransactionResult
});
}

Cancelar Pré-auto

public Observable<PlugPagTransactionResult> doPreAutoCancel(String transactionId,
String transactionCode) {
		return Observable.create(emitter -> {
PlugPagTransactionResult plugPagTransactionResult =
mPlugPag.doPreAutoCancel(transactionId, transactionCode);
				// Trata o retorno do PlugPagTransactionResult
	});
}

Buscar Pré-autorização

public Observable<PlugPagTransactionResult> getPreAutoData() {
		return Observable.create(emitter -> {
PlugPagTransactionResult plugPagTransactionResult =
		mPlugPag.getPreAutoData();
				// Trata o retorno do PlugPagTransactionResult
	});
}

NFC

DeteNFCCardDirectly

public Observable<PlugPagNFCInfosResultDirectly> detectCardDirectly() {
		return Observable.create(emitter -> {
				try {
							// Starta a antena NFC
							int resultStartNfc = mPlugPag.startNFCCardDirectly();

							// Realiza a autenticação NFC
							PlugPagNFCInfosResultDirectly plugPagNFCInfosResult =
mPlugPag.detectNfcCardDirectly(PlugPagNearFieldCardData.ONLY_M, 20);
	if (plugPagNFCInfosResult.getResult() != RET_OK) {
	emitter.onError(new PlugPagException("Cartão não identificado"));
	emitter.onComplete();
	return;
}
						emitter.onNext(plugPagNFCInfosResult);
						// Stopa a antena NFC
						mPlugPag.stopNFCCardDirectly();
	} catch (Exception e) {
	e.printStackTrace();
	emitter.onError(e);
}
	emitter.onComplete();
	});
}

DetectRemoveCardDirectly

public Observable<Integer> detectRemoveCardDirectly() {
		return Observable.create(emitter -> {
				try {
				// Starta a antena NFC
				int resultStartNfc = mPlugPag.startNFCCardDirectly();
				PlugPagNFCInfosResultDirectly plugPagNFCInfosResult =
mPlugPag.detectNfcCardDirectly(PlugPagNearFieldCardData.ONLY_M, 20);
				if (plugPagNFCInfosResult.getResult() != RET_OK) {
				emitter.onError(new PlugPagException("Cartão não identificado"));
				emitter.onComplete();
				return;
	}
				emitter.onNext(RET_WAITING_REMOVE_CARD);
				Thread.sleep(5000);
				int result = 0;
				if (plugPagNFCInfosResult.getCid() != null) {
					final PlugPagNFCDetectRemoveCard plugPagNFCDetectRemoveCard = new
PlugPagNFCDetectRemoveCard(PlugPagNearFieldRemoveCardData.REMOVE,
plugPagNFCInfosResult.getCid());

		result =
mPlugPag.detectNfcRemoveDirectly(plugPagNFCDetectRemoveCard);
		if (result != RET_OK) {
				emitter.onError(new PlugPagException("Cartão não removido"));
				emitter.onComplete();
				return;
		}
}
		emitter.onNext(result);
					//Starta a antena NFC
		mPlugPag.stopNFCCardDirectly();
	} catch (Exception e) {
		e.printStackTrace();
		emitter.onError(e);
	}
		emitter.onComplete();
	});
}

DetectJustAuthDirectly

public Observable<Integer> detectJustAuthDirectly() {
							// chave de autenticacao de um cartao NFC virgem
byte[] key = { (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF };
	return Observable.create(emitter -> {
			try {
							// Starta a antena NFC
		int resultStartNfc = mPlugPag.startNFCCardDirectly();
		PlugPagNFCInfosResultDirectly plugPagNFCInfosResult =
mPlugPag.detectNfcCardDirectly(PlugPagNearFieldCardData.ONLY_M, 20);

		if (plugPagNFCInfosResult.getResult() != RET_OK) {
				emitter.onError(new PlugPagException("Cartão não identificado"));
				emitter.onComplete();
				return;
	}
		final PlugPagNFCAuthDirectly auth = new PlugPagNFCAuthDirectly((byte)
0, key, EM1KeyType.TYPE_B, plugPagNFCInfosResult.getSerialNumber());
		int resultAuth = mPlugPag.justAuthNfcDirectly(auth);

		if (resultAuth != RET_OK) {
				emitter.onError(new PlugPagException(String.format("Erro ao autenticar bloco")));
				emitter.onComplete();
				return;
	}
				emitter.onNext(resultAuth);
							// Stopa a antena NFC
				mPlugPag.stopNFCCardDirectly();
			} catch (Exception e) {
				e.printStackTrace();
				emitter.onError(e);
	}
				emitter.onComplete();
	});
}

Comandos APDU

OBS: A leitura do cartão NFC é sempre necessária. Após detectar o cartão, poderá enviar os
comandos APDU. Sempre deixar o cartão próximo ao leitor.

public Observable<PlugPagCmdExchangeResult> cmdExchange() {
				return Observable.create(emitter -> {
											// Comando APDU
				byte[] command = new byte[]{
					(byte) 0x00,
					(byte) 0x00,
					(byte) 0x00,
					(byte) 0x00,
					(byte) 0x00,
					(byte) 0x00,	
					(byte) 0x00
	};
				try {
PlugPagCmdExchangeResult resultAuth = mPlugPag.apduCommand(command, 256);
if (resultAuth != null && resultAuth.getCmd() != null &&
		resultAuth.getCmd().length > 0) {
					emitter.onNext(resultAuth);
		}else{
; emitter.onError(new PlugPagException("Ocorreu um erro no comando APDU."));
}
					emitter.onComplete();
	} catch (Exception e) {
		e.printStackTrace();
					emitter.onError(e);
	}
		});
}

Pagamento de R$250,00, no QR CODE Crédito à vista:

public void startPayment(Context context) {
	// Define os dados do pagamento
	PlugPagPaymentData paymentData =
						new PlugPagPaymentData(
								PlugPag.TYPE_QRCODE_CREDITO,
								25000,
								PlugPag.INSTALLMENT_TYPE_A_VISTA,
								1,
								"CODVENDA");

	// Cria a identificação do aplicativo
	PlugPagAppIdentification appIdentification =
			new PlugPagAppIdentification("MeuApp", "1.0.7");

	// Cria a referência do PlugPag
	PlugPag plugpag = new PlugPag(context, appIdentification);

	// Ativa terminal e faz o pagamento
int initResult = plugpag.initializeAndActivatePinpad(new
PlugPagActivationData("SEU_CODIGO_DE_ATIVAÇÃO")));

if (initResult == PlugPag.RET_OK) {
		PlugPagTransactionResult result = plugpag.doPayment(paymentData);

	// Trata o resultado da transação	
	...
	}
}

Pagamento de R$300, no QR Code Crédito, parcelado vendedor em 3 parcelas:

public void startPayment(Context context) {
	// Define os dados do pagamento
	PlugPagPaymentData paymentData =
					new PlugPagPaymentData(
						PlugPag.TYPE_QRCODE_CREDITO,
						30000,
						PlugPag.INSTALLMENT_TYPE_PARC_VENDEDOR,
						3,
						"CODVENDA");

	// Cria a identificação do aplicativo
		PlugPagAppIdentification appIdentification =
			new PlugPagAppIdentification("MeuApp", "1.0.7");

	// Cria a referência do PlugPag
		PlugPag plugpag = new PlugPag(context, appIdentification);

	// Ativa terminal e faz o pagamento
		int initResult = plugpag.initializeAndActivatePinpad(new
				PlugPagActivationData("SEU_CODIGO_DE_ATIVAÇÃO")));

		if (initResult == PlugPag.RET_OK) {
				PlugPagTransactionResult result = plugpag.doPayment(paymentData);

	// Trata o resultado da transação
			...
	}
}

Pagamento de R$300, no QR Code Crédito, parcelado comprador em 3 parcelas:

public void startPayment(Context context) {
	// Define os dados do pagamento
		PlugPagPaymentData paymentData =
				new PlugPagPaymentData(
						PlugPag.TYPE_QRCODE_CREDITO,
						30000,
						PlugPag.INSTALLMENT_TYPE_PARC_COMPRADOR,
						3,
						"CODVENDA");
  
	// Cria a identificação do aplicativo
		PlugPagAppIdentification appIdentification =
				new PlugPagAppIdentification("MeuApp", "1.0.7");

	// Cria a referência do PlugPag
		PlugPag plugpag = new PlugPag(context, appIdentification);
  
	// Ativa terminal e faz o pagamento
		int initResult = plugpag.initializeAndActivatePinpad(new
					PlugPagActivationData("SEU_CODIGO_DE_ATIVAÇÃO")));
  
	if (initResult == PlugPag.RET_OK) {
		PlugPagTransactionResult result = plugpag.doPayment(paymentData);
		// Trata o resultado da transação
		...
	}
}