跳到主要内容

付款响应

以下指南将解释如何应用相应的源代码,从 PayMaster 返回的消息中检索付款响应参数。

第 1 步:图书馆

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

第 2 步:导入

对于付款,商户必须将以下内容导入到商户代码中:

  • com.PayMaster.Entities.PayMasterEntity
  • com.PayMaster.PropertiesReader.PropertiesReader
  • com.PayMaster.MessageResponseBuilder.PaymentResponseMessageBuilder

第 3 步:源代码

import com.PayMaster.Entities.PayMasterEntity;
import com.PayMaster.PropertiesReader.PropertiesReader;
import com.PayMaster.MessageResponseBuilder.PaymentResponseMessageBuilder;

// 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 paymentResponseEntity = new PayMasterEntity();

// Get response message from PayMaster and set it into Payment Master Entity
paymentResponseEntity.setter("ResponseMessage", responseMessage);

paymentResponseEntity.setter("MerchantID", "000010000099939");

PaymentResponseMessageBuilder paymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
paymentResponseMessageBuilder.buildFPXPaymentResponseMessage(paymentResponseEntity, propertiesReader);

if (paymentResponseEntity.getter("TxnStatDetCde").equals("0000")) {
String merchRefNo = paymentResponseEntity.getter("MerchRefNo");
String txnStatus = paymentResponseEntity.getter("TxnStatus");
String queryStatus = paymentResponseEntity.getter("QueryStatus");
String txnStatMsg = paymentResponseEntity.getter("TxnStatMsg");
String merchantID = paymentResponseEntity.getter("MerchantID");
String cardNo = paymentResponseEntity.getter("CardNo");
String txnDtTm = paymentResponseEntity.getter("TxnDtTm");
String txnAmt = paymentResponseEntity.getter("TxnAmt");
String currCode = paymentResponseEntity.getter("CurrCode");
String versionNo = paymentResponseEntity.getter("VersionNo");
String retrievalRefNo = paymentResponseEntity.getter("RetrievalRefNo");
String uppPymtMode = paymentResponseEntity.getter("UppPymtMode");
String succRespURL = paymentResponseEntity.getter("SuccRespURL");
String txnStatDetCde = paymentResponseEntity.getter("TxnStatDetCde");
String preAuthFlag = paymentResponseEntity.getter("PreAuthFlag");
String pymtGwRefNo = paymentResponseEntity.getter("PymtGwRefNo");
// To do ...
}

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

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

第 5 步:使用 Setter 指示 PayMaster 属性文件位置

商户必须使用 setter 函数指示 PayMaster 属性文件的位置:setter("ResponseMessage","<PayMaster 网关返回的响应消息>")。 setter 函数用于赋值,接受两个参数:setter(参数名,参数值)

第 6 步:为 PayMaster 响应实体分配值

商户应调用付款响应消息生成器来处理响应消息,并将值分配给 PayMaster 响应实体。

请参阅 付款参数了解 PayMaster 商户插件 (MPI) 支持的字段。

第 7 步:从 PayMaster 响应实体检索值

商户可以使用 getter 函数从 PayMaster 响应实体检索值,该函数仅接受一个参数:getter(参数名)

请确保 TxnStatDetCde 的值不等于 5015,因为这表示安全哈希值无效。