Example #1
0
        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);
        }
Example #2
0
        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);
        }