付款响应
以下指南说明如何在商户应用程序中应用相应的源代码,从PayMaster返回的响应消息中检索支付响应参数。
- Java
- .Net
- PHP
- Python
- Node.js
第 1 步:图书馆
商户应将 PayMaster 商户插件 (MPI) Java 库 – PayMaster.jar – 包含到商户应用程序中。
第 2 步:导入
对于定期付款,商家应将以下内容导入其代码中:
com.PayMaster.Entities.PayMasterEntity
com.PayMaster.PropertiesReader.PropertiesReader
com.PayMaster.MessageResponseBuilder.PaymentResponseMessageBuilder
第 3 步:源代码
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 into PayMaster Entity
paymentResponseEntity.setter("ResponseMessage", responseMessage);
// Call Payment Master Payment Response Message Builder to set value
PaymentResponseMessageBuilder paymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
paymentResponseMessageBuilder.buildCardPaymentResponseMessage(paymentResponseEntity, propertiesReader);
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");
// Process retrieved values as needed
第 4 步:指示 PayMaster 属性文件位置
商家必须使用PropertiesReader
指定 PayMaster 属性文件的位置。
第 5 步:设置响应消息
商户必须使用 setter(“ResponseMessage”,”<PayMaster Gateway 返回的响应消息>”)
来 指示 PayMaster 网关返回的响应消息。
第 6 步: 将值分配给 PayMaster 响应实体
商户调用卡支付响应消息构建器来处理响应消息并将值分配给PayMaster响应实体。
PayMaster商户插件(MPI)支持的字段请参考 定期付款参数。
第 7 步: 从 PayMaster 响应实体检索值
商户可以使用 getter 函数从 PayMaster 响应实体检索值,该函数接受一个参数:getter(参数名称)
。
确保 TxnStatDetCde
的值不等于 5015,因为这表示无效的安全哈希值。
第 1 步:图书馆
商户应将 PayMaster 商户插件 (MPI) .NET 库 – PayMaster.dll – 包含到商户应用程序中。
第 2 步:命名空间
对于定期付款,商家应在其代码中使用以下命名空间:
using com.PayMaster.Entities
using com.PayMaster.Properties
using com.PayMaster.MessageResponseBuilder
第 3 步:源代码
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 into PayMaster Entity
ccPaymentResponseEntity.setter("ResponseMessage", responseMessage);
// Call Payment Master Payment Response Message Builder to set value
PaymentResponseMessageBuilder cardPaymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
cardPaymentResponseMessageBuilder.buildCardPaymentResponseMessage(ccPaymentResponseEntity, propertiesReader);
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");
// Process retrieved values as needed
第 4 步:指示 PayMaster 属性文件位置
商家必须使用“PropertiesReader”指定 PayMaster 属性文件的位置。
第 5 步:将响应消息分配给支付响应实体
商户必须将从 PayMaster 收到的响应消息分配给 PayMasterEntity,使用: ccPaymentResponseEntity.setter("ResponseMessage", "<PayMaster Gateway 返回的响应消息>");
第 6 步: 将值分配给 PayMaster 响应实体
商户调用卡支付响应消息生成器来处理响应消息并将值分配给 PayMaster 响应实体。
PayMaster商户插件(MPI)支持的字段请参考 定期付款参数。
第 7 步: 从 PayMaster 响应实体检索值
商户可以使用 getter 函数从 PayMaster 响应实体检索值,该函数接受一个参数:ccPaymentResponseEntity.getter("参数名称");
。
确保 TxnStatDetCde
的值不等于 5015,因为这表示无效的安全哈希值。
第 1 步:图书馆
商户应将 PayMaster 商户插件 (MPI) PHP 库 – PayMaster.phar – 包含到商户应用程序中。
第 2 步:商户代码
对于定期付款,商户应将以下内容导入商户代码:
PropertiesReader
– 读取属性文件。PayMasterEntity
– 为 PayMaster 定期付款分配所有可接受的值。PaymentResponseMessageBuilder
– 生成 PayMaster 定期付款响应消息。
第 3 步:源代码
<?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", "CardPayment.ini");
// Declare variable for Payment Master Entity
$paymentResponseEntity = new PayMasterEntity();
// Get the response message from PayMaster and set it into Payment Master Entity
$paymentResponseEntity->setter("ResponseMessage", $responseMessage);
// Call Payment Master Payment Response Message Builder to process the response
$paymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
$paymentResponseMessageBuilder->buildCardPaymentResponseMessage($paymentResponseEntity, $propertiesReader);
$MerchantID = $paymentResponseEntity->getter("MerchantID");
$MerchRefNo = $paymentResponseEntity->getter("MerchRefNo");
$TxnStatus = $paymentResponseEntity->getter("TxnStatus");
$SHAlgorithmType = $paymentResponseEntity->getter("SHAlgorithmType");
$SHValue = $paymentResponseEntity->getter("SHValue");
// Process retrieved values as needed
?>
第 4 步:找到 PayMaster.phar 的绝对路径
商户必须确定PayMaster.phar的绝对路径,并将其设置为商户源代码中的basePath。
例子:$basePath=’phar://<absolute path of PayMaster.phar>/’
第 5 步:指示 PayMaster 属性文件位置
商家必须使用“PropertiesReader”指定 PayMaster 属性文件的位置。
第 6 步: 将响应消息分配给支付响应实体
商家将从 PayMaster 收到的响应消息分配给 PayMasterEntity,使用: $paymentResponseEntity->setter("ResponseMessage", "<PayMaster Gateway 返回的响应消息>");
第 7 步: 将值分配给 PayMaster 响应实体
商户调用“PaymentResponseMessageBuilder”来处理响应消息并将值分配给 PayMaster 响应实体。
PayMaster商户插件(MPI)支持的字段请参考 定期付款参数。
第 8 步: 从 PayMaster 响应实体检索值
商家可以使用 getter 函数从 PayMaster 响应实体检索值:$paymentResponseEntity->getter("参数名称");
确保 TxnStatDetCde
的值不等于 5015, 因为这表示无效的安全哈希值。
第 1 步:打包
商户应设置 PayMaster 商户插件 (MPI) Python 包并将其包含到商户应用程序中。
第 2 步:导入
对于定期付款,商户应在商户代码中包含以下内容:
PropertiesReader
– 读取属性文件。PayMasterEntity
– 为 PayMaster 定期付款分配所有可接受的值。PaymentResponseMessageBuilder
– 生成 PayMaster 定期付款响应消息。
第 3 步:源代码
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("CCPayment.properties", "PayMasterProperties/")
# Declare variable for Payment Master Entity
ccPaymentResponseEntity = PayMasterEntity()
# Get the response message from PayMaster and set it into Payment Master Entity
ccPaymentResponseEntity.setter("ResponseMessage", responseMessage)
# Call Payment Master Payment Response Message Builder to set values
cardPaymentResponseMessageBuilder = PaymentResponseMessageBuilder()
cardPaymentResponseMessageBuilder.buildCardPaymentResponseMessage(ccPaymentResponseEntity, propertiesReader)
# Retrieve values from Payment Master Response Entity
MerchantID = ccPaymentResponseEntity.getter("MerchantID")
MerchRefNo = ccPaymentResponseEntity.getter("MerchRefNo")
TxnStatus = ccPaymentResponseEntity.getter("TxnStatus")
SHAlgorithmType = ccPaymentResponseEntity.getter("SHAlgorithmType")
SHValue = ccPaymentResponseEntity.getter("SHValue")
# Process retrieved values as needed
第 4 步:指示 PayMaster 属性文件位置
商家必须使用“PropertiesReader”指定 PayMaster 属性文件的位置。
第 5 步:将响应消息分配给支付响应实体
商家将从 PayMaster 收到的响应消息分配给 PayMasterEntity,使用: ccPaymentResponseEntity.setter("ResponseMessage", "<PayMaster Gateway 返回的响应消息>")
第 6 步: 将值分配给 PayMaster 响应实体
商户调用“PaymentResponseMessageBuilder”来处理响应消息并将值分配给 PayMaster 响应实体。
PayMaster商户插件(MPI)支持的字段请参考 定期付款参数。
第 7 步: 从 PayMaster 响应实体检索值
商家使用 getter 函数从 PayMaster 响应实体检索值:ccPaymentResponseEntity.getter("参数名称")
。
确保 TxnStatDetCde
的值不等于 5015,因为这表示无效的安全哈希值。
第 1 步:图书馆
商户应设置 PayMaster 商户插件 (MPI) Node.js 库并将其包含到商户应用程序中。
第 2 步:功能
MERCH_CardPaymentResponse()
- 此功能应在商家的定期付款响应页面上运行。它检索PayMaster网关返回的响应参数,并返回商户所需的结果。
第 3 步:源代码
var paymaster = require('./js/PayMaster.min.js');
module.exports = function (app) {
app.get('/UPPPayment', (req, res) => {
// Set the location of the PayMaster Properties File
paymaster.PropertiesReader('./properties/', 'CCPayment.properties');
// Call MERCH_CardPaymentResponse function to handle the response
payment.MERCH_CardPaymentResponse(req, paymaster.propDetails, function (err, response, result) {
if (err) {
throw err;
}
if (response) {
if (paymaster.getter('TxnStatDetCde') === "0000") {
// Retrieve values from PayMaster Response Entity
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');
// Process retrieved values as needed
// For example, send a response to the client
res.json({
MerchantID: MerchantID,
MerchRefNo: MerchRefNo,
TxnStatus: TxnStatus,
SHAlgorithmType: SHAlgorithmType,
SHValue: SHValue
});
} else {
// Handle other TxnStatDetCde values as needed
res.status(400).send('Transaction failed or secure hash is invalid.');
}
}
});
});
}
第 4 步:指示 PayMaster 属性文件位置
商 家必须使用“PropertiesReader”指定 PayMaster 属性文件的位置。
PayMaster商户插件(MPI)支持的字段请参考 定期付款参数。
第 5 步:从 PayMaster 响应实体检索值
商家使用 getter 函数从 PayMaster 响应实体检索值:paymaster.getter('参数名称')
确保 TxnStatDetCde
的值不等于 5015,因为这表示无效的安全哈希值。