コード例 #1
0
        public object RedeemSubmit(RedeemSubmitParam param)
        {
            var bll = new CoinBLL();
            var rm  = bll.RedeemSubmit(CurrentUser.userId, param.golds, param.alipay, param.phone, param.detail);

            UpdateCurrentUser();
            return(rm);
        }
コード例 #2
0
        public object PaySubmit(PaySubmitParam param)
        {
            var bll = new CoinBLL();
            var rm  = bll.PaySubmit(CurrentUser.userId, param.rmb);

            UpdateCurrentUser();
            return(rm);
        }
コード例 #3
0
        public ActionResult XX()
        {
            var xml = "<xml><result_code><![CDATA[SUCCESS]]></result_code><fee_type><![CDATA[CNY]]></fee_type><return_code><![CDATA[SUCCESS]]></return_code><total_fee>1</total_fee><mch_id><![CDATA[133290344343]]></mch_id><cash_fee>1</cash_fee><openid><![CDATA[oLA2zt9bnFr1ZmyebgLaBOY4Cpok]]></openid><transaction_id><![CDATA[4008012001201605125783424816]]></transaction_id><sign><![CDATA[2BFCCB8AC1B7F2B81297A143627C5D84]]></sign><bank_type><![CDATA[CMB_DEBIT]]></bank_type><appid><![CDATA[fsfsafsfdsafsafdsafsafsafsa]]></appid><time_end><![CDATA[20160512212749]]></time_end><trade_type><![CDATA[JSAPI]]></trade_type><nonce_str><![CDATA[9DCB88E0137649590B755372B040AFAD]]></nonce_str><is_subscribe><![CDATA[Y]]></is_subscribe><out_trade_no><![CDATA[212730404503329]]></out_trade_no></xml>";
            var obj = Senparc.Weixin.XmlUtility.XmlUtility.Deserialize <pay_jsapi_notify>(xml);


            var resXml           = xml;
            var pay_jsapi_notify = Senparc.Weixin.XmlUtility.XmlUtility.Deserialize <pay_jsapi_notify>(resXml);
            var cbll             = new CoinBLL();

            cbll.Resolve(pay_jsapi_notify.AsDictionary());

            var jser = new System.Web.Script.Serialization.JavaScriptSerializer();

            return(Content(jser.Serialize(obj)));
        }
コード例 #4
0
        public ActionResult PayNotifyUrl()
        {
            ResponseHandler resHandler = new ResponseHandler(null);

            string return_code = resHandler.GetParameter("return_code");
            string return_msg  = resHandler.GetParameter("return_msg");

            string res = null;

            resHandler.SetKey(TenPayV3Info.Key);
            //验证请求是否从微信发过来(安全)
            if (resHandler.IsTenpaySign())
            {
                res = "success";

                //正确的订单处理
            }
            else
            {
                res = "wrong";

                //错误的订单处理
            }

            var resXml           = resHandler.ParseXML();
            var pay_jsapi_notify = Senparc.Weixin.XmlUtility.XmlUtility.Deserialize <pay_jsapi_notify>(resXml);
            var cbll             = new CoinBLL();

            cbll.Resolve(pay_jsapi_notify.AsDictionary());


            var fileStream = System.IO.File.OpenWrite(Server.MapPath("~/1.txt"));

            fileStream.Write(Encoding.Default.GetBytes(res), 0, Encoding.Default.GetByteCount(res));
            fileStream.Close();

            //return Content("SUCCESS");
            string xml = string.Format(@"<xml><return_code><![CDATA[{0}]]></return_code><return_msg><![CDATA[{1}]]></return_msg></xml>", "SUCCESS", "OK");

            return(Content(xml, "text/xml"));
        }
コード例 #5
0
        /// <summary>
        /// 代币销毁
        /// </summary>
        /// <returns></returns>
        public object coinDestroy(Dictionary <string, object> dicParas)
        {
            string errMsg       = string.Empty;
            string destroyDate  = string.Empty;
            string pageIndexStr = string.Empty;
            string pageSizeStr  = string.Empty;
            int    pageIndex    = 0;
            int    pageSize     = 0;

            if (!checkCoinDestroyParams(dicParas, out destroyDate, out pageIndex, out pageSize, out errMsg))
            {
                ResponseModel responseModel = new ResponseModel(Return_Code.T, "", Result_Code.F, errMsg);
                return(responseModel);
            }
            else
            {
                int recordCount            = 0;
                CoinDestroyPageModel model = CoinBLL.CoinDestroy(destroyDate, pageIndex, pageSize, out recordCount);
                ResponseModel <CoinDestroyPageModel> responseModel = new ResponseModel <CoinDestroyPageModel>(model);
                return(responseModel);
            }
        }
