You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 lines
4.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace POSV
{
/// <summary>
/// 微信支付提交的XML Data数据[查询订单]
/// </summary>
public class WxPayV3OrderQueryRequestData : AbstractRequestData
{
/// <summary>
/// 公众账号ID
/// </summary>
public string AppId { get; set; }
/// <summary>
/// 子商户公众账号ID
/// </summary>
public string SubAppId { get; set; }
/// <summary>
/// 商户号
/// </summary>
public string MchId { get; set; }
/// <summary>
/// 子商户号
/// </summary>
public string SubMchId { get; set; }
/// <summary>
/// 微信的订单号,建议优先使用
/// </summary>
public string TransactionId { get; set; }
/// <summary>
///商户系统内部的订单号,请确保在同一商户号下唯一
/// </summary>
public string OutTradeNo { get; set; }
/// <summary>
/// 随机字符串
/// </summary>
public string NonceStr { get; set; }
/// <summary>
/// 签名类型
/// </summary>
public string SignType { get; set; }
/// <summary>
///
/// </summary>
public string Key { get; set; }
public readonly string Sign;
/// <summary>
/// 查询订单 请求参数[境内服务商]
/// </summary>
/// <param name="appId"></param>
/// <param name="subAppId"></param>
/// <param name="mchId"></param>
/// <param name="outTradeNo"></param>
/// <param name="signType"></param>
/// <param name="key"></param>
/// <param name="subMchId"></param>
/// <param name="transactionId"></param>
/// <param name="nonceStr"></param>
public WxPayV3OrderQueryRequestData(string appId , string subAppId , string mchId , string subMchId , string transactionId , string nonceStr ,
string outTradeNo , string key , string signType = null)
{
AppId = appId;
SubAppId = subAppId;
MchId = mchId;
SubMchId = subMchId;
NonceStr = nonceStr;
TransactionId = transactionId;
OutTradeNo = outTradeNo;
SignType = signType;
Key = key;
#region 设置Request请求参数
//设置package订单参数
NewParameters.Add("appid" , this.AppId); //公众账号ID
NewParameters.Add("mch_id" , this.MchId); //商户号
if (!string.IsNullOrEmpty(this.SubMchId))
{
NewParameters.Add("sub_mch_id" , this.SubMchId); //子商户号
NewParameters.Add("sub_appid" , this.SubAppId); //子商户公众账号ID
}
NewParameters.Add("transaction_id" , this.TransactionId ?? ""); //微信的订单号
NewParameters.Add("out_trade_no" , this.OutTradeNo ?? ""); //商户系统内部的订单号
NewParameters.Add("nonce_str" , this.NonceStr); //随机字符串
NewParameters.Add("sign_type" , this.SignType); //签名类型
Sign = CreateMd5Sign("key" , this.Key);
NewParameters.Add("sign" , Sign); //签名
#endregion
}
/// <summary>
/// 查询订单 请求参数[境内普通商户]
/// </summary>
/// <param name="appId"></param>
/// <param name="mchId"></param>
/// <param name="transactionId"></param>
/// <param name="nonceStr"></param>
/// <param name="outTradeNo"></param>
/// <param name="key"></param>
/// <param name="signType"></param>
public WxPayV3OrderQueryRequestData(string appId , string mchId , string transactionId , string nonceStr ,
string outTradeNo , string key , string signType = "MD5")
: this(appId, null, mchId, null, transactionId, nonceStr, outTradeNo, key, signType)
{
}
}
}