BP-Switch: Configuring message persistence

BP-Switch icon


This tutorial builds on top of a previous article about BP-Switch's pass-through configuration (If you haven't read it yet, read it as otherwise you won't understand a thing) and demonstrates BP-Switch's ability to convert ISO8583 rev.93 to ISO20022 and persisting it in a local database.

Components used

As mentioned before, this scenario builds on previous tutorial and uses it as its base. In addition to the components used there, new BP-Node components we'll use also following new Pipeline components:

  • FinancialMessagePersistence
  • ConvertBetweenFinancialMessageAndIso85831993


We don't need any new BIG components to configure this time as our scenario already has the TCP and Exchange context established. The change is very easy and starts with editing the Pipeline ISO8583_1993_Pipeline, we've prepared in our previous tutorial. Current pipeline configuration should read as on a picture below. Let's review it first together.


First, we have CommandToIsoMessage component in place to convert data stream to the the internal ISO8583-1993 object. On-request processing result of this component is placed in within the request message object under the tag "Iso8583Request", having already all fields internally parsed, while On-response it checks presence of the "Iso8583Response" tag and compiles the Iso8583Response from data available there.

SendMessageOnline component then fetches data referenced by the tag "Iso8583Request", forms a message request and sends it to the Exchange component for further processing and response matching. On response it does vice versa, retrieving a general object provided by the Exchange component and re-wraps it under the "Iso8583Response" tag.

Now, BP-Node uses ISO20022 as its internal format for message translation, but also for message storage. So we need to extend this configuration logic providing a conversion to the from ISO8583-1993 -> ISO20022 - FinancialMessage. This is being achieved by adding ConvertBetweenFinancialMessageAndIso85831993 pipeline component surrounded by two FinancialMessagePersistence components for message storage.

1/ Adding ConvertBetweenFinancialMessageAndIso85831993 component

While editing ISO8583_1993_Pipeline click on Add Component and select the ConvertBetweenFinancialMessageAndIso85831993 component (bp::eftlab::node::pipeline::basic_components::ConvertBetweenFinancialMessageAndIso85831993).

Fill any Label you wish, e.g. ConvertISO8583ToISO20022.

Save the pipeline, additional fields are revealed for this component. Configuration below will tell component where to find ISO8583 parsed object and where to put parser results. Note that this is happening for request and also for response processing. Augmentation key is left blank as we don't need to provide augmentation data

  • Label: ConvertISO8583ToISO20022
  • On Request: true
  • On Response: true
  • Request Augmentation Key: <leave blank>
  • Request Destination Key: FinancialRequest
  • Request Source Key: Iso8583Request
  • Response Augmentation Key: <leave blank>
  • Response Destination Key: FinancialResponse
  • Response Source Key: Iso8583Response

Save the pipeline.

2/ Adding FinancialMessagePersistence component - requests handling

This component will handle persistence for all requests.

Click on Add Component and select the FinancialMessagePersistence component (bp::eftlab::node::pipeline::basic_components::FinancialMessagePersistence).

Fill the label field with some name, e.g. RequestPersistence. We need to tell component where to find financial message data.

Save the pipeline, additional fields are revealed for this component.

Fill the following data:

  • Label: RequestPersistence
  • Do On Request: True
  • Do On Response: False
  • Source Field Request: FinancialRequest
  • Source Field Response: FinancialResponse

Save the pipeline.

3/ Adding FinancialMessagePersistence component - responses handling

This component will handle persistence for all responses.

Click on Add Component and select the FinancialMessagePersistence component (bp::eftlab::node::pipeline::basic_components::FinancialMessagePersistence).

Fill the label field with some name, e.g. ResponsePersistence.

Save the pipeline, additional fields are revealed for this component. Again we need to tell component where to find financial message data. Note that ticks for Do On Request and Do On Response are now swapped!

Fill the following data:

  • Label: ResponsePersistence
  • Do On Request: False
  • Do On Response: True
  • Source Field Request: FinancialRequest
  • Source Field Response: FinancialResponse

Save the pipeline.

Save the pipeline.

4/ Component reordering

Newly added components are now at the back of the pipeline. We need to fix that by moving those in an appropriate order. Use the Up and Down arrows to get following list:

  1. CommandToIsoMessage
  2. ResponsePersistence
  3. ConvertISO8583ToISO20022
  4. RequestPersistence
  5. SendMesageOnline

Result should look like on a picture below:

Check proper configuration

Time to check if our configuration effort paid of. Fire a transaction! When having done so, check the Transaction Query and click the Search button. List of your transactions should now appear.

Feel free to explore internal message structure and options provided by the User Interface to filter your messages and also internal fields.

Condensed message detail:

Expanded internal message:


In this tutorial, we went more deeper in the Pipeline Component configuration, while the real-time configuration and persistence ability was demonstrated on the ISO8583-1993 messages.


BP-Tools is a set of freeware applications for EFT testing, benchmarking and transaction service development.

See more...


Download Flyer...


The Babylon Payments Simulator (BP-Sim) is a family of highly efficient regression and stress testing tools, designed for deployment in development and pre-production environments. BP-Sim allows users to perform an extensive range of tests across the chain of payment services.

See more...

Download Flyer...


The Babylon Payments Processing Suite(BP-Processing) is a suite of EFTlab's products for realtime payment transaction processing and authorisation.

See more...