跳到主要内容

付款请求

以下指南将解释如何在商户网站和应用程序中应用相应的源代码,以形成商户可以在重定向链接中拥有的支付请求参数,并将其发送到 PayMaster 进行二维码支付处理。

第 1 步:图书馆

商户必须在商户应用程序中包含 PayMaster 商户插件 (MPI) Java 库 PayMaster.jar

第 2 步:导入

对于二维码支付,商户应将以下内容导入到其代码中:

  • 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/", "QRPayment.properties");

// Declare variable for Payment Master Entity
PayMasterEntity paymentRequestEntity = new PayMasterEntity();

// Set parameter values into Payment Master Entity
paymentRequestEntity.set("PaymentID", "Q03");
paymentRequestEntity.set("MerchRefNo", "merchant-refNo-0001");
paymentRequestEntity.set("CurrCode", "458");
paymentRequestEntity.set("TxnAmt", "1.00");
paymentRequestEntity.set("ExpTxnAmt", "2");
paymentRequestEntity.set("TerminalID", "200039XX");
paymentRequestEntity.set("PayloadInd", "12");
paymentRequestEntity.set("PANInd", "26");
paymentRequestEntity.set("CountryCode", "MY");
paymentRequestEntity.set("TxnFlag", "CP");
paymentRequestEntity.set("SndrIDType", "2");
paymentRequestEntity.set("QRPayload", "00020201021226470014A00...");

// Generate the payment request message
PaymentRequestMessageBuilder messageBuilder = new PaymentRequestMessageBuilder();
String paymentMessage = messageBuilder.buildPaymentRequestMessage(paymentRequestEntity, propertiesReader);

// POST request to Payment Master Gateway for QR Payload
String initialUrl = "https://xxx.finexusgroup.com/upp/faces/qrPushPayment.xhtml?" + paymentMessage;
HttpURLConnection connection = null;
URL url = new URL(initialUrl);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
in.close();
String finalUrl = connection.getURL().toString();

第 4 步:指示 PayMaster 属性文件位置

商家必须使用PropertiesReader指定 PayMaster 属性文件的位置。

第 5 步: 为付款请求实体分配值

为 PayMaster 请求实体分配值。确保包含示例代码中所示的所有字段,因为它们是强制性的。使用setter函数来赋值,该函数接受两个参数:setter(参数名,参数值)

PayMaster商户插件(MPI)支持的字段请参考 二维码支付参数

第 6 步: 生成付款消息

分配所有必需值后,调用PaymentRequestMessageBuilder以生成付款消息(paymentMessage)。

第 7 步:将付款消息发送至 PayMaster 网关

paymentMessage 发送到 PayMaster 网关以获取 QR 负载。

请参阅 二维码支付响应了解PayMaster商户插件(MPI)支持的安全控制。