Posted on 10th Feb 2021 5503 views
Because Every ISO8583 implementation has its own particularities, variations and custom behaviour, the ISO8583 simualtor from neaPay is designed from the begining for super fast configuration and customization.
Adding or removing extra fields or changing their behaviour is designed from the begining to be ultra easy.
Adding extra, custom fiedls to the ISO8583 simualtor is very easy.
Edit the spreadsheet and save, and you are done with test data configuration.
Edit the message that reads the test data and you can use the data in the simualtor
Edit the ISO8583 message fields building behaviour, and you have loaded the data into the transaction.
In order to edit ISO8583 test data structure for the neaPay simulator, locate folder named test_data and open the spreadsheet inside.
The spreasheet will be called something like
ISO8583_TestCases_v3.5.xlsm
Inside the spreadsheet file you will find several sheets, and for this example we will add a field on the Acquirer Sheet, which holds Acquirer specific data.
Edit ISO8583_Acquirer sheet to add a new field, a new column.
For examplea add after column DE126, columns DE126.1, DE126.2, DE126.3 and so on, to be used as subfields. DE126 = data Element 126
Add values on the columns.
Press "Save Test Data CSV" button within the sheet. IMPORTANT!
That button exports csv. Check that on disk, file "ISO8583_Acquirer.csv" has been updated.
Now the test data is updated.
The Acquirer sheet is being read in the simulator like a normal connection.
The communication of the simulator with via the connection is done via a message.
All messages are configured in script_variables.js.
If you want to learn how to find out where a connection is used, read section below . Otherwise skip to section below.
All connections are defined in script_connections.js
To find out how the "connection" to this test data is read, open script_connections.js and locate the name ISO8583_Acquirer.csv
The name of the connection is "AcquirerDataFile"
Search for "AcquirerDataFile" in script_acquirer.js
The line that uses this connection is
receivedAcquirerDatamessage = receive(AcquirerData, AcquirerDataFile, true);
Which can be read as:
"receivedAcquirerDatamessage" takes values from receiving "AcquirerData" messages from "AcquirerDataFile" connection.
If we want to read the updated data structure, then we need to update the structure of the message that reads it.
We go to script_variables.js and locate AcquirerData message
This message has all the columns of ISO8583_Acquirer sheet mapped to fields.
There is no naming correspondence, the fields are read from the csv file "ISO8583_Acquirer.csv" in order, meaning the 20th column goes to 20th field, no matter the name.
We will need to add our fields after field F126.
Copy this row to the next (duplicate), for as many rows as you have added columns to the sheet.
Use suggestive names for the fields, because these names will be used in the scripts, later.
For example F126_1, F126_2, F126_3.
Now, if you start the simulator, these fields will be automatically read and available. But not used, Yet.
The best approach is to look at existing scripting.
Simples way is to look up where field 126 is used, so search F126 in script_acquirer.js but we notice we do not use it.
So search for other fields for reference, like F125 or F127.
We find function
function build_F125_Reserved{...}
and we can duplicate it into
function build_F126_Custom{...}
and add a call to this funtion to
function buildMessage(acquirerDataFromCsv);
This is where we call only the functions that we need to populate the fields.
In this function you can script the functionality you need, to populate this field.
Look at other functions and use various methods to populate the data. You can populate it automatically with date and time, or you can copy the values from the test data sheet.
For example, if you want to set the value of F126 as a concatenation of its sub-fields, you can script it like below.
function build_F126_Custom(acquirerDataFromCsv) {
setVal(isoMessageAcqRq.F126,
acquirerDataFromCsv.F126_1.value+
acquirerDataFromCsv.F126_2.value+
acquirerDataFromCsv.F126_3.value
);
setBitON(isoMessageAcqRq.F126.bitmap_position)
}
Some scripting skills are required for this section.
Contact us if you need help.
Keep in mind that the ISO8583 format is automatically protected by the core, all you need to supply is the value. The core will automatically set the lenght, trim or pad, convert , as needed.
BIN List & Range for MasterCard, Visa, Amex, Diners, Discover, JCB, CUP
149391 views
Read smart card chip data with APDU commands ISO 7816
59861 views
ISO8583 Response Codes for Transaction processing
55929 views
ISO8583 Message Types for Transaction Processing
28224 views
ISO8583 Processing Codes for Transaction Processing
27816 views
Run the neaPay ISO8583 simulator
19843 views
Deploy, run and generate with neaPay Card Data Generator
19739 views
MCC Codes - Merchant Category Codes to use in ISO8583 Field 18
18677 views
ISO8583 payments message format, programmers guide
17479 views
ISO8583 message: The list of ISO 4217 currency codes for data elements 49 and 52
15953 views
ISO8583 Message Converter JSON and XML interface specification mapping
12879 views
Cards and Banks Training
12462 views
Support for the neaPay products: Authorization, Switch, Converter, Simulator, Issuer
9149 views
Log Files in BASE24 classic
8950 views
Create a new test case in the neaPay ISO8583 simulator Video guide
8577 views
Java version for neapay products Simulator Converter Switch Authorization Cards Issuer
8155 views
Deploy the neaPay ISO8583 simulator - video guide
8119 views
BASE24 classic vs BASE24-eps
7907 views
BASE24 documentation to read
7839 views
BASE24 classic interview questions
7688 views
Performance testing at 500, 1000 and 1500 TPS
7552 views
EMV explained for programmers
7351 views
ISO8583 converter to JSON XML SQL to HTTP host - message flow - video guide - Part.2
7103 views
ISO8583 ATM POS Crypto API integration with exchanges like Coinbase or Binance
6780 views
Adding your own card to the Payments simulator to test your system
6597 views
ISO8583 converter to JSON XML SQL to HTTP Host - host unavailable - video guide- Part.3
6531 views
Card readers supported by neaPay payments simulator, CHIP and NFC
6519 views
Connect the neaPay ISO8583 Acquirer simulator to your own host or Issuer
6511 views
ISO8583 converter to JSON XML SQL to HTTP host - start& run - video guide - Part.1
6491 views
Run the neaPay ISO8583 converter to JSON, XML, SQL, in a test environment
6372 views
Load Test enabling and performance testing at 1TPS and 100TPS
6357 views
Changing fields definitions in the ISO8583 simulator and message converter
6350 views
Altering test cases in Excel for the ISO8583 simulator
6347 views
Deploy the neaPay ISO8583 Payments converter in a test environment
6343 views
Sample Recommended design for an Acquirer test cases suite, Scenarios and Regression
6342 views
How the fingerprint reader works in the ISO8583 payments simulator
6341 views
Run One, Run Scenario, Run All, Run Load in the neaPay ISO8583 Simulator - Use guide
6339 views
Enabling traces in the payments simulator
6338 views
BASE24 classic screens examples explained
6335 views
Regression Testing in 1 click with instant Analytics and CSV report
6207 views
Deploy the neaPay HSM simulator in a test environment
6064 views
BASE24-eps interview questions
6016 views
Deploy the Payments Switch Router in a test environment
5922 views
BASE24 classic ATM configuration Tutorial in ATD and XPNET with examples
5671 views
Add extra custom fields to the ISO8583 simulator
5504 views
BASE24 classic cards configuration tutorial with Examples
5320 views
PCI compliant with neapay switch
5102 views
BASE24-EPS ACI DESKTOP tutorial - Getting started
4915 views
ISO8583 Message Converter to XML SQL CSV interface specification mapping
4757 views
Trace configuration in neaPay Simulator, Converter, Switch, Authorization and Cards Issuer
4550 views
BASE24 classic prefix configuration tutorial CPF with examples
3656 views
BASE24 classic tracing of transactions. Audits, configuration, enabling and opening
3551 views
ACI BASE24 classic automatic extract configuration
3378 views
BASE24 classic Institution configuration Tutorial with example
3227 views
BASE24 classic balance file configuration PBF with example
3188 views
First steps with BASE24 Classic
2959 views
Getting started with using Prognosis for BASE24 and BASE24-eps
2723 views
POS simulator format SPDH HPDH Verifone and custom
2514 views