Esempio n. 1
0
        /// <summary>
        /// 查询订单
        /// </summary>
        /// <param name="requestModel">请求内容</param>
        /// <returns></returns>
        public static QueryResponseModel Query(QueryModel requestModel)
        {
            AlipayTradeQueryRequest queryRequset = new AlipayTradeQueryRequest();

            queryRequset.BizContent = JsonConvert.SerializeObject(requestModel);
            LogUtil.WriteAlipayLog("查询订单请求", "请求参数", queryRequset.BizContent);
            Dictionary <string, string> paramsDict    = (Dictionary <string, string>)queryRequset.GetParameters();
            AlipayTradeQueryResponse    queryResponse = _client.Execute(queryRequset);

            LogUtil.WriteAlipayLog("查询订单响应", "响应参数", queryResponse.Body);
            return(new QueryResponseModel
            {
                msg = queryResponse.Msg,
                code = queryResponse.Code,
                subcode = queryResponse.SubCode,
                submsg = queryResponse.SubMsg,
                trade_no = queryResponse.TradeNo,
                invoice_amount = queryResponse.InvoiceAmount,
                point_amount = queryResponse.PointAmount,
                receipt_amount = queryResponse.ReceiptAmount,
                trade_status = queryResponse.TradeStatus,
                buyer_logon_id = queryResponse.BuyerLogonId,
                buyer_pay_amount = queryResponse.BuyerPayAmount,
                out_trade_no = queryResponse.OutTradeNo,
                buyer_user_id = queryResponse.BuyerUserId,
                total_amount = queryResponse.TotalAmount
            });
        }
Esempio n. 2
0
        public IActionResult Query(string WIDout_trade_no, string WIDtrade_no)
        {
            DefaultAopClient client = new DefaultAopClient(_settings.Value.gateway_url, _settings.Value.app_id, _settings.Value.private_key, _settings.Value.format, _settings.Value.version, _settings.Value.sign_type, _settings.Value.alipay_public_key, _settings.Value.charset, false);

            // 商户订单号,和交易号不能同时为空
            string out_trade_no = WIDout_trade_no;

            // 支付宝交易号,和商户订单号不能同时为空
            string trade_no = WIDtrade_no;

            AlipayTradeQueryModel model = new AlipayTradeQueryModel
            {
                OutTradeNo = out_trade_no,
                TradeNo    = trade_no
            };

            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

            request.SetBizModel(model);

            AlipayTradeQueryResponse response = null;

            try
            {
                response = client.Execute(request);
                // response.Body;
            }
            catch (Exception exp)
            {
                throw exp;
            }

            return(Content(response.Body));
        }
Esempio n. 3
0
        private AlipayTradeQueryResponse LoopQuery(string biz_content)
        {
            AlipayTradeQueryRequest payRequst = new AlipayTradeQueryRequest();

            payRequst.BizContent = biz_content;

            Dictionary <string, string> paramsDict  = (Dictionary <string, string>)payRequst.GetParameters();
            AlipayTradeQueryResponse    payResponse = null;

            for (int i = 1; i <= 6; i++)
            {
                Thread.Sleep(5000);

                payResponse = client.Execute(payRequst);
                if (string.Compare(payResponse.Code, ResultCode.SUCCESS, false) == 0)
                {
                    if (payResponse.TradeStatus == "TRADE_FINISHED" ||
                        payResponse.TradeStatus == "TRADE_SUCCESS" ||
                        payResponse.TradeStatus == "TRADE_CLOSED")
                    {
                        break;
                    }
                }
            }

            StringBuilder sb1 = new StringBuilder();

            sb1.Append("{\"out_trade_no\":\"" + payResponse.OutTradeNo + "\"}");
            biz_content = sb1.ToString();
            Cancel(biz_content);

            return(payResponse);
        }
