/// <summary> /// 退款 /// </summary> /// <param name="out_trade_no"></param> /// <param name="refund_fee"></param> /// <returns></returns> public static string PostRefund(string out_trade_no, int refund_fee) { Pay pay = new Pay(); pay.nonce_str = PayHelper.GetRandomString(30); Dictionary <string, string> strParam = new Dictionary <string, string>(); strParam.Add("appid", pay.appid); strParam.Add("mch_id", pay.mch_id); strParam.Add("nonce_str", pay.nonce_str); strParam.Add("out_refund_no", out_trade_no); strParam.Add("out_trade_no", out_trade_no); strParam.Add("refund_fee", refund_fee.ToString()); strParam.Add("total_fee", refund_fee.ToString()); strParam.Add("sign", XmlHelper.GetSignInfo(strParam, pay.key)); string url = "https://api.mch.weixin.qq.com/secapi/pay/refund"; string contentType = "application/x-www-form-urlencoded"; X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine); store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly); X509Certificate2 cert = store.Certificates.Find(X509FindType.FindBySubjectName, "1592761851", false)[0]; string refundinfo = HttpHelper.PostData(url, XmlHelper.CreateXmlValue(strParam), contentType, null, cert); return(refundinfo); }
/// <summary> /// 支付 /// </summary> /// <param name="openid"></param> /// <param name="bookingNo"></param> /// <param name="total_fee"></param> /// <returns></returns> public static string ToPay(string openid, string bookingNo, int total_fee) { Pay pay = new Pay(); pay.nonce_str = PayHelper.GetRandomString(30); pay.spbill_create_ip = PayHelper.GetLocalIP(); return(Getprepay_id(pay, openid, bookingNo, total_fee)); }
/// <summary> /// 查询订单状态 /// </summary> /// <param name="out_trade_no"></param> /// <returns>响应信息</returns> public static string GetQueryResult(string out_trade_no) { Pay pay = new Pay(); pay.nonce_str = PayHelper.GetRandomString(30); string url = "https://api.mch.weixin.qq.com/pay/orderquery"; string contentType = "application/x-www-form-urlencoded"; Dictionary <string, string> strParam = new Dictionary <string, string>(); strParam.Add("appid", pay.appid); strParam.Add("mch_id", pay.mch_id); strParam.Add("nonce_str", pay.nonce_str); strParam.Add("out_trade_no", out_trade_no); strParam.Add("sign", XmlHelper.GetSignInfo(strParam, pay.key)); string resultInfo = HttpHelper.PostData(url, XmlHelper.CreateXmlValue(strParam), contentType, null, null); return(resultInfo); }