public static async Task <QueryOrderResponse> QueryOrder(WechatPayBaseInfo payBaseInfo, QueryOrderRequest req) { var payData = new WechatPayData(); payData.SetStringValue("appid", payBaseInfo.AppId); payData.SetStringValue("mch_id", payBaseInfo.MchId); if (!string.IsNullOrEmpty(req.TransactionId)) { payData.SetStringValue("transaction_id", req.TransactionId); } else { payData.SetStringValue("out_trade_no", req.OutTradeNo); } payData.SetStringValue("nonce_str", req.NonceStr); payData.SetStringValue("sign_type", req.SignType == Enums.SignType.MD5 ? "MD5" : "HMAC-SHA256"); var sign = SignatureHelper.CalcSignature(payData.ToUrlParams(), payBaseInfo.Key, req.SignType); payData.SetStringValue("sign", sign); var orderQueryRes = await HttpClientHelper.Post <QueryOrderResponse>("https://api.mch.weixin.qq.com/pay/orderquery", payData.ToXml()); return(orderQueryRes); }
/// <summary> /// 构造函数 /// </summary> /// <param name="appId">公众账号ID</param> /// <param name="appSecret">APPID唯一凭证密钥</param> /// <param name="mchId">商户号</param> /// <param name="key">商户支付密钥Key,在商户平台(https://pay.weixin.qq.com)可以拿到</param> /// <param name="notifyUrl">通知URL地址,不能带参数</param> public WechatPayClient(string appId, string appSecret, string mchId, string key, string notifyUrl) { this.PAY_BASE_INFO = new WechatPayBaseInfo(appId, appSecret, mchId, key, notifyUrl); }