Ejemplo n.º 1
0
        /// <summary>
        /// 关闭订单接口
        /// </summary>
        /// <returns></returns>
        public ActionResult CloseOrder()
        {
#if false
            string         nonceStr          = TenPayV3Util.GetNoncestr();
            RequestHandler packageReqHandler = new RequestHandler(null);

            //设置package订单参数
            packageReqHandler.SetParameter("appid", TenPayV3Info.AppId);        //公众账号ID
            packageReqHandler.SetParameter("mch_id", TenPayV3Info.MchId);       //商户号
            packageReqHandler.SetParameter("out_trade_no", "");                 //填入商家订单号
            packageReqHandler.SetParameter("nonce_str", nonceStr);              //随机字符串
            string sign = packageReqHandler.CreateMd5Sign("key", TenPayV3Info.Key);
            packageReqHandler.SetParameter("sign", sign);                       //签名

            string data   = packageReqHandler.ParseXML();
            var    result = TenPayV3.CloseOrder(data);
            var    res    = XDocument.Parse(result);
            string openid = res.Element("xml").Element("openid").Value;
#else
            var result = TenPayV3.CloseOrder(new TenPayV3CloseOrderRequestData(
                                                 TenPayV3Info.AppId,
                                                 TenPayV3Info.MchId,
                                                 "",
                                                 TenPayV3Info.Key,
                                                 TenPayV3Util.GetNoncestr()
                                                 )).ResultXml;
            var    res    = XDocument.Parse(result);
            string openid = res.Element("xml").Element("openid").Value;
#endif
            return(Content(openid));
        }
Ejemplo n.º 2
0
        public ActionResult CloseOrder()
        {
            string nonceStr = TenPayV3Util.GetNoncestr();

            TenPayV3CloseOrderRequestData data = new TenPayV3CloseOrderRequestData(TenPayV3Info.AppId, TenPayV3Info.MchId, "商家订单号", TenPayV3Info.Key, nonceStr);
            var result = TenPayV3.CloseOrder(data);

            return(Content(result.ResultXml));
        }
        public ActionResult CloseOrder(string orderNumber)
        {
            string nonceStr = TenPayV3Util.GetNoncestr();
            //设置package订单参数
            TenPayV3CloseOrderRequestData data = new TenPayV3CloseOrderRequestData(WxOpenAppId, TenPayV3_MchId, orderNumber, TenPayV3_Key, nonceStr);
            CloseOrderResult result            = TenPayV3.CloseOrder(data);

            return(new JsonResult(HttpResult.Success(result)));
        }
Ejemplo n.º 4
0
        public void CloseOrder(string appId, string mchId, string mchKey, string localTradeNo)
        {
            string nonceStr = TenPayV3Util.GetNoncestr();
            var    result   =
                TenPayV3.CloseOrder(new TenPayV3CloseOrderRequestData(appId, mchId, localTradeNo, mchKey, nonceStr));

            if (!result.IsReturnCodeSuccess() || !result.IsResultCodeSuccess())
            {
                throw new Exception($"微信关闭订单异,localTradeNo:{localTradeNo},result:{result.ResultXml}");
            }
        }
Ejemplo n.º 5
0
        public IActionResult Close([FromRoute] string orderid)
        {
            IActionResult actionResult = NoContent();
            var           _order       = _context.Order.FirstOrDefault(od => od.OrderID == orderid);

            if (_order != null)
            {
                string         nonceStr          = TenPayV3Util.GetNoncestr();
                RequestHandler packageReqHandler = new RequestHandler(null);

                //设置package订单参数
                packageReqHandler.SetParameter("appid", TenPayV3Info.AppId);        //公众账号ID
                packageReqHandler.SetParameter("mch_id", TenPayV3Info.MchId);       //商户号
                packageReqHandler.SetParameter("out_trade_no", orderid);            //填入商家订单号
                packageReqHandler.SetParameter("nonce_str", nonceStr);              //随机字符串
                string sign = packageReqHandler.CreateMd5Sign("key", TenPayV3Info.Key);
                packageReqHandler.SetParameter("sign", sign);                       //签名

                string data = packageReqHandler.ParseXML();

                var result = TenPayV3.CloseOrder(data);
                var res    = new CloseOrderResult(result);
                if (res.result_code == WeXinUtils.SUCCESS)
                {
                    _order.OrderStatus = TradeState.CLOSED;

                    _context.SaveChanges();
                    actionResult = Ok(new { code = 0, msg = "OK" });
                }
                else
                {
                    actionResult = Ok(new { code = 1006, msg = "查询失败", res.err_code, res.err_code_des });
                }
            }
            else
            {
                actionResult = Ok(new { code = 1016, msg = $"订单{orderid}不存在" });
            }
            return(actionResult);
        }