public AlipayData Query(string id, OrderType outTradeNo) { AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); var requstData = "{\"" + (outTradeNo == OrderType.OutTradeNo ? "out_trade_no" : "trade_no") + "\":\"" + id + "\"}"; //string.Format(, outTradeNo == OrderType.OutTradeNo ? "out_trade_no" : "trade_no",id); request.BizContent = requstData; var response = _aopClient.Execute(request); var alipayData = new AlipayData(); if (response.IsError) { LogHelper.Logger.Error("查询订单失败:" + response.Msg + "," + response.SubMsg); if (response.Code == "40004") { alipayData.SetValue("trade_status", "NOPAY"); alipayData.SetValue(outTradeNo == OrderType.OutTradeNo ? "out_trade_no" : "trade_no", id); return(alipayData); } throw new Exception("查询订单失败,原因" + response.Msg); } alipayData.SetValue("trade_status", response.TradeStatus); alipayData.SetValue("trade_no", response.TradeStatus); alipayData.SetValue("out_trade_no", response.OutTradeNo); alipayData.SetValue("buyer_logon_id", response.BuyerLogonId); alipayData.SetValue("total_amount", response.TotalAmount); alipayData.SetValue("receipt_amount", response.ReceiptAmount); alipayData.SetValue("buyer_pay_amount", response.BuyerPayAmount); return(alipayData); }
public HttpResponseMessage WapPay() { LogHelper.Logger.Debug("回调支付宝支付接口"); var response = Request.CreateResponse(HttpStatusCode.OK); var alipayData = new AlipayData(); foreach (var key in HttpContext.Current.Request.Form.AllKeys) { alipayData.SetValue(key, HttpContext.Current.Request.Form[key]); } var signVerify = alipayData.SignVerified(); if (!signVerify) { Logger.Error("签名失败,这可能是假冒的回调"); response.Content = new StringContent("fail", Encoding.UTF8, "text/html"); return(response); } response.Content = _alipayPurchaseService.AlipayCallBack(alipayData) ? new StringContent("success", Encoding.UTF8, "text/html") : new StringContent("fail", Encoding.UTF8, "text/html"); return(response); }