コード例 #1
0
 /// <summary>
 /// 返回数据成功原因
 /// </summary>
 /// <param name="queryResult"></param>
 /// <param name="result"></param>
 private void DoSuccessProcess(AlipayF2FQueryResult queryResult,
                               ref Result <AlipayF2FQueryResult> result)
 {
     result.Message = "退款成功";
     result.Data    = queryResult;
     result.Status  = false;
 }
コード例 #2
0
 /// <summary>
 /// 返回数据失败原因
 /// </summary>
 /// <param name="queryResult"></param>
 /// <param name="result"></param>
 private void DoFailedProcess(AlipayF2FQueryResult queryResult,
                              ref Result <AlipayF2FQueryResult> result)
 {
     result.Message = "退款失败";
     result.Data    = queryResult;
     result.Status  = true;
 }
コード例 #3
0
        public Result QueryByOrderNo(string account, string orderNo)
        {
            Result result = new Result();

            try
            {
                result.IsOK        = true;
                result.StateCodeID = 0;
                IAlipayTradeService  serviceClient = F2FBiz.CreateClientInstance(Config.serverUrl, Config.appId, Config.merchant_private_key, Config.version, Config.sign_type, Config.alipay_public_key, Config.charset);
                AlipayF2FQueryResult queryResult   = serviceClient.tradeQuery(orderNo);
                if (queryResult != null)
                {
                    LogHelper.WriteLog(GetType()).Info(queryResult.response.OutTradeNo);
                    switch (queryResult.Status)
                    {
                    case ResultEnum.SUCCESS:
                    {
                        result = Common.Common.UpdateOrderTB(account, orderNo);
                        if (!result.IsOK)
                        {
                            return(result);
                        }
                        result.StateCodeID = 1;
                        return(result);
                    }

                    case ResultEnum.FAILED:
                    {
                        result.IsOK        = true;
                        result.Description = "未付款";
                        return(result);
                    }

                    case ResultEnum.UNKNOWN:
                        if (queryResult.response == null)
                        {
                            //result = "网络异常,请检查网络配置";
                            result.IsOK        = false;
                            result.Description = "配置或网络异常,请检查";
                            return(result);
                        }
                        else
                        {
                            result.IsOK        = false;
                            result.Description = "系统异常,请重试";
                            return(result);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(GetType()).Info(ex.StackTrace);
                result.IsOK        = false;
                result.Description = ex.Message;
            }
            return(result);
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: xiaoFeiLang/pay
 /// <summary>
 /// 请添加支付成功后的处理
 /// </summary>
 private void DoSuccessProcess(AlipayF2FQueryResult queryResult)
 {
     //支付成功,请更新相应单据
     //log.WriteLine("扫码支付成功:外部订单号" + queryResult.response.OutTradeNo);
     MessageBox.Show("success");
     //Thread td = new Thread(SetLabel);
     //td.Start();
     SetLabel();
 }
コード例 #5
0
 /// <summary>
 /// 请添加支付失败后的处理
 /// </summary>
 private void DoFailedProcess(AlipayF2FQueryResult queryResult)
 {
     using (var db = new DoCoverEntities())
     {
         var order = db.Orders.FirstOrDefault(m => m.order_id == queryResult.response.OutTradeNo);
         if (order == null)
         {
             return;
         }
         order.order_status = 0;
         db.SaveChanges();
     }
 }
コード例 #6
0
        public string CheckOrder(string out_trade_no)
        {
            AlipayF2FQueryResult queryResult = serviceClient.tradeQuery(out_trade_no);

            if (queryResult != null)
            {
                if (queryResult.Status == ResultEnum.SUCCESS)
                {
                    return(JsonConvert.SerializeObject(new ReturnResponse(200)));
                }
            }
            return(JsonConvert.SerializeObject(new ReturnResponse(25101)));;
        }
コード例 #7
0
 /// <summary>
 /// 请添加支付成功后的处理
 /// </summary>
 private void DoSuccessProcess(AlipayF2FQueryResult queryResult)
 {
     using (var db = new DoCoverEntities())
     {
         var order = db.Orders.FirstOrDefault(m => m.order_id == queryResult.response.OutTradeNo);
         if (order == null)
         {
             return;
         }
         string mail = order.order_cust_email;
         order.order_status = 3;
         db.SaveChanges();
         SendMailUse(mail, "才几美工系统", "订单提示", $"你的订单号为{queryResult.response.OutTradeNo}的订单已成功付款,请静候佳音!");
     }
 }
コード例 #8
0
        public Result CancelPreOrder(string account, string orderNo)
        {
            Result result = new Result();

            try
            {
                result.IsOK = true;

                IAlipayTradeService  serviceClient = F2FBiz.CreateClientInstance(Config.serverUrl, Config.appId, Config.merchant_private_key, Config.version, Config.sign_type, Config.alipay_public_key, Config.charset);
                AlipayF2FQueryResult queryResult   = serviceClient.tradeQuery(orderNo);
                if (queryResult != null)
                {
                    if (queryResult.Status == ResultEnum.SUCCESS)
                    {
                        result = Common.Common.UpdateOrderTB(account, orderNo);
                        if (!result.IsOK)
                        {
                            return(result);
                        }
                        result.Description = "用户已付款";
                        result.StateCodeID = 0;
                    }
                    else
                    {
                        //防止扫码之后退出续期
                        AlipayTradeCancelResponse cancelResult = serviceClient.tradeCancelResponse(orderNo);
                        if (cancelResult.Action == "close")
                        {
                            result = Common.Common.DelectOrderTB(account, orderNo);
                            if (!result.IsOK)
                            {
                                return(result);
                            }
                            result.Description = "取消订单成功";
                            result.StateCodeID = 1;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(GetType()).Info(ex.StackTrace);
                result.IsOK        = false;
                result.Description = ex.Message;
            }
            return(result);
        }
コード例 #9
0
ファイル: WSFaces.asmx.cs プロジェクト: fulingqi/FaceShirley
        public String LoopQuerys(object o)
        {
            AlipayF2FQueryResult queryResult = new AlipayF2FQueryResult();

            string out_trade_no = o.ToString();


            queryResult = serviceClient.tradeQuery(out_trade_no);
            if (queryResult != null)
            {
                if (queryResult.Status == ResultEnum.SUCCESS)
                {
                    return(DoSuccessProcess(queryResult));
                }
            }
            return(DoFailedProcess(queryResult));
        }
コード例 #10
0
ファイル: AliPay.cs プロジェクト: iJzFan/backup
        /// <summary>
        ///   查询支付订单支付情况
        /// </summary>
        /// <param name="out_trade_no">订单号</param>
        /// <param name="payType">类别ALIQR,WXQR,WXPUB,WXH5</param>
        /// <returns></returns>
        public async Task <dynamic> QueryPayStatus(string out_trade_no, string payType)
        {
            try
            {
                AlipayF2FQueryResult queryResult = new AlipayF2FQueryResult();
                queryResult = _alipayF2FService.TradeQuery($"{out_trade_no}_{payType}");
                await Task.Delay(10);

                if (queryResult?.Status == ResultEnum.SUCCESS)
                {
                    return(new { rlt = true, msg = "" });
                }
                throw new CodeException(queryResult?.Status.ToString(), queryResult?.response.Msg);
            }
            catch (Exception ex)
            {
                return(new { rlt = false, msg = ex.Message });
            }
        }
コード例 #11
0
ファイル: AlipayTradeImpl.cs プロジェクト: holaJX/AopSdkCore
        public AlipayF2FQueryResult tradeQuery(string outTradeNo)
        {
            AlipayF2FQueryResult result = new AlipayF2FQueryResult();

            try
            {
                AlipayTradeQueryContentBuilder build = new AlipayTradeQueryContentBuilder();
                build.out_trade_no = outTradeNo;
                AlipayTradeQueryRequest payRequest = new AlipayTradeQueryRequest();
                payRequest.BizContent = build.BuildJson();
                result.response       = client.Execute(payRequest);
                return(result);
            }
            catch
            {
                result.response = null;
                return(result);
            }
        }
コード例 #12
0
        /// <summary>
        /// 轮询支付结果
        /// </summary>
        /// <param name="o">订单号</param>
        public void LoopQuery(object o)
        {
            AlipayF2FQueryResult queryResult = new AlipayF2FQueryResult();
            int    count      = 100;
            int    interval   = 10000;
            string outTradeNo = o.ToString();

            for (int i = 1; i <= count; i++)
            {
                Thread.Sleep(interval);
                queryResult = _alipayF2FService.TradeQuery(outTradeNo);
                if (queryResult?.Status == ResultEnum.SUCCESS)
                {
                    DoSuccessProcess(queryResult);
                    return;
                }
            }
            DoFailedProcess(queryResult);
        }
コード例 #13
0
        //alipay.trade.query(统一收单线下交易查询)
        public bool Alipay_Query(string app_id, string merchant_private_key, string alipay_public_key, string ord_id, out string msg)
        {
            try
            {
                IAlipayTradeService sc = F2FBiz.CreateClientInstance(Config.serverUrl, app_id, merchant_private_key, Config.version,
                                                                     Config.sign_type, alipay_public_key, Config.charset);
                //商户订单号
                string out_trade_no = ord_id;

                //商户网站订单系统中唯一订单号,必填

                AlipayF2FQueryResult queryResult = sc.tradeQuery(out_trade_no);

                msg = "";
                if (queryResult.Status == ResultEnum.SUCCESS)
                {
                    return(true);
                }
                else if (queryResult.Status == ResultEnum.FAILED)
                {
                    msg = queryResult.response.Body;
                    return(false);
                }
                else
                {
                    if (queryResult.response == null)
                    {
                        msg = "配置或网络异常,请检查后重试";
                    }
                    else
                    {
                        msg = "系统异常,请重试";
                    }
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Server.LogHelper.writeLog("PreCreate ->Alipay_Query()", ex.ToString(), ord_id);
                throw ex;
            }
        }
コード例 #14
0
ファイル: WSFaces.asmx.cs プロジェクト: fulingqi/FaceShirley
        public String LoopQuery(object o)
        {
            AlipayF2FQueryResult queryResult = new AlipayF2FQueryResult();
            int    count        = 100;
            int    interval     = 10000;
            string out_trade_no = o.ToString();

            for (int i = 1; i <= count; i++)
            {
                Thread.Sleep(interval);
                queryResult = serviceClient.tradeQuery(out_trade_no);
                if (queryResult != null)
                {
                    if (queryResult.Status == ResultEnum.SUCCESS)
                    {
                        return(DoSuccessProcess(queryResult));
                    }
                }
            }
            return(DoFailedProcess(queryResult));
        }
コード例 #15
0
        public Result <AlipayF2FQueryResult> GetAliDsPosOrderQuery(string out_trade_no)
        {
            Result <AlipayF2FQueryResult> result = new Result <AlipayF2FQueryResult>();

            IAlipayTradeService serviceClient = F2FBiz.CreateClientInstance(Config.serverUrl, Config.appId, Config.merchant_private_key, Config.version,
                                                                            Config.sign_type, Config.alipay_public_key, Config.charset);

            AlipayF2FQueryResult queryResult = serviceClient.tradeQuery(out_trade_no);

            //请在这里加上商户的业务逻辑程序代码
            //——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
            switch (queryResult.Status)
            {
            case ResultEnum.SUCCESS:
                DoSuccessProcess(queryResult, ref result);
                break;

            case ResultEnum.FAILED:
                DoFailedProcess(queryResult, ref result);
                break;

            case ResultEnum.UNKNOWN:
                result.Status = false;
                if (queryResult.response == null)
                {
                    //result = "网络异常,请检查网络配置";
                    //result = "配置或网络异常,请检查";
                    result.Message = "配置或网络异常,请检查";
                }
                else
                {
                    //result = "系统异常,请重试";
                    result.Message = "系统异常,请重试";
                }
                result.Data = queryResult;
                break;
            }
            return(result);
        }
コード例 #16
0
        protected void BtnAlipay_Click(object sender, EventArgs e)
        {
            ////////////////////////////////////////////请求参数////////////////////////////////////////////

            //商户订单号
            string out_trade_no = WIDout_trade_no.Text.Trim();

            //商户网站订单系统中唯一订单号,必填

            AlipayF2FQueryResult queryResult = serviceClient.tradeQuery(out_trade_no);

            //请在这里加上商户的业务逻辑程序代码
            //——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
            switch (queryResult.Status)
            {
            case AlipayResultEnum.SUCCESS:
                DoSuccessProcess(queryResult);
                break;

            case AlipayResultEnum.FAILED:
                DoFailedProcess(queryResult);
                break;

            case AlipayResultEnum.UNKNOWN:
                if (queryResult.response == null)
                {
                    //result = "网络异常,请检查网络配置";
                    result = "配置或网络异常,请检查";
                }
                else
                {
                    result = "系统异常,请重试";
                }

                break;
            }
            Response.Redirect("result.aspx?Text=" + result);
        }
コード例 #17
0
 private void DoFailedProcess(AlipayF2FQueryResult queryResult)
 {
     //请添加查询支付失败的处理
     result = queryResult.response.Body;
 }
コード例 #18
0
 private void DoSuccessProcess(AlipayF2FQueryResult queryResult)
 {
     //请添加支付成功后的处理
     result = queryResult.response.Body;
 }
コード例 #19
0
ファイル: precreate.aspx.cs プロジェクト: bowena/faka
 /// <summary>
 /// 请添加支付失败后的处理
 /// </summary>
 private void DoFailedProcess(AlipayF2FQueryResult queryResult)
 {
     //支付失败,请更新相应单据
 }
コード例 #20
0
ファイル: precreate.aspx.cs プロジェクト: bowena/faka
 /// <summary>
 /// 请添加支付成功后的处理
 /// </summary>
 private void DoSuccessProcess(AlipayF2FQueryResult queryResult)
 {
     //支付成功,请更新相应单据
     log.WriteLine("扫码支付成功:外部订单号" + queryResult.response.OutTradeNo);
 }
コード例 #21
0
 /// <summary>
 /// 请添加支付失败后的处理
 /// </summary>
 private void DoFailedProcess(AlipayF2FQueryResult queryResult)
 {
     //支付失败,请更新相应单据
     Console.WriteLine("扫码支付失败:商户订单号 " + queryResult.response.OutTradeNo);
 }
コード例 #22
0
ファイル: WSFaces.asmx.cs プロジェクト: fulingqi/FaceShirley
 /// <summary>
 /// 请添加支付失败后的处理
 /// </summary>
 private String DoFailedProcess(AlipayF2FQueryResult queryResult)
 {
     //支付失败,请更新相应单据
     return("{'code':'2','msg':'支付失败,请重新支付'}");
 }
コード例 #23
0
ファイル: WSFaces.asmx.cs プロジェクト: fulingqi/FaceShirley
 /// <summary>
 /// 请添加支付成功后的处理
 /// </summary>
 private String DoSuccessProcess(AlipayF2FQueryResult queryResult)
 {
     //支付成功,请更新相应单据
     // log.WriteLine("扫码支付成功:外部订单号" + queryResult.response.OutTradeNo);
     return("{'code':'1','msg':'支付成功'}");
 }
コード例 #24
0
ファイル: Form1.cs プロジェクト: xiaoFeiLang/pay
 /// <summary>
 /// 请添加支付失败后的处理
 /// </summary>
 private void DoFailedProcess(AlipayF2FQueryResult queryResult)
 {
     //支付失败,请更新相应单据
     MessageBox.Show("Fail");
 }