VIDEO at the end of the article
In this scenario we have 3 connected parties.
An ISO8583 simulator will build ISO8583 messages real-time.
The simulator is connected to the Converter as a Client/Acquirer and sends TCP/IP ISO8583 messages.
The simulator mimics an Acquirer.
The Acquirer is responsible for building, sending , receiveing and parsing ISO8583 messages.
The Acquirer can be any kind: a POS device, an ATM, an Acquiring Host, an aggregator of transactions.
On response, the Acquirer reads the response code to assess if the transaction is approved or denied.
An ISO8583 converter will process the ISO8583 messages.
For Demo purposes, we have the UI turned ON and traces ON.
The converter is a TCP/IP server which will receive the ISO8583 messages, parse them and expose them to the Javascript Engine.
The Javascript Engine allows scripting, where we define how the JSON will look like.
The converter makes HTTP POST requests to a host.
In this case, the converter sends the JSON as a body in a simplified format.
See a simple mapping article https://neapay.com/post/iso8583-message-converter-json-xml-interface-specification-mapping_45.html
The SQL record is sent to a file for DEMO purposes.
In reality, it would probably be sent to a database like MySQL.
The XML is not sent anywhere, just written to console.
We can send also the XML or SQL as body to POST request, as an alternative.
A HTTP Server will receive the JSON and reply
For Demo purposes, we have the UI turned ON and traces ON.
The HTTP host will receive the JSON body, decide to alter or respond and send a message back
This would be the beneficiary party of the converter, like your node.js application or PHP or any web host.
The Host would be your system which reads a simple HTTP POST request.
In the body you find the JSON with all the fields. Optionally, the converter can add/remove fiedls.
For example, the JSON can be JWT signed.
The PAN or sensitive data can be removed, anonimized, encrypted one-way or tokenized.
The HOST can decide to change any of the received JSON fields, or to return others.
If the host changes the fields, it can, like in the example below, to return a different response code.
The Host can also return only a single field, like
{"status":"denied"}
or
{"response":"000"}
The response is then interpredted by the converter.
ISO8583 converter JSON REST API - part 1
ISO8583 converter JSON REST API - part 2
ISO8583 converter JSON REST API - part 3