O Fluxo da Transação: Como a ISO 8583 Conecta o Mundo dos Pagamentos
Você já pensou no que acontece quando aproxima o cartão na maquininha e a tela mostra "Aprovado"? Parece mágica. Mas, por trás dessa tela, existe um sistema rápido e complexo. Em frações de segundo, múltiplos sistemas trocam mensagens precisas.
Esse mecanismo funciona graças a um padrão global chamado ISO 8583.
Nós, da CPS, simulamos e testamos a performance dessas mensagens todos os dias através de testes de estresse. Neste artigo, vamos explicar de forma simples como funciona o fluxo completo de uma transação. Você vai entender como as mensagens se comunicam, quem faz o quê, e o que acontece quando o sistema falha.
O que é a ISO 8583?
A ISO 8583 é uma norma internacional. Ela cria um padrão global para as mensagens de transações financeiras com cartão. Pense nela como o "idioma oficial" das plataformas de e-commerce.
Bancos, adquirentes e bandeiras usam a ISO 8583 para conversar entre si. A versão publicada em 1987 ainda serve de base para a maioria das implementações usadas hoje. Grandes marcas, como Visa e Mastercard, baseiam seus sistemas nessa mesma regra. Sem ela, um terminal não conseguiria falar com o banco.
Os Participantes do Fluxo de Pagamento
Para entender a norma, precisamos conhecer os personagens da transação:
- Portador: O dono do cartão que faz a compra.
- Terminal (POS / TEF / E-commerce): O local que captura os dados. Pode ser uma maquininha física (POS) ou um site de vendas.
- Adquirente: A empresa que permite ao lojista aceitar cartões (ex: Cielo, Rede, Stone).
- Bandeira: A rede que conecta o adquirente ao banco (ex: Visa, Mastercard).
- Emissor: O banco ou fintech que emitiu o cartão e que aprova ou nega a compra.
A Estrutura da Mensagem ISO 8583
Toda mensagem ISO 8583 segue uma estrutura padronizada e possui três partes principais:
1. Header (Cabeçalho)
Usado para controle de rede, roteamento e tamanho da mensagem. O formato varia de acordo com a rede de pagamento.
2. MTI (Message Type Indicator)
O MTI é um código de quatro números. Ele diz rapidamente o que a mensagem faz.
- 0100: Pedido de autorização. O lojista pergunta ao banco: "O cliente tem limite?"
- 0110: Resposta do banco. Ele diz: "Sim, aprovado" ou "Não, negado".
- 0400: Mensagem de reversão, usada para cancelar uma operação.
3. Bitmap e Data Elements (Campos de Dados)
A norma possui até 128 campos, chamados de Bits. O Bitmap é um mapa que avisa quais campos estão preenchidos naquela mensagem.
• Bit 2 (PAN): O número do cartão.
• Bit 4: O valor da compra.
• Bit 39: O código de resposta (ex: "00" é aprovado, "51" é sem saldo).
O Fluxo da Transação Passo a Passo
- Captura: O cliente insere a senha ou aproxima o cartão. O terminal lê os dados e gera uma mensagem de pedido (MTI 0100).
- Roteamento no Adquirente: O adquirente recebe a mensagem. Ele verifica se a loja está ativa e envia os dados para a bandeira.
- Roteamento na Bandeira: A bandeira identifica qual é o banco do cliente usando os primeiros números do cartão (o BIN) e repassa o pedido.
- Decisão no Emissor: O banco confere a senha, o saldo e o risco de fraude. Ele cria a mensagem de resposta (MTI 0110), preenchendo o Bit 39 com a decisão.
- O Caminho de Volta: A resposta volta pelo mesmo caminho (Banco → Bandeira → Adquirente → Terminal). O terminal mostra o resultado da transação e pode gerar o comprovante.
Dual Message vs. Single Message
- Dual Message (Duas Mensagens): Muito usado no crédito e e-commerce. Primeiro, o sistema autoriza e reserva o limite do cartão (MTI 0100). Depois, em outro momento, ele faz a captura para liquidar o valor.
- Single Message (Mensagem Única): Muito usado no débito e em caixas eletrônicos (ATM). O sistema autoriza e debita o dinheiro de uma só vez (MTI 0200).
Falhas na Rede e o Papel do Teste de Stress
O que acontece se a internet cair ou o sistema travar no meio dessa viagem? Ocorre o timeout (tempo esgotado).
Se o banco aprova a compra, mas a maquininha não recebe a resposta, o sistema gera um problema grave. O cliente fica com o limite preso, mas o lojista não pode entregar o produto. Para evitar isso, o terminal pode enviar uma mensagem de reversão (MTI 0400) para cancelar a autorização.
É aqui que a arquitetura do sistema é colocada à prova. Na prática, sistemas lentos tendem a gerar mais timeouts e falhas de comunicação. Nós realizamos testes de estresse precisos para simular milhares de transações simultâneas. Isso garante que o seu meio de pagamento não sofra com lentidão ou falhas de comunicação durante picos de venda, protegendo a sua receita e a experiência do usuário.
NSU e RRN: A Rastreabilidade
- NSU (Número Sequencial Único): Fica no Bit 11. É o número gerado pelo terminal da loja.
- RRN (Retrieval Reference Number): Fica no Bit 37. É o número gerado pelo adquirente. Ele acompanha a transação do início ao fim e é vital para resolver disputas e chargebacks.
FAQ: Perguntas Frequentes sobre ISO 8583
Para que serve a ISO 8583?
A ISO 8583 serve para padronizar as mensagens eletrônicas em transações financeiras. Ela permite que maquininhas de cartão, e-commerce, adquirentes e bancos de todo o mundo se comuniquem de forma segura e rápida usando o mesmo formato de dados.
O que significa MTI na ISO 8583?
MTI significa Message Type Indicator (Indicador de Tipo de Mensagem). É um código numérico de quatro dígitos que define a função daquela mensagem específica, como um pedido de autorização (0100), uma resposta (0110) ou um estorno (0400).
O que são Data Elements (Bits) na ISO 8583?
Data Elements são os campos de dados específicos dentro da mensagem. A norma possui até 128 campos. Por exemplo, o Bit 2 carrega o número do cartão, o Bit 4 carrega o valor da transação e o Bit 39 carrega o código de aprovação ou erro.
Qual a diferença entre Dual Message e Single Message?
No modelo Dual Message (comum no crédito), a transação exige duas etapas: primeiro o banco autoriza e reserva o limite, e depois o lojista confirma a captura. No modelo Single Message (comum no débito), a autorização e o desconto do valor acontecem em uma única etapa e mensagem.
Por que o teste de stress é importante em sistemas de pagamento?
O teste de stress garante que a infraestrutura suporte um alto volume de transações por segundo (TPS) sem cair. Ele previne lentidões que causam "timeouts", falhas que bloqueiam o limite do cliente indevidamente e geram prejuízos financeiros para a operação.
