Neste momento a Zoop está disponibilizando um SDK ALPHA DEMO na plataforma Android (Java) para que o desenvolvedor parceiro tenha o primeiro contato com o processo de uso do Pix com QR Code Dinâmico.

O SDK permite que a app do parceiro interaja com uma versão de teste do Pix no back da Zoop Emv Cloud (ZEC) permitindo executar:

  • chamada de requisição de código QRCODE
  • recepção assíncrona de código texto no padrão BRCODE (simulado)
  • recepção simulada de resultado de transação confirmada com sucesso
  • recepção simulada de resultado de transação que falhou
    O SDK está disponível para download como um Kit zipado contendo arquivo biblioteca JAR do SDK + Read.me PDF com orientação de uso no link:

Download SDK ALPHA DEMO

Procedimento de uso do SDK:

Os passos que o desenvolvedor deve seguir para adicionar o SDK são os mesmos já descritos no processo de SDK Android padrão Zoop na documentação SDK Android, mas serão aqui resumidos com foco no processo Pix:

● incluir o arquivo .jar nas libs do seu projeto Android Studio e referenciá-lo corretamente no arquivo de configuração de build do gradlew.

● Configurar inicialização da classe ZoopAPI e check() conforme descrito na documentação padrão do SDK Zoop para Android referenciada acima.

● Executar o extend das Interfaces TerminalPaymentListener e ApplicationDisplayListener na declaração de sua Activity de Cobrança (charge).

Ex: public class minhaAtividadeDeCobranca implements TerminalPaymentListener, ApplicationDisplayListener e nesta Activity implementar os métodos :

public void showMessage(String msg, TerminalMessageType messageType)
public void pixPaymentSuccessful(JSONObject pixtransaction)
public void pixPaymentFailed(JSONObject pixtransaction)

Estes 3 métodos são os callbacks através dos quais o app parceiro receberá os retornos das chamadas assíncronas ao Pix.

Caso haja dúvida dos detalhes de como implementar os métodos de listeners citados anteriormente, o parceiro pode recorrer a documentação online da Zoop intitulada “Fluxo de uso da Biblioteca Android” a qual dá uma boa base de conhecimento com detalhes. Observe que tal documento trata do SDK Android full para cartões e maquininhas, entretanto esta seção é tema comum a ambos, Pix e cartões.

Uma vez implementados os métodos em sua Activity de Transação basta instanciar um objeto da classe ZoopTerminalPayment e chamar o método:

chargepix(valueToCharge,  marketplaceId, sellerId, publishableKey, referenceId) 
  
ou 

chargepix(valueToCharge,  marketplaceId, sellerId, publishableKey, referenceId, joMetadata)

Onde:

valueToCharge: valor em centavos da transação;

marketplaceId, sellerId, publishableKey: credenciais de acesso do parceiro;

referenceId: string com código DE-PARA ou referencia do parceiro para seu controle. Este código será retornado na resposta de transação para controle.

joMetadata: JSON contendo quaisquer dados que o parceiro deseja passar e receber novamente no retorno da transação.

Este método iniciará a comunicação com o Back da Zoop e em alguns instantes retornará uma chamada assíncrona para o seu método showMessage() com uma mensagem cujo tipo (2o parâmetro) é TRANSACTION_PIX_BRCODE).

Esta mensagem é o CODIGO Pix BRCODE que deve ser renderizado como QRCODE (com a lib de sua preferência).

Após renderizar o QRCODE deverá chamar o método brcodeDisplayed() do seu objeto instanciado de ZoopTerminalPayment para indicar que o BRCODE foi mostrado ao usuário e aguarda confirmação da transação.

Após isto basta aguardar alguns instantes (tempo simulado) com o BRCODE na tela até que receba automaticamente uma chamada assíncrona em um dos métodos pixPaymentSuccessful ou pixPaymentFailed indicando o sucesso ou falha na transação Pix. Em ambos os casos os métodos recebem como parâmetro um JSON contendo todas as informações em cada uma das situações sucesso (id da transação gerada, vias do recibo anexo, etc) ou falha ( motivo da falha, erro, etc).

Para fins de demonstração os valores PARES retornarão sempre SUCESSO e os valores ÍMPARES retornarão sempre FALHA.

O parceiro poderá também pode utilizar o método boolean APIParameters.isPixAvailable() para certificar-se que a opção de pagamento Pix está disponível para o seu marketplace ou para o estabelecimento comercial antes de mostrar tal opção.

📘

Para saber mais sobre o uso do Pix em adquirência clique aqui