Esempio n. 1
0
        public HttpResponseMessage alipayTest()
        {
            AlipayHelperHere a = new AlipayHelperHere();
            var b = a.CreateAlipayOrder("0.01", "thisisorder-" + DateTime.Now.ToString("yyyy-MM-dd") + "-" + DateTime.Now.ToString("hh-MM-ss"), "http://" + apiHost + "/notify/alipayNotify");

            return(ControllerHelper.Instance.JsonResult(200, "payStr", b, ""));
        }
Esempio n. 2
0
        public HttpResponseMessage Charge(UserReq req)
        {
            var tokenStr = req.Token;
            var userId   = Convert.ToInt32(req.userId);

            Token token = CacheHelper.GetUserToken(tokenStr);

            if (token == null)
            {
                return(ControllerHelper.Instance.JsonResult(400, "token失效"));
            }
            if (token.Payload.UserID != userId)
            {
                return(ControllerHelper.Instance.JsonResult(400, "token错误"));
            }


            var     payType          = req.payType;
            var     payMoney         = Convert.ToDecimal(req.payMoney);
            var     Spbill_create_ip = req.spbill_create_ip;
            var     out_trade_no     = StringHelperHere.Instance.GetTimeStamp() + StringHelperHere.Instance.GetLastFiveStr(userId.ToString());
            UserPay up = new UserPay();

            up.type       = 0;
            up.status     = false;
            up.userId     = userId;
            up.createTime = DateTime.Now;
            up.takeType   = payType;
            up.outTradeNo = out_trade_no;
            up.money      = payMoney;
            UserPayOper.Instance.Add(up);

            if (payType == "alipay")
            {
                //var str = alipay.CreateAlipayOrder(chargeMoney, out_trade_no, "http://" + apiHost + "/user/chargeByAlipayNotify");

                AlipayHelperHere a = new AlipayHelperHere();
                var b = a.CreateAlipayOrder(req.payMoney, out_trade_no, "https://fan-di.com/notify/chargeByAlipayNotify");

                JObject jo = new JObject();
                jo.Add("payType", "alipay");
                jo.Add("payStr", b);

                return(ControllerHelper.Instance.JsonResult(200, JsonConvert.SerializeObject(jo), ""));
            }
            else
            {
                WXPayHelperHere w = new WXPayHelperHere();
                var             b = w.CreateWXOrder(payMoney, out_trade_no, "https://fan-di.com/notify/ChargeByWxNotify", Spbill_create_ip);

                XmlDocument doc = new XmlDocument();
                doc.LoadXml(b);
                if (doc.DocumentElement["return_code"].InnerText != "SUCCESS")
                {
                    txyInfo txy = new txyInfo();
                    txy.content = JsonConvert.SerializeObject(doc);
                    //txyInfoOper txyOper = new txyInfoOper();
                    txyInfoOper.Instance.Add(txy);
                    return(ControllerHelper.Instance.JsonResult(500, "网络不稳定,请稍后"));
                }

                JObject jo = new JObject();
                jo.Add("payType", "wxpay");
                foreach (XmlNode item in doc.DocumentElement.ChildNodes)
                {
                    if (item.Name != "sign")
                    {
                        jo.Add(item.Name, item.InnerText);
                    }
                }

                var timestamp = StringHelperHere.Instance.GetTimeStamp();
                jo.Add("timestamp", timestamp);
                var dict = new Dictionary <string, string>();

                foreach (var item in jo)
                {
                    if (item.Key == "prepay_id")
                    {
                        dict.Add("prepayid", item.Value.ToString());
                    }
                    if (item.Key == "nonce_str")
                    {
                        dict.Add("noncestr", item.Value.ToString());
                    }
                }

                dict.Add("appid", "wxd8482615c33b8859");
                dict.Add("partnerid", "1494504712");
                dict.Add("package", "Sign=WXPay");
                dict.Add("timestamp", timestamp);

                string sign = StringHelperHere.Instance.GetWXSign(dict, "2BCF8DD9490E328D2FCEDE7B26643231");
                jo.Add("sign", sign);
                return(ControllerHelper.Instance.JsonResult(200, JsonConvert.SerializeObject(jo), ""));
            }
        }