ISO Rules
Use PruTAN's rules feature to enhance user experiance during developement process by conditionally manupulating the response for ISO requests. These rules enable conditional adjustments to response data, ensuring tailored and precise responses during testing.
Example :
We will utilize the Transaction
request example from the previous section to apply rules and validate the response.
//Request Body
<isomsg>
<header/>
<field id="0" value="0200"/>
<!-- MTI (Message Type Identifier) for request -->
<field id="3" value="310000"/>
<!-- Processing Code: 310000 for UPI Debit -->
<field id="4" value="000000010000"/>
<!-- Transaction Amount: 100.00 (amount in cents) -->
<field id="11" value="123456"/>
<!-- System Trace Audit Number -->
<field id="13" value="1229"/>
<!-- Local Transaction Date: December 29 -->
<field id="41" value="TERM1234"/>
<!-- Terminal ID -->
<field id="42" value="MERCH1234567890"/>
<!-- Merchant ID -->
<field id="49" value="356"/>
<!-- Currency Code: 356 for Indian Rupees -->
</isomsg>
//Response Body
<isomsg>
<header/>
<field id="0" value="0210"/>
<!-- MTI (Message Type Identifier) for response -->
<field id="3" value="310000"/>
<!-- Processing Code: 310000 for UPI Debit -->
<field id="4" value="000000010000"/>
<!-- Transaction Amount: 100.00 (amount in cents) -->
<field id="11" value="123456"/>
<!-- System Trace Audit Number -->
<field id="13" value="1229"/>
<!-- Local Transaction Date: December 29 -->
<field id="39" value="000"/>
<!-- Response Code: 00 indicates success -->
<field id="41" value="TERM1234"/>
<!-- Terminal ID -->
<field id="42" value="MERCH1234567890"/>
<!-- Merchant ID -->
<field id="49" value="356"/>
<!-- Currency Code: 356 for Indian Rupees -->
</isomsg>
- Now we have written Rules script to update response conditionally.
// Rules script
// ISO if-else block with Get & Set variable
if(req.get("0") == "0200" ) {
res.set("49","456");
}
- Now navigate to API module and execute this request following the steps provided in previous section using necessary data like URl , Body, port etc. and User will get the conditionally updated response.
//Expected Response Body after rule implementation
<isomsg direction="incoming">
<!-- org.jpos.iso.packager.GenericPackager -->
<field id="0" value="0210"/>
<field id="3" value="310000"/>
<field id="4" value="000000010000"/>
<field id="11" value="123456"/>
<field id="13" value="1229"/>
<field id="39" value="000"/>
<field id="41" value="TERM1234"/>
<field id="42" value="MERCH1234567890"/>
<field id="49" value="456"/>
</isomsg>
- In above response user can compare both responses
(With Rule & without Rule)
and find difference inField ID = 49
.
PruTAN's Hostbox Rules feature empowers users to fine-tune responses with precision and agility. By harnessing dynamic adjustments based on request conditions, it enhances the testing environment's adaptability and accuracy, ultimately facilitating smoother development cycles