网银在线支付接口类
最近要做在线支付功能,转一些相关的类.
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace Pay
{
/// <summary>
/// 网银在线支付
/// </summary>
public class ChinaBank
{
//必要的交易信息
private string _v_amount;
private string _v_moneytype = "CNY";
private string _v_md5info;
private string _v_mid;
private string _v_url = "/Receive.aspx";
private string _v_oid;
private string _v_key;
private ReceiveStruct _Receive;
private OrderStruct _Order;
private ReMarkStruct _ReMark;
#region 收货信息结构
/// <summary>
/// 收货信息结构
/// </summary>
public struct ReceiveStruct
{
public string v_rcvname; // 收货人
public string v_rcvaddr; // 收货地址
public string v_rcvtel; // 收货人电话
public string v_rcvpost; // 收货人邮编
public string v_rcvemail; // 收货人邮件
public string v_rcvmobile; // 收货人手机号
public string[] v_rcv
{
get
{
return new string[]
{
"v_rcvname="+v_rcvname,
"v_rcvaddr="+v_rcvaddr,
"v_rcvtel="+v_rcvtel,
"v_rcvpost="+v_rcvpost,
"v_rcvemail="+v_rcvemail,
"v_rcvmobile="+v_rcvmobile
};
}
}
}
#endregion 收货信息结构
#region 订货人信息结构
/// <summary>
/// 订货人信息结构
/// </summary>
public struct OrderStruct
{
public string v_ordername; // 订货人姓名
public string v_orderaddr; // 订货人地址
public string v_ordertel; // 订货人电话
public string v_orderpost; // 订货人邮编
public string v_orderemail; // 订货人邮件
public string v_ordermobile; // 订货人手机号
public string[] v_order
{
get
{
return new string[]
{
"v_ordername="+v_ordername,
"v_orderaddr="+v_orderaddr,
"v_ordertel="+v_ordertel,
"v_orderpost="+v_orderpost,
"v_orderemail="+v_orderemail,
"v_ordermobile="+v_ordermobile
};
}
}
}
#endregion 订货人信息结构
#region 两个备注结构
/// <summary>
/// 两个备注结构
/// </summary>
public struct ReMarkStruct
{
public string remark1;
public string remark2;
public string[] remark
{
get
{
return new string[]
{
"remark1="+remark1,
"remark2="+remark2
};
}
}
}
#endregion 两个备注结构
#region 网银在线基础属性
/// <summary>
/// 订单金额
/// </summary>
public string v_amount
{
get { return _v_amount; }
set { _v_amount = value; }
}
/// <summary>
/// 币种
/// </summary>
public string v_moneytype
{
get { return _v_moneytype; }
set { _v_moneytype = value; }
}
/// <summary>
/// 对拼凑串MD5私钥加密后的值
/// </summary>
public string v_md5info
{
get
{
string text = v_amount + v_moneytype + v_oid + v_mid + v_url + v_key; // 拼凑加密串
_v_md5info = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(text, "md5").ToUpper();
return _v_md5info;
}
}
/// <summary>
/// 商户号
/// </summary>
public string v_mid
{
get { return _v_mid; }
set { _v_mid = value; }
}
/// <summary>
/// 返回页地址
/// </summary>
public string v_url
{
get { return _v_url; }
set { _v_url = value; }
}
/// <summary>
///推荐订单号构成格式为 年月日-商户号-小时分钟秒
/// </summary>
public string v_oid
{
get { return _v_oid; }
set { _v_oid = value; }
}
/// <summary>
/// MD5密钥
/// </summary>
public string v_key
{
get { return _v_key; }
set { _v_key = value; }
}
/// <summary>
/// 收获人信息
/// </summary>
public ReceiveStruct Receive
{
get { return _Receive; }
set { _Receive = value; }
}
/// <summary>
/// 订货人信息
/// </summary>
public OrderStruct Order
{
get { return _Order; }
set { _Order = value; }
}
/// <summary>
/// 备注信息
/// </summary>
public ReMarkStruct ReMark
{
get { return _ReMark; }
set { _ReMark = value; }
}
#endregion 网银在线基础属性
#region 网银在线方法
/// <summary>
/// 构造支付Url
/// </summary>
/// <param name="chinabank"></param>
/// <returns></returns>
public static string CreatUrl(ChinaBank chinabank)
{
string[] OrderUrl ={
"v_oid="+chinabank.v_oid,
"v_amount="+chinabank.v_amount,
SplitUrl(chinabank.Receive.v_rcv),
SplitUrl(chinabank.Order.v_order),
SplitUrl(chinabank.ReMark.remark)
};
return SplitUrl(OrderUrl).ToString();
}
/// <summary>
/// 构造支付Url
/// </summary>
/// <param name="OrderUrl"></param>
/// <returns></returns>
private static string SplitUrl(string[] OrderUrl)
{
System.Text.StringBuilder parameter = new System.Text.StringBuilder();
int k = 0;
for (int i = 0; i < OrderUrl.Length; i++)
{
k++;
if (k==1)
{
parameter.Append(OrderUrl[i]);
}
else
{
parameter.Append("&" + OrderUrl[i]);
}
}
return parameter.ToString();
}
#endregion 网银在线方法
}
}
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace Pay
{
/// <summary>
/// 网银在线支付
/// </summary>
public class ChinaBank
{
//必要的交易信息
private string _v_amount;
private string _v_moneytype = "CNY";
private string _v_md5info;
private string _v_mid;
private string _v_url = "/Receive.aspx";
private string _v_oid;
private string _v_key;
private ReceiveStruct _Receive;
private OrderStruct _Order;
private ReMarkStruct _ReMark;
#region 收货信息结构
/// <summary>
/// 收货信息结构
/// </summary>
public struct ReceiveStruct
{
public string v_rcvname; // 收货人
public string v_rcvaddr; // 收货地址
public string v_rcvtel; // 收货人电话
public string v_rcvpost; // 收货人邮编
public string v_rcvemail; // 收货人邮件
public string v_rcvmobile; // 收货人手机号
public string[] v_rcv
{
get
{
return new string[]
{
"v_rcvname="+v_rcvname,
"v_rcvaddr="+v_rcvaddr,
"v_rcvtel="+v_rcvtel,
"v_rcvpost="+v_rcvpost,
"v_rcvemail="+v_rcvemail,
"v_rcvmobile="+v_rcvmobile
};
}
}
}
#endregion 收货信息结构
#region 订货人信息结构
/// <summary>
/// 订货人信息结构
/// </summary>
public struct OrderStruct
{
public string v_ordername; // 订货人姓名
public string v_orderaddr; // 订货人地址
public string v_ordertel; // 订货人电话
public string v_orderpost; // 订货人邮编
public string v_orderemail; // 订货人邮件
public string v_ordermobile; // 订货人手机号
public string[] v_order
{
get
{
return new string[]
{
"v_ordername="+v_ordername,
"v_orderaddr="+v_orderaddr,
"v_ordertel="+v_ordertel,
"v_orderpost="+v_orderpost,
"v_orderemail="+v_orderemail,
"v_ordermobile="+v_ordermobile
};
}
}
}
#endregion 订货人信息结构
#region 两个备注结构
/// <summary>
/// 两个备注结构
/// </summary>
public struct ReMarkStruct
{
public string remark1;
public string remark2;
public string[] remark
{
get
{
return new string[]
{
"remark1="+remark1,
"remark2="+remark2
};
}
}
}
#endregion 两个备注结构
#region 网银在线基础属性
/// <summary>
/// 订单金额
/// </summary>
public string v_amount
{
get { return _v_amount; }
set { _v_amount = value; }
}
/// <summary>
/// 币种
/// </summary>
public string v_moneytype
{
get { return _v_moneytype; }
set { _v_moneytype = value; }
}
/// <summary>
/// 对拼凑串MD5私钥加密后的值
/// </summary>
public string v_md5info
{
get
{
string text = v_amount + v_moneytype + v_oid + v_mid + v_url + v_key; // 拼凑加密串
_v_md5info = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(text, "md5").ToUpper();
return _v_md5info;
}
}
/// <summary>
/// 商户号
/// </summary>
public string v_mid
{
get { return _v_mid; }
set { _v_mid = value; }
}
/// <summary>
/// 返回页地址
/// </summary>
public string v_url
{
get { return _v_url; }
set { _v_url = value; }
}
/// <summary>
///推荐订单号构成格式为 年月日-商户号-小时分钟秒
/// </summary>
public string v_oid
{
get { return _v_oid; }
set { _v_oid = value; }
}
/// <summary>
/// MD5密钥
/// </summary>
public string v_key
{
get { return _v_key; }
set { _v_key = value; }
}
/// <summary>
/// 收获人信息
/// </summary>
public ReceiveStruct Receive
{
get { return _Receive; }
set { _Receive = value; }
}
/// <summary>
/// 订货人信息
/// </summary>
public OrderStruct Order
{
get { return _Order; }
set { _Order = value; }
}
/// <summary>
/// 备注信息
/// </summary>
public ReMarkStruct ReMark
{
get { return _ReMark; }
set { _ReMark = value; }
}
#endregion 网银在线基础属性
#region 网银在线方法
/// <summary>
/// 构造支付Url
/// </summary>
/// <param name="chinabank"></param>
/// <returns></returns>
public static string CreatUrl(ChinaBank chinabank)
{
string[] OrderUrl ={
"v_oid="+chinabank.v_oid,
"v_amount="+chinabank.v_amount,
SplitUrl(chinabank.Receive.v_rcv),
SplitUrl(chinabank.Order.v_order),
SplitUrl(chinabank.ReMark.remark)
};
return SplitUrl(OrderUrl).ToString();
}
/// <summary>
/// 构造支付Url
/// </summary>
/// <param name="OrderUrl"></param>
/// <returns></returns>
private static string SplitUrl(string[] OrderUrl)
{
System.Text.StringBuilder parameter = new System.Text.StringBuilder();
int k = 0;
for (int i = 0; i < OrderUrl.Length; i++)
{
k++;
if (k==1)
{
parameter.Append(OrderUrl[i]);
}
else
{
parameter.Append("&" + OrderUrl[i]);
}
}
return parameter.ToString();
}
#endregion 网银在线方法
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述