Esempio n. 4
0
        public JsonResult QueryInfo(string tradeno, string alipayTradeNo)
        {
            DefaultAopClient client = new DefaultAopClient(Config.gatewayUrl, Config.app_id, Config.private_key, "json", "1.0", Config.sign_type, Config.alipay_public_key, Config.charset, false);

            AlipayTradeQueryModel model = new AlipayTradeQueryModel();

            // 商户订单号,和交易号不能同时为空
            model.OutTradeNo = tradeno;
            // 支付宝交易号,和商户订单号不能同时为空
            model.TradeNo = alipayTradeNo;

            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

            request.SetBizModel(model);

            AlipayTradeQueryResponse response = null;

            try
            {
                response = client.Execute(request);
                return(Json(response.Body));
            }
            catch (Exception exp)
            {
                throw exp;
            }
        }
 /// <summary>
 /// 查询二维码支付结果
 /// </summary>
 /// <param name="outTradeNo">设备订单号</param>
 /// <param name="outPut">return true 函数调用成功,"TRADE_SUCCESS" 交易已支付,rerun false 输出接口调用失败原因</param>
 /// <returns></returns>
 public bool TradeQuery(string outTradeNo, out string outPut)
 {
     try
     {
         // 1. 发起API调用
         AlipayTradeQueryResponse response = Factory.Payment.Common().Query(outTradeNo);
         // 2. 处理响应或异常
         if ("10000".Equals(response.Code))
         {
             //Console.WriteLine("调用成功");
             outPut = response.TradeStatus;
             return(true);
         }
         else
         {
             //Console.WriteLine("调用失败,原因:" + response.Msg + "," + response.SubMsg);
             outPut = response.Msg + "," + response.SubMsg;
         }
     }
     catch (Exception ex)
     {
         //Console.WriteLine("调用遭遇异常,原因:" + ex.Message);
         outPut = ex.Message;
     }
     return(false);
 }
Esempio n. 6
0
        /// <summary>
        /// 查询订单
        /// </summary>
        public ActionResult Query()
        {
            DefaultAopClient client = new DefaultAopClient(Help.gatewayUrl, Help.app_id, Help.private_key, "json", "1.0", Help.sign_type, Help.alipay_public_key, Help.charset, false);

            // 商户订单号,和交易号不能同时为空
            string out_trade_no = "22222";

            // 支付宝交易号,和商户订单号不能同时为空
            string trade_no = "222222";

            AlipayTradeQueryModel model = new AlipayTradeQueryModel();

            model.OutTradeNo = out_trade_no;
            model.TradeNo    = trade_no;

            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

            request.SetBizModel(model);

            AlipayTradeQueryResponse response = null;

            try
            {
                response = client.Execute(request);
                return(Content(response.Body));
            }
            catch (Exception exp)
            {
                throw exp;
            }
        }
Esempio n. 7
0
    protected void BtnAlipay_Click(object sender, EventArgs e)
    {
        DefaultAopClient client = new DefaultAopClient(Config.gatewayUrl, Config.app_id, Config.merchant_private_key, "json", "1.0", Config.sign_type, Config.alipay_public_key, Config.charset, true);

        // 商户订单号,和交易号不能同时为空
        string out_trade_no = WIDout_trade_no.Text.Trim();

        // 支付宝交易号,和商户订单号不能同时为空
        string trade_no = WIDtrade_no.Text.Trim();

        AlipayTradeQueryModel model = new AlipayTradeQueryModel();

        model.OutTradeNo = out_trade_no;
        model.TradeNo    = trade_no;

        AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

        request.SetBizModel(model);

        AlipayTradeQueryResponse response = null;

        try
        {
            response       = client.Execute(request);
            WIDresule.Text = response.Body;
        }
        catch (Exception exp)
        {
            throw exp;
        }
    }
