Exemplo n.º 1
0
        /// <summary>
        ///  申请退款
        /// </summary>
        /// <param name="transaction_id">微信单号</param>
        /// <param name="total_fee">退款金额</param>
        /// <param name="tradeNo">退款单号</param>
        /// <returns></returns>
        public JsonResult Refund(string transaction_id, string total_fee, string tradeNo)
        {
            var       outTradeNo = string.Empty;
            var       models     = new ReturnResultModel <string>();
            WxPayData data       = new WxPayData();
            var       totalFee   = (int)(decimal.Parse(total_fee) * 100);

            data.SetValue("transaction_id", transaction_id);
            data.SetValue("total_fee", totalFee);  //订单总金额
            data.SetValue("refund_fee", totalFee); //退款金额
            if (string.IsNullOrEmpty(tradeNo))
            {
                outTradeNo = WxPayApi.GenerateOutTradeNo();
                data.SetValue("out_refund_no", outTradeNo);//随机生成商户退款单号
            }
            else
            {
                data.SetValue("out_refund_no", tradeNo); //随机生成商户退款单号
            }
            WxPayData result = WeChatTools.Refund(data); //提交退款申请给API,接收返回数据

            if (result.GetValue("return_code").ToString() == "SUCCESS" && result.GetValue("result_code").ToString() == "SUCCESS")
            {
                models.IsSuccess    = true;
                models.ResponseInfo = "1";
                _weChatRevenueLogic.UpdateStatus(transaction_id);
            }
            else
            {
                models.IsSuccess    = false;
                models.ResponseInfo = result.GetValue("return_msg").ToString();
                models.ReturnMsg    = outTradeNo;
            }
            return(Json(models));
        }
        public JsonResult UpLoadPush(string pushFile)
        {
            UploadFile uf = new UploadFile();

            uf.SetMaxSizeM(1000);               //上传文件大小
            string url        = "/UpLoadFile/"; //文件保存路径
            string saveFolder = Server.MapPath(url);

            uf.SetFileDirectory(saveFolder);
            string         filesName      = System.Web.HttpContext.Current.Request.Params["pushFile"];
            HttpPostedFile file           = System.Web.HttpContext.Current.Request.Files[filesName];
            var            reponseMessage = uf.Save(file, "PushObjectImport"); //保存文件
            UploadHelper   uploadHelper   = new UploadHelper();
            string         readPath       = Server.MapPath("/UpLoadFile/PushObjectImport/" + reponseMessage.FileName);
            DataTable      dt             = uploadHelper.GetDataByExcel(readPath);

            System.IO.File.Delete(readPath);
            var models = new ReturnResultModel <string>();

            try
            {
                string msg = "";
                models.IsSuccess    = _dl.SaveUploadPushMSg(dt, ref msg);
                models.ResponseInfo = models.IsSuccess ? "1" : "0";
                models.ReturnMsg    = msg;
            }
            catch (Exception ex)
            {
                models.ResponseInfo = ex.Message;
            }

            return(Json(models, JsonRequestBehavior.AllowGet));
        }