Exemplo n.º 1
0
        //
        // GET: /mjpay/

        public ActionResult Index(string code)
        {
            #region 登录成功缓存用户信息
            string post_data        = "appid=" + "wx2c2f2e7b5b62daa1" + "&secret=" + "ed815afc669a9201a6070677d1771166" + "&code=" + code + "&grant_type=authorization_code";
            string requestData      = tenpay.TenpayUtil.PostXmlToUrl(tenpay.TenpayUtil.getAccess_tokenUrl(), post_data);
            JavaScriptSerializer js = new JavaScriptSerializer();                                                                                     //实例化一个能够序列化数据的类
            MJAPI.Controllers.WechartController.authorization auth = js.Deserialize <MJAPI.Controllers.WechartController.authorization>(requestData); //将json数据转化为对象类型并赋值给auth
            Session["auth"] = auth;                                                                                                                   //标识用户登录
            #endregion
            return(View());
        }
Exemplo n.º 2
0
        /// <summary>
        /// 实际支付页
        /// </summary>
        /// <param name="code"></param>
        /// <param name="state"></param>
        /// <returns></returns>
        public ActionResult Xd(string code, string state)
        {
            //   Session["auth"] = auth;//标识用户登录
            MJAPI.Controllers.WechartController.authorization auth = null;

            if (Session["auth"] != null)
            {
                auth = Session["auth"] as MJAPI.Controllers.WechartController.authorization;
            }
            else
            {
                Response.Redirect("http://mobile.mj100.com/wechart/login");
            }


            #region 发送预支付单
            UnifiedOrder order = new UnifiedOrder();
            order.appid       = tenpay.WeChartConfigItem.appid;
            order.attach      = "vinson1";
            order.body        = "极客美家支付正式测试";//订单描述
            order.device_info = "";
            order.mch_id      = tenpay.WeChartConfigItem.mch_id;
            order.nonce_str   = TenpayUtil.getNoncestr();                                                                //随机字符串
            order.notify_url  = "http://mobile.mj100.com/test/h?id=100";                                                 //回调网址
            order.openid      = auth.openid;                                                                             //每一个微信号的唯一标识都不一样

            order.out_trade_no     = "20156666978542323" + DateTime.Now.Day + DateTime.Now.Minute + DateTime.Now.Second; //订单号
            order.trade_type       = "JSAPI";
            order.spbill_create_ip = Request.UserHostAddress;
            order.total_fee        = 1;

            string prepay_id = tenpay.TenpayUtil.getPrepay_id(order, tenpay.WeChartConfigItem.key);//商户key
            #endregion



            #region 得到paySign
            string timeStamp = TenpayUtil.getTimestamp();
            string nonceStr  = TenpayUtil.getNoncestr().ToUpper();
            SortedDictionary <string, string> sParams = new SortedDictionary <string, string>();


            sParams.Add("appId", tenpay.WeChartConfigItem.appid);

            sParams.Add("timeStamp", timeStamp);

            sParams.Add("nonceStr", nonceStr);

            sParams.Add("package", "prepay_id=" + prepay_id);

            sParams.Add("signType", "MD5");

            string paySign = TenpayUtil.getsign(sParams, tenpay.WeChartConfigItem.key);

            #endregion



            ViewBag.appId     = "wx2c2f2e7b5b62daa1";
            ViewBag.timeStamp = timeStamp;
            ViewBag.nonceStr  = nonceStr;
            ViewBag.prepay_id = prepay_id;
            ViewBag.paySign   = paySign;
            ViewBag.openid    = paySign + "我是paySign";
            return(View());
        }
Exemplo n.º 3
0
        //
        // GET: /test/

        public ActionResult Index(string code, string state)
        {
            #region 登录成功缓存用户信息
            string post_data        = "appid=" + "wx2c2f2e7b5b62daa1" + "&secret=" + "ed815afc669a9201a6070677d1771166" + "&code=" + code + "&grant_type=authorization_code";
            string requestData      = tenpay.TenpayUtil.PostXmlToUrl(tenpay.TenpayUtil.getAccess_tokenUrl(), post_data);
            JavaScriptSerializer js = new JavaScriptSerializer();                                                                                     //实例化一个能够序列化数据的类
            MJAPI.Controllers.WechartController.authorization auth = js.Deserialize <MJAPI.Controllers.WechartController.authorization>(requestData); //将json数据转化为对象类型并赋值给auth
            Session["auth"] = auth;                                                                                                                   //标识用户登录
            #endregion



            #region MyRegion
            //#region 发送预支付单
            //UnifiedOrder order = new UnifiedOrder();
            //order.appid = "wx2c2f2e7b5b62daa1";
            //order.attach = "vinson1";
            //order.body = "极客美家支付测试";//订单描述
            //order.device_info = "";
            //order.mch_id = "1246407101";
            //order.nonce_str = TenpayUtil.getNoncestr();//随机字符串
            //order.notify_url = "http://mobile.mj100.com/test/h?id=100";//回调网址
            //order.openid = auth.openid;
            //order.out_trade_no = "20156666978542323" + DateTime.Now.Minute.ToString();//订单号
            //order.trade_type = "JSAPI";
            //order.spbill_create_ip = Request.UserHostAddress;
            //order.total_fee = 1;
            ////order.total_fee = 1;
            //string prepay_id = tenpay.TenpayUtil.getPrepay_id(order, "43804496F28A4F0FBF1195AA0F1Abcde");//商户key
            //#endregion



            //#region 得到paySign
            //string timeStamp = TenpayUtil.getTimestamp();
            //string nonceStr = TenpayUtil.getNoncestr().ToUpper();
            //SortedDictionary<string, string> sParams = new SortedDictionary<string, string>();
            //sParams.Add("appId", "wx2c2f2e7b5b62daa1");

            //sParams.Add("timeStamp", timeStamp);

            //sParams.Add("nonceStr", nonceStr);

            //sParams.Add("package", "prepay_id=" + prepay_id);

            //sParams.Add("signType", "MD5");

            //string paySign = TenpayUtil.getsign(sParams, "43804496F28A4F0FBF1195AA0F1Abcde");

            //#endregion



            //ViewBag.appId = "wx2c2f2e7b5b62daa1";
            //ViewBag.timeStamp = timeStamp;
            //ViewBag.nonceStr = nonceStr;
            //ViewBag.prepay_id = prepay_id;
            //ViewBag.paySign = paySign;
            //ViewBag.openid = paySign + "我是paySign";
            #endregion



            return(View());
        }