Esempio n. 8
0
 public static bool QueryPayResult(string companyId, string out_trade_no, string trade_no, out DateTime payTime)
 {
     payTime = DateTime.Now;
     try
     {
         AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
         request.BizContent = "{" +
                              "\"out_trade_no\":\"" + out_trade_no + "\"," +
                              "\"trade_no\":\"" + trade_no + "\"" +
                              "}";
         AlipayTradeQueryResponse response = GetDefaultAopClient(companyId).Execute(request);
         if (response.IsError)
         {
             TxtLogServices.WriteTxtLogEx("AliPayApiServices", string.Format("查询支付宝交易状态失败:{0}", response.Body));
             return(false);
         }
         TxtLogServices.WriteTxtLogEx("AliPayApiServices", string.Format("查询支付状态结果:{0}", response.Body));
         if (response.TradeStatus == "TRADE_SUCCESS" || response.TradeStatus == "TRADE_FINISHED")
         {
             TxtLogServices.WriteTxtLogEx("AliPayApiServices", string.Format("查询支付状态结果 支付时间:{0}", response.SendPayDate));
             DateTime.TryParse(response.SendPayDate, out payTime);
             return(true);
         }
     }
     catch (Exception ex)
     {
         TxtLogServices.WriteTxtLogEx("AliPayApiServices", string.Format("查询支付宝交易状态失败:{0}", ex.Message));
     }
     return(false);
 }
Esempio n. 9
0
        private AlipayTradeQueryResponse LoopQuery(string biz_content)
        {
            AlipayTradeQueryRequest payRequst = new AlipayTradeQueryRequest();

            payRequst.BizContent = biz_content;

            Dictionary <string, string> paramsDict  = (Dictionary <string, string>)payRequst.GetParameters();
            AlipayTradeQueryResponse    payResponse = null;

            for (int i = 0; i < retryCount; i++)
            {
                Thread.Sleep(3000);

                payResponse = client.Execute(payRequst);
                if (string.Compare(payResponse.Code, qrcode._2.ResultCode.SUCCESS, false) == 0)
                {
                    if (payResponse.TradeStatus == "TRADE_FINISHED" ||
                        payResponse.TradeStatus == "TRADE_SUCCESS" ||
                        payResponse.TradeStatus == "TRADE_CLOSED")
                    {
                        return(payResponse);
                    }
                }
            }
            return(null);
        }
Esempio n. 10
0
        public static int AlipayAPPOrderQuery(string out_trade_no)
        {
            DefaultAopClient      client = new DefaultAopClient(AlipayConfig.mobile_gatewayUrl, AlipayConfig.mobile_app_id, AlipayConfig.mobile_private_key_value, "json", "1.0", AlipayConfig.sign_type, AlipayConfig.mobile_public_key_value, AlipayConfig.charset, false);
            AlipayTradeQueryModel model  = new AlipayTradeQueryModel();

            model.OutTradeNo = out_trade_no;

            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

            request.BizContent = "{\"out_trade_no\":\"" + out_trade_no + "\"}";
            request.SetBizModel(model);
            AlipayTradeQueryResponse response = new AlipayTradeQueryResponse();

            try
            {
                response = client.Execute(request);
                if (response.TradeStatus.Equals(AliPayTradeStatus.WAIT_BUYER_PAY.ToString()))
                {
                    return(1);
                }
                if (response.TradeStatus.Equals(AliPayTradeStatus.TRADE_SUCCESS.ToString()))
                {
                    Web.APPCode.PaymentHelper.SaveRoomFee(out_trade_no, "APP支付宝支付", "支付宝");
                    return(2);
                }
                return(3);
            }
            catch (Exception exp)
            {
                LogHelper.WriteError("PaymentHelper", "AlipayAPPOrderQuery", exp);
                return(3);
            }
        }
