Parse MT103 messages from the Swift payments network
Banks don't really deal with cash much any more. Instead, they push bits around the internet tracking where your money goes digitally. The network that handles much of that movement is called Swift, and the transfers are documented in a special format native to that network called MT103.
Unfortunately, MT103 isn't a common standard for most software developers. It's ugly & hard to read for humans and not at all easy to parse. This library attempts to fix that, so all you have to do is pass an MT103 string into it and you get back a native Python object with the properties you're looking for.
from mt103 import MT103
mt103 = MT103("some-mt-103-string")
print("basic header: {}, bank op code: {}, complete message: {}".format(
mt103.basic_header,
mt103.text.bank_operation_code,
mt103
))
It's on PyPi, so just install it with pip.
$ pip install mt103
Parsing MT103 messages should work just fine and you should be able to access
all of the components via the Python API except for section 13C
. From
the specs I've seen, it's unclear as to whether this section is permitted to
repeat (meaning it should be parsed as a list) or if it's one value only. If
someone can explain this authoritatively to me, I can include support for this
section as well.