using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace POSV { /// /// 微信支付提交的XML Data数据[查询订单] /// public class WxPayV3OrderQueryRequestData : AbstractRequestData { /// /// 公众账号ID /// public string AppId { get; set; } /// /// 子商户公众账号ID /// public string SubAppId { get; set; } /// /// 商户号 /// public string MchId { get; set; } /// /// 子商户号 /// public string SubMchId { get; set; } /// /// 微信的订单号,建议优先使用 /// public string TransactionId { get; set; } /// ///商户系统内部的订单号,请确保在同一商户号下唯一 /// public string OutTradeNo { get; set; } /// /// 随机字符串 /// public string NonceStr { get; set; } /// /// 签名类型 /// public string SignType { get; set; } /// /// /// public string Key { get; set; } public readonly string Sign; /// /// 查询订单 请求参数[境内服务商] /// /// /// /// /// /// /// /// /// /// 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 } /// /// 查询订单 请求参数[境内普通商户] /// /// /// /// /// /// /// /// 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) { } } }