Esempio n. 11
0
        public void should_be_able_to_convert_json_to_response_object()
        {
            string body = "{\"alipay_trade_create_response\":{\"code\":\"10000\",\"msg\":\"Success\",\"out_trade_no\":\"20150320010101001\","
                          + "\"fund_bill_list\":[{\"amount\":\"123\"},{\"amount\":\"456\"}],\"voucher_detail_list\":[{\"id\":\"id123\","
                          + "\"other_contribute_detail\":[{\"contribute_amount\":\"123\"}]}],\"test1\":{\"id\":\"id222\","
                          + "\"other_contribute_detail\":[{\"contribute_amount\":\"222\"}]},\"test2\":123,\"test3\":5223434252345,\"test4\":1234567.89,"
                          + "\"test5\":true,\"test6\":null,\"test_list1\":[123,123,123],\"test_list2\":[5223434252345,5223434252345,5223434252345],"
                          + "\"test_list3\":[1234567.89,1234567.89,1234567.89],\"test_list4\":[true,false,true],\"test_list5\":[\"a\",null,\"c\"],},"
                          + "\"sign\":\"TS355N0QjK1r9GyD4YOsG5esszSUhESgwu1q5\"}";
            AopJsonParser <AlipayTradeQueryResponse> parser = new AopJsonParser <AlipayTradeQueryResponse>();
            AlipayTradeQueryResponse resposne = parser.Parse(body, "utf-8");

            Assert.AreEqual(resposne.Msg, "Success");
            Assert.AreEqual(resposne.OutTradeNo, "20150320010101001");
            Assert.AreEqual(resposne.OutTradeNo, "20150320010101001");
            Assert.AreEqual(resposne.FundBillList.Count, 2);
            Assert.AreEqual(resposne.FundBillList[0].Amount, "123");
            Assert.AreEqual(resposne.VoucherDetailList[0].OtherContributeDetail[0].ContributeAmount, "123");

            Assert.AreEqual(resposne.Test1.Id, "id222");
            Assert.AreEqual(resposne.Test1.OtherContributeDetail[0].ContributeAmount, "222");

            Assert.AreEqual(resposne.Test2, 123);
            Assert.AreEqual(resposne.Test3, 5223434252345);
            Assert.AreEqual(resposne.Test4, 1234567.89);
            Assert.AreEqual(resposne.Test5, true);
            Assert.AreEqual(resposne.Test6, null);

            Assert.AreEqual(resposne.TestList1[2], 123);
            Assert.AreEqual(resposne.TestList2[2], 5223434252345);
            Assert.AreEqual(resposne.TestList3[2], 1234567.89);
            Assert.AreEqual(resposne.TestList4[2], true);
            Assert.AreEqual(resposne.TestList5[1], null);
            Assert.AreEqual(resposne.TestList5[2], "c");
        }
Esempio n. 12
0
        /// <summary>
        /// 订单是否支付成功
        /// </summary>
        public bool IsPaySuccess(string orderNo, decimal amount)
        {
            bool success = false;

            //组装业务参数
            var model = new AlipayTradeQueryModel()
            {
                OutTradeNo = orderNo
            };

            var request = new AlipayTradeQueryRequest();

            request.SetBizModel(model);

            AlipayTradeQueryResponse response = aopClient.Execute(request);

            if (response != null && response.Code == "10000")
            {
                if (response.TradeStatus == AliPayTradeStatus.TRADE_SUCCESS.ToString() || response.TradeStatus == AliPayTradeStatus.TRADE_FINISHED.ToString())
                {
                    if (response.TotalAmount.ToDecimal() == amount)
                    {
                        success = true;
                    }
                }
            }

            //记日志response.ToJson();

            return(success);
        }
Esempio n. 13
0
        private void btnQuery_Click(object sender, EventArgs e)
        {
            AlipayTradeQueryResponse queryResponse = null;

            try
            {
                queryResponse = m_Alipay.Query(m_OutTradeNoStr);
            }
            catch (System.Net.WebException wex)
            {
                Message(wex.Message);
                MessageBox.Show("发生网络错误, 无法连至支付宝服务器!");
                this.DialogResult = DialogResult.Cancel;
                Close();
                return;
            }
            catch (Exception ex)
            {
                Message(ex.Message);
                MessageBox.Show("发生错误!");
                this.DialogResult = DialogResult.Cancel;
                Close();
                return;
            }


            if (queryResponse != null)
            {
                if (queryResponse.Code == ResultCode.SUCCESS)
                {
                    switch (queryResponse.TradeStatus)
                    {
                    case "TRADE_SUCCESS":   Message("==>交易支付成功");
                        btnSuccess.Enabled = true;
                        SaveToDB(queryResponse.TradeNo, queryResponse.OpenId, queryResponse.BuyerLogonId);
                        return;

                    case "TRADE_FINISHED":  Message("==>交易结束,不可退款"); return;

                    case "TRADE_CLOSED":    Message("==>交易己关闭或已全额退款!"); return;

                    case "WAIT_BUYER_PAY":  Message("==>交易创建,等待买家付款..."); return;
                    }
                }
                else if (queryResponse.Code == ResultCode.FAIL)
                {
                    Message("查询<" + queryResponse.Msg + ">" + queryResponse.SubMsg);
                }
            }
            else
            {
                Message("沒有傳回訊息!...");
            }
        }
