/// <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 }); }
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); }
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); }
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); }
public AlipayTradeQueryResponse LoopQuery(string biz_content) { AlipayTradeQueryRequest queryRequst = new AlipayTradeQueryRequest(); queryRequst.BizContent = biz_content; Dictionary <string, string> paramsDict = (Dictionary <string, string>)queryRequst.GetParameters(); AlipayTradeQueryResponse queryResponse = null; for (int i = 1; i <= 6; i++) { Thread.Sleep(5000); queryResponse = m_Client.Execute(queryRequst); if (string.Compare(queryResponse.Code, ResultCode.SUCCESS, false) == 0) { if (queryResponse.TradeStatus == "TRADE_FINISHED" || queryResponse.TradeStatus == "TRADE_SUCCESS" || queryResponse.TradeStatus == "TRADE_CLOSED") { break; } } } return(queryResponse); }
/// <summary> /// 查询订单状态 /// </summary> /// <param name="request"></param> /// <param name="sceneryDomain"></param> /// <returns></returns> public QueryResponse Query(QueryRequest request, SceneryDomain sceneryDomain) { var result = false; //创建淘宝支付信息 client = new DefaultAopClient(serverUrl, sceneryDomain.Apipay.APP_ID, sceneryDomain.Apipay.APP_PRIVATE_KEY, "", version, sign_type, sceneryDomain.Apipay.ALIPAY_PUBLIC_KEY, charset); QueryResponse queryResponse = new QueryResponse(); StringBuilder biz_content = new StringBuilder(); biz_content.Append("{\"out_trade_no\":\"" + request.Out_trade_no + "\"}"); AlipayTradeQueryRequest payRequst = new AlipayTradeQueryRequest(); payRequst.BizContent = biz_content.ToString(); Dictionary <string, string> paramsDict = (Dictionary <string, string>)payRequst.GetParameters(); AlipayTradeQueryResponse payResponse = null; LogHelper.AlipayLog(string.Format("论寻-请求josn:{0}", biz_content)); payResponse = client.Execute(payRequst); LogHelper.AlipayLog(string.Format("论寻-结果:{0}-{1}-{2}", payResponse.Code, payResponse.TradeStatus, payResponse.Body)); if (string.Compare(payResponse.Code, ResultCode.SUCCESS, false) == 0) { if (payResponse.TradeStatus == "TRADE_FINISHED" || payResponse.TradeStatus == "TRADE_SUCCESS" || payResponse.TradeStatus == "TRADE_CLOSED") { if (payResponse.TradeStatus == "TRADE_SUCCESS") { var detailDao = new AlipayDetailDao(); var qrCodeDao = new AlipayQRCodeDao(); Alipay_trade_query_response alipayDetail = JsonConvert.DeserializeObject <Alipay_trade_query_response>(payResponse.Body); //需要检查数据库中是否有改数据 有的话 直接返回 var QRCodeDetail = qrCodeDao.IsExistOut_trade_no(alipayDetail.alipay_trade_query_response.Out_trade_no, alipayDetail.alipay_trade_query_response.Total_amount , sceneryDomain.Apipay.APP_ID); if (result == null || QRCodeDetail.SceneryName == "-1") { LogHelper.AlipayLog("论寻:无通知参数"); } //论寻:数据已经存在,不需要插入 if (QRCodeDetail.SceneryName != "-2") { //保存支付宝信息 string body = payResponse.Body; alipayDetail.alipay_trade_query_response.SceneryName = sceneryDomain.SceneryName; alipayDetail.alipay_trade_query_response.Creater = sceneryDomain.Apipay.APP_ID; alipayDetail.alipay_trade_query_response.Updater = ""; alipayDetail.alipay_trade_query_response.AppId = sceneryDomain.Apipay.APP_ID; alipayDetail.alipay_trade_query_response.BatchNumber = QRCodeDetail.BatchNumber; alipayDetail.alipay_trade_query_response.SceneryRate = sceneryDomain.Rate; alipayDetail.alipay_trade_query_response.AlipayPlayDate = Convert.ToDateTime(alipayDetail.alipay_trade_query_response.Send_pay_date.ToString("yyyy-MM-dd")); detailDao.Add(alipayDetail.alipay_trade_query_response); } else { LogHelper.AlipayLog("论寻:数据已经存在,不需要插入"); } queryResponse.buyer_logon_id = alipayDetail.alipay_trade_query_response.Buyer_logon_id; queryResponse.gmt_payment = alipayDetail.alipay_trade_query_response.Send_pay_date; queryResponse.trade_no = alipayDetail.alipay_trade_query_response.Trade_no; result = true; } } } if (result == false && request.IsLastRequest == 1) { var content = new StringBuilder(); content.Append("{\"out_trade_no\":\"" + payResponse.OutTradeNo + "\"}"); biz_content = content; Cancel(content.ToString()); } return(queryResponse); }