Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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));
        }
Exemplo n.º 3
0
        /// <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);
        }