Esempio n. 1
0
        /// <summary>
        /// 关闭订单
        /// </summary>
        /// <param name="request">提交给关闭订单API的参数</param>
        /// <param name="config"></param>
        /// <param name="timeOut">接口超时时间</param>
        /// <returns>成功时返回,其他抛异常</returns>
        public static async Task <WechatTradeCloseResponse> CloseOrderAsync(WechatTradeCloseRequest request, WechatpayConfig config, int timeOut = 6)
        {
            //检测必填参数
            if (string.IsNullOrEmpty(request.OutTradeNo))
            {
                throw new Exception("关闭订单接口中,out_trade_no必填!");
            }

            var result = await HttpService.ExecuteAsync(request, config, WechatConstants.CloseOrderUrl);

            if (result.ReturnCode != WechatConstants.SUCCESS && result.ResultCode != WechatConstants.SUCCESS)
            {
                throw new Exception(result.ReturnMsg);
            }
            return(result);
        }
Esempio n. 2
0
        public async Task Test6()
        {
            var config = new WechatpayConfig();

            var request = new WechatTradeCloseRequest
            {
                OutTradeNo = "202007297777"
            };

            var response = await WechatpayClient.CloseOrderAsync(request, config);

            if (string.IsNullOrEmpty(response.ReturnCode))
            {
                Assert.Fail();
            }
            else
            {
                Assert.Pass();
            }
        }