跳到主要内容

支付请求

以下指南是为了说明如何在商户应用程序中应用相应的源代码,以形成并发送用于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/","CCPayment.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","C04");
paymentRequestEntity.setter("MerchRefNo","merchant-refNo-0001");
paymentRequestEntity.setter("CurrCode","458");
paymentRequestEntity.setter("TxnAmt","1.00");
paymentRequestEntity.setter("ExpTxnAmt","2");
paymentRequestEntity.setter("ECI","12");
paymentRequestEntity.setter("CardNo","8853010000095323");
paymentRequestEntity.setter("TokenFlag","Y");
paymentRequestEntity.setter("POSEnvFlag","R");
paymentRequestEntity.setter("MerchUserID","guest");
paymentRequestEntity.setter("ExpiryYear","20");
paymentRequestEntity.setter("ExpiryMth","12");
paymentRequestEntity.setter("TokenShrtName", "testcard");


//Call Payment Master Payment Request Message Builder to generate the message
PaymentRequestMessageBuilder messageBuilder = new PaymentRequestMessageBuilder();
String paymentMessage = messageBuilder.buildPaymentRequestMessage(paymentRequestEntity, propertiesReader);

//POST request to Payment Master Gateway for recurring
String initialUrl = "https://xxx.finexusgroup.com/upp/faces/ccpayment.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:生成支付消息

一旦分配了所有必填值,商户调用支付请求消息生成器来生成定期支付请求 - paymentMessage

步骤 7:发送支付消息至 PayMaster 网关

paymentMessage 将用于发送给 PayMaster 网关以执行定期支付功能。

信息

请参考支付响应,了解PayMaster商户插件(MPI)支持的安全控制。