Payment Query
The following guideline is to provide explanation on how to apply the corresponding source code in merchant website merchant application in order to form the mandatory payment request parameters the merchant can have in the redirect link and send to PayMaster for UPP payment query processing.
- Java
- .Net
- PHP
- Python
- Node.js
Step 1 : Library
Merchant shall include PayMaster Merchant Plug-In (MPI) Java library – PayMaster.jar into merchant application.
Step 2 : Import
For UPP payment query, merchant shall import below into merchant code:
com.PayMaster.Entities.PayMasterEntity
com.PayMaster.PropertiesReader.PropertiesReader
com.PayMaster.MessageRequestBuilder.WebservicePaymentRequestMessageBuilder
Step 3 : Source Code
import com.PayMaster.Entities.PayMasterEntity;
import com.PayMaster.PropertiesReader.PropertiseReader;
import com.PayMaster.MessageRequestBuilder.WebservicePaymentRequestMessageBuilder;
.....
//Declare variable for Payment Master Properties - 1st Parameter = File Path , 2nd Parameter = File name
PropertiesReader propertiesReader = new PropertiesReader("./PayMasterProperties/","UPPPayment.properties");
//Declare variable for Payment Master Entity
PayMasterEntity paymentRequestEntity = new PayMasterEntity();
//Get all the parameter value from the user side and set into Payment Master Entity
paymentRequestEntity.setter("PaymentID", "U02");
paymentRequestEntity.setter("MerchantID", "000010000099939");
paymentRequestEntity.setter("ServiceID", "FNX");
paymentRequestEntity.setter("MerchRefNo", "MYB2023030315435025LL");
paymentRequestEntity.setter("QueryRespURL", "https://XXX.XXXXX.XXX/query.jsp");
//Call Payment Master Payment Request Message Builder to generate the message
WebservicePaymentRequestMessageBuilder MessageBuilder = new WebservicePaymentRequestMessageBuilder();
buildUPPQueryRequestMessage(paymentRequestEntity, propertiesReader);
String MerchantID = paymentRequestEntity.getter("MerchantID");
String CardNo = paymentRequestEntity.getter("CardNo");
String TxnDtTm = paymentRequestEntity.getter("TxnDtTm");
String TxnAmt = paymentRequestEntity.getter("TxnAmt");
String TxnStatus = paymentRequestEntity.getter("TxnStatus");
String CurrCode = paymentRequestEntity.getter("CurrCode");
String AuthIDRespCode = paymentRequestEntity.getter("AuthIDRespCode");
String ExpTxnAmt = paymentRequestEntity.getter("ExpTxnAmt");
String RetrievalRefNo = paymentRequestEntity.getter("RetrievalRefNo");
String OrgRespCode = paymentRequestEntity.getter("OrgRespCode");
String OrigTxnAmt = paymentRequestEntity.getter("OrigTxnAmt");
String OrigCurrCode = paymentRequestEntity.getter("OrigCurrCode");
String TxnChannel = paymentRequestEntity.getter("TxnChannel");
String FICode = paymentRequestEntity.getter("FICode");
String PymtGwRefNo = paymentRequestEntity.getter("PymtGwRefNo");
String TxnStatDetCde = paymentRequestEntity.getter("TxnStatDetCde");
String TxnStatMsg = paymentRequestEntity.getter("TxnStatMsg");
String ServiceID = paymentRequestEntity.getter("ServiceID");
String MerchHostID = paymentRequestEntity.getter("MerchHostID");
String MerchSessionID = paymentRequestEntity.getter("MerchSessionID");
String MerchRefNo = paymentRequestEntity.getter("MerchRefNo");
String OrderRefNo = paymentRequestEntity.getter("OrderRefNo");
String QueryStatus = paymentRequestEntity.getter("QueryStatus");
String FPXRefNo = paymentRequestEntity.getter("FPXRefNo");
String UppPymtMode = paymentRequestEntity.getter("UppPymtMode");
String OrigRespCode = paymentRequestEntity.getter("OrigRespCode");
String ExporigTxnAmt = paymentRequestEntity.getter("ExporigTxnAmt");
.....
Step 4 : Indicate PayMaster Properties File location using PropertiesReader
Merchant must indicate where the PayMaster Properties File located using PropertiesReader
.
Step 5: Assign value into PayMaster Request Entity
Merchant to assign value into PayMaster Request Entity. Merchant code must include all the fields as stated in sample code as it’s mandatory.
- The setter function is used to assign value and the function accepts two parameter –
setter(parameter name, parameter value)
.
Step 6 : Call the Web Service Payment Request Message Builder
Once all the mandatory values are assigned, merchant call the Web Service Payment Request Message Builder with buildUPPPaymentQueryRequest function.
- Payment Query Request message will be generated and submitted to PayMaster Gateway.
- Query response received from PayMaster Gateway will be messaged and assigned back into PayMaster Request Entity
Step 7 : Retrieve value from PayMaster Request Entity
Merchant can use back the same PayMaster Request Entity to retrieve the information of the query response.
- The getter function is used to retrieve value and the function only accepts one parameter –
getter(parameter name)
.
Refer to OBW Payment Query for fields supported by PayMaster Merchant Plug-In (MPI).
Step 1 : Library
Merchant shall include PayMaster Merchant Plug-In (MPI) .Net library – PayMaster.dll into merchant application.
Step 2 : Namespace
For UPP Payment Query, merchant shall use the namespace below in the merchant code:
using com.PayMaster.Entities
using com.PayMaster.Properties
using com.PayMaster.MessageRequestBuilder
Step 3 : Source Code
using com.PayMaster.Entities;
using com.PayMaster.Properties;
using com.PayMaster.MessageRequestBuilder;
.....
//Declare variable for Payment Master Properties - 1st Parameter = File Path , 2nd Parameter = File name
PropertiesReader propertiesReader = new PropertiesReader("./PayMasterProperties/","UPPPayment.properties");
//Declare variable for Payment Master Entity
PayMasterEntity uppPaymentRequestEntity = new PayMasterEntity();
//Get all the parameter values from the user side and set into Payment Master Entity
uppPaymentRequestEntity.setter("PaymentID", "U02");
uppPaymentRequestEntity.setter("MerchantID", "000010000099939");
uppPaymentRequestEntity.setter("ServiceID", "FNX");
uppPaymentRequestEntity.setter("MerchRefNo", "MYB2023030315435025LL");
uppPaymentRequestEntity.setter("QueryRespURL", "https://XXX.XXXXX.XXX/query.jsp");
//Call Payment Master Web Service Payment Request Message Builder for upp query request
WebServicePaymentRequestMessageBuilder uppMessageBuilder = new WebServicePaymentRequestMessageBuilder();
await uppMessageBuilder.buildUPPPaymentQueryRequest(uppPaymentRequestEntity, propertiesReader);
String MerchantID = uppPaymentRequestEntity.getter("MerchantID");
String CardNo = uppPaymentRequestEntity.getter("CardNo");
String TxnDtTm = uppPaymentRequestEntity.getter("TxnDtTm");
String TxnAmt = uppPaymentRequestEntity.getter("TxnAmt");
String TxnStatus = uppPaymentRequestEntity.getter("TxnStatus");
String CurrCode = uppPaymentRequestEntity.getter("CurrCode");
String AuthIDRespCode = uppPaymentRequestEntity.getter("AuthIDRespCode");
String ExpTxnAmt = uppPaymentRequestEntity.getter("ExpTxnAmt");
String RetrievalRefNo = uppPaymentRequestEntity.getter("RetrievalRefNo");
String OrgRespCode = uppPaymentRequestEntity.getter("OrgRespCode");
String OrigTxnAmt = uppPaymentRequestEntity.getter("OrigTxnAmt");
String OrigCurrCode = uppPaymentRequestEntity.getter("OrigCurrCode");
String TxnChannel = uppPaymentRequestEntity.getter("TxnChannel");
String FICode = uppPaymentRequestEntity.getter("FICode");
String PymtGwRefNo = uppPaymentRequestEntity.getter("PymtGwRefNo");
String TxnStatDetCde = uppPaymentRequestEntity.getter("TxnStatDetCde");
String TxnStatMsg = uppPaymentRequestEntity.getter("TxnStatMsg");
String ServiceID = uppPaymentRequestEntity.getter("ServiceID");
String MerchHostID = uppPaymentRequestEntity.getter("MerchHostID");
String MerchSessionID = uppPaymentRequestEntity.getter("MerchSessionID");
String MerchRefNo = uppPaymentRequestEntity.getter("MerchRefNo");
String OrderRefNo = uppPaymentRequestEntity.getter("OrderRefNo");
String QueryStatus = uppPaymentRequestEntity.getter("QueryStatus");
String FPXRefNo = uppPaymentRequestEntity.getter("FPXRefNo");
String UppPymtMode = uppPaymentRequestEntity.getter("UppPymtMode");
String OrigRespCode = uppPaymentRequestEntity.getter("OrigRespCode");
String ExporigTxnAmt = uppPaymentRequestEntity.getter("ExporigTxnAmt");
.....
Step 4 : Indicate Properties File location
The merchant must indicate where the PayMaster Properties File is located using the PropertiesReader
.
Step 5 : Assign value into Payment Request Entity
Merchant to assign value into PayMaster Request Entity. Merchant code must include all the fields as stated in sample code as it’s mandatory.
- The setter function is used to assign value and the function accepts two parameter –
setter(parameter name, parameter value)
.
Step 6 : Call the Web Service Payment Request
Once all the mandatory values are assigned, merchant call the Web Service Payment Request Message Builder with buildUPPPaymentQueryRequest function.
- Payment Query Request message will be generated and submitted to PayMaster Gateway.
- Query response received from PayMaster Gateway will be messaged and assigned back into PayMaster Request Entity.
Step 7 : Retrieve values from PayMaster Request Entity
Merchant can use back the same PayMaster Request Entity to retrieve the information of the query response.
- The getter function is used to retrieve value and the function only accepts one parameter –
getter(parameter name)
.
Refer to OBW Payment Query for fields supported by PayMaster Merchant Plug-In (MPI).
Step 1 : Library
Merchant shall include PayMaster Merchant Plug-In (MPI) PHP library – PayMaster.phar into merchant application.
Step 2 : Merchant Code
For UPP payment query, merchant shall import below into merchant code:
PropertiesReader
- to read the properties files.PayMasterEntity
– to assign all the acceptable values for PayMaster UPP payment query.WebServicePaymentRequestMessageBuilder
– to generate PayMaster UPP payment query request message.
Step 3 : Source Code
<?php
use com\PayMaster\Entities\PayMasterEntity;
use com\PayMaster\PropertiesReader\PropertiesReader;
use com\PayMaster\MessageRequestBuilder\WebServicePaymentRequestMessageBuilder;
use com\PayMaster\Import\ImportFile;
//Merchant to locate the absolute path of PayMaster.phar
$basePath = 'phar://<PayMaster.phar path>/';
include_once = $basePath.'com/PayMaster/Import/ImportFile.php';
$import = new ImportFile();
$import->includeFile($basePath);
.....
//Declare variable for Payment Master Properties - 1st Parameter = File Path , 2nd Parameter = File name
$propertiesReader = new PropertiesReader();
$propertiesReader->PropertiesReader("./PayMasterProperties/","UPPPayment.ini");
//Declare variable for Payment Master Entity
$paymentRequestEntity = new PayMasterEntity();
//Get response message from PayMaster and set into Payment Master Entity
$paymentRequestEntity->setter("PaymentID", "U02");
$paymentRequestEntity->setter("MerchantID", "000010000099939");
$paymentRequestEntity->setter("ServiceID", "FNX");
$paymentRequestEntity->setter("MerchRefNo", "MYB2023030315435025LL");
$paymentRequestEntity->setter("QueryRespURL", "https://XXX.XXXXX.XXX/query.jsp");
//Call Payment Master Payment Response Message Builder to set value
$WebServicePaymentRequestMessageBuilder = new WebServicePaymentRequestMessageBuilder();
$paymentMessage = $WebServicePaymentRequestMessageBuilder->buildUPPQueryRequestMessage($paymentRequestEntity, $propertiesReader);
$MerchantID = $paymentRequestEntity->getter("MerchantID");
$CardNo = $paymentRequestEntity->getter("CardNo");
$TxnDtTm = $paymentRequestEntity->getter("TxnDtTm");
$TxnAmt = $paymentRequestEntity->getter("TxnAmt");
$TxnStatus = $paymentRequestEntity->getter("TxnStatus");
$CurrCode = $paymentRequestEntity->getter("CurrCode");
$AuthIDRespCode = $paymentRequestEntity->getter("AuthIDRespCode");
$ExpTxnAmt = $paymentRequestEntity->getter("ExpTxnAmt");
$RetrievalRefNo = $paymentRequestEntity->getter("RetrievalRefNo");
$OrgRespCode = $paymentRequestEntity->getter("OrgRespCode");
$OrigTxnAmt = $paymentRequestEntity->getter("OrigTxnAmt");
$OrigCurrCode = $paymentRequestEntity->getter("OrigCurrCode");
$TxnChannel = $paymentRequestEntity->getter("TxnChannel");
$FICode = $paymentRequestEntity->getter("FICode");
$PymtGwRefNo = $paymentRequestEntity->getter("PymtGwRefNo");
$TxnStatDetCde = $paymentRequestEntity->getter("TxnStatDetCde");
$TxnStatMsg = $paymentRequestEntity->getter("TxnStatMsg");
$ServiceID = $paymentRequestEntity->getter("ServiceID");
$MerchHostID = $paymentRequestEntity->getter("MerchHostID");
$MerchSessionID = $paymentRequestEntity->getter("MerchSessionID");
$MerchRefNo = $paymentRequestEntity->getter("MerchRefNo");
$OrderRefNo = $paymentRequestEntity->getter("OrderRefNo");
$QueryStatus = $paymentRequestEntity->getter("QueryStatus");
$FPXRefNo = $paymentRequestEntity->getter("FPXRefNo");
$UppPymtMode = $paymentRequestEntity->getter("UppPymtMode");
$OrigRespCode = $paymentRequestEntity->getter("OrigRespCode");
$ExporigTxnAmt = $paymentRequestEntity->getter("ExporigTxnAmt");
.....
Step 4 : Locate absolute path
Merchant to locate the absolute path of PayMaster.phar as the basePath in Merchant source code (line 7 in the example above).
Example:$basePath=’phar://<absolute path of PayMaster.phar>/’
Step 5 : Assign values into PayMaster Request Entity
Merchant to assign value into PayMaster Request Entity. Merchant code must include all the fields as stated in sample code as it’s mandatory.
- The setter function is used to assign value and the function accepts two parameter –
setter(parameter name, parameter value)
.
Step 6 : Call the Web Service Payment Request
Once all the mandatory values are assigned, merchant call the Web Service Payment Request Message Builder with buildUPPPaymentQueryRequest function.
- Payment Query Request message will be generated and submitted to PayMaster Gateway.
- Query response received from PayMaster Gateway will be messaged and assigned back into PayMaster Request Entity.
Step 7 : Retrieve value from PayMaster Request Entity
Merchant can use back the same PayMaster Request Entity to retrieve the information of the query response.
- The getter function is used to retrieve value and the function only accepts one parameter –
getter(parameter name)
.
Refer to OBW Payment Query for fields supported by PayMaster Merchant Plug-In (MPI).
Step 1 : Packages
Merchant shall setup and include PayMaster Merchant Plug-In (MPI) Python packages into merchant application.
Step 2 : Import
For UPP payment query, merchant shall include below into merchant code:
PropertiesReader
– to read the properties files.PayMasterEntity
– to assign all the acceptable values for PayMaster UPP payment query.WebServicePaymentRequestMessageBuilder
– to generate PayMaster UPP payment query request message.
Step 3 : Source Code
from com.PayMaster.Entities.PayMasterEntity import PayMasterEntity
from com.PayMaster.PropertiesReader.PropertiseReader import PropertiseReader
from com.PayMaster.MessageRequestBuilder.WebServicePaymentRequestMessageBuilder import WebServicePaymentRequestMessageBuilder
##Declare variable for Payment Master Properties - 1st Parameter = File Path , 2nd Parameter = File name
PropertiesReader = PropertiesReader("UPPPayment.properties","PayMasterProperties/")
##Declare variable for Payment Master Entity
uppPaymentRequestEntity = PayMasterEntity()
##Get all the parameter value from the user side and set into Payment Master Entity
uppPaymentRequestEntity.setter("PaymentID", "U02")
uppPaymentRequestEntity.setter("MerchantID", "000010000099939")
uppPaymentRequestEntity.setter("ServiceID", "FNX")
uppPaymentRequestEntity.setter("MerchRefNo", "MYB2023030315435025LL")
uppPaymentRequestEntity.setter("QueryRespURL", "https://XXX.XXXXX.XXX/query.jsp")
##Call Payment Master Web Service Payment Request Message Builder for upp query request
uppMessageBuilder = WebServicePaymentRequestMessageBuilder()
uppMessageBuilder.buildUPPPaymentQueryRequest(uppPaymentRequestEntity, propertiesReader)
MerchantID = uppPaymentRequestEntity.getter("MerchantID")
CardNo = uppPaymentRequestEntity.getter("CardNo")
TxnDtTm = uppPaymentRequestEntity.getter("TxnDtTm")
TxnAmt = uppPaymentRequestEntity.getter("TxnAmt")
TxnStatus = uppPaymentRequestEntity.getter("TxnStatus")
CurrCode = uppPaymentRequestEntity.getter("CurrCode")
AuthIDRespCode = uppPaymentRequestEntity.getter("AuthIDRespCode")
ExpTxnAmt = uppPaymentRequestEntity.getter("ExpTxnAmt")
RetrievalRefNo = uppPaymentRequestEntity.getter("RetrievalRefNo")
OrgRespCode = uppPaymentRequestEntity.getter("OrgRespCode")
OrigTxnAmt = uppPaymentRequestEntity.getter("OrigTxnAmt")
OrigCurrCode = uppPaymentRequestEntity.getter("OrigCurrCode")
TxnChannel = uppPaymentRequestEntity.getter("TxnChannel")
FICode = uppPaymentRequestEntity.getter("FICode")
PymtGwRefNo = uppPaymentRequestEntity.getter("PymtGwRefNo")
TxnStatDetCde = uppPaymentRequestEntity.getter("TxnStatDetCde")
TxnStatMsg = uppPaymentRequestEntity.getter("TxnStatMsg")
ServiceID = uppPaymentRequestEntity.getter("ServiceID")
MerchHostID = uppPaymentRequestEntity.getter("MerchHostID")
MerchSessionID = uppPaymentRequestEntity.getter("MerchSessionID")
MerchRefNo = uppPaymentRequestEntity.getter("MerchRefNo")
OrderRefNo = uppPaymentRequestEntity.getter("OrderRefNo")
QueryStatus = uppPaymentRequestEntity.getter("QueryStatus")
FPXRefNo = uppPaymentRequestEntity.getter("FPXRefNo")
UppPymtMode = uppPaymentRequestEntity.getter("UppPymtMode")
OrigRespCode = uppPaymentRequestEntity.getter("OrigRespCode")
ExporigTxnAmt = uppPaymentRequestEntity.getter("ExporigTxnAmt")
Step 4 : Indicate PayMaster Properties File location
The merchant must indicate where the PayMaster Properties File is located using the PropertiesReader
.
Step 5 : Assign values into PayMaster Request Entity
Merchant to assign value into PayMaster Request Entity. Merchant code must include all the fields as stated in sample code as it’s mandatory.
- The setter function is used to assign value and the function accepts two parameter –
setter(parameter name, parameter value)
.
Step 6 : Call the Web Service Payment Request Once all the mandatory values are assigned, merchant call the Web Service Payment Request Message Builder with buildUPPPaymentQueryRequest function.
- Payment Query Request message will be generated and submitted to PayMaster Gateway.
- Query response received from PayMaster Gateway will be massaged and assigned back into PayMaster Request Entity.
Step 7 : Retrieve values from PayMaster Request Entity
Merchant can use back the same PayMaster Request Entity to retrieve the information of the query response.
- The getter function is used to retrieve value and the function only accepts one parameter –
getter(parameter name)
.
Refer to OBW Payment Query for fields supported by PayMaster Merchant Plug-In (MPI).
Step 1 : Library
Merchant shall setup and include PayMaster Merchant Plug-In (MPI) NodeJS library into merchant application.
Step 2 : Source Code
var paymaster = require('./js/PayMaster.min.js');
module.exports = function (app) {
app.get('/UPPQuery', (req, res)=>{
paymaster.setter('PaymentID', 'U02');
paymaster.setter('MerchantID', '000010000099939');
paymaster.setter('ServiceID', 'FNX');
paymaster.setter('MerchRefNo', 'MYB2023030315435025LL');
paymaster.setter('QueryRespURL', 'https://XXX.XXXXX.XXX/query.jsp');
payment.MERCH_UPPPaymentQueryRequest(paymaster.PaymasterRequestEntity, paymaster.propDetails, function(err, response, result){
if(err){
throw err;
}
if(response){
var MerchantID = paymaster.getter('MerchantID');
var CardNo = paymaster.getter('CardNo');
var TxnDtTm = paymaster.getter('TxnDtTm');
var TxnAmt = paymaster.getter('TxnAmt');
var TxnStatus = paymaster.getter('TxnStatus');
var CurrCode = paymaster.getter('CurrCode');
var AuthIDRespCode = paymaster.getter('AuthIDRespCode');
var ExpTxnAmt = paymaster.getter('ExpTxnAmt');
var RetrievalRefNo = paymaster.getter('RetrievalRefNo');
var OrgRespCode = paymaster.getter('OrgRespCode');
var OrigTxnAmt = paymaster.getter('OrigTxnAmt');
var OrigCurrCode = paymaster.getter('OrigCurrCode');
var TxnChannel = paymaster.getter('TxnChannel');
var FICode = paymaster.getter('FICode');
var PymtGwRefNo = paymaster.getter('PymtGwRefNo');
var TxnStatDetCde = paymaster.getter('TxnStatDetCde');
var TxnStatMsg = paymaster.getter('TxnStatMsg');
var ServiceID = paymaster.getter('ServiceID');
var MerchHostID = paymaster.getter('MerchHostID');
var MerchSessionID = paymaster.getter('MerchSessionID');
var MerchRefNo = paymaster.getter('MerchRefNo');
var OrderRefNo = paymaster.getter('OrderRefNo');
var QueryStatus = paymaster.getter('QueryStatus');
var FPXRefNo = paymaster.getter('FPXRefNo');
var UppPymtMode = paymaster.getter('UppPymtMode');
var OrigRespCode = paymaster.getter('OrigRespCode');
var ExporigTxnAmt = paymaster.getter('ExporigTxnAmt');
}
});
.....
});
}
Step 3 : Indicate PayMaster Properties File
Merchant to initiate where the PayMaster Properties File is located using the PropertiesReader
.
Step 4 : Assign values to all fields
Merchant code must include and assign value to all the fields as stated in sample code as it’s mandatory.
- The setter function is used to assign value and the function accepts two parameter –
setter(parameter name, parameter value)
.
Step 5 : Submit payment request to PayMaster
MERCH_UppPaymentQueryRequest() function to generate and submit the payment request message to PayMaster.
Step 6 : Response parameters returned by PayMaster
Response parameters returned by PayMaster will be messaged by PayMaster MPI NodeJS.
Step 7 : Retrieve values of payment query response parameters
Merchant can retrieve the values of payment query response parameters.
- The getter function is used to retrieve value and the function only accepts one parameter –
getter(parameter name)
.
Refer to OBW Payment Query for fields supported by PayMaster Merchant Plug-In (MPI).