Esempio n. 14
0
        public void TestQuery()
        {
            AlipayTradeQueryResponse response = Factory.Payment.Common().Query("1234567890");

            Assert.AreEqual(response.Code, "10000");
            Assert.AreEqual(response.Msg, "Success");
            Assert.Null(response.SubCode);
            Assert.Null(response.SubMsg);
            Assert.NotNull(response.HttpBody);
            Assert.AreEqual(response.OutTradeNo, "1234567890");
        }
Esempio n. 15
0
        public string query(AlipayTradeQueryModel para)
        {
            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

            // 将业务model载入到request
            request.SetBizModel(para);

            AlipayTradeQueryResponse response = client.Execute(request);

            return(response.Body);
        }
Esempio n. 16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string cookiename = null;
                try
                {
                    //通过存储的账户名cookie,来取出对应的账户名
                    //存进的cookie经过加密是一段字符串,需要进行解密,再取
                    FormsAuthenticationTicket ticke = null;
                    string user = Request.Cookies["user"].Value;
                    ticke        = FormsAuthentication.Decrypt(user);
                    cookiename   = ticke.Name;
                    lblogin.Text = "欢迎您!" + cookiename;
                }
                catch (Exception) {
                    if (cookiename == null)
                    {
                        lblogin.Text = "还没登陆,请登录!";
                    }
                }

                //分类展示
                Repeater1.DataSource = BLL.UserBLL.CategoryList();
                Repeater1.DataBind();

                //产品列表展示
                Repeater2.DataSource = BLL.UserBLL.ProductList();
                Repeater2.DataBind();

                //右上角临时购物车展示
                Repeater3.DataSource = BLL.UserBLL.CartList(cookiename);
                Repeater3.DataBind();


                //统计购物车有多少条购物记录
                num = BLL.UserBLL.CountNum(cookiename);

                //支付完成通过传过来的out_trade_no参数来判断是否支付成功
                if (Request.QueryString["out_trade_no"] != null)
                {
                    //通过调用支付宝的API来进行校验查询返回结果
                    AlipayTradeQueryResponse response = Factory.Payment.Common().Query(Request.QueryString["out_trade_no"]);
                    if (ResponseChecker.Success(response))
                    {
                        if (response.TradeStatus.Equals("TRADE_SUCCESS"))
                        {
                            //支付成功清空购物车
                            BLL.UserBLL.UpdateState(response.OutTradeNo);
                        }
                    }
                }
            }
        }
Esempio n. 17
0
        private AlipayTradeQueryResponse Query(string biz_content)
        {
            AlipayTradeQueryRequest payRequst = new AlipayTradeQueryRequest();

            payRequst.BizContent = biz_content;

            Dictionary <string, string> paramsDict  = (Dictionary <string, string>)payRequst.GetParameters();
            AlipayTradeQueryResponse    payResponse = client.Execute(payRequst);

            return(payResponse);
        }
Esempio n. 18
0
        public void TestQuery()
        {
            AlipayTradeQueryResponse response = Factory.Payment.Common().Query("6f149ddb-ab8c-4546-81fb-5880b4aaa318");

            Assert.AreEqual(response.Code, "10000");
            Assert.AreEqual(response.Msg, "Success");
            Assert.Null(response.SubCode);
            Assert.Null(response.SubMsg);
            Assert.NotNull(response.HttpBody);
            Assert.AreEqual(response.OutTradeNo, "6f149ddb-ab8c-4546-81fb-5880b4aaa318");
        }
