付款请求
本指南提供了如何将相应的源代码应用于商户网站和应用程序以形成支付请求参数的说明。这些参数包含在发送给 PayMaster 以进行 UPP 付款处理的重定向链接中。
- Java
- .Net
- PHP
- Python
- Node.js
第 1 步:图书馆
在您的应用程序中包含 PayMaster Merchant Plug-In (MPI) Java 库 PayMaster.jar。
第 2 步:导入
对于 UPP 付款,请将以下内容导入您的代码中:
com.PayMaster.Entities.PayMasterEntitycom.PayMaster.PropertiesReader.PropertiesReadercom.PayMaster.MessageRequestBuilder.PaymentRequestMessageBuilder
第 3 步源代码
import com.PayMaster.Entities.PayMasterEntity;
import com.PayMaster.PropertiesReader.PropertiesReader;
import com.PayMaster.MessageRequestBuilder.PaymentRequestMessageBuilder;
.....
// Declare variable for PayMaster Properties - 1st Parameter = File Path, 2nd Parameter = File name
PropertiesReader propertiesReader = new PropertiesReader("./PayMasterProperties/", "UPPPayment.properties");
// Declare variable for PayMaster Entity
PayMasterEntity paymentRequestEntity = new PayMasterEntity();
// Get all the parameter values from the user side and set into PayMaster Entity
paymentRequestEntity.setParameter("PaymentID", "U01");
paymentRequestEntity.setParameter("MerchRefNo", "MYB2023030315435025LL");
paymentRequestEntity.setParameter("CurrCode", "458");
paymentRequestEntity.setParameter("TxnAmt", "1.00");
paymentRequestEntity.setParameter("ExpTxnAmt", "2");
paymentRequestEntity.setParameter("CountryCode", "MY");
paymentRequestEntity.setParameter("TokenFlag", "N");
paymentRequestEntity.setParameter("MerchUserID", "User ID");
paymentRequestEntity.setParameter("PreAuthFlag", "N");
// Call PaymentRequestMessageBuilder to generate the message
PaymentRequestMessageBuilder messageBuilder = new PaymentRequestMessageBuilder();
String paymentMessage = messageBuilder.buildPaymentRequestMessage(paymentRequestEntity, propertiesReader);
// Redirect the message generated to PayMaster Gateway for settlement
response.sendRedirect("https://xxx.finexusgroup.com/upp/faces/upp/payment.xhtml?" + paymentMessage);
第 4 步:指示 PayMaster 属性文件位置
使用“PropertiesReader”指示 PayMaster 属性文件所在的位置。
第 5 步: 为付款请求实体分配值
将值分配给 PayMaster 请求实体。包含所有必填字段。使用setter函数setter(parameter name, parameter value)来赋值。
请参阅UPP 支付参数 了解 PayMaster 商户插件 (MPI) 支持的字段的完整列表。这将确保您的付款请求中包含所有必要的参数且格式正确。
第 6 步:生成 UPP 付款
分配所有必需值后,调用 PaymentRequestMessageBuilder 以生成 UPP 支付消息 (paymentMessage)。
第 7 步:将付款消息发送至 PayMaster 网关
使用 paymentMessage 重定向至 PayMaster 网关以进行 UPP 付款。
请参阅付款响应了解PayMaster商户插件(MPI)支持的安全控制。
第 1 步:图书馆
在您的应用程序中包含 PayMaster Merchant Plug-In (MPI) .Net 库 PayMaster.dll。
第 2 步:命名空间
对于 UPP 付款,请在代码中使用以下命名空间:
using com.PayMaster.Entitiesusing com.PayMaster.Propertiesusing com.PayMaster.MessageRequestBuilder
第 3 步源代码
using com.PayMaster.Entities;
using com.PayMaster.Properties;
using com.PayMaster.MessageRequestBuilder;
.....
// Declare variable for PayMaster Properties - 1st Parameter = File Path, 2nd Parameter = File name
PropertiesReader propertiesReader = new PropertiesReader("./PayMasterProperties/", "UPPPayment.properties");
// Declare variable for PayMaster Entity
PayMasterEntity uppPaymentRequestEntity = new PayMasterEntity();
// Get all the parameter values from the user side and set into PayMaster Entity
uppPaymentRequestEntity.setter("PaymentID", "U01");
uppPaymentRequestEntity.setter("EcommMerchInd", "2");
uppPaymentRequestEntity.setter("MerchRefNo", "MYB2023030315435025LL");
uppPaymentRequestEntity.setter("CountryCode", "MY");
uppPaymentRequestEntity.setter("CurrCode", "458");
uppPaymentRequestEntity.setter("TxnAmt", "1.00");
uppPaymentRequestEntity.setter("ExpTxnAmt", "2");
uppPaymentRequestEntity.setter("TokenFlag", "N");
uppPaymentRequestEntity.setter("MerchUserID", "User ID");
uppPaymentRequestEntity.setter("PreAuthFlag", "N");
// Call PaymentRequestMessageBuilder to generate the message
PaymentRequestMessageBuilder uppMessageBuilder = new PaymentRequestMessageBuilder();
string uppPaymentMessage = uppMessageBuilder.buildPaymentRequestMessage(uppPaymentRequestEntity, propertiesReader);
// Redirect the message generated to PayMaster Gateway for settlement
Response.Redirect("https://xxx.finexusgroup.com/upp/faces/upp/payment.xhtml?" + uppPaymentMessage);
....
第 4 步:指示 PayMaster 属性文件位置
使用“PropertiesReader”指示 PayMaster 属性文件所在的位置。
第 5 步为付款请求实体分配值
为 PayMaster 请求实体分配值。商户代码必须包含示例代码中所述的所有字段,因为它们是强制性的。使用setter函数setter(parameter name, parameter value)来赋值。
PayMaster商户插件(MPI)支持的字段请参考【UPP支付参数】(/myxaas/zh-cn/docs/paymaster/upp/set-parameters/payment-parameters)。
第 6 步:生成 UPP 付款
分配所有强制值后,调用PaymentRequestMessageBuilder生成 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 PayMaster 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 PayMaster Entity
$paymentRequestEntity = new PayMasterEntity();
// Get all the parameter values from the user side and set into PayMaster Entity
$paymentRequestEntity->setter("PaymentID", "U01");
$paymentRequestEntity->setter("MerchRefNo", "MYB2023030315435025LL");
$paymentRequestEntity->setter("CurrCode", "458");
$paymentRequestEntity->setter("TxnAmt", "1.00");
$paymentRequestEntity->setter("ExpTxnAmt", "2");
$paymentRequestEntity->setter("EcommMerchInd", "1");
$paymentRequestEntity->setter("CountryCode", "MY");
$paymentRequestEntity->setter("TokenFlag", "N");
$paymentRequestEntity->setter("PreAuthFlag", "N");
// Call PaymentRequestMessageBuilder to generate the message
$paymentRequestMessageBuilder = new PaymentRequestMessageBuilder();
$paymentMessage = $paymentRequestMessageBuilder->buildPaymentRequestMessage($paymentRequestEntity, $propertiesReader);
// Redirect the message generated to PayMaster Gateway for settlement
header("Location:https://xxx.finexusgroup.com/upp/faces/upp/payment.xhtml?" . $paymentMessage);
exit();
.....
第4步:找到PayMaster.phar的绝对路径
在源代码中找到 PayMaster.phar 的绝对路径作为 basePath。例子:
$basePath='phar://<absolute path of PayMaster.phar>/'
第 5 步:指示 PayMaster 属性文件位置
使用“PropertiesReader”指示 PayMaster 属性文件所在的位置。
第 6 步:为付款请求实体分配值
将值分配给 PayMaster 请求实体。商户代码必须包含示例代码中所述的所有字段,因为它们是强制性的。使用setter函数setter(parameter name, parameter value)来赋值。
PayMaster商户插件(MPI)支持的字段请参考 UPP支付参。
第 7 步:生成 UPP 付款
分配所有必需值后,调用 PaymentRequestMessageBuilder 以生成 UPP 支付消息 (paymentMessage)。
第 8 步:将付款消息发送至 PayMaster 网关
使用 paymentMessage 重定向至 PayMaster 网关以进行 UPP 付款。
请参阅付款响应了解PayMaster商户插件(MPI)支持的安全控制。
第 1 步:打包
在您的应用程序中设置并包含 PayMaster Merchant Plug-In (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 PayMaster Properties - 1st Parameter = File Path, 2nd Parameter = File name
propertiesReader = PropertiesReader("PayMasterProperties/", "UPPPayment.properties")
# Declare variable for PayMaster Entity
uppPaymentRequestEntity = PayMasterEntity()
# Get all the parameter values from the user side and set into PayMaster Entity
uppPaymentRequestEntity.setter("PaymentID", "U01")
uppPaymentRequestEntity.setter("EcommMerchInd", "2")
uppPaymentRequestEntity.setter("MerchRefNo", "MYB2023030315435025LL")
uppPaymentRequestEntity.setter("CountryCode", "MY")
uppPaymentRequestEntity.setter("CurrCode", "458")
uppPaymentRequestEntity.setter("TxnAmt", "1.00")
uppPaymentRequestEntity.setter("ExpTxnAmt", "2")
uppPaymentRequestEntity.setter("TokenFlag", "N")
uppPaymentRequestEntity.setter("MerchUserID", "User ID")
uppPaymentRequestEntity.setter("PreAuthFlag", "N")
# Call Payment Master Payment Request Message Builder to generate the message
uppMessageBuilder = PaymentRequestMessageBuilder()
uppPaymentMessage = uppMessageBuilder.buildPaymentRequestMessage(uppPaymentRequestEntity, propertiesReader)
# Redirect the message generated to PayMaster Gateway for settlement
redirect("https://xxx.finexusgroup.com/upp/faces/upp/payment.xhtml?" + uppPaymentMessage)
第 4 步:指示 PayMaster 属性文件位置
使用“PropertiesReader”指示 PayMaster 属性文件所在的位置。
第 5 步为付款请求实体分配值
将值分配给 PayMaster 请求实体。商户代码必须包含示例代码中所述的所有字段,因为它们是强制性的。
- setter函数用于赋值,该函数接受两个参数:
setter(parameter name, parameter value)。
PayMaster商户插件(MPI)支持的字段请参考【UPP支付参数】(/myxaas/zh-cn/docs/paymaster/upp/set-parameters/payment-parameters)。
第 6 步:生成 UPP 付款
分配所有必需值后,调用 PaymentRequestMessageBuilder 以生成 UPP 支付消息 (paymentMessage)。
第 7 步:将付款消息发送至 PayMaster 网关
使用 paymentMessage 重定向至 PayMaster 网关以进行 UPP 付款。
请参阅付款响应了解PayMaster商户插件(MPI)支持的安全控制。
第 1 步:图书馆
设置 PayMaster Merchant Plug-In (MPI) Node.js 库并将其包含到您的应用程序中。
第 2 步源代码
module.exports = function (app) {
app.post('/UPPPayment', (req, res) => {
delete require.cache[
require.resolve("./js/PayMaster.min.js")
];
const paymaster = require("./js/PayMaster.min.js");
// Indicate PayMaster Properties File Location
paymaster.PropertiesReader('./properties/', 'UPPPayment.properties');
// Assign values to Payment Request Entity
paymaster.setter('PaymentID', 'U01');
paymaster.setter('EcommMerchInd', '2');
paymaster.setter('MerchRefNo', 'MYB2023030315435025LL');
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');
// Generate the Request Message
paymaster.MERCH_UPPPaymentRequest(paymaster.PaymentRequestEntity, paymaster.propDetails, function(err, response, result) {
if (err) {
throw err;
}
if (response) {
// Redirect the message generated to 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)支持的字段请参考【UPP支付参数】(/myxaas/zh-cn/docs/paymaster/upp/set-parameters/payment-parameters)。
第 5 步生成请求消息
使用 MERCH_UPPPamentRequest() 函数生成支付请求消息。
第 6 步:将付款消息发送至 PayMaster
JavaScript 生成的付款消息将用于发送至 PayMaster 以进行 UPP 付款。
请参阅付款响应了解PayMaster商户插件(MPI)支持的安全控制。