Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Biblioteca ISO8583 em Python

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:

  • MTI: Message Type Indicator ou Código indicador da mensagem
  • Bitmaps: Mapa de Bits. Serve para indicar quais bits estão presentes no pacote
  • Dados: Parte que carrega as informações em sim.

Exemplo:

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:

  • Bit 3: valor 300000
  • Bit 24: valor 045
  • Bit 41: valor 11111111
  • Bit 42: valor 222222222222222
  • Bit 63: valor This is a Test Message

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

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.

Download

O download pode ser feito através da página: http://code.google.com/p/iso8583py/downloads/list

Instalação

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

Exemplos

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')
  
  (...)

Documentação

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

Contribuições

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

Conclusão

Se precisarem processar pacotes ISO8583 em Python, está aí uma biblioteca "free" e prática, como Python :)

Veja a relação completa dos artigos de Igor Vitório Custódio

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.03/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1052 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Lan University

Submarino.com.br

Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais

 

 

Procure pela casa ou apartamento ideal à venda ou para aluguel na busca inteligente do Imohoo
Buscar imóveis