# iso8583-server **Repository Path**: rustcl/iso8583-server ## Basic Information - **Project Name**: iso8583-server - **Description**: iso8583 with rust - **Primary Language**: Rust - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-17 - **Last Updated**: 2025-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README A demo ISO8583 server built using crate iso8583_rs (https://crates.io/crates/iso8583_rs) Please see https://github.com/rkbalgi/iso8583_rs and https://crates.io/crates/iso8583_rs for additional documentation/reference ``` C:/Users/rkbal/.cargo/bin/cargo.exe run --color=always --package iso8583-server --bin iso8583-server Compiling iso8583_rs v0.1.10 Compiling iso8583-server v0.1.0 (C:\Users\rkbal\IdeaProjects\iso8583-server) Finished dev [unoptimized + debuginfo] target(s) in 3.28s Running `target\debug\iso8583-server.exe` current-dir: C:\Users\rkbal\IdeaProjects\iso8583-server spec-file: .\src\sample_spec.yaml 14:09:04 [INFO] starting iso server for spec SampleSpec at port 6666 14:10:22 [DEBUG] (2) iso8583_rs::iso8583::server: Accepted new connection .. Ok(V4(127.0.0.1:52307)) 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::server: reading data for mli 81 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::server: received request: |31343230 f0242000 00000000 80000001| 1420.$ ......... 00000000 |00000000 00000001 00000000 31323132| ............1212 00000010 |33343536 37383931 30313030 34303030| 3456789101004000 00000020 |30303030 30303030 30313939 37373935| 0000000001997795 00000030 |38313232 3034f8f4 f0313233 34353637| 812204...1234567 00000040 |38| 8 00000050 00000051 len = 0 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::iso_spec: computed header value for incoming message = 1420 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::iso_spec: parsing field : message_type 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::iso_spec: parsing field : bitmap 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::bitmap: parsing field - pan 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::bitmap: parsing field - proc_code 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::bitmap: parsing field - amount 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::bitmap: parsing field - stan 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::bitmap: parsing field - expiration_date 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::bitmap: parsing field - country_code 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::bitmap: parsing field - key_mgmt_data 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::bitmap: parsing field - reserved_data 14:10:22 [DEBUG] (3) iso8583_server: parsed incoming request - message = "1420 - Reversal" successfully. : parsed message: --- -Field- : -Position- : -Field Value- message_type : : 1420 bitmap : : f02420000000000080000001000000000000000100000000 pan : 002 : 123456789101 proc_code : 003 : 004000 amount : 004 : 000000000199 stan : 011 : 779581 expiration_date : 014 : 2204 country_code : 019 : 840 key_mgmt_data : 096 : 1234 reserved_data : 160 : 5678 ---- 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::iso_spec: echoing .. 2: 123456789101 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::iso_spec: echoing .. 3: 004000 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::iso_spec: echoing .. 4: 000000000199 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::iso_spec: echoing .. 11: 779581 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::iso_spec: echoing .. 14: 2204 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::iso_spec: echoing .. 19: 840 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::iso_spec: echoing .. 96: 1234 14:10:22 [DEBUG] (3) iso8583_server: stan = 779581 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::server: iso_response : |31343330 f0242000 02000000 00000001| 1430.$ ......... 00000000 |00000000 31323132 33343536 37383931| ....121234567891 00000010 |30313030 34303030 30303030 30303030| 0100400000000000 00000020 |30313939 37373935 38313232 3034f8f4| 01997795812204.. 00000030 |f0343030 31323334| .4001234 00000040 00000048 parsed : --- -Field- : -Position- : -Field Value- message_type : : 1430 pan : 002 : 123456789101 proc_code : 003 : 004000 amount : 004 : 000000000199 stan : 011 : 779581 expiration_date : 014 : 2204 country_code : 019 : 840 action_code : 039 : 400 key_mgmt_data : 096 : 1234 --- 14:10:22 [DEBUG] (3) iso8583_rs::iso8583::server: request processing time = 2 millis ``` You can find a Java TcpClient implementation here - https://github.com/rkbalgi/tcptester/blob/master/src/test/java/TcpClientTest.java#L39 or a Rust TcpClient here - https://github.com/rkbalgi/iso8583_rs/blob/master/src/iso8583/test.rs#L86