Getnet DocsGetnet Docs

Visão Geral do Get Smart SDK

Esta página fornece uma visão geral de alto nível da biblioteca redsys-tpv-business-lib, explicando seu propósito, design arquitetural e a transição técnica de sistemas legados para uma abordagem moderna focada em Kotlin.

A redsys-tpv-business-lib é um Android SDK projetado para atuar como uma camada de abstração segura entre sua aplicação e o Get Smart SDK Payment Service. Ele permite integrar funcionalidades de pagamento de forma fácil, rápida e segura, sem a necessidade de gerenciar a complexa lógica de negócios subjacente ou os protocolos de comunicação.

Esta biblioteca substitui a legada redsysTpvAndroidLib (paysyslib.jar). Ela fornece acesso a todas as funcionalidades principais da Getnet, incluindo:

  • Processamento de Pagamentos: Gerenciamento de pagamentos padrão.
  • Pré-autorizações: Manipulação de criação, confirmação e cancelamento de pré-autorizações.
  • Gerenciamento de Operações: Acesso ao histórico de transações, gerenciamento de sessões e totais.
  • Devoluções: Processamento de reembolsos e estornos.
  • Configuração: Gerenciamento de ajustes e chaves.

Arquitetura

A arquitetura da solução consiste em quatro atores primários que interagem para processar pagamentos e gerenciar o TPV:

  1. App: Sua aplicação Android desenvolvida pelo integrador.
  2. redsys-tpv-business-lib: O SDK fornecido pela Getnet. Ele se conecta de forma segura com o Get Smart SDK Payment Service instalado no dispositivo.
  3. Get Smart SDK Payment Service: Um serviço Android de segundo plano executado no dispositivo. Ele implementa a lógica de negócios, gerencia protocolos de comunicação com o host e lida com as operações de baixo nível.
  4. Host: O back-office em nuvem da Getnet que processa pagamentos, configurações, logs e outras lógicas de TPV.

Fluxo de Dados

A arquitetura garante uma clara separação de responsabilidades. Seu app interage com o SDK, que por sua vez se comunica com o Payment Service local. O Payment Service lida com a execução real e a comunicação com o Host remoto.

Filosofia de Design

A redsys-tpv-business-lib adota padrões modernos de desenvolvimento Android para facilitar a integração em arquiteturas de aplicações atuais (como MVVM ou Clean Architecture).

Kotlin-First e Coroutines

A biblioteca é desenvolvida 100% em Kotlin. Ela utiliza Kotlin Coroutines para gerenciar tarefas assíncronas de forma eficiente.

  • Suspend Functions: Todas as funções de interface da biblioteca são definidas como suspend. Isso garante que as operações, que envolvem comunicação de rede com o host, não bloqueiem a thread principal.
  • Context Management: Todas as execuções alternam automaticamente para Dispatchers.IO para garantir o contexto de thread apropriado para operações de rede e disco.

Repository Pattern e Clean Architecture

A biblioteca segue o Repository Pattern e os princípios SOLID, organizando a funcionalidade em interfaces distintas (Repositórios) com base em seu domínio específico (ex: PaymentRepository, InitializationRepository).

Este design oferece vários benefícios fundamentais:

  • Desacoplamento: Abstrai sua aplicação da camada de dados e de detalhes específicos de implementação.
  • Injeção de Dependência: A biblioteca foi projetada para funcionar perfeitamente com frameworks de injeção de dependência como Dagger Hilt. Você pode configurar repositórios facilmente como singletons.
  • Testabilidade: O design baseado em interfaces permite substituir implementações reais por repositórios simulados (mocks) durante os testes. Isso permite testar a lógica da sua aplicação independentemente do hardware ou serviço da Getnet.

Comparação com a Biblioteca Legada

Diferente da legada paysyslib.jar, que exigia mais gerenciamento manual de lógica e callbacks, a nova biblioteca oferece uma abordagem estruturada, type-safe e reativa para a integração.

RecursoLegado (paysyslib.jar)Novo (redsys-tpv-business-lib)
LinguagemJavaKotlin
ConcorrênciaCallbacks/ThreadsCoroutines (funções suspend)
ArquiteturaMonolíticaRepository Pattern / Clean Architecture
IntegraçãoInstanciação manualPronto para Injeção de Dependência (Hilt)