支付响应
以下指南旨在解释如何使用相应的源代码从 PayMaster 返回的响应消息中检索支付响应参数。
- Java
- .Net
- PHP
- Python
- Node.js
步骤 1:库
商家应将 PayMaster 商家插件(MPI)Java 库 — PayMaster.jar,包含到商家的应用程序中。
步骤 2:导入
对于 UPP 支付,商家应将以下内容导入商家代码:
com.PayMaster.Entities.PayMasterEntity
com.PayMaster.PropertiesReader.PropertiesReader
com.PayMaster.MessageResponseBuilder.PaymentResponseMessageBuilder
步骤 3:源代码
import com.PayMaster.Entities.PayMasterEntity;
import com.PayMaster.PropertiesReader.PropertiseReader;
import com.PayMaster.MessageResponseBuilder.PaymentResponseMessageBuilder;
.....
//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 paymentResponseEntity = new PayMasterEntity();
//Get response message from PayMaster and set into Payment Master Entity
paymentResponseEntity.setter("ResponseMessage", responseMessage);
//Call Payment Master Payment Response Message Builder to set value
PaymentResponseMessageBuilder paymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
paymentResponseMessageBuilder.buildUPPPaymentResponseMessage(paymentResponseEntity, propertiesReader);
if(paymentResponseEntity.getter("TxnStatDetCde").equals("0000")){
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");
//to do ...
}
.....
步骤 4:使用 PropertiesReader
指示 PayMaster 属性文件位置
商家必须使用 PropertiesReader
指示 PayMaster 属性文件的位置。
步骤 5:使用 setter 指示 PayMaster 属性文件位置
商家必须使用 setter(“ResponseMessage”,”<PayMaster 网关返回的响应消息>”)
指示 PayMaster 属性文件的位置。
步骤 6:将值赋给 PayMaster 响应实体
商家调用 UPP 支付响应消息生成器来处理响应消息,并将值赋给 PayMaster 响应实体。
步骤 7:从 PayMaster 响应实体中检索值
商家可以从 PayMaster 响应实体中检索值。
- 使用 getter 函数来检索值,该函数只接受一个参数 —
getter(parameter name)
。
有关 PayMaster 商家插件(MPI)支持的字段,请参考预授权支付参数。
请确保TxnStatDetCde
的值不等于5015,因为这代表着一个无效的安全哈希值。
步骤 1:库
商家应将 PayMaster 商家插件(MPI).Net 库 PayMaster.dll 加入商家应用程序中。
步骤 2:命名空间
对于 UPP 支付,商家应在商家代码中使用以下命名空间:
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 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 uppPaymentResponseEntity = new PayMasterEntity();
//Get response message from PayMaster and set into Payment Master Entity
uppPaymentResponseEntity.setter("ResponseMessage", responseMessage);
//Call Payment Master Payment Response Message Builder to set value
PaymentResponseMessageBuilder uppPaymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
uppPaymentResponseMessageBuilder.buildUPPPaymentResponseMessage(uppPaymentResponseEntity, propertiesReader);
if(uppPaymentResponseEntity.getter("TxnStatDetCde").Equals("0000")){
String MerchantID = uppPaymentResponseEntity.getter("MerchantID");
String MerchRefNo = uppPaymentResponseEntity.getter("MerchRefNo");
String TxnStatus = uppPaymentResponseEntity.getter("TxnStatus");
String SHAlgorithmType = uppPaymentResponseEntity.getter("SHAlgorithmType");
String SHValue = uppPaymentResponseEntity.getter("SHValue");
//to do ...
}
.....
步骤 4:指定属性文件位置
商家必须使用 PropertiesReader
指定 PayMaster 属性文件的位置。
步骤 5:将响应消息分配到支付响应实体中
商家应使用 setter(“ResponseMessage”,”<PayMaster 网关返回的响应消息>”)
将从 PayMaster 接收的响应消息分配到 PayMaster 响应实体中。
步骤 6:将值分配到 PayMaster 响应实体中
商家调用 UPP 支付响应消息生成器来对响应消息进行处理,并将值分配到 PayMaster 响应实体中。
步骤 7:从 PayMaster 响应实体中检索值
商家可以从 PayMaster 响应实体中检索值。
- getter 函数用于检索值,该函数只接受一个参数 —
getter(参数名称)
。
请参考 预授权支付参数 获取 PayMaster 商家插件(MPI)支持的字段。
请确保TxnStatDetCde
的值不等于5015,因为这代表着一个无效的安全哈希值。
步骤 1:库
商家应将 PayMaster 商家插件(MPI)PHP库 — PayMaster.phar 包含到商家应用程序中。
步骤 2:商家代码
对于 UPP 支付,商家应将以下内容导入到商家代码中:
PropertiesReader
— 用于读取属性文件。PayMasterEntity
— 为 PayMaster UPP 支付分配所有可接受的值。PaymentResponseMessageBuilder
— 生成 PayMaster UPP 支付响应消息。
步骤 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>/' . '/paymaster/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","UPPPayment.ini");
//Declare variable for Payment Master Entity
$paymentResponseEntity = new PayMasterEntity();
//Get all the parameter values from the user side and set into Payment Master Entity
$paymentResponseEntity->setter("ResponseMessage", $responseMessage);
//Call Payment Master Payment Response Message Builder to set value
$paymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
$paymentResponseMessageBuilder->buildUPPPaymentResponseMessage($paymentResponseEntity, $propertiesReader);
if(strncmp($paymentResponseEntity->getter("TxnStatDetCde"),"0000") == 0 ){
$MerchantID = $paymentResponseEntity->getter("MerchantID");
$MerchRefNo = $paymentResponseEntity->getter("MerchRefNo");
$TxnStatus = $paymentResponseEntity->getter("TxnStatus");
$SHAlgorithmType = $paymentResponseEntity->getter("SHAlgorithmType");
$SHValue = $paymentResponseEntity->getter("SHValue");
//to do ...
}
.....
步骤 4:定位绝对路径
商家需在商家源代码(上述示例中的第7行)中作为basePath
找到 PayMaster.phar 的绝对路径。
示例: $basePath='phar://<PayMaster.phar的绝对路径>/'
步骤 5:指示 PayMaster 属性文件
商家必须使用 PropertiesReader
指示 PayMaster 属性文件的位置。
步骤 6:将响应消息分配到支付响应实体中
商家使用 setter(“ResponseMessage”,<PayMaster网关返回的响应消息>)
函数将从 PayMaster 收到的响应消息分配到 PayMaster 响应实体中。
步骤 7:向 PayMaster 响应实体中分配值
商家调用 UPP 支付响应消息生成器对响应消息进行处理,并将值分配到 PayMaster 响应实体中。
步骤 8:从 PayMaster 响应实体中检索值
商家可以从 PayMaster 响应实体中检索值。
- 使用 getter 函数检索值,该函数仅接受一个参数
getter(参数名称)
。
请参阅 预授权支付参数 了解 PayMaster 商家插件(MPI)支持的字段。
请确保TxnStatDetCde
的值不等于5015,因为这代表着一个无效的安全哈希值。
步骤 1:软件包
商家应设置并将 PayMaster 商家插件(MPI)Python软件包包含到商家应用程序中。
步骤 2:导入
对于 UPP 支付,商家应将以下内容包含到商家代码中:
PropertiesReader
- 用于读取属性文件。PayMasterEntity
- 为 PayMaster UPP 支付分配所有可接受的值。PaymentResponseMessageBuilder
- 生成 PayMaster UPP 支付响应消息。
步骤 3:源代码
from com.PayMaster.Entities.PayMasterEntity import PayMasterEntity
from com.PayMaster.PropertiesReader.PropertiseReader import PropertiseReader
from com.PayMaster.MessageResponseBuilder.PaymentResponseMessageBuilder import PaymentResponseMessageBuilder
##Declare variable for Payment Master Properties - 1st Parameter = File Path , 2nd Parameter = File name
PropertiesReader propertiesReader = new PropertiesReader("UPPPayment.properties","PayMasterProperties/")
##Declare variable for Payment Master Entity
uppPaymentResponseEntity = PayMasterEntity()
##Get response message from PayMaster and set into Payment Master Entity
uppPaymentResponseEntity.setter("ResponseMessage", responseMessage)
##Call Payment Master Payment Response Message Builder to set value
uppPaymentResponseMessageBuilder = PaymentResponseMessageBuilder()
uppPaymentResponseMessageBuilder.buildUPPPaymentResponseMessage(uppPaymentResponseEntity, propertiesReader)
if(uppPaymentResponseEntity.getter("TxnStatDetCde") == '0000'){
MerchantID = uppPaymentResponseEntity.getter("MerchantID")
MerchRefNo = uppPaymentResponseEntity.getter("MerchRefNo")
TxnStatus = uppPaymentResponseEntity.getter("TxnStatus")
SHAlgorithmType = uppPaymentResponseEntity.getter("SHAlgorithmType")
SHValue = uppPaymentResponseEntity.getter("SHValue")
//to do ....
}
Step 4: 指明 PayMaster 属性文件的位置
商家必须使用 PropertiesReader
指明 PayMaster 属性文件的位置。
Step 5: 将响应消息分配到 Payment Response 实体
商家需使用 setter(“ResponseMessage”,<PayMaster 网关返回的响应消息>)
函数将从 PayMaster 接收的响应消息分配到 PayMaster Response 实体中。
Step 6: 将值分配到 PayMaster Response 实体
商家调用 UPP 支付响应消息生成器,对响应消息进行处理,并将值分配到 PayMaster Response 实体中。
Step 7: 从 PayMaster Response 实体中检索值
商家可以从 PayMaster Response 实体中检索值。
- 使用 getter 函数来检索值,该函数仅接受一个参数 -
getter(参数名称)
。
请参阅 预授权支付参数 了解 PayMaster 商家插件(MPI)支持的字段。
请确保TxnStatDetCde
的值不等于5015,因为这代表着一个无效的安全哈希值。
步骤 1:库
商家应设置并包含 PayMaster 商家插件(MPI)NodeJS 库到商家应用程序中。
步骤 2:函数
MERCH_UppPaymentResponse()
- 应在商家 UPP 支付响应页面中运行的函数。
- 此函数将对从 PayMaster 网关返回的响应参数进行处理,并返回商家所需的结果。
步骤 3:源代码
var paymaster = require('./js/PayMaster.min.js');
module.exports = function (app) {
app.get('/UPPPayment', (req, res)=>{
paymaster.PropertiesReader('./properties/','UPPPayment.properties');
payment.MERCH_UPPPaymentResponse(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');
//to do ...
}
}
});
.....
});
}
步骤 4:指明 PayMaster 属性文件
商家必须使用 PropertiesReader
指明 PayMaster 属性文件的位置。
步骤 5:从 PayMaster 响应实体中检索值
商家可以从 PayMaster 响应实体中检索值。
- 获取函数用于检索值,函数仅接受一个参数 -
getter(parameter name)
。
请参阅预授权支付参数,了解 PayMaster 商家插件(MPI)支持的字段。
请确保TxnStatDetCde
的值不等于5015,因为这代表着一个无效的安全哈希值。