Open source

The ISO 8583 library for Python

Parse, build and validate card payment messages, simulate an issuer host over TCP, and work with messages from the command line, a REST API or an AI assistant. Free under the AGPL-3.0.

pip install iso8583sim

What it does

Everything you need to work with ISO 8583 in code

Messages

Parse, build and validate messages of the 1987, 1993 and 2003 versions, convert between them, and read binary bitmaps, packed BCD and EBCDIC.

Networks and cards

Network-specific field validation, EMV chip data in field 55, PIN blocks in ISO 9564 formats 0, 1, 3 and 4, and MACs for fields 64 and 128.

A host on the wire

iso8583sim serve runs a mock issuer that approves, declines, delays or drops requests by rules, with length headers and TPDUs as on real links; send and load measure what a host does.

Every way in

A Python SDK, a command line, a REST API (with a public demo at api.iso8583sim.com) and Jupyter notebooks.

AI assistants

Explain messages in plain English and generate them from a description, with OpenAI, Anthropic, Google or a local model through Ollama; an MCP server lets assistants parse, build and validate messages.

Fast

Compiled extensions in the published wheels parse more than 180,000 messages a second and build more than 150,000 (on Apple Silicon, Python 3.12).

License

Free to use, and a commercial license when you need one

iso8583sim is free under theGNU AGPL-3.0: use it, change it and share it, as long as what you build with it is open under the same terms.

Building it into a closed-source product, or offering it as a hosted service, needs acommercial licensefrom Rota Inc.

Testing a whole payment system?

The iso8583sim Platform builds on the library: simulated issuers, switches and HSMs, scenarios in CI, and load runs, in your own environment.

See the Platform