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

Comunidade

Ask a Question
Back to All

Como inicializar o terminal de pagamento via emulador do android

Estou abrindo um projeto android via emulador para simular uma venda débito/crédito com a lib PlugPag e quando passo o código de ativação para esta classe: PlugPagInitializationResult initResult = plugPag.initializeAndActivatePinpad(new PlugPagActivationData("XXXXX")); não recebo o retorno e o emulador fica preso exatamente nessa linha onde foi feito essa chamada.

Gostaria de saber se o problema é porque estou no emulador e precisa de alguma configuração e mais.

Boa tarde Neto,

Conforme conversamos através do pipefy, não é possivel você realizar a integração através de emulador.

Marked as answered by PagSeguro

Marcos Paulo da Silva Silveira, fiz um pedido de uma maquina em modo dev ou a senha para por a minha em modo dev faz 20 dias e não tive nenhuma resposta

Estou abrindo um projeto android via maquinha Pos para simular uma venda débito/crédito com a lib PlugPag e quando passo o código de ativação para esta classe: PlugPagInitializationResult initResult = plugPag.initializeAndActivatePinpad(new PlugPagActivationData("XXXXX")); não recebo o retorno fica preso exatamente nessa linha onde foi feito essa chamada.

Gostaria de saber se o problema o que pode ser o problema.

Pessoal, na minha experiência, descobri que a aplicação trava quando não executamos o código de modo assíncrono.

Portanto, temos 2 opções:

  • 1 - iniciar um novo thread para estas atividades relacionadas ao SDK;
  • 2 - usar as versões assíncronas dos métodos: doAsyncInitializeAndActivatePinpad e doAsyncPayment;

Além disso, é importante lembrar que a documentação do Mundo Físico (SmartPOS) está desatualizada. Portanto, não desenvolvam utilizando os exemplos deixados por lá. Com toda certeza, o time de homologação irá solicitar que vocês atualizem o SDK e, portanto, refatorem a lógica do código.

Neste momento que escrevo, a última versão é 1.24.0.

A seguir, temos um POC usando Kotlin:

fun startPayment(context: Context) { val length = 10 val random = Random.Default val randomPrice = random.nextInt(2500, 2600) val charPool = ('a'..'z') + ('A'..'Z') + ('0'..'9') // Defina o conjunto de caracteres permitidos val randomString = (1..length) .map { charPool.random() } .joinToString("") // Define payment data val paymentData = PlugPagPaymentData( PlugPag.TYPE_DEBITO, randomPrice, PlugPag.INSTALLMENT_TYPE_A_VISTA, 1, randomString ) // Create app identification val appIdentification = PlugPagAppIdentification(context) // Create PlugPag reference val plugpag = PlugPag(context) // Activate the terminal and make the payment val result = plugpag.doAsyncInitializeAndActivatePinpad( PlugPagActivationData("000000"), // seu código de ativação object : PlugPagActivationListener { override fun onActivationProgress(data: PlugPagEventData) { Log.d("Activation:progress", PlugPagEventData.toString()); } override fun onError(result: PlugPagInitializationResult) { Log.d("Activation:error", result.toString()); } override fun onSuccess(result: PlugPagInitializationResult) { Thread { Log.d("Activation:success", result.toString()) if (result.result == PlugPag.RET_OK) { val result = plugpag.doPayment(paymentData) Log.d("Payment:success", result.toString()) } }.start() } } ) Log.d("result.result", result.toString());

}

Obrigado por compartihar essa poc ajudo bastante aqui, funciono legal



© 1996-2025 Todos os direitos reservados.

PAGSEGURO INTERNET INSTITUIÇÃO DE PAGAMENTO S/A - CNPJ/MF 08.561.701/0001-01

Av. Brigadeiro Faria Lima, 1.384, São Paulo - SP - CEP 01451-001

English
Powered by Localize
Português (Brasil)