ISO8583py - Utilizando Python para o tratamento de mensagens ISO8583
ISO8583 é um padrão de mensagens em formato ASCII para ser utilizado na troca de informações financeiras, como entre aqueles terminais de cartão de crédito e as operadoras. Em Python, o processamento adequado da mensagem pode ser feito com a biblioteca ISO8583py descrita neste artigo.
Introdução
ISO8583 é um padrão de mensagens em formato ASCII para ser utilizado na troca de informações financeiras, como entre aqueles terminais de cartão de crédito e as operadoras.
As mensagens são formadas por 3 partes:
A seguir temos um exemplo de uma mensagem ISO8583 do tipo 0800 (MTI):
Bits setados:
Assim, a mensagem final, com todos os campos e o bitmap seria: 08002000010000c0000230000004511111111222222222222222022This is a Test Message
Quebrando a mensagem, verifica-se:
Segundo o padrão, cada um dos bits deve ter um tamanho/tipo específico, possuindo também um nome que define sua finalidade.
Maiores informações sobre ISO8583, MTI, mapa de bits e os bits, podem ser visto na Wikipedia do ISO8583.
O site do projeto é: ISO8583 Python Library
Neste site é possível:
As mensagens são formadas por 3 partes:
- Message Type Indication: Tipo indicativo da mensagem, por exemplo 0800 (Network Management Request), para indicar transações de teste de canal (Echo), abertura de comunicação etc;
- Bitmap: O mapa de bits que a indicação de quais bits estão ativos e consequentemente presentes no pacote;
- Bits: informações efetivamente.
A seguir temos um exemplo de uma mensagem ISO8583 do tipo 0800 (MTI):
Bits setados:
- Bit 3 conteúdo 300000
- Bit 24 conteúdo 045
- Bit 41 conteúdo 11111111
- Bit 42 conteúdo 222222222222222
- Bit 63 conteúdo This is a Test Message
Assim, a mensagem final, com todos os campos e o bitmap seria: 08002000010000c0000230000004511111111222222222222222022This is a Test Message
Quebrando a mensagem, verifica-se:
- MTI: 0800
- Bitmap: 2000010000c00002
- Dados: 30000004511111111222222222222222022This is a Test Message
Segundo o padrão, cada um dos bits deve ter um tamanho/tipo específico, possuindo também um nome que define sua finalidade.
Maiores informações sobre ISO8583, MTI, mapa de bits e os bits, podem ser visto na Wikipedia do ISO8583.
ISO8583py
A biblioteca IS8583py é feita inteiramente em Python e está licenciada segundo a GPL V.3 com suporte ao processamento das mensagens ISO8583.O site do projeto é: ISO8583 Python Library
Neste site é possível:
- Fazer download da biblioteca
- Ter acesso à documentação
- Ter acesso ao código fonte
- Ter acesso a exemplos de utilização