Example #1
0
 /// <summary>
 /// 优惠券接口(同步方法)
 /// 算法
 /// 1:key-value 降序排列(a-z)
 /// 2:对value url编码
 /// 3:value url编码结果小写全部转换为大写
 /// 4:url参数+key MD5 32加密生成sign作为参数
 /// </summary>
 /// <param name="memberOrder"></param>
 /// <param name="doPost"></param>
 public static string ConfirmMemberOrder(ConfirmMemberOrder memberOrder)
 {
     using (var client = new HttpClient())
     {
         var url        = ConfigHelper.GetAppConfig("MemberOrderConfirm");
         var paramaters = new List <KeyValuePair <string, string> >();
         paramaters.Add(new KeyValuePair <string, string>("appid", 1002.ToString()));
         paramaters.Add(new KeyValuePair <string, string>("product_fee", memberOrder.product_fee.ToString()));
         paramaters.Add(new KeyValuePair <string, string>("products", Newtonsoft.Json.JsonConvert.SerializeObject(memberOrder.products)));
         paramaters.Add(new KeyValuePair <string, string>("shop_name", memberOrder.shop_name));
         paramaters.Add(new KeyValuePair <string, string>("shop_sn", memberOrder.shop_sn));
         paramaters.Add(new KeyValuePair <string, string>("uid", memberOrder.uid.ToString()));
         paramaters = paramaters.OrderBy(item => item.Key).ToList();
         var paramString = string.Empty;
         paramaters.ForEach(item => {
             paramString += $"{item.Key}={Ingpal.BusinessStore.Infrastructure.Encodetool.UrlEncode((item.Value??""))}&";
         });
         int pos = paramString.LastIndexOf("&");
         paramString = paramString.Remove(pos);
         var urlString = paramString.Trim() + $"6196248fb93d30b7de7553749857300c";
         var sign      = Encodetool.Md5_32(urlString);
         paramString += $"&sign={sign}";
         Task <HttpResponseMessage> resonse = client.GetAsync(url + paramString);
         var resString = resonse.Result.Content.ReadAsStringAsync().GetAwaiter().GetResult();
         return(resString);
     }
 }
Example #2
0
        public async static void ConfirmMemberOrder(ConfirmMemberOrder memberOrder, Func <string, bool> doPost)
        {
            using (var client = new HttpClient())
            {
                var url   = $"http://test-api-store-park.ptdev.cn/cash/order/confirm?";
                var param = $"uid={ memberOrder.uid.ToString()}";
                param += $"&appid={1002}";
                param += $"&product_fee ={memberOrder.product_fee.ToString()}";
                param += $"&products ={Newtonsoft.Json.JsonConvert.SerializeObject(memberOrder.products)}";
                param += $"&shop_sn ={memberOrder.shop_sn}";
                param += $"&shop_name ={memberOrder.shop_name}";
                param += $"&sign_key =6196248fb93d30b7de7553749857300c";

                // param += ConfigHelper.GetAppConfig("Secretkey");
                //param += Encodetool.Md5_32(param);
                HttpResponseMessage resonse = await client.GetAsync(url + param);

                var resString = await resonse.Content.ReadAsStringAsync();

                doPost(resString);
            }
        }