public async Task Notify()
 {
     //SortedDictionary<string, string> sPara = GetRequestPost();
     PayModelDto  model        = GetPayModel();
     EnrollStatus enrollStatus = GetNoticeEnrollStatus();
     await _helper.SetPayStatus(enrollStatus, model);
 }
        public async Task <ActionResult> Process()
        {
            EnrollDto enrollDto = _helper.GetEnrollDto();

            if (enrollDto == null)
            {
                return(Redirect("/Mob/Enroll"));
            }

            if (WxPayApi.IsPaid("", enrollDto.Enroll.OrderNo))
            {
                PayModelDto model = WxPayApi.GetPayModel(enrollDto.Enroll.OrderNo);
                await _helper.SetPayStatus(EnrollStatus.PaySuccess, model);
            }

            WxPayData data = null;

            if (enrollDto.Enroll.Status != EnrollStatus.PaySuccess)
            {
                data = await WxPayApi.GetJSSDKConfig();
            }

            ViewBag.WxConfig = data == null ? "" : SerializationHelper.ToJson(data.GetValues());

            enrollDto.Enroll.IdCard = enrollDto.Enroll.IdCard.ToSpecialString(6, 8);
            return(View(enrollDto));
        }
        public async Task <ActionResult> Return()
        {
            //SortedDictionary<string, string> sPara = GetRequestGet();
            PayModelDto  model        = GetPayModel();
            EnrollStatus enrollStatus = GetReturnEnrollStatus();
            await _helper.SetPayStatus(enrollStatus, model);

            return(Redirect($"/Mob/Enroll/Process"));
        }
        public async Task <ActionResult> Check(int id)
        {
            Enroll enroll = await _helper.GetEnroll(id);

            if (_helper.IsPaid(enroll))
            {
                return(Success());
            }
            PayModelDto  model        = GetPayModel();
            EnrollStatus enrollStatus = GetReturnEnrollStatus(enroll.OrderNo);
            await _helper.SetPayStatus(enrollStatus, model);

            return(Success());
        }
        /// <summary>
        /// Index
        /// </summary>
        /// <param name="id">Dt_Deposit.OrderNo</param>
        /// <returns></returns>
        public override ActionResult Index()
        {
            Enroll enroll = _helper.GetEnroll();

            if (_helper.IsPaid(enroll))//本地判断是否支付
            {
                return(Faild("已支付报名费。"));
            }

            if (IsPaid("", enroll.OrderNo))//第三方判断是否支付
            {
                PayModelDto model = GetPayModel();
                _helper.SetPayStatus(EnrollStatus.PaySuccess, model).GetAwaiter().GetResult();
                return(Faild("已支付报名费。"));
            }

            return(SetPostRequest(enroll));
        }
 public async Task SetPayStatus(EnrollStatus enrollStatus, PayModelDto model)
 {
     await SetPayStatus(enrollStatus, model.OrderNo, model.PayType);
 }