コード例 #6
0
        /// <summary>
        /// 代币销售情况分析
        /// </summary>
        /// <param name="dicParas">参数字典</param>
        /// <returns></returns>
        public object coinSales(Dictionary <string, object> dicParas)
        {
            string errMsg       = string.Empty;
            string salesDate    = string.Empty;
            string pageIndexStr = string.Empty;
            string pageSizeStr  = string.Empty;
            int    pageIndex    = 0;
            int    pageSize     = 0;
            int    coins        = 0;

            if (!checkCoinSalesParams(dicParas, out salesDate, out coins, out pageIndex, out pageSize, out errMsg))
            {
                ResponseModel responseModel = new ResponseModel(Return_Code.T, "", Result_Code.F, errMsg);
                return(responseModel);
            }
            else
            {
                int            recordCount   = 0;
                CoinSalesModel listInitModel = CoinBLL.CoinSales(salesDate, coins, pageIndex, pageSize, out recordCount);
                ResponseModel <CoinSalesModel> responseModel = new ResponseModel <CoinSalesModel>(listInitModel);
                return(responseModel);
            }
        }
コード例 #7
0
        public object GetWeixinPayOption()
        {
            string timeStamp = "";
            string nonceStr  = "";
            string paySign   = "";

            string sp_billno = DateTime.Now.ToString("yyyyMMddHHmmss") + TenPayV3Util.BuildRandomStr(28);


            RequestHandler packageReqHandler = new RequestHandler(null);

            packageReqHandler.Init();

            timeStamp = TenPayV3Util.GetTimestamp();
            nonceStr  = TenPayV3Util.GetNoncestr();


            var dict_package = new Dictionary <string, string> {
                { "appid", TenPayV3Info.AppId },
                { "mch_id", TenPayV3Info.MchId },
                { "nonce_str", nonceStr },
                { "body", "充值" },
                { "out_trade_no", sp_billno },
                { "total_fee", (0.01 * 100).ToString() },
                { "spbill_create_ip", System.Web.HttpContext.Current.Request.UserHostAddress },
                { "notify_url", TenPayV3Info.TenPayV3Notify },
                { "trade_type", "JSAPI" },
                { "openid", CurrentUser.openId }
            };

            dict_package.Keys.ToList().ForEach(key => packageReqHandler.SetParameter(key, dict_package[key]));

            string sign = packageReqHandler.CreateMd5Sign("key", TenPayV3Info.Key);

            packageReqHandler.SetParameter("sign", sign);

            string data = packageReqHandler.ParseXML();

            var    result   = TenPayV3.Unifiedorder(data);
            var    res      = XDocument.Parse(result);
            string prepayId = string.Empty;

            try
            {
                prepayId = res.Element("xml").Element("prepay_id").Value;
            }
            catch (Exception ex)
            {
                return(new ReturnMessage {
                    success = false, message = ex.Message, data = new { xml = res.ToString() }
                });
            }

            var cbll = new CoinBLL();

            cbll.SaveJsapiPackageRequest(prepayId, CurrentUser.userId, dict_package);

            RequestHandler paySignReqHandler = new RequestHandler(null);

            paySignReqHandler.SetParameter("appId", TenPayV3Info.AppId);
            paySignReqHandler.SetParameter("timeStamp", timeStamp);
            paySignReqHandler.SetParameter("nonceStr", nonceStr);
            paySignReqHandler.SetParameter("package", string.Format("prepay_id={0}", prepayId));
            paySignReqHandler.SetParameter("signType", "MD5");
            paySign = paySignReqHandler.CreateMd5Sign("key", TenPayV3Info.Key);

            var ViewData = new Dictionary <string, object> {
            };

            ViewData["appId"]     = TenPayV3Info.AppId;
            ViewData["timeStamp"] = timeStamp;
            ViewData["nonceStr"]  = nonceStr;
            ViewData["package"]   = string.Format("prepay_id={0}", prepayId);
            ViewData["paySign"]   = paySign;
            ViewData["signType"]  = "MD5";
            return(ViewData);
        }