2025-03-28 09:49:56 +08:00

288 lines
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
/*
* Project:
*
* Description:
* 商户接口范例。
*
* Modify Information:
* Author Date Description
* ============ ========== =======================================
* abchina 2014/04/02 V3.0.0
*
*/
-->
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void btnButton_Click(object sender, EventArgs e)
{
lblMessage.Text = "";
lblMessage.ForeColor = System.Drawing.Color.Black;
//1、生成退款请求对象
com.abc.trustpay.client.ebus.RefundRequest tRequest = new com.abc.trustpay.client.ebus.RefundRequest();
tRequest.dicRequest["OrderDate"] = txtOrderDate.Text; //订单日期(必要信息)
tRequest.dicRequest["OrderTime"] = txtOrderTime.Text; //订单时间(必要信息)
tRequest.dicRequest["MerRefundAccountNo"] = txtMerRefundAccountNo.Text; //商户退款账号
tRequest.dicRequest["MerRefundAccountName"] = txtMerRefundAccountName.Text; //商户退款名
tRequest.dicRequest["OrderNo"] = txtOrderNo.Text; //原交易编号(必要信息)
tRequest.dicRequest["NewOrderNo"] = txtNewOrderNo.Text; //交易编号(必要信息)
tRequest.dicRequest["CurrencyCode"] = txtCurrencyCode.Text; //交易币种(必要信息)
tRequest.dicRequest["TrxAmount"] = txtTrxAmount.Text; //退货金额 (必要信息)
tRequest.dicRequest["RefundType"] = txtRefundType.Text; //退货类型 (非必要信息)
tRequest.dicRequest["MerchantRemarks"] = txtMerchantRemarks.Text; //附言
tRequest.dicRequest["MerRefundAccountFlag"] = txtMerRefundAccountFlag.Text; //退款账簿类型
string[] splitMerchantIdArr = null;
string[] splitAmountArr = null;
string splitMerchantId = Request["txtSubMerchantID"];
string splitAmount = Request["txtSplitAmount"];
if (!string.IsNullOrEmpty(splitMerchantId) && !string.IsNullOrEmpty(splitAmount))
{
if (splitMerchantId.Contains(","))
{
splitMerchantIdArr = splitMerchantId.Split(',');
splitAmountArr = splitAmount.Split(',');
}
else
{
splitMerchantIdArr = new string[] { splitMerchantId };
splitAmountArr = new string[] { splitAmount };
}
Dictionary<string, string> item = new Dictionary<string, string>();
for (int i = 0; i < splitMerchantIdArr.Length; i++)
{
item["SplitMerchantID"] = splitMerchantIdArr[i];
item["SplitAmount"] = splitAmountArr[i];
tRequest.dicSplitAccInfo.Add(i, item);
item = new Dictionary<string, string>();
}
}
string[] TemplateSplitAcc = null;
string[] TemplateSplitAmount = null;
string SplitAcc = Request["txtSplitAcc"];
string SplitAmount = Request["txtSplitAccAmount"];
if (!string.IsNullOrEmpty(SplitAcc) && !string.IsNullOrEmpty(SplitAmount))
{
if (SplitAcc.Contains(","))
{
TemplateSplitAcc = SplitAcc.Split(',');
TemplateSplitAmount = SplitAmount.Split(',');
}
else
{
TemplateSplitAcc = new string[] { SplitAcc };
TemplateSplitAmount = new string[] { SplitAmount };
}
Dictionary<string, string> item = new Dictionary<string, string>();
for (int i = 0; i < TemplateSplitAcc.Length; i++)
{
item["SplitAcc"] = TemplateSplitAcc[i];
item["SplitAmount"] = TemplateSplitAmount[i];
tRequest.dicSplitAccTemplateInfo.Add(i, item);
item = new Dictionary<string, string>();
}
}
//2、传送退款请求并取得退货结果
tRequest.postJSONRequest();
//3、判断退款结果状态进行后续操作
StringBuilder strMessage = new StringBuilder("");
string ReturnCode = JSON.GetKeyValue("ReturnCode");
string ErrorMessage = JSON.GetKeyValue("ErrorMessage");
if (ReturnCode.Equals("0000"))
{
//4、退款成功/退款受理成功
strMessage.Append("ReturnCode = [" + ReturnCode + "]<br/>");
strMessage.Append("ErrorMessage = [" + ErrorMessage + "]<br/>");
strMessage.Append("OrderNo = [" + JSON.GetKeyValue("OrderNo") + "]<br/>");
strMessage.Append("NewOrderNo = [" + JSON.GetKeyValue("NewOrderNo") + "]<br/>");
strMessage.Append("TrxAmount = [" + JSON.GetKeyValue("TrxAmount") + "]<br/>");
strMessage.Append("BatchNo = [" + JSON.GetKeyValue("BatchNo") + "]<br/>");
strMessage.Append("VoucherNo = [" + JSON.GetKeyValue("VoucherNo") + "]<br/>");
strMessage.Append("HostDate = [" + JSON.GetKeyValue("HostDate") + "]<br/>");
strMessage.Append("HostTime = [" + JSON.GetKeyValue("HostTime") + "]<br/>");
strMessage.Append("iRspRef = [" + JSON.GetKeyValue("iRspRef") + "]<br/>");
}
else
{
//5、退款失败
strMessage.Append("ReturnCode = [" + ReturnCode + "]<br/>");
strMessage.Append("ErrorMessage = [" + ErrorMessage + "]<br/>");
lblMessage.ForeColor = System.Drawing.Color.Red;
}
lblMessage.Text = strMessage.ToString();
}
</script>
<script language="javascript" type="text/javascript">
function addLine() {
var row = account.insertRow();
for (var j = 0; j < 2; j++) {
var col = row.insertCell();
switch (j) {
case 0:
col.align = "center";
col.innerHTML = "<input type=\"text\" name=\"txtSubMerchantID\" style=\"width:95%\" value=\"\">";
break;
case 1:
col.align = "center";
col.innerHTML = "<input type=\"text\" name=\"txtSplitAmount\" style=\"width:95%\" value=\"\">";
break;
}
}
form1.btnButton.disabled = "";
}
function addLine1() {
var row = accounttemplate.insertRow();
for (var j = 0; j < 2; j++) {
var col = row.insertCell();
switch (j) {
case 0:
col.align = "center";
col.innerHTML = "<input type=\"text\" name=\"txtSplitAcc\" style=\"width:95%\" value=\"\">";
break;
case 1:
col.align = "center";
col.innerHTML = "<input type=\"text\" name=\"txtSplitAccAmount\" style=\"width:95%\" value=\"\">";
break;
}
}
form2.btnButton.disabled = "";
}
function submitFun() {
form1.submit();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>农行网上支付平台-商户接口范例-单笔退款</title>
</head>
<body style="font-size: 14px;">
<center>
单笔退款</center>
<form id="form1" runat="server">
<asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
<br />
<table>
<tr>
<td>订单日期
</td>
<td>
<asp:TextBox runat="server" ID='txtOrderDate' Text='2004/12/23' />YYYY/MM/DD*必输</td>
</tr>
<tr>
<td>订单时间
</td>
<td>
<asp:TextBox runat="server" ID='txtOrderTime' Text='11:55:30' />HH:MM:SS*必输</td>
</tr>
<tr>
<td>商户退款账号
</td>
<td>
<asp:TextBox runat="server" ID='txtMerRefundAccountNo' Text='' />选输</td>
</tr>
<tr>
<td>商户退款名
</td>
<td>
<asp:TextBox runat="server" ID='txtMerRefundAccountName' Text='' />选输</td>
</tr>
<tr>
<td>原交易编号</td>
<td>
<asp:TextBox runat="server" ID='txtOrderNo' Text='ON200412230001' />*必输</td>
</tr>
<tr>
<td>交易编号</td>
<td>
<asp:TextBox runat="server" ID='txtNewOrderNo' Text='ON200412230001_new' />*必输</td>
</tr>
<tr>
<td>交易币种
</td>
<td>
<asp:TextBox runat="server" ID='txtCurrencyCode' Text='156' />156:人民币,*必输</td>
</tr>
<tr>
<td>退款金额
</td>
<td>
<asp:TextBox runat="server" ID='txtTrxAmount' Text='100' />*必输</td>
</tr>
<tr>
<td>退款类型
</td>
<td>
<asp:TextBox runat="server" ID='txtRefundType' Text='0' />选输</td>
</tr>
<tr>
<td>退款账簿类型
</td>
<td>
<asp:TextBox runat="server" ID='txtMerRefundAccountFlag' Text='' />1担保账簿2二级账簿3退款账簿 4分账模板退款选输</td>
</tr>
<tr>
<td>附言
</td>
<td>
<asp:TextBox runat="server" ID='txtMerchantRemarks' Text='' />不超过20个字符选输</td>
</tr>
<tr>
<td colspan="2">
<table border="1" style="font-size: 12px;" width="50%" id="account">
<tr>
<td width="12%" align="center">二级商户编号</td>
<td width="12%" align="center">退款金额</td>
<tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<input type='button' value='增加' name="add" onclick="addLine()"></td>
</tr>
<tr>
<td colspan="2">
<table border="1" style="font-size: 12px;" width="50%" id="accounttemplate">
<tr>
<td width="12%" align="center">分账模板账号</td>
<td width="12%" align="center">退款金额</td>
<tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<input type='button' value='增加' name="add" onclick="addLine1()"></td>
</tr>
<tr>
<td colspan="2">
<tr>
<td colspan="2">
<asp:Button ID="btnButton" runat="server" Text="提交页面内容" OnClick="btnButton_Click" />
<a href='Merchant.html'>回商户首页</a>
</td>
</tr>
</table>
</form>
</body>
</html>