阿里巴巴开放平台

        /// <summary>
        /// 请求签名
        /// </summary>
        /// <param name="urlPath"></param>
        /// <param name="paramDic"></param>
        /// <returns></returns>
        private string sign(string urlPath, Dictionary<string, string> paramDic)
        {
            byte[] signatureKey = Encoding.UTF8.GetBytes("N3U2jQmsJa");//此处用自己的签名密钥
            List<string> list = new List<string>();
            foreach (KeyValuePair<string, string> kv in paramDic)
            {
                list.Add(kv.Key + kv.Value);
            }
            list.Sort();
            string tmp = urlPath;
            foreach (string kvstr in list)
            {
                tmp = tmp + kvstr;
            }
            //HMAC-SHA1
            HMACSHA1 hmacsha1 = new HMACSHA1(signatureKey);
            hmacsha1.ComputeHash(Encoding.UTF8.GetBytes(tmp));
            byte[] hash = hmacsha1.Hash;
            //TO HEX
            return BitConverter.ToString(hash).Replace("-", string.Empty).ToUpper();
        }

        /// <summary>
        /// 查询交易订单列表(卖家视角)
        /// </summary>
        /// <param name="StartTime">yyyy-MM-dd HH:mm:ss</param>
        /// <param name="EndTime">yyyy-MM-dd HH:mm:ss</param>
        /// <param name="Page">当前页</param>
        // success, cancel(交易取消,违约金等交割完毕), waitbuyerpay(等待卖家付款), waitsellersend(等待卖家发货), waitbuyerreceive(等待买家收货 )
        private void GetOrders(string access_token, string StartTime, string EndTime, int Page = 1)
        {
            try
            {
                string STime = Convert.ToDateTime(StartTime).ToString("yyyyMMddHHmmssfff") + "+0800";
                string ETime = Convert.ToDateTime(EndTime).ToString("yyyyMMddHHmmssfff") + "+0800";
                Dictionary<string, string> DicParameters = new Dictionary<string, string>();
                //DicParameters.Add("_aop_signature", "");
                DicParameters.Add("access_token", access_token);
                DicParameters.Add("createStartTime", STime);
                DicParameters.Add("createEndTime", ETime);
                DicParameters.Add("page", Page.ToString());
                DicParameters.Add("orderStatus", "cancel");
                DicParameters.Add("pageSize", "20");//最大查询条数20 条
                DicParameters.Add("needMemoInfo", "true");
                DicParameters.Add("_aop_signature", sign("param/1/com.alibaba.trade/alibaba.trade.getSellerOrderList/6023877", DicParameters));
                string url = "https://gw.open.1688.com/openapi/param/1/com.alibaba.trade/alibaba.trade.getSellerOrderList/6023877?" + string.Join("&", DicParameters.Select(w => w.Key + "=" + w.Value));
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url.Replace("+", "%2B"));
                HttpWebResponse Response = (HttpWebResponse)request.GetResponse();

                trade trade;
                List<orders> ordersList;
                using (Stream s = Response.GetResponseStream())
                {
                    using (StreamReader sr = new StreamReader(s))
                    {
                        string msg = sr.ReadToEnd();
                    }
                }
            }
            catch (Exception ex)
            {

                throw;
            }
        }

   /// <summary>
        /// 根据id查询单据详细信息(卖家视角)
        /// </summary>
        /// <param name="id"></param>
        /// <param name="access_token"></param>
        private void GetOrderByID(string id, string access_token)
        {
            Dictionary<string, string> DicParameters = new Dictionary<string, string>();
            //DicParameters.Add("_aop_signature", "");
            DicParameters.Add("access_token", access_token);
            DicParameters.Add("orderId", id);
            DicParameters.Add("includeFields", "NativeLogistics");
            DicParameters.Add("_aop_signature", sign("param/1/com.alibaba.trade/alibaba.trade.get.sellerView/6023877", DicParameters));
            string url = "https://gw.open.1688.com/openapi/param/1/com.alibaba.trade/alibaba.trade.get.sellerView/6023877?" + string.Join("&", DicParameters.Select(w => w.Key + "=" + w.Value));
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            using (Stream s = response.GetResponseStream())
            {
                using (StreamReader sr = new StreamReader(s))
                {
                    string json = sr.ReadToEnd();
                }
            }

        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值