Example #1
0
 protected void RefundQueryGridView_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName == "refundStatus")
     {
         int    rowIndex = Convert.ToInt32(e.CommandArgument);
         string refundNo = refunds[rowIndex].refundNo.ToString();
         BCRefundStatusQueryResult result = BCPay.BCRefundStatusQuery("WX", refundNo);
         Response.Write("<span style='color:#00CD00;font-size:20px'>" + result.resultCode + "</span><br/>");
         Response.Write("<span style='color:#00CD00;font-size:20px'>" + result.resultMsg + "</span><br/>");
         Response.Write("<span style='color:#00CD00;font-size:20px'>" + result.errDetail + "</span><br/>");
         Response.Write("<span style='color:#00CD00;font-size:20px'>" + result.refundStatus + "</span><br/>");
     }
 }
Example #2
0
        /// <summary>
        ///退款状态查询"(只支持微信)
        /// </summary>
        /// <param name="channel">渠道类型
        ///     暂时只能填WX
        /// </param>
        /// <param name="refundNo">商户退款单号
        /// </param>
        /// <returns>
        ///     BCRefundStatusQueryResult
        /// </returns>
        public static BCRefundStatusQueryResult BCRefundStatusQuery(string channel, string refundNo)
        {
            Random random          = new Random();
            string refundStatusUrl = BCPrivateUtil.mLocalDefaultHosts[random.Next(0, 4)] + BCConstants.version + BCConstants.refundStatusURL;

            long timestamp = BCUtil.GetTimeStamp(DateTime.Now);

            JsonData data = new JsonData();

            data["app_id"]    = BCCache.Instance.appId;
            data["app_sign"]  = BCPrivateUtil.getAppSignature(BCCache.Instance.appId, BCCache.Instance.appSecret, timestamp.ToString());
            data["timestamp"] = timestamp;
            data["channel"]   = channel;
            data["refund_no"] = refundNo;

            string paraString = data.ToJson();
            string url        = refundStatusUrl + "?para=" + HttpUtility.UrlEncode(paraString, Encoding.UTF8);

            try
            {
                HttpWebResponse           response     = BCPrivateUtil.CreateGetHttpResponse(url, BCCache.Instance.networkTimeout, null, null);
                string                    respString   = BCPrivateUtil.GetResponseString(response);
                JsonData                  responseData = JsonMapper.ToObject(respString);
                BCRefundStatusQueryResult result       = new BCRefundStatusQueryResult();
                result.resultCode = int.Parse(responseData["result_code"].ToString());
                result.resultMsg  = responseData["result_msg"].ToString();
                if (responseData["result_code"].ToString() == "0")
                {
                    result.refundStatus = responseData["refund_status"].ToString();
                }
                else
                {
                    result.errDetail = responseData["err_detail"].ToString();
                }
                return(result);
            }
            catch (Exception e)
            {
                BCRefundStatusQueryResult result = new BCRefundStatusQueryResult();
                result.resultCode = 99;
                result.resultMsg  = e.Message;
                return(result);
            }
        }