De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Igor Vitório Custódio
Data de Publicação: 21 de Maio de 2009
O padrão ISO8583 é amplamente utilizado nas transmissões de transações financeiras, como por exemplo entre um terminal POS e a central do cartão de Crédito.
Basicamente ele é uma mensagem formatada cujas posições têm significado específico, sendo comum receberem o nome de bits.
Os campos básicos de todo ISO8583 são:
Uma mensagem com MTI 0800 ("Network Management Request") geralmente usada como "Echo" para testar se está tudo "ok" com o servidor, com os respectivos bits:
Deve ser estruturado para gerar a representação ASCII:
08002000010000C0000230000004511111111222222222222222022This is a Test Message
E assim, qualquer plataforma que suporte ISO8583 e receber esta mensagem conseguirá interpretar, processar e responder.
Existem diversas bibliotecas para processar adequadamente o ISO8583, como:
Bem, para Python pode ser encontrado em Projeto ISO8583py.
ISO8583py é uma biblioteca 100% Python com suporte a geração e processamento de mensagens no padrão ISO8583 codificadas em ASCII.
Esta biblioteca está licenciada pela GPL V.3 e sua versão estável foi disponibilizada recentemente.
Tem suporte a interpretação de pacotes codificados com "Little-endian" e "Big-endian" e transmitidos através da rede
Além disto, tem a capacidade de se adequar a dialetos ISO8583 locais, através da redefinição de bits, valores, tipos, etc.
O download pode ser feito através da página: http://code.google.com/p/iso8583py/downloads/list
A instalação é bem simples, pois a biblioteca está estruturada como um módulo Python.
Basicamente é: Baixar, descompactar, instalar.
Mais informações de como instalar podem ser vistas na página http://code.google.com/p/iso8583py/wiki/InstallPage
O pacote da ISO8583py vem com exemplos de uso (Diretório examples), que demonstram a facilidade de utilização, inclusive com um exemplo de cliente e servidor TCP para a troca de mensagens "Echo".
Uma descrição geral e comentários sobre os exemplos podem ser visto na página http://code.google.com/p/iso8583py/wiki/ExamplesPage
Por exemplo:
A criação do pacote de "Echo", utilizando-se esta biblioteca, resume-se a:
from ISO8583.ISO8583 import ISO8583 from ISO8583.ISOErrors import * (...) iso = ISO8583() iso.setMTI('0800') iso.setBit(3,'300000') iso.setBit(24,'045') iso.setBit(41,'11111111') iso.setBit(42,'222222222222222') iso.setBit(63,'This is a Test Message') (...)
Todos os fontes estão repletos de comentários no formato "PyDoc".
Assim, basta utilizar o PyDoc para descobrir todas as funcionalidades presentes nesta biblioteca.
É possível ainda verificar a documentação "PyDoc" dentro do diretório "docs". Lá se encontram arquivos no formato HTML com toda a documentação gerada por esta ferramenta.
Além disto, caso queiram tirar dúvidas, basta se cadastrar no grupo de discussão http://groups.google.com.br/group/iso8583python
Como a ISO8583py está licenciada pela GPL V.3, pode-se contribuir abertamente.
Apesar de todo código fonte estar disponível ao fazer download, ele está presente também o SVN do GoogleCode http://code.google.com/p/iso8583py/source/browse/#svn/trunk
Se precisarem processar pacotes ISO8583 em Python, está aí uma biblioteca "free" e prática, como Python :)
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários