Skip to main content

A python library that implements the primitive Core Banking system (CBS) emulator.

Usage:
>>> from pybank.cbs import CBS
>>> #A host to connect to
>>> cbs = CBS(host='127.0.0.1', port=3388)
>>> cbs.run()
Connected to 127.0.0.1:3388
       Parsed message:
       MTI:    [1804]
       Fields: [ 11 12 24 ]
                11 - System trace audit number                 [661281]
                12 - Time, local transaction (YYMMDDhhmmss)    [170526181337]
                24 - Network International identifier (NII)    [801]
18:13:37.868027 >> 35 bytes sent:
       00 33 31 38 30 34 00 30 01 00 00 00 00 00 36 36         .31804.0......66
       31 32 38 31 31 37 30 35 32 36 31 38 31 33 33 37         1281170526181337
       38 30 31                                                801
18:13:37.903578 << 26 bytes received:
       00 24 31 38 31 34 00 20 01 00 02 00 00 00 30 30         .$1814. ......00
       30 30 30 30 38 30 31 30 30 30                           0000801000
       Parsed message:
       MTI:    [1814]
       Fields: [ 11 24 39 ]
                11 - System trace audit number                 [000000]
                24 - Network International identifier (NII)    [801]
                39 - Response code                             [000]                   [APPROVED]
18:22:45.630814 << 292 bytes received:
       02 90 31 31 30 30 fc f6 40 01 08 e1 e4 00 00 00         ..1100..@.......
       00 00 14 00 00 00 31 36 34 31 37 34 30 37 30 30         ......1641740700
       30 30 30 30 30 31 30 34 30 30 30 30 30 30 30 30         0000010400000000
       30 30 30 30 30 31 31 30 30 30 30 30 30 30 30 30         0000011000000000
       30 30 30 31 34 39 30 30 30 30 30 30 30 30 30 31         0001490000000001
       34 39 37 30 31 33 35 31 30 30 36 31 30 30 30 30         4970135100610000
       30 30 31 31 33 30 36 30 31 37 30 35 32 36 31 38         0011306017052618
       32 32 34 35 31 37 31 32 30 32 30 32 32 38 36 30         2245171202022860
       31 30 30 36 30 30 30 30 30 30 30 30 30 30 30 30         1006000000000000
       31 31 33 30 36 30 31 30 30 30 31 33 33 37 39 39         1130601000133799
       39 39 39 39 39 39 39 39 39 39 30 30 31 42 50 43         9999999999001BPC
       20 54 45 53 54 20 4d 45 52 43 48 41 4e 54 20 4e          TEST MERCHANT N
       20 31 3e 4d 4f 53 4b 56 41 20 20 20 20 20 20 20          1>MOSKVA
       20 20 20 52 55 30 34 37 30 30 31 30 30 31 31 30            RU04700100110
       30 32 30 30 33 37 37 34 30 32 35 30 30 31 32 30         0200377402500120
       32 37 30 30 30 30 32 38 30 31 32 30 30 30 30 30         2700002801200000
       30 31 31 33 30 36 30 36 34 33 38 32 36 38 32 36         0113060643826826
       30 30 30 30 30 30 31 31 31 39 35 36 37 31 33 30         0000001119567130
       30 30 30 31                                             0001
       Parsed message:
       MTI:    [1100]
       Fields: [ 2 3 4 5 6 9 10 11 12 14 15 18 32 37 41 42 43 48 49 50 51 54 100 102 ]
                 2 - Primary account number (PAN)              [4174070000000104]
                 3 - Processing code                           [000000]
                 4 - Amount, transaction                       [000000011000]
                 5 - Amount, settlement                        [000000000149]
                 6 - Amount, cardholder billing                [000000000149]
                 9 - Conversion rate, settlement               [70135100]
                10 - Conversion rate, cardholder billing       [61000000]
                11 - System trace audit number                 [113060]
                12 - Time, local transaction (YYMMDDhhmmss)    [170526182245]
                14 - Date, expiration                          [1712]
                15 - Date, settlement                          [020228]
                18 - Merchant type                             [6010]
                32 - Acquiring institution identification code [0]
                37 - Retrieval reference number                [000000113060]
                41 - Terminal ID                               [10001337]
                42 - Merchant number                           [999999999999001]
                43 - Card acceptor name/location               [BPC TEST MERCHANT N 1>MOSKVA          RU]
                48 - Additional data - private                 [00100110020037740250012027000028012000000113060]
                49 - Currency code, transaction                [643]
                50 - Currency code, settlement                 [826]
                51 - Currency code, cardholder billing         [826]
                54 - Additional amounts                        []
               100 - Receiving institution identification code []
               102 - Account identification 1                  [1]
       Parsed message:
       MTI:    [1110]
       Fields: [ 2 3 4 5 6 11 12 14 15 32 37 39 48 49 50 51 54 102 ]
                 2 - Primary account number (PAN)              [4174070000000104]
                 3 - Processing code                           [000000]
                 4 - Amount, transaction                       [000000011000]
                 5 - Amount, settlement                        [000000000149]
                 6 - Amount, cardholder billing                [000000000149]
                11 - System trace audit number                 [113060]
                12 - Time, local transaction (YYMMDDhhmmss)    [170526182245]
                14 - Date, expiration                          [1712]
                15 - Date, settlement                          [020228]
                32 - Acquiring institution identification code [0]
                37 - Retrieval reference number                [000000113060]
                39 - Response code                             [000]                   [APPROVED]
                48 - Additional data - private                 [00100110020037740250012027000028012000000113060]
                49 - Currency code, transaction                [643]
                50 - Currency code, settlement                 [826]
                51 - Currency code, cardholder billing         [826]
                54 - Additional amounts                        [007016C000000135353826]
               102 - Account identification 1                  [1]
