Integração SmartPOS

A integração da SmartPOS é destinado aos clientes parceiros PagBank que desejam criar aplicações Android próprias e operar abaixo da adquirência da PagSeguro. As aplicações personalizadas podem ser utilizadas em um dos terminais da PagBank:

  • P2
  • PAX A930
  • PAX A50
  • SK800

Todos os terminais PagBank possuem a biblioteca PlugPag previamente instalada. Assim, não é necessário realizar qualquer download. Na fase de desenvolvimento pode-se validar a aplicação compilando o projeto em modo debug e enviando via cabo USB para o terminal PagBank.

Se você tem interesse em desenvolver uma aplicação, procure o seu gerente comercial ou preencha os dados a seguir. Assim, você será direcionado a um gerente comercial para iniciar um projeto de parceria através do nosso “canal de atendimento”.

O terminal debug que enviamos já está configurado para o ambiente de testes. No entanto, para realizar transações, é necessário ativar o terminal utilizando o código 749879.

Verifique se o seu terminal está configurado para o ambiente base. Para isso, siga o caminho: abra o aplicativo, vá em Informações de sistema > Suporte > Apontamento ambiente Pagbank > Selecione Ambiente Base > realize o processo de ativação.

Requisitos

Para desenvover sua aplicação utilizando os terminais do PagBank você deve estar ciente dos seguintes requisitos operacionais:

  • A biblioteca PlugPag possui suporte da API level 25 (7.1.1 Nougat) à 28 (9.0 Pie), devido a versão de Android presente no terminal PagBank.
  • As chamadas dos métodos da classe PlugPag devem ser feitas em uma Thread que execute em background, pois podem demorar para finalizar a execução. Caso a execução seja feita na Thread principal (UI Thread), o aplicativo pode apresentar um ANR (Application Not Responding). Além disso, alguns métodos executam transações utilizando chamadas remotas pela internet, o que impossibilita suas chamadas na Thread principal.
  • Eventos que chamem duas ou mais vezes o serviço de pagamento ou estorno antes da operação ser finalizada, podem ocasionar comportamento anormal no serviço e requerer que a aplicação seja fechada para realizar o unbind do serviço.

O PagBank não permitirá

  1. Na PagBank, “WebApps” e “WebView” são proibidos devido às medidas de segurança em nossos terminais. Portanto, o desenvolvimento de aplicativos baseados em WebView é proibido. Exemplos: Ionic, Cordova.
  2. A PagBank não permite recursos externos nos terminais, tais como transferência por USB, Bluetooth, Google Play, etc.
  3. O aplicativo não pode realizar alterações nas configurações de sistema do Android (Ex: data, hora, localização, etc.). Fique atento se estiver usando um framework não nativo, pois pode ocasionar interferência na conversão de horas.
  4. Não estarão disponíveis todas as funcionalidades do Google Play Service devido às camadas de segurança. Portanto, algumas funcionalidades que dependem dele (ex.: Play Services Location, Push Notifications) podem não funcionar.

Guia de utilização do PlugPagService Wrapper

Para acessar as funcionalidades de pagamento do PagBank ao desenvolver sua aplicação você utilizará uma API. Todas as funcionalidades dessa API disponibilizada pelo PagBank estão concentradas na biblioteca PlugPagService Wrapper. Portanto, você deve importar essa biblioteca ao desenvolver sua aplicação Android. Os passos para importar a biblioteca PlugPagService Wrapper são apresentados a seguir:

  1. Inserir no arquivo build.gradle do projeto a URL do repositório Maven do PlugPag:
allprojects {  
 repositories {  
  ...  
  maven {  
   url 'https://github.com/pagseguro/PlugPagServiceWrapper/raw/master' 
  }  
  ...  
 }  
}
  1. Inserir as dependências no arquivo build.gradle da aplicação:
dependencies {  
    ...  
    implementation 'com.android.support:design:28.0.0'
 		implementation 'br.com.uol.pagseguro.plugpagservice.wrapper:wrapper:1.27.2'
		...
}

A versão da dependência com.android.support:design deve ser a mesma utilizada para as demais dependências com.android.support. A versão 28.0.0 é a mais recente no momento da edição desse documento.

Para mais informações relacionadas as funcionalidades da biblioteca PlugPagService Wrapper, acesse a página de Providers. Também disponibilizamos uma página de exemplos de implementação contendo várias rotinas que você irá utilizar ao fazer a integração da SmartPOS.

Adicione a permissão ao AndroidManifest.xml

Para integrar a biblioteca PlugPagService em aplicativos Android é necessário adicionar a permissão ao AndroidManifest.xml. Essa permissão permite à biblioteca realizar o bind ao PlugPagService, serviço embarcado da SmartPOS, que gerencia todas as transações de pagamento. Para adicionar essa permissão utilize o código apresentado a seguir:

<uses-permission android:name="br.com.uol.pagseguro.permission.MANAGE_PAYMENTS"/>

Para que seu aplicativo possa ser escolhido como aplicativo padrão de pagamento e receber Intents de inserção de cartão, é necessário adicionar o seguinte código em seu AndroidManifest.xml dentro da sua Activity principal, conforme apresentado abaixo.

<intent-filter>
      <action android:name="br.com.uol.pagseguro.PAYMENT"/>
      <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>

Demo SmartPOS

Para melhorar a compreensão de integração de um aplicativo na SmartPOS, o PagBank disponibiliza uma aplicação demo que você pode baixar e explorar. Nessa aplicação você encontra as principais chamadas a biblioteca PlugPagService Wrapper existentes hoje.

Para maiores informações relacionadas as funcionalidades da PlugPagService, acessa a página de Providers, onde todas as classes são disponibilizadas. Você também pode explorar mais informações relacionadas ao SDK do PagBank acessando o seu repositório no GitHub.

Suporte SmartPOS

Caso você necessite de um suporte adicional em alguma das fases de desenvolvimento e integração da sua aplicação, utilize o formulário abaixo para requisitar suporte ao time PagBank. Se você quer iniciar a sua integração, selecione a opção Quero me Integrar. Você estará dando o primeiro passo para se tornar nosso parceiro.