> For the complete documentation index, see [llms.txt](https://ftcoders.first-tech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ftcoders.first-tech.com/first-tech-ttp-sdk-pt/introducao/fluxo-do-inicio-ao-fim.md).

# Fluxo do Início ao Fim

O SDK opera em cinco estágios principais. Compreender cada estágio é essencial para garantir uma integração tranquila, solução de problemas eficiente e uma experiência de pagamento fluida:

### As Etapas do SDK

{% stepper %}
{% step %}

### Inicialização do Terminal

O SDK realiza uma série de verificações de segurança para preparar o dispositivo móvel para uma transação. Erros nesta etapa geralmente estão relacionados à segurança do dispositivo, com verificações abrangentes cobrindo o status do sistema operacional e componentes de hardware.\
Partes Responsáveis: Desenvolvedor da Solução e Usuário do Produto.
{% endstep %}

{% step %}

### Inicialização da Sessão

Após verificar a integridade do dispositivo, o aplicativo é validado através do serviço Google Play Integrity. Esta etapa garante que o aplicativo permaneça confiável e tenha sido baixado de uma loja autorizada para processar pagamentos usando nosso SDK Tap to Phone. Erros nesta etapa indicam discrepâncias entre as informações declaradas e o código em execução. Uma vez validado, o processo de preparação da transação é iniciado. <br>

**Partes Responsáveis**: Desenvolvedor da Solução e First Tech.
{% endstep %}

{% step %}

### Aproximação do Cartão & Leitura de Dados

O SDK está pronto e aguardando o cliente aproximar o cartão e, opcionalmente, inserir o PIN. Possíveis erros nesta etapa podem estar relacionados a:

* Tempos limite ao ler o cartão ou carteira digital.&#x20;
* Violações de segurança na renderização da tela de entrada do PIN.&#x20;
* Configuração incorreta da tag EMV para leitura de dados do cartão e transmissão para o adquirente.&#x20;

**Partes Responsáveis**: Desenvolvedor da Solução, Usuário do SDK e First Tech.
{% endstep %}

{% step %}

### Apresentar Tela de Entrada de PIN

Durante a leitura do cartão, com os dados da transação já disponíveis, o SDK se comunica com o chip do cartão para determinar se a entrada do PIN é necessária. Se necessário, um processo criptografado é acionado para gerar uma interface digital segura de entrada do PIN, permitindo que o usuário insira seu PIN com segurança.\
É importante observar que esta etapa é opcional e depende tanto do valor da transação quanto das regras do emissor. Não há possibilidade de configurar parâmetros para forçar a entrada do PIN.

**Partes Responsáveis**: First Tech.
{% endstep %}

{% step %}

### Envio e Autorização da Transação

A transação é enviada para serviços de backend (fora do SDK) e então encaminhada para o adquirente, que é responsável pela autorização.\
Problemas nesta etapa geralmente surgem de:&#x20;

* Incompatibilidades de configuração com o sistema de autorização do adquirente.&#x20;
* Restrições dentro do ecossistema do adquirente.

Na maioria dos casos, a solução de problemas nesta etapa é responsabilidade do adquirente. Uma vez concluído o processamento, o SDK recebe a resposta da transação (aprovada ou recusada) e a encaminha para o aplicativo exibir ao cliente.

**Partes Responsáveis**: Adquirente e First Tech.

{% endstep %}
{% endstepper %}

### Escopos do SDK

1. O Dispositivo

O SDK é incluído como uma dependência dentro do aplicativo, que, durante sua operação, inicia uma transação financeira sem contato, seja por meio de um cartão físico ou uma carteira digital. Neste contexto, os objetivos são:&#x20;

* Garantir que o aplicativo processe pagamentos apenas em um ambiente seguro, livre de vulnerabilidades de segurança, software malicioso ou práticas que comprometam a integridade do sistema.&#x20;
* Coletar dados da transação, incluindo o valor, tipo de pagamento (crédito ou débito), número de parcelas (se aplicável) e metadados para o backend. Esses metadados consistem em informações que o aplicativo deseja enviar junto com a transação e receber de volta como parte da resposta de aprovação ou cancelamento.&#x20;
* Manter uma lista de produtos aceitos e outras informações essenciais necessárias para interpretar corretamente os dados do cartão e transmiti-los adequadamente ao adquirente.

1. Kernel Sem Contato Baseado na Nuvem

   Após garantir a segurança do sistema operacional no nível do dispositivo, o SDK solicita uma série de instruções do Kernel Sem Contato na Nuvem para:

   1. **Verificar se o aplicativo foi baixado da Google Play Store**, garantindo que seja válido e autorizado pelo desenvolvedor para operar com o SDK First Tech TTP
   2. **Fornecer as credenciais de autenticação do SDK para o kernel sem contato baseado na nuvem**, garantindo que o SDK esteja executando uma versão válida e ativa.
   3. **Processar transações criptografando dados do cartão e PINs** de acordo com os padrões de segurança definidos pela Visa Security 1.8.1 e MPOC.

2. **Cloud First Tech**

   Esta camada atua como o núcleo de processamento do SDK TTP, responsável por:

   1. Atualizar e fornecer ao SDK uma tabela unificada específica do adquirente, contendo os parâmetros necessários para leitura de cartões e as interpretações apropriadas de troca de dados tanto para cartões físicos quanto para carteiras digitais.
   2. Receber transações criptografadas e recriptografá-las em um ambiente seguro, seguindo padrões aceitos pelos adquirentes. No Brasil, esses padrões frequentemente diferem dos protocolos internacionais de tecnologia TTP, abrangendo tanto dados do cartão (número e data de validade) quanto dados do PIN.
   3. Rotear transações para o ambiente de autorização nativo do adquirente, realizando as conversões de campo necessárias e fornecendo feedback externo ao SDK sobre o status da transação. Esta camada também permite a recuperação de transações em casos de falha de energia ou rede, restaurando o estado do dispositivo quando necessário.

3. **Autorizador**

   Este é o ambiente do adquirente, responsável por receber a transação da camada First Tech Cloud, executar as operações necessárias para aprovar ou recusar a transação, e retornar a resposta. Essa informação é então enviada de volta para a camada First Tech Cloud, que a encaminha para a camada do kernel sem contato e, finalmente, para a camada do dispositivo.

   Esta camada tem as seguintes responsabilidades:<br>

   1. Processar a solicitação de transação com base em regras antifraude, políticas da rede de cartões e requisitos do emissor, utilizando seu ecossistema de produtos e serviços.
   2. Retornar o status final da transação, juntamente com o recibo e quaisquer detalhes adicionais, permitindo que o SDK transmita essas informações ao aplicativo e gerencie o ciclo de vida da transação.

### Papéis e Partes Interessadas

O processo envolve múltiplos participantes, cada um com responsabilidades específicas para garantir o funcionamento adequado do fluxo de pagamento:

* Desenvolvedor da Solução

  Responsável por integrar o SDK da First Tech em suas aplicações. Este papel inclui:

  * Cadastramento da empresa junto às adquirentes e desenvolvimento do software de acordo com as diretrizes de segurança e documentação da First Tech.
  * Garantia de que a aplicação permaneça atualizada com as versões mais recentes dos SDKs e outros requisitos técnicos .
  * Fornecimento de uma experiência de usuário fluida e confiável.
  * Realização de testes extensivos para garantir segurança e desempenho.
  * Implementação de mecanismos de registro (logging) e auditoria para rastreamento de transações comerciais e de pagament&#x6F;**.**

* **First Tech**

  Responsável pelo desenvolvimento, manutenção e atualizações contínuas do SDK, garantindo que ele permaneça certificado e em conformidade com os padrões de segurança e regulamentações do setor. A First Tech também:

  * Incorpora novos recursos ao SDK.
  * Mantém serviços em nuvem com alta disponibilidade.
  * Realiza monitoramento proativo para prevenir falhas.
  * Fornece suporte técnico tanto para desenvolvedores quanto para adquirentes.
  * Disponibiliza materiais educativos, como tutoriais e manuais, para auxiliar no uso eficiente da solução.

* **Adquirente**

  "A empresa que processa e autoriza transações. Em alguns casos, a adquirente também redistribui o SDK como uma solução white-label para outras empresas. Suas responsabilidades incluem:":

  * Fornecer suporte de Nível 1 aos desenvolvedores quando redistribui o SDK.
  * Garantir que as transações sejam processadas em um ambiente resiliente.
  * Investir em soluções avançadas antifraude.
  * Gerenciar integrações com outros participantes do ecossistema, como emissores e bandeiras de cartão, garantindo a conformidade regulatória.

* Estabelecimento (Empresa/Loja) //**Merchant (Business/Store)**

  O ponto de venda ou empresa que utiliza a solução para aceitar pagamentos. Suas responsabilidades incluem:

  * Operar a aplicação corretamente.
  * Garantir que os dispositivos estejam configurados adequadamente de acordo com os requisitos técnicos.
  * Fornecer suporte aos usuários finais durante o processo de pagamento.
  * Treinar a equipe para usar o sistema corretamente.
  * Verificar regularmente as condições dos dispositivos móveis.

* Usuário da Solução (Cliente)

  São os clientes que realizam pagamentos utilizando cartões ou carteiras digitais. Eles são responsáveis por:

  * Posicionar corretamente seus cartões e dispositivos habilitados com NFC nos leitores no momento e local adequados.
  * Inserir o PIN corretamente, quando necessário.
  * Garantir que seus cartões sejam válidos e possuam saldo ou limite de crédito suficiente.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ftcoders.first-tech.com/first-tech-ttp-sdk-pt/introducao/fluxo-do-inicio-ao-fim.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
