Payment Request
This is a guideline on how to apply the source codes in Merchant's site to form the payment request parameters, which will be sent to PayMaster for OBW (Online Banking / Wallets) payment processing.
- Java
- .Net
- PHP
- Python
- Node.js
Step 1 : Library
Merchant shall include PayMaster Merchant Plug-In (MPI) Java library – PayMaster.jar into the merchant application.
Step 2 : Import
For OBW payment, Merchant shall import items below into the codes:
com.PayMaster.Entities.PayMasterEntity
com.PayMaster.PropertiesReader.PropertiesReader
com.PayMaster.MessageRequestBuilder.PaymentRequestMessageBuilder
Step 3 : Source Code
Merchant is required to acquire Bank Listing to put in the AcqBank
field.
import com.PayMaster.Entities.PayMasterEntity;
import com.PayMaster.PropertiesReader.PropertiseReader;
import com.PayMaster.MessageRequestBuilder.PaymentRequestMessageBuilder;
.....
//Declare variable for Payment Master Properties - 1st Parameter = File Path , 2nd Parameter = File name
PropertiesReader propertiesReader = new PropertiesReader("./PayMasterProperties/","DDPayment.properties");
//Declare variable for Payment Master Entity
PayMasterEntity paymentRequestEntity = new PayMasterEntity();
//Get all the parameter values from the user side and set into Payment Master Entity
paymentRequestEntity("PaymentID", "D01");
paymentRequestEntity("MerchRefNo", "merchant-refNo-0001");
paymentRequestEntity("CurrCode", "458");
paymentRequestEntity("TxnAmt", "1.00");
paymentRequestEntity("ExpTxnAmt", "2");
paymentRequestEntity("CountryCode", "MY");
paymentRequestEntity("FICode", "RPP");
paymentRequestEntity("AcqBank", "ACFBMYK1");
paymentRequestEntity("OrderDesc", "Coffee");
//Call Payment Master Payment Request Message Builder to generate the message
PaymentRequestMessageBuilder messageBuilder = new PaymentRequestMessageBuilder();
string paymentMessage = messageBuilder.buildPaymentRequestMessage(paymentRequestEntity, propertiesReader);
//Redirect the message generated to Payment Master Gateway for settlement
res.sendRedirect("https://xxx.finexusgroup.com/upp/faces/ddpayment.xhtml?" + paymentMessage);
.....
Step 4 : Indicate PayMaster Properties File location
Merchant must indicate where the PayMaster Properties File located using 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 parameters:
setter(parameter name, parameter value)
.
Refer to Payment Parameters for fields supported by PayMaster Merchant Plug-In (MPI).
Step 6 : Generate OBW Payment
Once all the mandatory values are assigned, merchant call to Payment Request Message Builder to generate the OBW Payment – paymentMessage
.
Step 7 : Send payment message to PayMaster Gateway
The paymentMessage
will be used to send to PayMaster Gateway for the OBW Payment.
Refer to Payment Response for security control 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 OBW Payment, 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
Merchant is required to acquire Bank Listing to put in the AcqBank
field.
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/","DDPayment.properties");
//Declare variable for Payment Master Entity
PayMasterEntity paymentRequestEntity = new PayMasterEntity();
//Get all the parameter values from the user side and set into Payment Master Entity
paymentRequestEntity.setter("PaymentID", "D01");
paymentRequestEntity.setter("EcommMerchInd", "2");
paymentRequestEntity.setter("MerchRefNo", "merchant-refNo-0001");
paymentRequestEntity.setter("CountryCode", "MY");
paymentRequestEntity.setter("CurrCode", "458");
paymentRequestEntity.setter("TxnAmt", "1.00");
paymentRequestEntity.setter("ExpTxnAmt", "2");
paymentRequestEntity.setter("TokenFlag", "N");
paymentRequestEntity.setter("MerchUserID", "User ID");
paymentRequestEntity.setter("PreAuthFlag", "N");
paymentRequestEntity.setter("FICode", "RPP");
paymentRequestEntity.setter("AcqBank", " ACFBMYK1");
paymentRequestEntity.setter("OrderDesc", " Coffee");
//Call Payment Master Payment Request Message Builder to generate the message
PaymentRequestMessageBuilder messageBuilder = new PaymentRequestMessageBuilder();
string paymentMessage = messageBuilder.buildPaymentRequestMessage(paymentRequestEntity, propertiesReader);
//Redirect the message generated to Payment Master Gateway for settlement
Response.Redirect("https://xxx.finexusgroup.com/upp/faces/ddpayment.xhtml?" + paymentMessage);
.....
Step 4 : Indicate PayMaster 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
The merchant has to assign value into the 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 parameters –
setter(parameter name, parameter value)
.
Refer to Payment Parameters for fields supported by PayMaster Merchant Plug-In (MPI).
Step 6 : Generate OBW Payment
Once all the mandatory values are assigned, merchant call to Payment Request Message Builder to generate the OBW Payment – paymentMessage
.
Step 7 : Send payment message to PayMaster Gateway
The paymentMessage
will be used to send to PayMaster Gateway for the OBW payment.
Refer to Payment Response for security control 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 : Import
For OBW payment, merchant shall import below into merchant code:
PropertiesReader
- to read the properties files.PayMasterEntity
– to assign all the acceptable values for PayMaster UPP payment.PaymentRequestMessageBuilder
– to generate PayMaster UPP payment request message.
Step 3 : Source Code
Merchant is required to acquire Bank Listing to put in the AcqBank
field.
<?php
use com\PayMaster\Entities\PayMasterEntity;
use com\PayMaster\PropertiesReader\PropertiesReader;
use com\PayMaster\MessageRequestBuilder\PaymentRequestMessageBuilder;
use com\PayMaster\Import\ImportFile;
//Merchant to locate the absolute path of PayMaster.phar
$basePath = 'phar://<absolute path of PayMaster.phar>/';
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();
//Path to the root project folder
$propertiesReader->PropertiesReader(<absolute path>,"DDPayment.ini");
//Declare variable for Payment Master Entity
$paymentRequestEntity = new PayMasterEntity();
//Get all the parameter values from the user side and set into Payment Master Entity
$paymentRequestEntity->setter("PaymentID", "D01");
$paymentRequestEntity->setter("MerchRefNo", "merchant-refNo-0001");
$paymentRequestEntity->setter("CurrCode", "458");
$paymentRequestEntity->setter("TxnAmt", "1.00");
$paymentRequestEntity->setter("ExpTxnAmt", "2");
$paymentRequestEntity->setter("EcommMerchInd", "1");
$paymentRequestEntity->setter("CountryCode", "MY");
$paymentRequestEntity->setter("TokenFlag", "Y");
$paymentRequestEntity->setter("PreAuthFlag", "N");
$paymentRequestEntity->setter("FICode", "RPP");
$paymentRequestEntity->setter("AcqBank", "ACFBMYK1");
$paymentRequestEntity->setter("OrderDesc", "Coffee");
//Call Payment Master Payment Request Message Builder to generate the message
$paymentRequestMessageBuilder = new PaymentRequestMessageBuilder();
$paymentMessage = $paymentRequestMessageBuilder->buildPaymentRequestMessage($paymentRequestEntity, $propertiesReader);
//Redirect the message generated to Payment Master Gateway for settlement
header("Location:https://xxx.finexusgroup.com/upp/faces/ddpayment.xhtml?" . $paymentMessage);
exit();
.....
Step 4 : Locate absolute path of PayMaster.phar
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 : Indicate PayMaster Properties File location
The merchant must indicate where the PayMaster Properties File is located using the PropertiesReader
.
Step 6 : Assign value into Payment Request Entity
The merchant has to assign value into the 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 parameters –
setter(parameter name, parameter value)
.
Refer to Payment Parameters for fields supported by PayMaster Merchant Plug-In (MPI).
Step 7 : Generate OBW Payment
Once all the mandatory values are assigned, merchant call to Payment Request Message Builder to generate the OBW Payment – paymentMessage
.
Step 8 : Send payment message to PayMaster Gateway
The paymentMessage
will be used to send to PayMaster Gateway for the OBW Payment.
Refer to Payment Response for security control 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, merchant shall include below into merchant code:
PropertiesReader
– to read the properties files.PayMasterEntity
– to assign all the acceptable values for PayMaster UPP payment.PaymentRequestMessageBuilder
- to generate PayMaster UPP payment request message.
Step 3 : Source Code
Merchant is required to acquire Bank Listing to put in the AcqBank
field.
from com.PayMaster.Entities.PayMasterEntity import PayMasterEntity
from com.PayMaster.PropertiesReader.PropertiseReader import PropertiseReader
from com.PayMaster.MessageRequestBuilder.PaymentRequestMessageBuilder import PaymentRequestMessageBuilder
##Declare variable for Payment Master Properties - 1st Parameter = File Path , 2nd Parameter = File name
PropertiesReader propertiesReader = new PropertiesReader("DDPayment.properties","PayMasterProperties/")
##Declare variable for Payment Master Entity
paymentRequestEntity = PayMasterEntity()
##Get all the parameter values from the user side and set into Payment Master Entity
paymentRequestEntity.setter("PaymentID", "D01")
paymentRequestEntity.setter("EcommMerchInd", "2")
paymentRequestEntity.setter("MerchRefNo", "merchant-refNo-0001")
paymentRequestEntity.setter("CountryCode", "MY")
paymentRequestEntity.setter("CurrCode", "458")
paymentRequestEntity.setter("TxnAmt", "1.00")
paymentRequestEntity.setter("ExpTxnAmt", "2")
paymentRequestEntity.setter("TokenFlag", "N")
paymentRequestEntity.setter("MerchUserID", "User ID")
paymentRequestEntity.setter("PreAuthFlag", "N")
paymentRequestEntity.setter("FICode", "RPP")//Add these three field
paymentRequestEntity.setter("AcqBank ", "ACFBMYK1")
paymentRequestEntity.setter("OrderDesc", "Coffee")
##Call Payment Master Payment Request Message Builder to generate the message
messageBuilder = PaymentRequestMessageBuilder()
paymentMessage = messageBuilder.buildPaymentRequestMessage(paymentRequestEntity, propertiesReader)
Step 4 : Indicate PayMaster 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
The merchant has to assign value into the 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 parameters –
setter(parameter name, parameter value)
.
Refer to Payment Parameters for fields supported by PayMaster Merchant Plug-In (MPI).
Step 6 : Generate OBW Payment
Once all the mandatory values are assigned, merchant call to Payment Request Message Builder to generate the OBW Payment – paymentMessage
.
Step 7 : Send payment message to PayMaster Gateway
The paymentMessage
will be sent to PayMaster Gateway for the OBW Payment.
Refer to Payment Response for security control supported by PayMaster Merchant Plug-In (MPI).
Step 1 : Library
Merchant shall setup and include PayMaster Merchant Plug-In (MPI) Node.JS library into merchant application.
Step 2 : Source Code
Merchant is required to acquire Bank Listing to put in the AcqBank
field.
var paymaster = require('./js/PayMaster.min.js');
module.exports = function (app) {
app.post('/UPPPayment', (req, res)=>{
.....
paymaster.PropertiesReader('./properties/','DDPayment.properties');
paymaster.setter('PaymentID', 'D01');
paymaster.setter('EcommMerchInd', '2');
paymaster.setter('MerchRefNo', 'merchant-refNo-0001');
paymaster.setter('CountryCode', 'MY');
paymaster.setter('CurrCode', '458');
paymaster.setter('ExpTxnAmt', '2');
paymaster.setter('TxnAmt', '1.00');
paymaster.setter('TokenFlag', 'N');
paymaster.setter('MerchUserID', 'UserName');
paymaster.setter('PreAuthFlag', 'N');
paymaster.setter('FICode', 'RPP');
paymaster.setter('AcqBank', 'ACFBMYK1');
paymaster.setter('OrderDesc', 'Coffee');
payment.MERCH_FPXPaymentRequest(paymaster.PaymentRequestEntity, paymaster.propDetails, function(err, response, result){
if(err){
throw err;
}
if(response){
res.redirect("https://xxx.finexusgroup.com/upp/faces/ddpayment.xhtml?" + result);
}
});
});
}
Step 3 : Indicate PayMaster Properties File location
The merchant must indicate where the PayMaster Properties File is located using the PropertiesReader
.
Step 4 : Assign value into Payment Request Entity
The merchant has to assign value into the 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 parameters –
setter(parameter name, parameter value)
.
Refer to Payment Parameters for fields supported by PayMaster Merchant Plug-In (MPI).
Step 5 : Generate request message
MERCH_FPXPaymentRequest()
function to generate the payment request message.
Step 6 : Send payment message to PayMaster
The payment message returned by the JavaScript will be used to send to PayMaster for the OBW payment.
Refer to Payment Response for security control supported by PayMaster Merchant Plug-In (MPI).