juks / iso-8583-socket-queue

ISO 8583 gateway
MIT License
194 stars 111 forks source link

Failed to parse iso8583 packet. #3

Closed kahwooi closed 7 years ago

kahwooi commented 7 years ago

I started ISO Host Emulation and “Self Test” Clients:

node socketQueue.js --upstreamHost=localhost --upstreamPort=5000 --listenPort=8080 --vv --echoServerPort=5000

I used your example:

curl -H "Content-Type: application/json" -X POST -d '{ "0": "0200", "3": "0", "4": 1000, "7": "0818160933", "11": 618160, "12": "150820130600", "22": "056", "24": "200", "25": "00", "35": "4850781234567891=19082012232800000037", "41": 992468, "42": 124642124643, "49": "810", "55": "9f2608571f1e10d4fa4aac9f2701809f100706010a03a4b8029f37045bb074729f3602000c950500800010009a031508189c01009f02060000000010005f2a02064382023c009f1a0206439f03060000000000009f3303e0f0c89f34034403029f3501229f1e0835313230323831358407a00000000310109f41030000565f340101" }' http://localhost:8080

I got this error:

2016-08-31 22:43:34 - info: The queue is empty
2016-08-31 22:43:39 - info: Client ::1:6798 connected
2016-08-31 22:43:39 - info: Client ::1:6798 sent data (656b)
2016-08-31 22:43:39 - verbose: [POST...H...]
2016-08-31 22:43:39 - info: ::1:6798: Warning! Failed to parse iso8583 packet. W
on't queue!
2016-08-31 22:43:39 - info: Client ::1:6798 <end> event
2016-08-31 22:43:39 - info: Client ::1:6798 <close> event

It seems to work previously....

juks commented 7 years ago

Hi!

The reason why you get this error is you run the service using --listenPort=8080 option, that opens raw ISO-8583 service on port 8080. You should use --listenHttpPort=8080 instead. Or you can use both, but with different ports specified.

kahwooi commented 7 years ago

Oppsss, I got it wrong. Thanks anyway.

juks commented 7 years ago

Also, please keep in mind that in order to produce a correct packet you need no update the field 12 according to the current date and time, where value should be formatted as "YYMMDDHHmmss".

No problem! Feel free to ask. Already made a change in the debug output that will make this situation more clear.

thangphamnd123 commented 3 years ago

Hi,

I change the F12 already but still got packet expired output. Pls help to check. Thank you

{ "0": "0200", "3": "0", "4": 1000, "7": "0922143500", "11": 618160, "12": "200922143500", "22": "056", "24": "200", "25": "00", "35": "4850781234567891=19082012232800000037", "41": 992468, "42": 124642124643, "49": "810", "55": "9f2608571f1e10d4fa4aac9f2701809f100706010a03a4b8029f37045bb074729f3602000c950500800010009a031508189c01009f02060000000010005f2a02064382023c009f1a0206439f03060000000000009f3303e0f0c89f34034403029f3501229f1e0835313230323831358407a00000000310109f41030000565f340101" }

2020-09-22 14:43:20 - verbose: http:::1:50016: Warning! Iso8583 packet is expired. Won't queue!

 [Purchase Request <expired>]

 Message Type Indicator [0].......................0200
 Bitmap [1].......................................3230058020c08200
 Processing Code [3]..............................0
 Amount, Transaction [4]..........................1000
 Transmission Date and Time [7]...................0922143500
 System Trace Audit Number [11]...................618160
 Time, Local Transaction [12].....................200922143500
 Pos Entry Mode [22]..............................056 (Card Data Input Mode: <Integrated circuit card read; CVV data

reliable>; Cardholder Auth Method: ) Function Code [24]...............................200 Pos Condition Code [25]..........................00 Track 2 Data [35]................................485078**7891=19082012232800000037 Card Acceptor Terminal Identification [41].......00992468 Merchant Id [42].................................000124642124643 Currency code, transaction [49]..................810 EMV Data [55]....................................9f2608571f1e10d4fa4aac9f2701809f100706010a03a4b8029f37045bb074729f 3602000c950500800010009a031508189c01009f02060000000010005f2a02064382023c009f1a0206439f03060000000000009f3303e0f0c89f3403 4403029f3501229f1e0835313230323831358407a00000000310109f41030000565f340101

================================================================================================

juks commented 3 years ago

Hi! I suggest you compare the field 12 date with the log entry time. The values may differ one from another.

nabhanfsl commented 3 years ago

i dont understand by comparing log entry time, because I got the same error

