public void Query(string orderNo) { orderQueryResponse response = QueryOrder(orderNo, ""); if (response != null) { //string transStatus = response.transStatus; //string errCode = response.returnInfo.errorCode; //string viewMsg = response.returnInfo.errorMsg; //string transNo = response.transNo; //string orderNo1 = response.orderNo; //string transAmoumt = response.transAmoumt; //string text = // string.Format("盛付通查询:orderNo:{0}transStatus:{1}errCode:{2}viewMsg:{3}transNo:{4}transAmoumt{5}" // , orderNo, transStatus, errCode, viewMsg, transNo, transAmoumt); ////viviLib.Logging.LogHelper.Write(text); Finish(response); } }
/// <summary> /// /// </summary> /// <param name="orderNo"></param> /// <param name="transNo"></param> /// <returns></returns> public orderQueryResponse QueryOrder(string orderNo, string transNo) { //商户订单号 //网关订单号 // string transNo = "C20130923183918278856"; //商户密钥 //string MerchantKey = suppKey; //商户号 netdemo.com.shengpay.cardpay.queryOrder.sender send = new netdemo.com.shengpay.cardpay.queryOrder.sender(); send.senderId = SenderId; netdemo.com.shengpay.cardpay.queryOrder.service ser = new netdemo.com.shengpay.cardpay.queryOrder.service(); ser.serviceCode = "QUERY_ORDER_REQUEST"; ser.version = "V4.3.1.1.1"; netdemo.com.shengpay.cardpay.queryOrder.header head = new netdemo.com.shengpay.cardpay.queryOrder.header(); head.service = ser; head.charset = "UTF-8"; //网关跟踪号, 保证唯一 head.traceNo = DateTime.Now.ToString("yyyyMMddhhmmss"); head.sender = send; head.sendTime = DateTime.Now.ToString("yyyyMMddhhmmss"); netdemo.com.shengpay.cardpay.queryOrder.extension ext = new netdemo.com.shengpay.cardpay.queryOrder.extension(); ext.ext1 = ""; ext.ext2 = ""; netdemo.com.shengpay.cardpay.queryOrder.signature sig = new netdemo.com.shengpay.cardpay.queryOrder.signature(); sig.signMsg = ""; sig.signType = "MD5"; netdemo.com.shengpay.cardpay.queryOrder.orderQueryRequest request = new netdemo.com.shengpay.cardpay.queryOrder.orderQueryRequest(); request.header = head; request.merchantNo = "107537"; //orderNo和transNo必填一个, 优先级transNo大于orderNo request.orderNo = orderNo; request.transNo = transNo; request.extension = ext; request.signature = sig; //签名字符串拼接 string sign = ser.serviceCode + ser.version + head.charset + head.traceNo + send.senderId + head.sendTime + request.merchantNo + request.orderNo + request.transNo + ext.ext1 + ext.ext2 + sig.signType + MerchantKey; sig.signMsg = MD5(sign); request.signature = sig; try { QueryOrderAPIExporterService service = new QueryOrderAPIExporterService(); orderQueryResponse response = service.queryOrder(request); //txtOrderNo.Text = response.orderNo; //txtTransNo.Text = response.transNo; //txtTransStatus.Text = response.transStatus; //txtOrderAmount.Text = response.orderAmount; //txtTransAmoumt.Text = response.transAmoumt; //txtTransTime.Text = response.transTime; return(response); } catch (Exception ex) { } return(null); }
/// <summary> /// /// </summary> /// <param name="callback"></param> public void Finish(orderQueryResponse callback) { if (callback != null) { string opstate = ""; int status = 4; string transStatus = callback.transStatus; string errCode = callback.returnInfo.errorCode; string errorMsg = callback.returnInfo.errorMsg; if (errCode == "B0532006") { return; } errCode = ""; string errMsg = ""; if (!string.IsNullOrEmpty(errorMsg)) { var ja = (Newtonsoft.Json.Linq.JArray)JsonConvert.DeserializeObject(errorMsg); foreach (Newtonsoft.Json.Linq.JObject item in ja) { if (item["errorCode"] != null) { errCode = item["errorCode"].ToString().Replace("\"", ""); } if (item["errorMsg"] != null) { errMsg = item["errorMsg"].ToString().Replace("\"", ""); } } } if (errCode == "F1032") { return; } switch (transStatus) { case "": case "00": opstate = ""; break; case "01": errCode = "0"; opstate = "0"; status = 2; break; case "02": case "03": opstate = "-1"; status = 4; break; } if (!string.IsNullOrEmpty(opstate)) { string viewMsg = errMsg; var response = new CardOrderSupplierResponse() { SupplierId = SuppId, SuppTransNo = callback.transNo, SysOrderNo = callback.orderNo, OrderAmt = decimal.Parse(callback.transAmoumt), SuppAmt = 0M, OrderStatus = status, SuppErrorCode = errCode, Opstate = opstate, SuppErrorMsg = callback.returnInfo.errorMsg, ViewMsg = viewMsg, Method = 1 }; OrderCardUtils.Finish(response); } } }