冲销付款响应
- Java
- .Net
- PHP
- Python
- Node.js
第 1 步:图书馆
商户必须在商户应用程序中包含 PayMaster 商户插件 (MPI) Java 库 PayMaster.jar。
第 2 步:导入
为了处理撤销付款,商户应将以下类导入到商户代码中:
com.PayMaster.Entities.PayMasterEntitycom.PayMaster.PropertiesReader.PropertiesReadercom.PayMaster.MessageResponseBuilder.PaymentResponseMessageBuilder
第 3 步:源代码
import com.PayMaster.Entities.PayMasterEntity;
import com.PayMaster.PropertiesReader.PropertiesReader;
import com.PayMaster.MessageResponseBuilder.PaymentResponseMessageBuilder;
// Declare variable for PayMaster Properties - 1st Parameter = File Path, 2nd Parameter = File Name
PropertiesReader propertiesReader = new PropertiesReader("./PayMasterProperties/", "CardPayment.properties");
// Declare variable for PayMaster Entity
PayMasterEntity paymentResponseEntity = new PayMasterEntity();
// Get response message from PayMaster and set it into PayMaster Entity
paymentResponseEntity.setter("ResponseMessage", responseMessage);
// Call Payment Response Message Builder to set values
PaymentResponseMessageBuilder paymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
paymentResponseMessageBuilder.buildCardPaymentResponseMessage(paymentResponseEntity, propertiesReader);
// Retrieve values from the PayMaster Response Entity
String MerchantID = paymentResponseEntity.getter("MerchantID");
String MerchRefNo = paymentResponseEntity.getter("MerchRefNo");
String TxnStatus = paymentResponseEntity.getter("TxnStatus");
String SHAlgorithmType = paymentResponseEntity.getter("SHAlgorithmType");
String SHValue = paymentResponseEntity.getter("SHValue");
第 4 步:指示 PayMaster 属性文件位置
商家必须使用PropertiesReader指定 PayMaster 属性文件的位置。
第 5 步:设置响应消息
商户必须使用 setter 方法设置 PayMaster 属性文件的位置: paymentResponseEntity.setter("ResponseMessage", "<PayMaster 网关返回的响应消息>");。
第 6 步: 为 PayMaster 响应实体分配值
商户应调用卡支付响应消息生成器来处理响应消息并将值分配给 PayMaster 响应实体。
PayMaster商户插件(MPI)支持的字段请参见 冲销支付参数。
第 7 步: 从 PayMaster 响应实体检索值
商户可以使用 getter 函数从 PayMaster 响应实体检索值,该函数接受一个参数:getter(参数名称)。
确保 TxnStatDetCde 的值不等于 5015,因为这表示无效的安全哈希值。
第 1 步:图书馆
商户必须在商户应用程序中包含 PayMaster 商户插件 (MPI) .NET 库 PayMaster.dll。
第 2 步:命名空间
为了处理撤销 付款,商户应在商户代码中包含以下命名空间:
using com.PayMaster.Entitiesusing com.PayMaster.Propertiesusing com.PayMaster.MessageResponseBuilder
第 3 步:源代码
using com.PayMaster.Entities;
using com.PayMaster.Properties;
using com.PayMaster.MessageResponseBuilder;
...
// Declare variable for PayMaster Properties - 1st Parameter = File Path, 2nd Parameter = File Name
PropertiesReader propertiesReader = new PropertiesReader("./PayMasterProperties/", "CCPayment.properties");
// Declare variable for PayMaster Entity
PayMasterEntity ccPaymentResponseEntity = new PayMasterEntity();
// Get response message from PayMaster and set it into PayMaster Entity
ccPaymentResponseEntity.setter("ResponseMessage", responseMessage);
// Call Payment Response Message Builder to process the response
PaymentResponseMessageBuilder cardPaymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
cardPaymentResponseMessageBuilder.buildCardPaymentResponseMessage(ccPaymentResponseEntity, propertiesReader);
// Retrieve values from the PayMaster Response Entity
string MerchantID = ccPaymentResponseEntity.getter("MerchantID");
string MerchRefNo = ccPaymentResponseEntity.getter("MerchRefNo");
string TxnStatus = ccPaymentResponseEntity.getter("TxnStatus");
string SHAlgorithmType = ccPaymentResponseEntity.getter("SHAlgorithmType");
string SHValue = ccPaymentResponseEntity.getter("SHValue");
...
第 4 步:指示 PayMaster 属性文件位置
商家必须使用PropertiesReader指定 PayMaster 属性文件的位置。
第 5 步:将响应消息分配给支付响应实体
商户应使用以下方法将从 PayMaster 收到的响应消息分配给 PayMaster 响应实体:ccPaymentResponseEntity.setter("ResponseMessage", "<PayMaster 网关返回的响应消息>");。
第 6 步: Process and 将值分配给 PayMaster 响应实体
商户必须使用卡支付响应消息生成器来处理响应消息并将值分配到 PayMaster 响应实体中。
PayMaster商户插件(MPI)支持的字段请参见 冲销支付参数。
第 7 步: 从 PayMaster 响应实体检索值
商户可以使用 getter 函数从 PayMaster 响应实体检索值,该函数接受一个参数:getter(参数名称)。
确保 TxnStatDetCde 的值不等于 5015,因为这表示无效的安全哈希值。
第 1 步:图书馆
商户应将 PayMaster 商户插件 (MPI) PHP 库 PayMaster.phar 包含到商户应用程序中。
第 2 步:商户代码
为了处理冲销付款,商家应将以下内容导入其代码中:
PropertiesReader– 读取属性文件。PayMasterEntity– 为 PayMaster 冲销付款分配所有可接受的值。PaymentResponseMessageBuilder– 生成 PayMaster Reversal 付款响应消息。
第 3 步:源代码
<?php
use com\PayMaster\Entities\PayMasterEntity;
use com\PayMaster\PropertiesReader\PropertiesReader;
use com\PayMaster\MessageResponseBuilder\PaymentResponseMessageBuilder;
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();
$propertiesReader->PropertiesReader('<absolute path>/paymaster', 'CCPayment.ini');
// Declare variable for Payment Master Entity
$paymentResponseEntity = new PayMasterEntity();
// Get response message from PayMaster and set it into Payment Master Entity
$paymentResponseEntity->setter('ResponseMessage', $responseMessage);
// Call Payment Response Message Builder to process the response
$paymentResponseMessageBuilder = new PaymentResponseMessageBuilder();
$paymentResponseMessageBuilder->buildCardPaymentResponseMessage($paymentResponseEntity, $propertiesReader);
// Retrieve values from PayMaster Response Entity
$MerchantID = $paymentResponseEntity->getter('MerchantID');
$MerchRefNo = $paymentResponseEntity->getter('MerchRefNo');
$TxnStatus = $paymentResponseEntity->getter('TxnStatus');
$SHAlgorithmType = $paymentResponseEntity->getter('SHAlgorithmType');
$SHValue = $paymentResponseEntity->getter('SHValue');
...
?>
第 4 步:找到 PayMaster.phar 的绝对路径
商户必须找到 PayMaster.phar 的绝对路径,并将其设置为商户源代码中的 $basePath(上例中的第 7 行)。
例子 : $basePath=’phar://<absolute path of PayMaster.phar>/’
第 5 步:指示 PayMaster 属性文件位置
商家必须使用PropertiesReader指定 PayMaster 属性文件的位置。
第 6 步: 将响应消息分配给支付响应实体
商户应使用以下方法将从 PayMaster 收到的响应消息分配给 PayMaster 响应实体:$ paymentResponseEntity->setter('ResponseMessage', '<PayMaster 网关返回的响应消息>');