/// <summary> /// 生成签名 /// </summary> public static string MakeSign(object t, Com.Ddlev.Weixin.High.Pay.Config c) { SortedDictionary <string, string> dic = BaseClass.BaseMethod.MakeToDictionary(t, 1); dic.Remove("sign"); string sign = BaseClass.BaseMethod.Sign(BaseClass.BaseMethod.MakeUrl(dic, false, "utf-8", 1) + "&key=" + c.Key, "MD5", "utf-8"); return(sign.ToUpper()); }
/// <summary> /// 验证签名 /// </summary> /// <param name="dic"></param> /// <param name="c"></param> /// <returns></returns> public static bool Check(SortedDictionary <string, string> dic, Com.Ddlev.Weixin.High.Pay.Config c) { string mysing = dic["sign"]; //SortedDictionary<string, string> dic = ITA.WeiXin.BaseClass.BaseMethod.MakeToDictionary(cb, 1); dic.Remove("sign"); dic.Remove("paySign"); string sign = BaseClass.BaseMethod.Sign(BaseClass.BaseMethod.MakeUrl(dic, false, "utf-8") + "&key=" + c.Key, "MD5", "utf-8").ToUpper(); if (mysing != sign) { return(false); } else { return(true); } }
/// <summary> /// 微信转账到银行卡 /// </summary> /// <param name="_c">配置</param> /// <param name="_cartpath">rsa证书的物理路径</param> /// <param name="_partner_trade_no">商户企业付款单号(唯一性)</param> /// <param name="bank_no">收款方银行卡号(明文)</param> /// <param name="true_name">收款方用户名(明文)</param> /// <param name="_amount">付款金额,单位分</param> /// <param name="_bank_code">银行编码</param> /// <param name="_desc">付款说明</param> public WxToBankRequst(Config _c, string _cartpath, string _partner_trade_no = "", string bank_no = "", string true_name = "", string _bank_code = "", int _amount = 0, string _desc = "") { this.c = _c; this.mch_id = c.Mchid; this.nonce_str = DateTime.Now.ToString("yyyyMMddHHmmssfff"); this.cartpath = _cartpath; this.partner_trade_no = _partner_trade_no; if (!string.IsNullOrWhiteSpace(bank_no)) { this.enc_bank_no = Com.Ddlev.Cryptography.Encrypt.RSAEncrypt(bank_no, cartpath, true); } if (!string.IsNullOrWhiteSpace(true_name)) { this.enc_true_name = Com.Ddlev.Cryptography.Encrypt.RSAEncrypt(true_name, cartpath, true); } this.bank_code = _bank_code; this.amount = _amount; this.desc = _desc; }