SDK Android

Dúvidas frequentes

Qual a estrutura seguida pela SDK Stone?

A SDK é dividida em 4 módulos:

  1. Providers: todos os providers seguem o mesmo modelo. Todos herdam de uma classe modelo que extende da classe AsyncTask do Android, então toda escrita e leitura de comandos com o Pinpad, requisições de transações e ativações, conexões etc são executadas em uma thread secundária do método ‘doInBackground’.
  2. Utils: no módulo Utils você encontra ferramentas que podem ajudar na criação da sua aplicação.
  3. Comandos: Esse módulo contém os comandos de leitura e escrita que são utilizados para se comunicar com os Pinpads.
  4. Outros

Como eu posso enviar uma transação?

Passar transações com a nova SDK é simples e rápido. O primeiro passo é instanciar um objeto do tipo TransactionObject, e então populá-lo. Após fazer isso, você pode passá-lo para o TransactionProvider, que será o responsável por enviar a transação para o autorizador e trabalhar com a inserção e atualização no TransactionDAO.
É importante lembrar que TransactionProvider segue a mesma estrutura do ActiveApplicationProvider, BluetoothConnectionProvider e os demais. Esse provider pede uma Activity, o TransactionObject que foi criado anteriormente, o usuário atual do aplicativo e o pinpad que está sendo utilizado.
Para mais informações e exemplos, acesse a nossa documentação em:
http://sdkandroid.stone.com.br/docs/provedor-de-transação-1"

Como fazer a comunicação com o Pinpad?

Para criar uma conexão, basta instanciar um objeto do tipo PinpadObject e informar o nome e o mac address do dispositivo. Estas informações podem ser obtidas com os itens que são retornados da função BluetoothAdapter.getBondedDevices(); do Android.
Depois de fazer isso, com a conexão realizada com sucesso, o Pinpad então é adicionado em uma lista de Pinpads conectados na classe Stone. Para obter a lista, você pode utilizar o método Stone.getPinpadListSize(). Esse método é retornado como null caso o Bluetooth esteja desligado ou se não houver conexão.
Sempre que a SDK solicitar um Pinpad como parâmetro, você pode passar Stone.getPinpadFromListAt(0), se você estiver conectado somente com um Pinpad.

Eu consigo me comunicar com mais de um Pinpad ao mesmo tempo?

Sim, é possível conectar com mais de um Pinpad, sendo possível selecionar um deles no momento da transação.

Quais Pinpads são homologados com a Stone?

A SDK Mobile Android se comunica exclusivamente com Pinpads Bluetooth. Os Pinpads Bluetooth homologados conosco são:

  • Gertec MobiPin 10
  • PAX D180
  • PAX D200.

Consigo imprimir um QR Code?

Sim, disponibilizamos uma função que permite a impressão de QR Codes. Para ver mais instruções, acesse a nossa documentação em: http://sdkandroid.stone.com.br/docs/provedor-de-impressão-1

Como faço um cancelamento de uma transação?

O provider de Cancelamento, CancellationProvider, é um dos provedores mais simples.
Para efetuar um cancelamento, você deve instanciar o CancellationProvider e passar a sua Activity e o ID da transação que deseja cancelar (você pode obter todos os IDs das transações com o TransactionDAO).

Como consigo uma chave de acesso para iniciar a integração?

Para acessar o ambiente de integração é necessário, primeiro, se cadastrar no nosso programa de parcerias. Cadastre-se aqui.
Caso já tenha preenchido e ainda não recebeu nosso contato, você deve enviar um e-mail para o integracoes@stone.com.br com as seguintes informações:

  • O nome da empresa parceira que realizará transações na Stone;
  • O CNPJ da empresa;
  • Uma descrição sucinta do negócio parceiro (em uma frase);
  • E-mail para o qual a credencial deve ser enviada.

Quais bandeiras são aceitas?

  • Visa
  • Mastercard
  • Hiper
  • Elo
  • Amex
  • Alelo
  • VR
  • Sodexo

Como consigo consultar uma transação?

Quando você faz uma busca por TransactionID nós indicamos qual é o status atual daquela transação — isto é, se ela já foi compensada ou não.

Preciso usar o SAK?

Não, o SAK é uma informação utilizada pelo SDK Android conforme a ativação por meio do Stonecode.

Como ativo a solução de SDK Android no cliente final?

Depois de finalizada a integração/desenvolvimento no ambiente de testes, usando um StoneCode de teste, você precisa solicitar ao representante comercial um StoneCode de produção.
Caso você não tenha um representante comercial, é possível fazer essa solicitação pelo canal: meajuda@stone.com.br.

Existe um padrão que a filipeta segue?

Sim, o SDK monta todo o comprovante automaticamente (de acordo com o ID de transação fornecido e contanto que a transação exista no TransactionDAO).
Por padrão, todas as notinhas são impressas com a logo da Stone.

Existe um fluxo para aviso prévio de atualização das soluções?

Atualmente não temos um fluxo de aviso prévio das atualizações, porém estamos desenvolvendo isso. Para se manter atualizado das novas versões, acompanhe sempre as mudanças no changelog da documentação.

O provedor StoneTransaction foi removido da SDK?

Sim, hoje é possível preencher todas os dados necessários diretamente no provedor TransactionObject

Quais são as diferenças entre TransactionProvider e TransactionObject

O TransactionObject deve ser utilizado para instanciar dados como: Valor da transação, Modelo de operação, à vista/ Parcelado, etc. Já o provedor TransactionProvider e responsável pelo leitura do cartão inserido e por encaminhar efetivamente a transação ao autorizador Stone.

Quais são as diferenças entre PosTransactionProvider e TransactionProvider?

Deve-se utilizar o objeto PosTransactionProvider apenas para terminais POS com sistema operacional Android.