18:22:45.666351 >> 215 bytes sent:
       02 13 31 31 31 30 fc 36 00 01 0a 01 e4 00 00 00         ..1110.6........
       00 00 04 00 00 00 31 36 34 31 37 34 30 37 30 30         ......1641740700
       30 30 30 30 30 31 30 34 30 30 30 30 30 30 30 30         0000010400000000
       30 30 30 30 30 31 31 30 30 30 30 30 30 30 30 30         0000011000000000
       30 30 30 31 34 39 30 30 30 30 30 30 30 30 30 31         0001490000000001
       34 39 31 31 33 30 36 30 31 37 30 35 32 36 31 38         4911306017052618
       32 32 34 35 31 37 31 32 30 32 30 32 32 38 30 31         2245171202022801
       30 30 30 30 30 30 30 31 31 33 30 36 30 30 30 30         0000000113060000
       30 34 37 30 30 31 30 30 31 31 30 30 32 30 30 33         0470010011002003
       37 37 34 30 32 35 30 30 31 32 30 32 37 30 30 30         7740250012027000
       30 32 38 30 31 32 30 30 30 30 30 30 31 31 33 30         0280120000001130
       36 30 36 34 33 38 32 36 38 32 36 30 32 32 30 30         6064382682602200
       37 30 31 36 43 30 30 30 30 30 30 31 33 35 33 35         7016C00000013535
       33 38 32 36 30 31 31                                    3826011

cbs_example.py is an example of core banking system emulator application, that interacts connects to authorization switch through ISO8583:1993 protocol (accounts, transactions and balances are stored in a local sqlite3 database).

Metadata

Release files for pybank 0.36

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pybank 0.36
File Size Uploaded
pybank-0.36.tar.gz 8.3 kB Details

Release files / pybank-0.36.tar.gz

Download URL pybank-0.36.tar.gz
Size 8.3 kB
Tags Source
SHA-256 checksum
How to use checksums
49433a1b551f944242aec83bec05b004622a4270cc2f834bf2c9f8c5888e46ee
BLAKE2b-256 checksum
How to use checksums
110d54f683fefe5d7fdcc1c303dc6392dc375497be2f11052fb7dfefb0c2a3ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.36 This release

1 release file

0.35

1 release file

0.34

1 release file

0.33

1 release file

0.32

1 release file

0.31

1 release file

0.30

1 release file

0.27

1 release file

0.26

1 release file

0.25

1 release file

0.24

1 release file

0.17

1 release file

0.16

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page