public void TestSHA256Signature() { var data = new WechatPayData(); data.SetStringValue("appid", BaseConfig.AppId); data.SetStringValue("mch_id", BaseConfig.MchId); var sha256Str = SignatureHelper.CalcSignature(data.ToUrlParams(), BaseConfig.Key, SignType.SHA256); Assert.AreEqual <string>("81E64AC5312645C3DC7D3F55C358C8A0F8838FD28BF9C6A80A95BBAC87EC6CBD", sha256Str); }
public void TestMd5Signature() { var data = new WechatPayData(); data.SetStringValue("appid", BaseConfig.AppId); data.SetStringValue("mch_id", BaseConfig.MchId); var md5Str = SignatureHelper.CalcSignature(data.ToUrlParams(), BaseConfig.Key); Assert.AreEqual <string>("9F64710000181B60AC5743C94455D2CB", md5Str); }
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); }