付款请求
以下指南说明如何应用相应的源代码在重定向链接中形成强制支付请求参数并将其发送给 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.MessageRequestBuilder.PaymentRequestMessageBuilder
第 3 步:源代码
import com.PayMaster.Entities.PayMasterEntity;
import com.PayMaster.PropertiesReader.PropertiesReader;
import com.PayMaster.MessageRequestBuilder.PaymentRequestMessageBuilder;
// 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 values from the user side and set into Payment Master Entity
paymentRequestEntity.set("PaymentID", "U01");
paymentRequestEntity.set("MerchRefNo", "merchant-refNo-0001");
paymentRequestEntity.set("CurrCode", "458");
paymentRequestEntity.set("TxnAmt", "1.00");
paymentRequestEntity.set("ExpTxnAmt", "2");
paymentRequestEntity.set("CountryCode", "MY");
paymentRequestEntity.set("MerchUserID", "guest-finexus");
paymentRequestEntity.set("TokenFlag", "Y");
paymentRequestEntity.set("PreAuthFlag", "Y");
// 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/upp/payment.xhtml?" + paymentMessage);
第 4 步:指示 PayMaster 属性文件位置
商家必须使用PropertiesReader
指定 PayMaster 属性文件的位置。
第 5 步: 为付款请求实体分配值
商家应向 PayMaster 请求实体分配值。商家代码必须包含示例代码中所述的所有字段,因为它们是强制性的。
- setter函数用于赋值,它接受两个参数:
setter(参数名,参数值)
。
PayMaster商户插件(MPI)支持的字段请参考 预授权支付参数。
第 6 步:生成 UPP 付款
分配所有必填值后,商家将调用支付请求消息生成器来生成 UPP 支付 —paymentMessage
。
第 7 步:将付款消息发送至 PayMaster 网关
paymentMessage
将用于发送到 PayMaster 网关以进行 UPP 付款。
请参阅 预授权付款响应了解PayMaster商户插件(MPI)支持的安全控制。
第 1 步:图书馆
商户应在商户应用程序中包含 PayMaster 商户插件 (MPI) .NET 库 PayMaster.dll。
第 2 步:命名空间
对于 UPP 支付,商户应在商户代码中包含以下命名空间:
using com.PayMaster.Entities
using com.PayMaster.Properties
using com.PayMaster.MessageRequestBuilder
第 3 步:源代码
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", "U01");
uppPaymentRequestEntity.Setter("EcommMerchInd", "2");
uppPaymentRequestEntity.Setter("MerchRefNo", "merchant-refNo-0001");
uppPaymentRequestEntity.Setter("CountryCode", "MY");
uppPaymentRequestEntity.Setter("CurrCode", "458");
uppPaymentRequestEntity.Setter("TxnAmt", "1.00");
uppPaymentRequestEntity.Setter("ExpTxnAmt", "2");
uppPaymentRequestEntity.Setter("TokenFlag", "Y");
uppPaymentRequestEntity.Setter("MerchUserID", "User ID");
uppPaymentRequestEntity.Setter("PreAuthFlag", "Y");
// Call Payment Master Payment Request Message Builder to generate the message
PaymentRequestMessageBuilder uppMessageBuilder = new PaymentRequestMessageBuilder();
string uppPaymentMessage = uppMessageBuilder.BuildPaymentRequestMessage(uppPaymentRequestEntity, propertiesReader);
// Redirect the message generated to Payment Master Gateway for settlement
Response.Redirect("https://xxx.finexusgroup.com/upp/faces/upp/payment.xhtml?" + uppPaymentMessage);
第 4 步:指示 PayMaster 属性文件位置
商家必须使用PropertiesReader
指定 PayMaster 属性文件的位置。
第 5 步为付款请求实体分配值
商家必须向 PayMaster 请求实体分配值。商家代码必须包含示例代码中所述的所有字段,因为它们是强制性的。
- setter函数用于赋值,它接受两个参数:
setter(参数名,参数值)
。
PayMaster商户插件(MPI)支持的字段请参考 预授权支付参数。
第 6 步:生成 UPP 付款
分配所有必填值后,商家将调用支付请求消息生成器来生成 UPP 支付 —uppPaymentMessage
。
第 7 步:将付款消息发送至 PayMaster 网关
uppPaymentMessage
将被发送到 PayMaster 网关以进行 UPP 付款。
请参阅 预授权付款响应了解PayMaster商户插件(MPI)支持的安全控制。
第 1 步:图书馆
商户应在商户应用程序中包含 PayMaster 商户插件 (MPI) PHP 库 PayMaster.phar。
第 2 步:导入
对于 UPP 付款,商家应将以下内容导入其代码中:
PropertiesReader
– 读取属性文件。PayMasterEntity
– 为 PayMaster UPP 付款分配所有可接受的值。PaymentRequestMessageBuilder
– 生成 PayMaster UPP 支付请求消息。
第 3 步:源代码
<?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>, "UPPPayment.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", "U01");
$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", "Y");
$paymentRequestEntity->setter("MerchUserID", "User ID");
// 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/upp/payment.xhtml?" . $paymentMessage);
exit();
?>
第 4 步:找到PayMaster.phar的绝对路径
商户必须找到 PayMaster.phar 的绝对路径并将其设置为源代码中的 $basePath
(上例中的第 7 行)。
例子:$basePath='phar://<absolute path of PayMaster.phar>/'
第 5 步:指示 PayMaster 属性文件位置
商家必须使用PropertiesReader
指定 PayMaster 属性文件的位置。
第 6 步:为付款请求实体分配值
商家必须向 PayMaster 请求实体分配值。商家代码必须包含示例代码中所述的所有字段,因为它们是强制性的。
- setter函数用于赋值,它接受两个参数:
setter(参数名,参数值)
。
PayMaster商户插件(MPI)支持的字段请参考 预授权支付参数。
第 7 步:生成 UPP 付款
分配所有必填值后,商家将调用支付请求消息生成器来生成 UPP 支付 —paymentMessage
。
第 8 步:将付款消息发送至 PayMaster 网关
paymentMessage
将用于发送到 PayMaster 网关以进行 UPP 付款。
请参阅 预授权付款响应了解PayMaster商户插件(MPI)支持的安全控制。
第 1 步:打包
商户应在商户应用程序中设置并包含 PayMaster 商户插件 (MPI) Python 包。
第 2 步:导入
对于 UPP 付款,商家应在其代码中包含以下内容:
PropertiesReader
– 读取属性文件。PayMasterEntity
– 为 PayMaster UPP 付款分配所有可接受的值。PaymentRequestMessageBuilder
– 生成 PayMaster UPP 支付请求消息。
第 3 步:源代码
from com.PayMaster.Entities.PayMasterEntity import PayMasterEntity
from com.PayMaster.PropertiesReader.PropertiesReader import PropertiesReader
from com.PayMaster.MessageRequestBuilder.PaymentRequestMessageBuilder import PaymentRequestMessageBuilder
# Declare variable for Payment Master Properties - 1st Parameter = File Name, 2nd Parameter = File Path
propertiesReader = PropertiesReader("UPPPayment.properties", "PayMasterProperties/")
# Declare variable for Payment Master Entity
uppPaymentRequestEntity = PayMasterEntity()
# Get all the parameter values from the user side and set them into the Payment Master Entity
uppPaymentRequestEntity.setter("PaymentID", "U01")
uppPaymentRequestEntity.setter("EcommMerchInd", "2")
uppPaymentRequestEntity.setter("MerchRefNo", "merchant-refNo-0001")
uppPaymentRequestEntity.setter("CountryCode", "MY")
uppPaymentRequestEntity.setter("CurrCode", "458")
uppPaymentRequestEntity.setter("TxnAmt", "1.00")
uppPaymentRequestEntity.setter("ExpTxnAmt", "2")
uppPaymentRequestEntity.setter("TokenFlag", "Y")
uppPaymentRequestEntity.setter("MerchUserID", "User ID")
uppPaymentRequestEntity.setter("PreAuthFlag", "Y")
# Call Payment Master Payment Request Message Builder to generate the message
uppMessageBuilder = PaymentRequestMessageBuilder()
uppPaymentMessage = uppMessageBuilder.buildPaymentRequestMessage(uppPaymentRequestEntity, propertiesReader)
# Redirect the message generated to the Payment Master Gateway for settlement
redirect("https://xxx.finexusgroup.com/upp/faces/upp/payment.xhtml?" + uppPaymentMessage)
第 4 步:指示 PayMaster 属性文件位置
商家必须使用PropertiesReader
指定 PayMaster 属性文件的位置。
第 5 步为付款请求实体分配值
商家必须向 PayMaster 请求实体分配值。商家代码必须包含示例代码中所述的所有字段,因为它们是强制性的。
- setter函数用于赋值,它接受两个参数:
setter(参数名,参数值)
。
PayMaster商户插件(MPI)支持的字段请参考 预授权支付参数。
第 6 步:生成 UPP 付款
分配所有必填值后,商家将调用支付请求消息 生成器来生成 UPP 支付 —uppPaymentMessage
。
第 7 步:将付款消息发送至 PayMaster 网关
uppPaymentMessage
将被发送到 PayMaster 网关以进行 UPP 付款。
请参阅 预授权付款响应了解PayMaster商户插件(MPI)支持的安全控制。
第 1 步:图书馆
商户应在商户应用程序中设置并包含 PayMaster 商户插件 (MPI) Node.js 库。
第 2 步源代码
var paymaster = require('./js/PayMaster.min.js');
module.exports = function (app) {
app.post('/UPPPayment', (req, res) => {
// Load the PayMaster properties file
paymaster.PropertiesReader('./properties/', 'UPPPayment.properties');
// Set the required parameters in the PayMaster Request Entity
paymaster.setter('PaymentID', 'U01');
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', 'Y');
paymaster.setter('MerchUserID', 'UserName');
paymaster.setter('PreAuthFlag', 'Y');
// Generate the payment request message and handle the response
paymaster.MERCH_UPPPaymentRequest(paymaster.PaymentRequestEntity, paymaster.propDetails, function(err, response, result) {
if (err) {
throw err;
}
if (response) {
// Redirect the user to the PayMaster Gateway for settlement
res.redirect("https://xxx.finexusgroup.com/upp/faces/upp/payment.xhtml?" + result);
}
});
});
}
第 3 步:指示 PayMaster 属性文件位置
商家必须使用PropertiesReader
指定 PayMaster 属性文件的位置。
第 4 步为付款请求实体分配值
商家必须向 PayMaster 请求实体分配值。商家代码必须包含示例代码中所述的所有字段,因为它们是强制性的。
- setter函数用于赋值,它接受两个参数:
setter(参数名,参数值)
。
PayMaster商户插件(MPI)支持的字段请参考 预授权支付参数。
第 5 步生成请求消息
MERCH_UPPPamentRequest()
函数用于生成支付请求消息。
第 6 步:将付款消息发送至 PayMaster
JavaScript 代码返回的支付消息将发送至 PayMaster 以进行 UPP 支付。
请参阅 预授权付款响应了解PayMaster商户插件(MPI)支持的安全控制。