Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
                }
            }
        }