Esempio n. 19
0
        public void Query()
        {
            IAopClient client = GetClient();
            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

            request.BizContent = "{" +
                                 "    \"out_trade_no\":\"20150320010101001\"," +
                                 "    \"trade_no\":\"2014112611001073956707\"" +
                                 "  }";

            AlipayTradeQueryResponse response = client.Execute(request);
        }
Esempio n. 20
0
 public void SetAlipayResult(AlipayTradeQueryResponse response)
 {
     base.SetAlipayResult(response);
     if (!this.IsError)
     {
         this.OnlineTradeNo = response.TradeNo;
         this.OutTradeNo    = response.OutTradeNo;
         this.TradeStatus   = response.TradeStatus;
         this.TotalAmount   = response.TotalAmount;
         this.TradeTime     = Convert.ToDateTime(response.SendPayDate);
     }
 }
Esempio n. 21
0
        public void QueryBody()
        {
            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

            request.BizContent = "{" +
                                 "\"out_trade_no\":\"\"," +
                                 "\"trade_no\":\"2018020121001004630200415086\"" +
                                 "}";
            AlipayTradeQueryResponse response = client.pageExecute(request);

            System.Web.HttpContext.Current.Response.Write(response.Body);
        }
Esempio n. 22
0
        /// <summary>
        /// 得到支付结果
        /// </summary>
        /// <param name="number"></param>
        /// <returns></returns>
        protected virtual string GetPayResult(string number)
        {
            var builder = new StringBuilder("{");

            builder.AppendFormat("\"out_trade_no\":\"{0}\",", number);
            builder.Append("}");
            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

            request.BizContent = builder.ToString();
            AlipayTradeQueryResponse response = AopClient.pageExecute(request);

            return(response.TradeStatus);
        }
Esempio n. 23
0
        /// <summary>
        /// 两个都填的话按trade_no去查
        /// </summary>
        /// <param name="out_trade_no"></param>
        /// <param name="trade_no"></param>
        public void CheckPay(string out_trade_no, string trade_no)
        {
            IAopClient client = new DefaultAopClient(Config.ServerUrl, DianPingConfig.ShiAnDianPingAppId, DianPingConfig.merchavatent_pri_key, "json", "utf-8", "RSA", DianPingConfig.alipay_public_key);

            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

            request.BizContent = "{" +
                                 "    \"out_trade_no\":\"" + out_trade_no + "\"," +
                                 "    \"trade_no\":\"" + trade_no + "\"" +
                                 "  }";

            AlipayTradeQueryResponse response = client.Execute(request);

            Response.Write(response.Body);
        }
Esempio n. 24
0
 private AlipayTradeQueryResponse sendTradeQuery(string outTradeNo)
 {
     try
     {
         AlipayTradeQueryContentBuilder build = new AlipayTradeQueryContentBuilder();
         build.out_trade_no = outTradeNo;
         AlipayTradeQueryRequest payRequest = new AlipayTradeQueryRequest();
         payRequest.BizContent = build.BuildJson();
         AlipayTradeQueryResponse payResponse = client.Execute(payRequest);
         return(payResponse);
     }
     catch
     {
         return(null);
     }
 }
Esempio n. 25
0
        /// <summary>
        /// 统一收单线下交易查询接口
        /// </summary>
        /// <returns></returns>
        public AlipayTradeQueryResponseViewModel GetTraceMsg(string out_trade_no, string trade_no)
        {
            IAopClient client = new DefaultAopClient(Gatewayurl, AppId, PrivateKey, "json", "1.0", SignType, AlipayPublicKey, CharSet, false);

            Dictionary <string, string> biz = new Dictionary <string, string>();

            biz.Add("out_trade_no", out_trade_no);
            biz.Add("trade_no", trade_no);

            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

            request.BizContent = JsonConvert.SerializeObject(biz);

            AlipayTradeQueryResponse response = client.Execute(request);

            return(JsonConvert.DeserializeObject <AlipayTradeQueryResponseViewModel>(response.Body));
        }
