/// <summary> /// 获取订单状态 /// </summary> /// <param name="Tid"></param> /// <returns></returns> public string GetStatus(long Tid, Models.UserTaoOAuth taoUserOAuth) { try { string result = "拦截失败"; ITopClient client = new DefaultTopClient(url_api, this.AppKey, this.AppSecret); TradeGetRequest request = new TradeGetRequest { Fields = "status", Tid = Tid }; TradeGetResponse response = client.Execute <TradeGetResponse>(request, taoUserOAuth.access_token); if (response.Trade.Status == "TRADE_CLOSED") { result = "拦截成功[退款关单]"; } else if (response.Trade.Status == "TRADE_CLOSED_BY_TAOBAO") { result = "拦截成功[直接关单]"; } else { result = "拦截失败[" + response.Trade.Status + "]"; } return(result); } catch (Exception e) { throw new Exception("TradeGetRequest Failure.", e); } }
public ApiResult CanBeClose(long tid, Models.UserTaoOAuth taoUserOAuth) { bool result = false; try { ITopClient client = new DefaultTopClient(url_api, this.AppKey, this.AppSecret); TradeGetRequest request = new TradeGetRequest { Fields = "status", Tid = tid }; TradeGetResponse response = client.Execute <TradeGetResponse>(request, taoUserOAuth.access_token); if (response.Trade.Status == "TRADE_NO_CREATE_PAY")//没有创建支付宝交易 { result = true; } else if (response.Trade.Status == "WAIT_BUYER_PAY")//等待买家付款 { result = true; } return(new ApiResult(result, response.Trade.Status)); } catch (Exception e) { throw new Exception("TradeGetRequest Failure.", e); } }
/// <summary> /// 获取单笔交易的部分信息:查询该笔订单是否有退货 /// </summary> /// <param name="tid"></param> /// <returns></returns> public string GetBuyerTradeByTid(long tid) { try { ITopClient client = TBManager.GetClient(); TradeGetRequest req = new TradeGetRequest(); req.Fields = "orders.buyer_nick,orders.refund_status"; req.Tid = tid; TradeGetResponse response = client.Execute(req, Users.SessionKey); Trade trade = response.Trade; string buyerNick = ""; if (trade != null) { if (trade.Orders.Count > 0) { foreach (Order o in trade.Orders) {//查询该笔交易,如果有订单退款马上返回该买家 if (o.RefundStatus.Equals("SUCCESS")) { buyerNick = o.BuyerNick; } break; } } } return(buyerNick); } catch (Exception ex) { CHENGTUAN.Components.ExceptionReporter.WriteLog(ex, CHENGTUAN.Entity.ExceptionPostion.TopApi); return(""); } }
/// <summary> /// 获取单笔交易的部分信息(性能高) /// </summary> /// <param name="sessionKey"></param> /// <param name="tid"></param> /// <param name="ErrorMsg"></param> /// <returns></returns> internal Trade GetTrade(string sessionKey, string tid, out string ErrorMsg) { ErrorMsg = null; List <Trade> ListTrades = new List <Trade>(); try { ITopClient client = new DefaultTopClient(StaticSystemConfig.soft.ApiURL, StaticSystemConfig.soft.AppKey, StaticSystemConfig.soft.AppSecret, "json"); TradeGetRequest req = new TradeGetRequest(); req.Fields = "tid,created,pay_time,end_time,status,snapshot_url,buyer_message,price,buyer_nick ,seller_nick, buyer_nick, title, type, created, tid, seller_rate,seller_can_rate, buyer_rate,can_rate, status, payment, discount_fee, adjust_fee, post_fee, total_fee, pay_time, end_time, modified, consign_time, buyer_obtain_point_fee, point_fee, real_point_fee, received_payment, pic_path, num_iid, num, price, cod_fee, cod_status, shipping_type, receiver_name, receiver_state, receiver_city, receiver_district, receiver_address, receiver_zip, receiver_mobile, receiver_phone,seller_flag,alipay_id,alipay_no,is_lgtype,is_force_wlb,is_brand_sale,buyer_area,has_buyer_message, credit_card_fee, lg_aging_type, lg_aging, step_trade_status,step_paid_fee,mark_desc,has_yfx,yfx_fee,yfx_id,yfx_type,trade_source,send_time,is_daixiao,is_wt,is_part_consign,zero_purchase,orders"; if (tid == null) { ErrorMsg = "交易编号不能为空!"; return(null); } req.Tid = long.Parse(tid); TradeGetResponse response = client.Execute(req, sessionKey); if (response.IsError) { ErrorMsg = response.SubErrMsg; return(null); } else { TopJsonParser topjson = new TopJsonParser(); TradeMemoAddResponse1 resp = topjson.Parse <TradeMemoAddResponse1>(response.Body); return(resp.Trade); } } catch (Exception ex) { throw ex; } }
/// <summary> /// 获取订单状态 /// </summary> /// <param name="tid"></param> /// <returns></returns> public ApiResult <string> GetTradeStatus(long tid) { ITopClient client = GetTopClient(); TradeGetRequest request = new TradeGetRequest { Fields = "status", Tid = tid }; TradeGetResponse response = client.Execute <TradeGetResponse>(request, AccessToken); return(response.AsApiResult(() => response.Trade.Status)); }
/// <summary> /// 获取交易对应的信息 /// </summary> /// <param name="tid"></param> /// <param name="sesionKey"></param> /// <returns></returns> public static Trade GetBuyerTrade(string tid, string sesionKey) { try { ITopClient client = TBManager.GetClient(); TradeGetRequest req = new TradeGetRequest(); req.Fields = @"orders.seller_rate,orders.buyer_rate,orders.oid"; req.Tid = Convert.ToInt64(tid == "" ? "0" : tid); TradeGetResponse response = client.Execute(req, sesionKey); return(response.Trade); } catch (Exception ex) { CHENGTUAN.Components.ExceptionReporter.WriteLog(ex, CHENGTUAN.Entity.ExceptionPostion.TopApi); return(null); } }
public Trade getRemarkMsg(string orderId) { List <Trade> list = new List <Trade>(); //ITopClient client = new DefaultTopClient(Url, Appkey, Appsecret); //TradeFullinfoGetRequest req = new TradeFullinfoGetRequest(); //req.Fields = "seller_memo,seller_flag,tid"; //req.Tid = helpcommon.ParmPerportys.GetLongParms(orderId); //TradeFullinfoGetResponse response = client.Execute(req, Sessionkey); //Trade td = response.Trade; ITopClient client = new DefaultTopClient(Url, Appkey, Appsecret); TradeGetRequest req = new TradeGetRequest(); req.Fields = "seller_memo,tid"; req.Tid = 1007800652310837L; TradeGetResponse response = client.Execute(req, Sessionkey); Trade td = response.Trade; return(td); }
public void TestTradeMemoUpdate() { string OrderId = "E20201030104820051104261"; var request = new TradeGetRequest(); request.Tid = OrderId; YouZanResponse <TradeGetResponse> response = api.TradesGet(request); if (response.Data.DeliveryOrder.Count > 0 && response.Data.DeliveryOrder[0].ExpressState == 1) { //已发货 } var tradeMemo = response.Data; var updateRequest = new TradeMemoUpdateRequest(); updateRequest.Tid = OrderId; updateRequest.Memo = tradeMemo.FullOrderInfo.RemarkInfo.TradeMemo + "测试更新备注-审核通过"; var updateResponse = api.TradeMemoUpdate(updateRequest); var success = updateResponse.Response.IsSuccess; }
/// <summary> /// 根据订单号获取商品ID /// </summary> /// <param name="tid"></param> /// <returns></returns> public Trade GetTradeDetailByTid(long tid, Models.UserTaoOAuth taoUserOAuth) { try { ITopClient client = new DefaultTopClient(url_api, this.AppKey, this.AppSecret); TradeGetRequest request = new TradeGetRequest { Fields = "tid,seller_nick,buyer_nick,num_iid,status,num,created,payment,pay_time,price", Tid = tid }; TradeGetResponse tgr = client.Execute <TradeGetResponse>(request, taoUserOAuth.access_token); if (tgr.Trade == null) { SignalRServer.Instance.Clients.User(taoUserOAuth.taobao_user_nick).OnMessage("订单查询失败:" + tgr.Body); } return(tgr.Trade); } catch (Exception e) { throw new Exception("TradeGetRequest Failure.", e); } }
/// <summary> /// 根据订单号获取商品ID /// </summary> /// <param name="tid"></param> /// <returns></returns> public string GetItemID(long tid, Models.UserTaoOAuth taoUserOAuth) { try { ITopClient client = new DefaultTopClient(url_api, this.AppKey, this.AppSecret); TradeGetRequest request = new TradeGetRequest { Fields = "num_iid", Tid = tid }; var resp = client.Execute <TradeGetResponse>(request, taoUserOAuth.access_token); if (resp.IsError) { SignalRServer.Instance.Clients.User(taoUserOAuth.taobao_user_nick).OnMessage("宝贝ID查询失败:" + resp.Body); } return(resp.Trade.NumIid.ToString()); } catch (Exception e) { throw new Exception("TradeGetRequest Failure.", e); } }
static void GetSellerMemo(ITopClient client, Trade trade) { if (!String.IsNullOrEmpty(trade.SellerMemo)) return; TradeGetRequest req = new TradeGetRequest(); req.Fields = "seller_memo"; req.Tid = trade.Tid; TradeGetResponse response = client.Execute(req, Global.SessionKey); if (response.Trade != null && !String.IsNullOrEmpty(response.Trade.SellerMemo)) trade.SellerMemo = response.Trade.SellerMemo; }