Exemplo n.º 1
0
        public string GetProductKeyFromTime(PayServiceKinds kind, int time)
        {
            switch (kind)
            {
            case PayServiceKinds.InstitudeOfGrowth:
                return(PRODUCT_GROWTH_APPLY);

            case PayServiceKinds.FootChat:
            {
                switch (time)
                {
                case 6:
                    return(PRODUCT_FOOTCHAT_SERVICE_6MONTH);

                case 12:
                    return(PRODUCT_FOOTCHAT_SERVICE_12MONTH);

                default:
                    throw new ExceptionWithErrorCode(ErrorCode.没有找到对应条目, "未定义的类型");
                }
            }

            default:
                throw new ExceptionWithErrorCode(ErrorCode.没有找到对应条目, "未定义的类型");
            }
        }
Exemplo n.º 2
0
        public string GetWebPayUrl(string access_token, long uid, int type, int time, PayServiceKinds kind, int quantity, bool isH5, bool isWeixinClient, PayFromKinds from, string scene_info)
        {
            ExceptionHelper.ThrowIfNotId(uid, "uid");
            ExceptionHelper.ThrowIfTrue(quantity < 1, "quantity", "quantity < 1");
            var productKey = GetProductKeyFromTime(kind, time);

            var queries = new List <string>();

            queries.Add("product=" + productKey);
            queries.Add("quantity=" + quantity.ToString());
            queries.Add("type=" + type.ToString());
            queries.Add("uid=" + uid.ToString());
            queries.Add("access_token=" + access_token);
            queries.Add("from_kind=" + from.To <byte>().ToString());
            if (isH5)
            {
                queries.Add("h5=1");
            }
            if (isWeixinClient)
            {
                queries.Add("payment=jsapi");
            }
            if (!String.IsNullOrWhiteSpace(scene_info))
            {
                queries.Add("extension=" + System.Web.HttpUtility.UrlEncode(JsonConvert.SerializeObject(new { scene_info = scene_info }), Encoding.UTF8));
            }
            var url = "http://api.pay.tgnet.com/order/create?" + String.Join("&", queries);

            if (type == 1 && isWeixinClient)
            {
                url = "http://api.weixin.tgnet.com/token/getopenid?appid=wxc72923937e510ab4&redirect_uri=" + System.Web.HttpUtility.UrlEncode(url);
            }
            return(url);
        }