Esempio n. 26
0
        private void btnOrderStatus_Press(object sender, EventArgs e)
        {
            IAopClient client = GetAPOClient();
            //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称如:alipay.trade.app.pay
            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
            //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
            AlipayTradeQueryModel model = new AlipayTradeQueryModel();

            model.OutTradeNo = tradeNo;
            request.SetBizModel(model);
            //这是普通的接口使用Execute
            AlipayTradeQueryResponse response = client.Execute(request);

            //页面输出的response.Body就是orderString 可以直接给客户端请求,无需再做处理。
            System.Diagnostics.Debug.WriteLine(response.Body);
            MessageBox.Show(response.Body);
        }
Esempio n. 27
0
        public bool QueryNow()
        {
            IAopClient alipayClient = GetAopClient();
            AlipayTradeQueryRequest alipayRequest = new AlipayTradeQueryRequest();
            AlipayTradeQueryModel   model         = new AlipayTradeQueryModel();

            model.OutTradeNo = Order.OrderNo;
            alipayRequest.SetBizModel(model);
            AlipayTradeQueryResponse response = alipayClient.Execute(alipayRequest);

            if (((string.Compare(response.TradeStatus, "TRADE_FINISHED") == 0 || string.Compare(response.TradeStatus, "TRADE_SUCCESS") == 0)))
            {
                var orderAmount = double.Parse(response.TotalAmount);
                if (Order.OrderAmount == orderAmount && string.Compare(Order.OrderNo, response.OutTradeNo) == 0)
                {
                    return(true);
                }
            }
            return(false);
        }
Esempio n. 28
0
        public OrderQueryResult OrderQuery(OrderQueryDTO dto)
        {
            OrderQueryResult result = new OrderQueryResult();

            try
            {
                AliPayTradeQueryDTO queryDto = new AliPayTradeQueryDTO();
                queryDto.trade_no     = dto.OnlineTradeNo;
                queryDto.out_trade_no = dto.OutTradeNo;
                AlipayTradeQueryRequest payRequest = new AlipayTradeQueryRequest();
                payRequest.BizContent = queryDto.BuildJson();
                AlipayTradeQueryResponse response = Execute(payRequest);
                result.SetAlipayResult(response);
                return(result);
            }
            catch (Exception e)
            {
                throw new F2FPayException(e.Message);
            }
        }
Esempio n. 29
0
        /// <summary>
        /// 1.返回支付处理中,轮询订单状态
        /// 2.本示例中轮询了6次,每次相隔5秒
        /// </summary>
        /// <param name="biz_content"></param>
        /// <returns></returns>
        private AlipayTradeQueryResponse LoopQuery(string out_trade_no, int count, int interval)
        {
            AlipayTradeQueryResponse queryResult = null;

            for (int i = 1; i <= count; i++)
            {
                Thread.Sleep(interval);
                AlipayTradeQueryResponse queryResponse = sendTradeQuery(out_trade_no);
                if (queryResponse != null && string.Compare(queryResponse.Code, ResultCode.SUCCESS, false) == 0)
                {
                    queryResult = queryResponse;
                    if (queryResponse.TradeStatus == "TRADE_FINISHED" ||
                        queryResponse.TradeStatus == "TRADE_SUCCESS" ||
                        queryResponse.TradeStatus == "TRADE_CLOSED")
                    {
                        return(queryResponse);
                    }
                }
            }

            return(queryResult);
        }
Esempio n. 30
0
        public static AlipayTradeQueryResponse alipay_trade_query(string out_trade_no, string trade_no)
        {
            IAopClient client = new DefaultAopClient(
                "https://openapi.alipay.com/gateway.do",
                app_id,
                APP_PRIVATE_KEY,
                "json",
                "1.0",
                "RSA",
                ALI_PUBLIC_KEY,
                "utf-8",
                true);
            AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

            request.BizContent = "{" +
                                 "    \"out_trade_no\":\"" + out_trade_no + "\"," +
                                 "    \"trade_no\":\"" + trade_no + "\"" +
                                 "  }";
            AlipayTradeQueryResponse response = client.Execute(request);

            return(response);
        }