支付请求
这是有关如何将商家网站上的源代码应用于形成支付请求参数的指南,这些参数将发送到PayMaster进行OBW(在线银行/钱包)支付处理。
- Java
- .Net
- PHP
- Python
- Node.js
步骤 1:库
商家应将PayMaster Merchant Plug-In(MPI)Java库 - PayMaster.jar 加入商家应用程序中。
步骤 2:导入
对于OBW支付,商家应将以下项目导入代码中:
com.PayMaster.Entities.PayMasterEntity
com.PayMaster.PropertiesReader.PropertiesReader
com.PayMaster.MessageRequestBuilder.PaymentRequestMessageBuilder
步骤 3:源代码
商家必须获取银行列表并放入AcqBank
字段中。
import com.PayMaster.Entities.PayMasterEntity;
import com.PayMaster.PropertiesReader.PropertiseReader;
import com.PayMaster.MessageRequestBuilder.PaymentRequestMessageBuilder;
.....
//Declare variable for Payment Master Properties - 1st Parameter = File Path , 2nd Parameter = File name
PropertiesReader propertiesReader = new PropertiesReader("./PayMasterProperties/","DDPayment.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("PaymentID", "D01");
paymentRequestEntity("MerchRefNo", "merchant-refNo-0001");
paymentRequestEntity("CurrCode", "458");
paymentRequestEntity("TxnAmt", "1.00");
paymentRequestEntity("ExpTxnAmt", "2");
paymentRequestEntity("CountryCode", "MY");
paymentRequestEntity("FICode", "RPP");
paymentRequestEntity("AcqBank", "ACFBMYK1");
paymentRequestEntity("OrderDesc", "Coffee");
//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/ddpayment.xhtml?" + paymentMessage);
.....
步骤 4:指定PayMaster属性文件位置
商家必须使用 PropertiesReader
指明PayMaster属性文件的位置。
步骤 5:将值分配给支付请求实体
商家需将值分配给PayMaster请求实体。商家代码必须包含示例代码中列出的所有字段,因为这些字段是必需的。
- Setter函数用于分配值,该函数接受两个参数:
setter(参数名称,参数值)
。
请参阅支付参数,了解PayMaster商家插件(MPI)支持的字段。
步骤 6:生成OBW支付
一旦分配了所有必需的值,商家调用支付请求消息构建器以生成OBW支付 - paymentMessage
。
步骤 7:将支付消息发送到PayMaster网关
paymentMessage
将用于发送到PayMaster网关进行OBW支付。
请参考 支付响应,了解PayMaster商户插件(MPI)支持的安全控制。
步骤 1:库
商家应将PayMaster Merchant Plug-In(MPI).Net库 - PayMaster.dll 加入商家应用程序中。
步骤 2:命名空间
对于OBW支付,商家应在商家代码中使用以下命名空间:
using com.PayMaster.Entities
using com.PayMaster.Properties
using com.PayMaster.MessageRequestBuilder
步骤 3:源代码
商家必须获取银行列表并放入AcqBank
字段中。
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/","DDPayment.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.setter("PaymentID", "D01");
paymentRequestEntity.setter("EcommMerchInd", "2");
paymentRequestEntity.setter("MerchRefNo", "merchant-refNo-0001");
paymentRequestEntity.setter("CountryCode", "MY");
paymentRequestEntity.setter("CurrCode", "458");
paymentRequestEntity.setter("TxnAmt", "1.00");
paymentRequestEntity.setter("ExpTxnAmt", "2");
paymentRequestEntity.setter("TokenFlag", "N");
paymentRequestEntity.setter("MerchUserID", "User ID");
paymentRequestEntity.setter("PreAuthFlag", "N");
paymentRequestEntity.setter("FICode", "RPP");
paymentRequestEntity.setter("AcqBank", " ACFBMYK1");
paymentRequestEntity.setter("OrderDesc", " Coffee");
//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
Response.Redirect("https://xxx.finexusgroup.com/upp/faces/ddpayment.xhtml?" + paymentMessage);
.....
步骤 4:指定PayMaster属性文件位置
商家必须使用 PropertiesReader
指明PayMaster属性文件的位置。
步骤 5:将值分配给支付请求实体
商家必须将值分配给PayMaster请求实体。商家代码必须包含示例代码中列出的所有字段,因为这些字段是必需的。
- Setter函数用于分配值,该函数接受两个参数 –
setter(参数名称, 参数值)
。
请参阅支付参数,了解PayMaster商家插件(MPI)支持的字段。
步骤 6:生成OBW支付
一旦分配了所有必需的值,商家将调用支付请求消息构建器生成OBW支付 – paymentMessage
。
步骤 7:发送支付消息至PayMaster网关
paymentMessage
将用于发送至PayMaster网关进行OBW支付。
请参考 支付响应,了解PayMaster商户插件(MPI)支持的安全控制。
步骤 1:库
商家应将PayMaster商家插件(MPI)PHP库 – PayMaster.phar 加入商家应用程序中。
步骤 2:导入
对于OBW支付,商家应在商家代码中导入以下内容:
PropertiesReader
– 用于读取属性文件。PayMasterEntity
– 用于分配PayMaster UPP支付的所有可接受值。PaymentRequestMessageBuilder
– 用于生成PayMaster UPP支付请求消息。
步骤 3:源代码
商家必须获取银行列表并将其放入AcqBank
字段中。
<?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>,"DDPayment.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", "D01");
$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", "N");
$paymentRequestEntity->setter("FICode", "RPP");
$paymentRequestEntity->setter("AcqBank", "ACFBMYK1");
$paymentRequestEntity->setter("OrderDesc", "Coffee");
//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/ddpayment.xhtml?" . $paymentMessage);
exit();
.....
步骤 4:找到PayMaster.phar的绝对路径
商家需要在商家源代码中找到PayMaster.phar的绝对路径,并将其作为basePath
(上述示例中的第7行)。
示例: $basePath='phar://<PayMaster.phar的绝对路径>/'
步骤 5:指定PayMaster属性文件位置
商家必须使用PropertiesReader
指明PayMaster属性文件的位置。
步骤 6:为支付请求实体分配值
商家必须为PayMaster请求实体分配值。商家代码必须包含示例代码中列出的所有字段,因为这些字段是必需的。
- Setter函数用于分配值,该函数接受两个参数 –
setter(参数名称, 参数值)
。
请参阅支付参数,了解PayMaster商家插件(MPI)支持的字段。
步骤 7:生成OBW支付
一旦分配了所有必需的值,商家将调用支付请求消息构建器生成OBW支付 – paymentMessage
。
步骤 8:发送支付消息至PayMaster网关
paymentMessage
将被用于发送至PayMaster网关进行OBW支付。
请参考 支付响应,了解PayMaster商户插件(MPI)支持的安全控制。
步骤 1:包
商家应在商家应用程序中设置并包含PayMaster商家插件(MPI)Python包。
步骤 2:导入
对于UPP支付,商家应在商家代码中包含以下内容:
PropertiesReader
– 用于读取属性文件。PayMasterEntity
– 用于分配PayMaster UPP支付的所有可接受值。PaymentRequestMessageBuilder
– 用于生成PayMaster UPP支付请求消息。
步骤 3:源代码
商家必须获取银行列表并将其放入AcqBank
字段中。
from com.PayMaster.Entities.PayMasterEntity import PayMasterEntity
from com.PayMaster.PropertiesReader.PropertiseReader import PropertiseReader
from com.PayMaster.MessageRequestBuilder.PaymentRequestMessageBuilder import PaymentRequestMessageBuilder
##Declare variable for Payment Master Properties - 1st Parameter = File Path , 2nd Parameter = File name
PropertiesReader propertiesReader = new PropertiesReader("DDPayment.properties","PayMasterProperties/")
##Declare variable for Payment Master Entity
paymentRequestEntity = PayMasterEntity()
##Get all the parameter values from the user side and set into Payment Master Entity
paymentRequestEntity.setter("PaymentID", "D01")
paymentRequestEntity.setter("EcommMerchInd", "2")
paymentRequestEntity.setter("MerchRefNo", "merchant-refNo-0001")
paymentRequestEntity.setter("CountryCode", "MY")
paymentRequestEntity.setter("CurrCode", "458")
paymentRequestEntity.setter("TxnAmt", "1.00")
paymentRequestEntity.setter("ExpTxnAmt", "2")
paymentRequestEntity.setter("TokenFlag", "N")
paymentRequestEntity.setter("MerchUserID", "User ID")
paymentRequestEntity.setter("PreAuthFlag", "N")
paymentRequestEntity.setter("FICode", "RPP")//Add these three field
paymentRequestEntity.setter("AcqBank ", "ACFBMYK1")
paymentRequestEntity.setter("OrderDesc", "Coffee")
##Call Payment Master Payment Request Message Builder to generate the message
messageBuilder = PaymentRequestMessageBuilder()
paymentMessage = messageBuilder.buildPaymentRequestMessage(paymentRequestEntity, propertiesReader)
第 4 步:指定 PayMaster 属性文件位置
商家必须使用 PropertiesReader
指明 PayMaster 属性文件的位置。
第 5 步:为支付请求实体分配值
商家必须为 PayMaster 请求实体分配值。商家的代码必须包含所有在示例代码中提到的字段,因为这是强制性的。
- Setter 函数用于分配值,该函数接受两个参数 –
setter(参数名, 参数值)
。
请参考 支付参数 查看 PayMaster 商家插件(MPI)支持的字段。
第 6 步:生成 OBW 支付
一旦分配了所有必填值,商家调用 Payment Request Message Builder 来生成 OBW 支付 – paymentMessage
。
第 7 步:发送支付消息到 PayMaster 网关
paymentMessage
将被发送到 PayMaster 网关进行 OBW 支付。
请参考 支付响应,了解PayMaster商户插件(MPI)支持的安全控制。
第 1 步:库
商家需要设置并包含 PayMaster 商家插件(MPI)的 Node.JS 库到商家的应用程序中。
第 2 步:源代码
商家必须获取 银行列表 并将其放入 AcqBank
字段中。
var paymaster = require('./js/PayMaster.min.js');
module.exports = function (app) {
app.post('/UPPPayment', (req, res)=>{
.....
paymaster.PropertiesReader('./properties/','DDPayment.properties');
paymaster.setter('PaymentID', 'D01');
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', 'N');
paymaster.setter('MerchUserID', 'UserName');
paymaster.setter('PreAuthFlag', 'N');
paymaster.setter('FICode', 'RPP');
paymaster.setter('AcqBank', 'ACFBMYK1');
paymaster.setter('OrderDesc', 'Coffee');
payment.MERCH_FPXPaymentRequest(paymaster.PaymentRequestEntity, paymaster.propDetails, function(err, response, result){
if(err){
throw err;
}
if(response){
res.redirect("https://xxx.finexusgroup.com/upp/faces/ddpayment.xhtml?" + result);
}
});
});
}
步骤 3:指示 PayMaster 属性文件位置
商家必须使用 PropertiesReader
指示 PayMaster 属性文件的位置。
步骤 4:为支付请求实体分配值
商家必须为 PayMaster 请求实体分配值。商家的代码必须包含所有在示例代码中提到的字段,因为这是强制性的。
- Setter 函数用于分配值,该函数接受两个参数 –
setter(参数名, 参数值)
。
请参考 支付参数 查看 PayMaster 商家插件(MPI)支持的字段。
步骤 5:生成请求消息
使用 MERCH_FPXPaymentRequest()
函数生成支付请求消息。
步骤 6:发送支付消息到 PayMaster
JavaScript 返回的支付消息将被发送到 PayMaster 进行 OBW 支付。
请参考 支付响应,了解PayMaster商户插件(MPI)支持的安全控制。