/// <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 }); }
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)); }
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); }
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); }
/// <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; } }
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; } }
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); }
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); }
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); } }
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"); }
/// <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); }
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("沒有傳回訊息!..."); } }
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"); }
public string query(AlipayTradeQueryModel para) { AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); // 将业务model载入到request request.SetBizModel(para); AlipayTradeQueryResponse response = client.Execute(request); return(response.Body); }
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); } } } } }
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 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"); }
public void Query() { IAopClient client = GetClient(); AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); request.BizContent = "{" + " \"out_trade_no\":\"20150320010101001\"," + " \"trade_no\":\"2014112611001073956707\"" + " }"; AlipayTradeQueryResponse response = client.Execute(request); }
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); } }
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); }
/// <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); }
/// <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); }
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); } }
/// <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)); }
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); }
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); }
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); } }
/// <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); }
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); }