Payment Response
The reversal function for QR Payment is available for ** Duitnow ** and ** Alipay+ **.
- Java
- .Net
- PHP
- Python
- Node.js
Step 1 : Library
The merchant must include the PayMaster Merchant Plug-In (MPI) Java library, PayMaster.jar, in the merchant application.
Step 2 : Import
For handling reversal payments, the merchant shall import the following classes into the merchant code:
com.PayMaster.Entities.PayMasterEntity
com.PayMaster.PropertiesReader.PropertiesReader
com.PayMaster.MessageResponseBuilder.PaymentResponseMessageBuilder
Step 3 : Source Code
import com.PayMaster.Entities.PayMasterEntity;
import com.PayMaster.PropertiesReader.PropertiesReader;
import com.PayMaster.MessageResponseBuilder.PaymentResponseMessageBuilder;
// Declare variable for PayMaster Properties - 1st Parameter = File Path, 2nd Parameter = File Name
PropertiesReader propertiesReader = new PropertiesReader("./PayMasterProperties/", "CardPayment.properties");
// Declare variable for PayMaster Entity
PayMasterEntity paymentResponseEntity = new PayMasterEntity();
// Get response message from PayMaster and set it into PayMaster Entity
paymentResponseEntity.setter("ResponseMessage", responseMessage);
// Call Payment Response Message Builder to set values
PaymentResponseMessageBuilder paymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
paymentResponseMessageBuilder.buildCardPaymentResponseMessage(paymentResponseEntity, propertiesReader);
// Retrieve values from the PayMaster Response Entity
String MerchantID = paymentResponseEntity.getter("MerchantID");
String MerchRefNo = paymentResponseEntity.getter("MerchRefNo");
String TxnStatus = paymentResponseEntity.getter("TxnStatus");
String SHAlgorithmType = paymentResponseEntity.getter("SHAlgorithmType");
String SHValue = paymentResponseEntity.getter("SHValue");
Step 4 : Indicate PayMaster Properties File Location
The merchant must specify the location of the PayMaster Properties File using PropertiesReader
.
Step 5 : Set Response Message
The merchant must set the location of the PayMaster Properties File using the setter method: paymentResponseEntity.setter("ResponseMessage", "<response message returned by PayMaster Gateway>");
.
Step 6 : Assign Values to the PayMaster Response Entity
The merchant should call the Card Payment Response Message Builder to process the response message and assign the values into the PayMaster Response Entity.
Refer to Reversal Payment Parameters for the fields supported by the PayMaster Merchant Plug-In (MPI).
Step 7 : Retrieve Values from PayMaster Response Entity
The merchant can retrieve values from the PayMaster Response Entity using the getter function, which accepts one parameter: getter(parameter name)
.
Ensure that the value of TxnStatDetCde
is not equal to 5015, as this represents an invalid secure hash value.
Step 1 : Library
The merchant must include the PayMaster Merchant Plug-In (MPI) .NET library, PayMaster.dll, in the merchant application.
Step 2 : Namespace
For handling reversal payments, the merchant shall include the following namespaces in the merchant code:
using com.PayMaster.Entities
using com.PayMaster.Properties
using com.PayMaster.MessageResponseBuilder
Step 3 : Source Code
using com.PayMaster.Entities;
using com.PayMaster.Properties;
using com.PayMaster.MessageResponseBuilder;
...
// Declare variable for PayMaster Properties - 1st Parameter = File Path, 2nd Parameter = File Name
PropertiesReader propertiesReader = new PropertiesReader("./PayMasterProperties/", "CCPayment.properties");
// Declare variable for PayMaster Entity
PayMasterEntity ccPaymentResponseEntity = new PayMasterEntity();
// Get response message from PayMaster and set it into PayMaster Entity
ccPaymentResponseEntity.setter("ResponseMessage", responseMessage);
// Call Payment Response Message Builder to process the response
PaymentResponseMessageBuilder cardPaymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
cardPaymentResponseMessageBuilder.buildCardPaymentResponseMessage(ccPaymentResponseEntity, propertiesReader);
// Retrieve values from the PayMaster Response Entity
string MerchantID = ccPaymentResponseEntity.getter("MerchantID");
string MerchRefNo = ccPaymentResponseEntity.getter("MerchRefNo");
string TxnStatus = ccPaymentResponseEntity.getter("TxnStatus");
string SHAlgorithmType = ccPaymentResponseEntity.getter("SHAlgorithmType");
string SHValue = ccPaymentResponseEntity.getter("SHValue");
...
Step 4 : Indicate PayMaster Properties File Location
The merchant must specify the location of the PayMaster Properties File using the PropertiesReader
.
Step 5 : Assign Response Message into Payment Response Entity
The merchant should assign the response message received from PayMaster into the PayMaster Response Entity using: ccPaymentResponseEntity.setter("ResponseMessage", "<response message returned by PayMaster Gateway>");
.
Step 6 : Process and Assign Values into PayMaster Response Entity
The merchant must use the Card Payment Response Message Builder to process the response message and assign the values into the PayMaster Response Entity.
Refer to Reversal Payment Parameters for the fields supported by the PayMaster Merchant Plug-In (MPI).
Step 7 : Retrieve Values from PayMaster Response Entity
The merchant can retrieve values from the PayMaster Response Entity using the getter function, which accepts one parameter: getter(parameter name)
.
Ensure that the value of TxnStatDetCde
is not equal to 5015, as this represents an invalid secure hash value.
Step 1 : Library
Merchant shall include PayMaster Merchant Plug-In (MPI) PHP library PayMaster.phar into the merchant application.
Step 2 : Merchant Code
For handling reversal payments, the merchant should import the following into their code:
PropertiesReader
- to read the properties files.PayMasterEntity
- to assign all the acceptable values for PayMaster Reversal payment.PaymentResponseMessageBuilder
- to generate PayMaster Reversal payment response message.
Step 3 : Source Code
<?php
use com\PayMaster\Entities\PayMasterEntity;
use com\PayMaster\PropertiesReader\PropertiesReader;
use com\PayMaster\MessageResponseBuilder\PaymentResponseMessageBuilder;
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();
$propertiesReader->PropertiesReader('<absolute path>/paymaster', 'CCPayment.ini');
// Declare variable for Payment Master Entity
$paymentResponseEntity = new PayMasterEntity();
// Get response message from PayMaster and set it into Payment Master Entity
$paymentResponseEntity->setter('ResponseMessage', $responseMessage);
// Call Payment Response Message Builder to process the response
$paymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
$paymentResponseMessageBuilder->buildCardPaymentResponseMessage($paymentResponseEntity, $propertiesReader);
// Retrieve values from PayMaster Response Entity
$MerchantID = $paymentResponseEntity->getter('MerchantID');
$MerchRefNo = $paymentResponseEntity->getter('MerchRefNo');
$TxnStatus = $paymentResponseEntity->getter('TxnStatus');
$SHAlgorithmType = $paymentResponseEntity->getter('SHAlgorithmType');
$SHValue = $paymentResponseEntity->getter('SHValue');
...
?>
Step 4: Locate Absolute Path of PayMaster.phar
The merchant must locate the absolute path of PayMaster.phar and set it as the $basePath
in the 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 specify the location of the PayMaster Properties File using the PropertiesReader
.
Step 6 : Assign Response Message into Payment Response Entity
The merchant should assign the response message received from PayMaster into the PayMaster Response Entity using: $paymentResponseEntity->setter('ResponseMessage', '<response message returned by PayMaster Gateway>');
Step 7 : Process and Assign Values into PayMaster Response Entity
The merchant must use the Payment Response Message Builder to process the response message and assign the values into the PayMaster Response Entity.
Refer to Reversal Payment Parameters for the fields supported by the PayMaster Merchant Plug-In (MPI).
Step 8 : Retrieve Values from PayMaster Response Entity
The merchant can retrieve values from the PayMaster Response Entity using the getter function, which accepts one parameter: getter(parameter name)
.
- The
TxnStatus
should be 00 andTxnStatDetCde
should be 0000.
Ensure that the value of TxnStatDetCde
is not equal to 5015, as this represents an invalid secure hash value.
Step 1 : Packages
The merchant must set up and include the PayMaster Merchant Plug-In (MPI) Python packages in the merchant application.
Step 2 : Import
For handling reversal payments, the merchant shall include the following in their code:
PropertiesReader
– to read the properties files.PayMasterEntity
– to assign all the acceptable values for PayMaster Reversal payment.PaymentResponseMessageBuilder
– to generate the PayMaster Reversal payment response message.
Step 3 : Source Code
from com.PayMaster.Entities.PayMasterEntity import PayMasterEntity
from com.PayMaster.PropertiesReader.PropertiesReader import PropertiesReader
from com.PayMaster.MessageResponseBuilder.PaymentResponseMessageBuilder import PaymentResponseMessageBuilder
# Declare variable for Payment Master Properties - 1st Parameter = File Path, 2nd Parameter = File Name
propertiesReader = PropertiesReader("PayMasterProperties/", "CCPayment.properties")
# Declare variable for Payment Master Entity
ccPaymentResponseEntity = PayMasterEntity()
# Get response message from PayMaster and set it into Payment Master Entity
ccPaymentResponseEntity.setter("ResponseMessage", responseMessage)
# Call Payment Master Payment Response Message Builder to process the response
cardPaymentResponseMessageBuilder = PaymentResponseMessageBuilder()
cardPaymentResponseMessageBuilder.buildCardPaymentResponseMessage(ccPaymentResponseEntity, propertiesReader)
# Retrieve values from PayMaster Response Entity
MerchantID = ccPaymentResponseEntity.getter("MerchantID")
MerchRefNo = ccPaymentResponseEntity.getter("MerchRefNo")
TxnStatus = ccPaymentResponseEntity.getter("TxnStatus")
SHAlgorithmType = ccPaymentResponseEntity.getter("SHAlgorithmType")
SHValue = ccPaymentResponseEntity.getter("SHValue")
Step 4 : Indicate PayMaster Properties File Location
The merchant must specify the location of the PayMaster Properties File using the PropertiesReader
.
Step 5 : Assign Response Message into Payment Response Entity
The merchant should assign the response message received from PayMaster into the PayMaster Response Entity using: ccPaymentResponseEntity.setter("ResponseMessage", responseMessage)
Step 6 : Assign Values into PayMaster Response Entity
The merchant must use the PaymentResponseMessageBuilder
to process the response message and assign the values into the PayMaster Response Entity.
Refer to Reversal Payment Parameters for the fields supported by the PayMaster Merchant Plug-In (MPI).
Step 7 : Retrieve Values from PayMaster Response Entity
The merchant can retrieve values from the PayMaster Response Entity using the getter function, which accepts one parameter: getter(parameter name)
.
Ensure that the value of TxnStatDetCde
is not equal to 5015, as this represents an invalid secure hash value.
Step 1 : Library
The merchant shall set up and include the PayMaster Merchant Plug-In (MPI) Node.js library into the merchant application.
Step 2 : Functions
MERCH_CardPaymentResponse()
- Purpose: This function should run on the merchant's response page for reversal payments.
- Functionality: It retrieves the response parameters returned from the PayMaster Gateway and provides the result required by the merchant.
Step 3 : Source Code
var paymaster = require('./js/PayMaster.min.js');
module.exports = function (app) {
app.get('/UPPPayment', (req, res) => {
paymaster.PropertiesReader('./properties/', 'CCPayment.properties');
payment.MERCH_CardPaymentResponse(req, paymaster.propDetails, function (err, response, result) {
if (err) {
throw err;
}
if (response) {
if (paymaster.getter('TxnStatDetCde') === "0000") {
var MerchantID = paymaster.getter('MerchantID');
var MerchRefNo = paymaster.getter('MerchRefNo');
var TxnStatus = paymaster.getter('TxnStatus');
var SHAlgorithmType = paymaster.getter('SHAlgorithmType');
var SHValue = paymaster.getter('SHValue');
// Implement further processing or response handling here
}
}
});
});
}
Step 4 : Indicate PayMaster Properties File Location
The merchant must specify the location of the PayMaster Properties File using the PropertiesReader
.
Step 5 : Retrieve Values from PayMaster Response Entity
The merchant can retrieve values from the PayMaster Response Entity using the getter function, which accepts one parameter: getter(parameter name)
.
Refer to Reversal Payment Parameters for the fields supported by the PayMaster Merchant Plug-In (MPI).
Ensure that the value of TxnStatDetCde
is not equal to 5015, as this represents an invalid secure hash value.