juks commented 3 years ago

Hi! You can find, debug and modify the logic that detects if packet is expired here: https://github.com/juks/iso-8583-socket-queue/blob/6dab9e2e4bf8e5f22d14b320fc0dbe050ba2e9ce/lib/iso8583/lib/packager/smartVista.js#L323

igboBoydev commented 2 years ago

Hello I'm currently working on iso8583 system I tried updated the field 12 as requested and I got

2022-05-10 10:41:03 - info: Connecting to upstream server 10.0.0.1:5000
2022-05-10 10:41:03 - info: Relay HTTP server is now running on port 3030
(node:22129) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency (Use node --trace-warnings ... to show where the warning was created) 2022-05-10 10:41:12 - info: New HTTP socket
2022-05-10 10:41:12 - info: Client http:::1:51295 connected
2022-05-10 10:41:12 - info: Client http:::1:51295 sent data
2022-05-10 10:41:12 - verbose:

http:::1:51295

 [Purchase Request]

 Message Type Indicator [0].......................0200
 Bitmap [1].......................................3230058020c08200
 Processing Code [3]..............................0
 Amount, Transaction [4]..........................1000
 Transmission Date and Time [7]...................0818160933
 System Trace Audit Number [11]...................618160
 Time, Local Transaction [12].....................652175098172
 Pos Entry Mode [22]..............................056 (Card Data Input Mode: <Integrated circuit card read; CVV data reliable>; Cardholder Auth Method: <Signature Based>)
 Function Code [24]...............................200
 Pos Condition Code [25]..........................00
 Track 2 Data [35]................................485078******7891=19082012232800000037
 Card Acceptor Terminal Identification [41].......00992468
 Merchant Id [42].................................000124642124643
 Currency code, transaction [49]..................810
 EMV Data [55]....................................9f2608571f1e10d4fa4aac9f2701809f100706010a03a4b8029f37045bb074729f3602000c950500800010009a031508189c01009f02060000000010005f2a02064382023c009f1a0206439f03060000000000009f3303e0f0c89f34034403029f3501229f1e0835313230323831358407a00000000310109f41030000565f340101

================================================================================================

2022-05-10 10:41:12 - info: Writing to queue http:::1:51295 [0]
2022-05-10 10:41:12 - info: New queue item 0
2022-05-10 10:41:12 - info: Processing queue [pending 1 / total 1]
2022-05-10 10:41:12 - verbose: Queue keys dump: 0
2022-05-10 10:41:12 - info: Socket is not connected yet...

Please can someone help to explain why I'm getting this ?

igboBoydev commented 2 years ago

Screenshot 2022-05-10 at 10 43 05

juks commented 2 years ago

Hi! As to the warning, I think you need to use node --trace-warnings as suggested to find the reason.

Socket is not connected yet... means there is no connection to the upstream host.

igboBoydev commented 2 years ago

Hello, thanks for the response. I was able to make a successful connection to the upstream host but my connection is returning a gateway timeout error message please is there a community I can join for iso8583 issues ?

On Wed, 11 May 2022 at 6:11 PM, Igor Askarov @.***> wrote:

Hi! As to the warning, I think you need to use node --trace-warnings as suggested to find the reason.

Socket is not connected yet... means there is no connection to the upstream host.

— Reply to this email directly, view it on GitHub https://github.com/juks/iso-8583-socket-queue/issues/3#issuecomment-1124031239, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASWBO2QGC7SJ3THOSL37EE3VJPS37ANCNFSM4COGY5ZQ . You are receiving this because you commented.Message ID: @.***>

juks commented 2 years ago

I can't point any specific community, but there have to be many. Also, there is a good web resource dedicated to iso8583: https://iso8583.info/

igboBoydev commented 2 years ago

Hello mate, kindly, I'm having issues the with iso-socket-queue package, it seems it does not accept an xml request body because the third party I'm trying to integrate with. I would appreciate any form of help from you. Thanks.

On Thu, May 12, 2022 at 10:09 AM Igor Askarov @.***> wrote:

I can't point any specific community, but there have to be many. Also, there is a good web resource dedicated to iso8583: https://iso8583.info/

— Reply to this email directly, view it on GitHub https://github.com/juks/iso-8583-socket-queue/issues/3#issuecomment-1124725572, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASWBO2VORVWIJQXPFAQ6OGDVJTDFLANCNFSM4COGY5ZQ . You are receiving this because you commented.Message ID: @.***>

juks commented 2 years ago

Hi! It accepts no xmk but json format.