Пример #1
0
        /// <summary>
        /// 交易成功,更新支付宝交易状态
        /// </summary>
        /// <param name="xmlDoc"></param>
        private void UpdateAlipayWapTrade(XmlDocument xmlDoc, string status)
        {
            var alipayEntity = new AlipayWapTradeResponseEntity()
            {
                OutTradeNo       = xmlDoc.SelectSingleNode("/notify/out_trade_no").InnerText,
                Subject          = xmlDoc.SelectSingleNode("/notify/subject").InnerText,
                TotalFee         = xmlDoc.SelectSingleNode("/notify/total_fee").InnerText,
                PaymentType      = xmlDoc.SelectSingleNode("/notify/payment_type").InnerText,
                TradeNo          = xmlDoc.SelectSingleNode("/notify/trade_no").InnerText,
                BuyerEmail       = xmlDoc.SelectSingleNode("/notify/buyer_email").InnerText,
                GmtCreate        = xmlDoc.SelectSingleNode("/notify/gmt_create").InnerText,
                NotifyType       = xmlDoc.SelectSingleNode("/notify/notify_type").InnerText,
                Quantity         = xmlDoc.SelectSingleNode("/notify/quantity").InnerText,
                NotifyTime       = xmlDoc.SelectSingleNode("/notify/notify_time").InnerText,
                SellerID         = xmlDoc.SelectSingleNode("/notify/seller_id").InnerText,
                TradeStatus      = xmlDoc.SelectSingleNode("/notify/trade_status").InnerText,
                IsTotalFeeAdjust = xmlDoc.SelectSingleNode("/notify/is_total_fee_adjust").InnerText,
                GmtPayment       = xmlDoc.SelectSingleNode("/notify/gmt_payment").InnerText,
                SellerEmail      = xmlDoc.SelectSingleNode("/notify/seller_email").InnerText,
                //GmtClose = xmlDoc.SelectSingleNode("/notify/gmt_close").InnerText,
                Price     = xmlDoc.SelectSingleNode("/notify/price").InnerText,
                BuyerID   = xmlDoc.SelectSingleNode("/notify/buyer_id").InnerText,
                NotifyID  = xmlDoc.SelectSingleNode("/notify/notify_id").InnerText,
                UseCoupon = xmlDoc.SelectSingleNode("/notify/use_coupon").InnerText,
                Status    = status
            };

            BaseService.WriteLog("交易成功,更新支付宝交易状态");

            AlipayWapTradeResponseBLL alipayServer = new AlipayWapTradeResponseBLL(new Utility.BasicUserInfo());

            alipayServer.UpdateAlipayWapTrade(alipayEntity);
        }
        /// <summary>
        /// 根据标识符获取实例
        /// </summary>
        /// <param name="pID">标识符的值</param>
        public AlipayWapTradeResponseEntity GetByID(object pID)
        {
            //参数检查
            if (pID == null)
            {
                return(null);
            }
            string id = pID.ToString();
            //组织SQL
            StringBuilder sql = new StringBuilder();

            sql.AppendFormat("select * from [AlipayWapTradeResponse] where response_id='{0}' and IsDelete=0 ", id.ToString());
            //读取数据
            AlipayWapTradeResponseEntity m = null;

            using (SqlDataReader rdr = this.SQLHelper.ExecuteReader(sql.ToString()))
            {
                while (rdr.Read())
                {
                    this.Load(rdr, out m);
                    break;
                }
            }
            //返回
            return(m);
        }
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Delete(AlipayWapTradeResponseEntity pEntity, IDbTransaction pTran)
 {
     //参数校验
     if (pEntity == null)
     {
         throw new ArgumentNullException("pEntity");
     }
     if (pEntity.ResponseID == null)
     {
         throw new ArgumentException("执行删除时,实体的主键属性值不能为null.");
     }
     //执行
     this.Delete(pEntity.ResponseID, pTran);
 }
Пример #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            BaseService.WriteLog("服务器异步通知页面-----------------------Notify.aspx");

            //前台页面别忘记加这句指令,否则会报特殊字符的异常 ValidateRequest="false"

            //获取加密的notify_data数据
            string notify_data = Request.Form["notify_data"];

            BaseService.WriteLog("加密的notify_data数据: " + notify_data);

            //通过商户私钥进行解密
            notify_data = Function.Decrypt(notify_data, Config.PrivateKey, Config.Input_charset_UTF8);
            BaseService.WriteLog("解密后的notify_data数据: " + notify_data);

            //获取签名
            string sign = Request.Form["sign"];

            BaseService.WriteLog("sign签名: " + sign);

            //创建待签名数组,注意Notify这里数组不需要进行排序,请保持以下顺序
            Dictionary <string, string> sArrary = new Dictionary <string, string>();

            //组装验签数组
            sArrary.Add("service", Request.Form["service"]);
            sArrary.Add("v", Request.Form["v"]);
            sArrary.Add("sec_id", Request.Form["sec_id"]);
            sArrary.Add("notify_data", notify_data);

            //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串
            string content = Function.CreateLinkString(sArrary);

            BaseService.WriteLog("开始验证签名");
            //验证签名
            bool vailSign = Function.Verify(content, sign, Config.Alipaypublick, Config.Input_charset_UTF8);

            BaseService.WriteLog("结束验证签名");
            BaseService.WriteLog("验证签名结果: " + vailSign);

            if (!vailSign)
            {
                Response.Write("fail");
                return;
            }

            BaseService.WriteLog("开始获取交易状态");
            //获取交易状态
            string trade_status = Function.GetStrForXmlDoc(notify_data, "notify/trade_status");

            BaseService.WriteLog("结束获取交易状态");
            BaseService.WriteLog("交易状态trade_status: " + trade_status);

            if (!trade_status.Equals("TRADE_FINISHED"))
            {
                Response.Write("fail");
            }
            else
            {
                ///////////////////////////////处理数据/////////////////////////////////
                // 用户这里可以写自己的商业逻辑
                // 例如:修改数据库订单状态
                // 以下数据仅仅进行演示如何调取
                // 参数对照请详细查阅开发文档
                // 里面有详细说明

                var alipayEntity = new AlipayWapTradeResponseEntity()
                {
                    OutTradeNo       = Function.GetStrForXmlDoc(notify_data, "notify/out_trade_no"),
                    Subject          = Function.GetStrForXmlDoc(notify_data, "notify/subject"),
                    TotalFee         = Function.GetStrForXmlDoc(notify_data, "notify/total_fee"),
                    PaymentType      = Function.GetStrForXmlDoc(notify_data, "notify/payment_type"),
                    TradeNo          = Function.GetStrForXmlDoc(notify_data, "notify/trade_no"),
                    BuyerEmail       = Function.GetStrForXmlDoc(notify_data, "notify/buyer_email"),
                    GmtCreate        = Function.GetStrForXmlDoc(notify_data, "notify/gmt_create"),
                    NotifyType       = Function.GetStrForXmlDoc(notify_data, "notify/notify_type"),
                    Quantity         = Function.GetStrForXmlDoc(notify_data, "notify/quantity"),
                    NotifyTime       = Function.GetStrForXmlDoc(notify_data, "notify/notify_time"),
                    SellerID         = Function.GetStrForXmlDoc(notify_data, "notify/seller_id"),
                    TradeStatus      = Function.GetStrForXmlDoc(notify_data, "notify/trade_status"),
                    IsTotalFeeAdjust = Function.GetStrForXmlDoc(notify_data, "notify/is_total_fee_adjust"),
                    GmtPayment       = Function.GetStrForXmlDoc(notify_data, "notify/gmt_payment"),
                    SellerEmail      = Function.GetStrForXmlDoc(notify_data, "notify/seller_email"),
                    GmtClose         = Function.GetStrForXmlDoc(notify_data, "notify/gmt_close"),
                    Price            = Function.GetStrForXmlDoc(notify_data, "notify/price"),
                    BuyerID          = Function.GetStrForXmlDoc(notify_data, "notify/buyer_id"),
                    NotifyID         = Function.GetStrForXmlDoc(notify_data, "notify/notify_id"),
                    UseCoupon        = Function.GetStrForXmlDoc(notify_data, "notify/use_coupon"),
                    Status           = "2"
                };

                BaseService.WriteLog("交易成功,更新支付宝交易状态");

                AlipayWapTradeResponseBLL alipayServer = new AlipayWapTradeResponseBLL(new Utility.BasicUserInfo());
                alipayServer.UpdateAlipayWapTrade(alipayEntity);
                ////////////////////////////////////////////////////////////////////////////

                Response.Write("success");
            }
        }
        /// <summary>
        /// 根据商户网站唯一订单号更新支付宝交易记录
        /// </summary>
        /// <param name="pEntity"></param>
        /// <param name="pIsUpdateNullField"></param>
        public void UpdateAlipayWapTrade(AlipayWapTradeResponseEntity pEntity, bool pIsUpdateNullField = true)
        {
            //参数校验
            if (pEntity == null)
            {
                throw new ArgumentNullException("pEntity");
            }

            //初始化固定字段
            pEntity.LastUpdateTime = DateTime.Now;
            pEntity.LastUpdateBy   = CurrentUserInfo.UserID;

            //组织参数化SQL
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update [AlipayWapTradeResponse] set ");
            if (pIsUpdateNullField || pEntity.Subject != null)
            {
                strSql.Append("[subject]=@Subject,");
            }
            if (pIsUpdateNullField || pEntity.TotalFee != null)
            {
                strSql.Append("[total_fee]=@TotalFee,");
            }
            if (pIsUpdateNullField || pEntity.PaymentType != null)
            {
                strSql.Append("[payment_type]=@PaymentType,");
            }
            if (pIsUpdateNullField || pEntity.TradeNo != null)
            {
                strSql.Append("[trade_no]=@TradeNo,");
            }
            if (pIsUpdateNullField || pEntity.BuyerEmail != null)
            {
                strSql.Append("[buyer_email]=@BuyerEmail,");
            }
            if (pIsUpdateNullField || pEntity.GmtCreate != null)
            {
                strSql.Append("[gmt_create]=@GmtCreate,");
            }
            if (pIsUpdateNullField || pEntity.NotifyType != null)
            {
                strSql.Append("[notify_type]=@NotifyType,");
            }
            if (pIsUpdateNullField || pEntity.Quantity != null)
            {
                strSql.Append("[quantity]=@Quantity,");
            }
            if (pIsUpdateNullField || pEntity.NotifyTime != null)
            {
                strSql.Append("[notify_time]=@NotifyTime,");
            }
            if (pIsUpdateNullField || pEntity.SellerID != null)
            {
                strSql.Append("[seller_id]=@SellerID,");
            }
            if (pIsUpdateNullField || pEntity.TradeStatus != null)
            {
                strSql.Append("[trade_status]=@TradeStatus,");
            }
            if (pIsUpdateNullField || pEntity.IsTotalFeeAdjust != null)
            {
                strSql.Append("[is_total_fee_adjust]=@IsTotalFeeAdjust,");
            }
            if (pIsUpdateNullField || pEntity.GmtPayment != null)
            {
                strSql.Append("[gmt_payment]=@GmtPayment,");
            }
            if (pIsUpdateNullField || pEntity.SellerEmail != null)
            {
                strSql.Append("[seller_email]=@SellerEmail,");
            }
            if (pIsUpdateNullField || pEntity.GmtClose != null)
            {
                strSql.Append("[gmt_close]=@GmtClose,");
            }
            if (pIsUpdateNullField || pEntity.Price != null)
            {
                strSql.Append("[price]=@Price,");
            }
            if (pIsUpdateNullField || pEntity.BuyerID != null)
            {
                strSql.Append("[buyer_id]=@BuyerID,");
            }
            if (pIsUpdateNullField || pEntity.NotifyID != null)
            {
                strSql.Append("[notify_id]=@NotifyID,");
            }
            if (pIsUpdateNullField || pEntity.UseCoupon != null)
            {
                strSql.Append("[use_coupon]=@UseCoupon,");
            }
            if (pIsUpdateNullField || pEntity.Status != null)
            {
                strSql.Append("[status]=@Status,");
            }
            if (pIsUpdateNullField || pEntity.LastUpdateTime != null)
            {
                strSql.Append("[LastUpdateTime]=@LastUpdateTime,");
            }
            if (pIsUpdateNullField || pEntity.LastUpdateBy != null)
            {
                strSql.Append("[LastUpdateBy]=@LastUpdateBy");
            }
            if (strSql.ToString().EndsWith(","))
            {
                strSql.Remove(strSql.Length - 1, 1);
            }
            strSql.Append(" where out_trade_no=@OutTradeNo ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@OrderID",          SqlDbType.NVarChar),
                new SqlParameter("@OutTradeNo",       SqlDbType.NVarChar),
                new SqlParameter("@Subject",          SqlDbType.NVarChar),
                new SqlParameter("@TotalFee",         SqlDbType.NVarChar),
                new SqlParameter("@PaymentType",      SqlDbType.NVarChar),
                new SqlParameter("@TradeNo",          SqlDbType.NVarChar),
                new SqlParameter("@BuyerEmail",       SqlDbType.NVarChar),
                new SqlParameter("@GmtCreate",        SqlDbType.NVarChar),
                new SqlParameter("@NotifyType",       SqlDbType.NVarChar),
                new SqlParameter("@Quantity",         SqlDbType.NVarChar),
                new SqlParameter("@NotifyTime",       SqlDbType.NVarChar),
                new SqlParameter("@SellerID",         SqlDbType.NVarChar),
                new SqlParameter("@TradeStatus",      SqlDbType.NVarChar),
                new SqlParameter("@IsTotalFeeAdjust", SqlDbType.NVarChar),
                new SqlParameter("@GmtPayment",       SqlDbType.NVarChar),
                new SqlParameter("@SellerEmail",      SqlDbType.NVarChar),
                new SqlParameter("@GmtClose",         SqlDbType.NVarChar),
                new SqlParameter("@Price",            SqlDbType.NVarChar),
                new SqlParameter("@BuyerID",          SqlDbType.NVarChar),
                new SqlParameter("@NotifyID",         SqlDbType.NVarChar),
                new SqlParameter("@UseCoupon",        SqlDbType.NVarChar),
                new SqlParameter("@MerchantUrl",      SqlDbType.NVarChar),
                new SqlParameter("@CallBackUrl",      SqlDbType.NVarChar),
                new SqlParameter("@Status",           SqlDbType.NVarChar),
                new SqlParameter("@LastUpdateTime",   SqlDbType.DateTime),
                new SqlParameter("@LastUpdateBy",     SqlDbType.NVarChar),
                new SqlParameter("@ResponseID",       SqlDbType.NVarChar)
            };
            parameters[0].Value  = pEntity.OrderID;
            parameters[1].Value  = pEntity.OutTradeNo;
            parameters[2].Value  = pEntity.Subject;
            parameters[3].Value  = pEntity.TotalFee;
            parameters[4].Value  = pEntity.PaymentType;
            parameters[5].Value  = pEntity.TradeNo;
            parameters[6].Value  = pEntity.BuyerEmail;
            parameters[7].Value  = pEntity.GmtCreate;
            parameters[8].Value  = pEntity.NotifyType;
            parameters[9].Value  = pEntity.Quantity;
            parameters[10].Value = pEntity.NotifyTime;
            parameters[11].Value = pEntity.SellerID;
            parameters[12].Value = pEntity.TradeStatus;
            parameters[13].Value = pEntity.IsTotalFeeAdjust;
            parameters[14].Value = pEntity.GmtPayment;
            parameters[15].Value = pEntity.SellerEmail;
            parameters[16].Value = pEntity.GmtClose;
            parameters[17].Value = pEntity.Price;
            parameters[18].Value = pEntity.BuyerID;
            parameters[19].Value = pEntity.NotifyID;
            parameters[20].Value = pEntity.UseCoupon;
            parameters[21].Value = pEntity.MerchantUrl;
            parameters[22].Value = pEntity.CallBackUrl;
            parameters[23].Value = pEntity.Status;
            parameters[24].Value = pEntity.LastUpdateTime;
            parameters[25].Value = pEntity.LastUpdateBy;
            parameters[26].Value = pEntity.ResponseID;

            //执行语句
            int result = this.SQLHelper.ExecuteNonQuery(CommandType.Text, strSql.ToString(), parameters);
        }
Пример #6
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Update(AlipayWapTradeResponseEntity pEntity, IDbTransaction pTran)
 {
     Update(pEntity, true, pTran);
 }
Пример #7
0
 /// <summary>
 /// 创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Create(AlipayWapTradeResponseEntity pEntity)
 {
     _currentDAO.Create(pEntity);
 }
Пример #8
0
 /// <summary>
 /// 根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public AlipayWapTradeResponseEntity[] QueryByEntity(AlipayWapTradeResponseEntity pQueryEntity, OrderBy[] pOrderBys)
 {
     return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys));
 }
Пример #9
0
 public void Update(AlipayWapTradeResponseEntity pEntity, bool pIsUpdateNullField)
 {
     _currentDAO.Update(pEntity, pIsUpdateNullField);
 }
 /// <summary>
 /// 根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public AlipayWapTradeResponseEntity[] QueryByEntity(AlipayWapTradeResponseEntity pQueryEntity, OrderBy[] pOrderBys)
 {
     IWhereCondition[] queryWhereCondition = GetWhereConditionByEntity(pQueryEntity);
     return(Query(queryWhereCondition, pOrderBys));
 }
        /// <summary>
        /// 在事务内创建一个新实例
        /// </summary>
        /// <param name="pEntity">实体实例</param>
        /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
        public void Create(AlipayWapTradeResponseEntity pEntity, IDbTransaction pTran)
        {
            //参数校验
            if (pEntity == null)
            {
                throw new ArgumentNullException("pEntity");
            }

            //初始化固定字段
            pEntity.CreateTime     = DateTime.Now;
            pEntity.CreateBy       = CurrentUserInfo.UserID;
            pEntity.LastUpdateTime = pEntity.CreateTime;
            pEntity.LastUpdateBy   = CurrentUserInfo.UserID;
            pEntity.IsDelete       = 0;

            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into [AlipayWapTradeResponse](");
            strSql.Append("[order_id],[out_trade_no],[subject],[total_fee],[payment_type],[trade_no],[buyer_email],[gmt_create],[notify_type],[quantity],[notify_time],[seller_id],[trade_status],[is_total_fee_adjust],[gmt_payment],[seller_email],[gmt_close],[price],[buyer_id],[notify_id],[use_coupon],[merchant_url],[call_back_url],[status],[CreateTime],[CreateBy],[LastUpdateTime],[LastUpdateBy],[IsDelete],[response_id])");
            strSql.Append(" values (");
            strSql.Append("@OrderID,@OutTradeNo,@Subject,@TotalFee,@PaymentType,@TradeNo,@BuyerEmail,@GmtCreate,@NotifyType,@Quantity,@NotifyTime,@SellerID,@TradeStatus,@IsTotalFeeAdjust,@GmtPayment,@SellerEmail,@GmtClose,@Price,@BuyerID,@NotifyID,@UseCoupon,@MerchantUrl,@CallBackUrl,@Status,@CreateTime,@CreateBy,@LastUpdateTime,@LastUpdateBy,@IsDelete,@ResponseID)");

            string pkString = pEntity.ResponseID;

            SqlParameter[] parameters =
            {
                new SqlParameter("@OrderID",          SqlDbType.NVarChar),
                new SqlParameter("@OutTradeNo",       SqlDbType.NVarChar),
                new SqlParameter("@Subject",          SqlDbType.NVarChar),
                new SqlParameter("@TotalFee",         SqlDbType.NVarChar),
                new SqlParameter("@PaymentType",      SqlDbType.NVarChar),
                new SqlParameter("@TradeNo",          SqlDbType.NVarChar),
                new SqlParameter("@BuyerEmail",       SqlDbType.NVarChar),
                new SqlParameter("@GmtCreate",        SqlDbType.NVarChar),
                new SqlParameter("@NotifyType",       SqlDbType.NVarChar),
                new SqlParameter("@Quantity",         SqlDbType.NVarChar),
                new SqlParameter("@NotifyTime",       SqlDbType.NVarChar),
                new SqlParameter("@SellerID",         SqlDbType.NVarChar),
                new SqlParameter("@TradeStatus",      SqlDbType.NVarChar),
                new SqlParameter("@IsTotalFeeAdjust", SqlDbType.NVarChar),
                new SqlParameter("@GmtPayment",       SqlDbType.NVarChar),
                new SqlParameter("@SellerEmail",      SqlDbType.NVarChar),
                new SqlParameter("@GmtClose",         SqlDbType.NVarChar),
                new SqlParameter("@Price",            SqlDbType.NVarChar),
                new SqlParameter("@BuyerID",          SqlDbType.NVarChar),
                new SqlParameter("@NotifyID",         SqlDbType.NVarChar),
                new SqlParameter("@UseCoupon",        SqlDbType.NVarChar),
                new SqlParameter("@MerchantUrl",      SqlDbType.NVarChar),
                new SqlParameter("@CallBackUrl",      SqlDbType.NVarChar),
                new SqlParameter("@Status",           SqlDbType.NVarChar),
                new SqlParameter("@CreateTime",       SqlDbType.DateTime),
                new SqlParameter("@CreateBy",         SqlDbType.NVarChar),
                new SqlParameter("@LastUpdateTime",   SqlDbType.DateTime),
                new SqlParameter("@LastUpdateBy",     SqlDbType.NVarChar),
                new SqlParameter("@IsDelete",         SqlDbType.Int),
                new SqlParameter("@ResponseID",       SqlDbType.NVarChar)
            };
            parameters[0].Value  = pEntity.OrderID;
            parameters[1].Value  = pEntity.OutTradeNo;
            parameters[2].Value  = pEntity.Subject;
            parameters[3].Value  = pEntity.TotalFee;
            parameters[4].Value  = pEntity.PaymentType;
            parameters[5].Value  = pEntity.TradeNo;
            parameters[6].Value  = pEntity.BuyerEmail;
            parameters[7].Value  = pEntity.GmtCreate;
            parameters[8].Value  = pEntity.NotifyType;
            parameters[9].Value  = pEntity.Quantity;
            parameters[10].Value = pEntity.NotifyTime;
            parameters[11].Value = pEntity.SellerID;
            parameters[12].Value = pEntity.TradeStatus;
            parameters[13].Value = pEntity.IsTotalFeeAdjust;
            parameters[14].Value = pEntity.GmtPayment;
            parameters[15].Value = pEntity.SellerEmail;
            parameters[16].Value = pEntity.GmtClose;
            parameters[17].Value = pEntity.Price;
            parameters[18].Value = pEntity.BuyerID;
            parameters[19].Value = pEntity.NotifyID;
            parameters[20].Value = pEntity.UseCoupon;
            parameters[21].Value = pEntity.MerchantUrl;
            parameters[22].Value = pEntity.CallBackUrl;
            parameters[23].Value = pEntity.Status;
            parameters[24].Value = pEntity.CreateTime;
            parameters[25].Value = pEntity.CreateBy;
            parameters[26].Value = pEntity.LastUpdateTime;
            parameters[27].Value = pEntity.LastUpdateBy;
            parameters[28].Value = pEntity.IsDelete;
            parameters[29].Value = pkString;

            //执行并将结果回写
            int result;

            if (pTran != null)
            {
                result = this.SQLHelper.ExecuteNonQuery((SqlTransaction)pTran, CommandType.Text, strSql.ToString(), parameters);
            }
            else
            {
                result = this.SQLHelper.ExecuteNonQuery(CommandType.Text, strSql.ToString(), parameters);
            }
            pEntity.ResponseID = pkString;
        }
 /// <summary>
 /// 创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Create(AlipayWapTradeResponseEntity pEntity)
 {
     this.Create(pEntity, null);
 }
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="pEntity"></param>
 public void Delete(AlipayWapTradeResponseEntity pEntity)
 {
     this.Delete(pEntity, null);
 }
 public void Update(AlipayWapTradeResponseEntity pEntity, bool pIsUpdateNullField)
 {
     this.Update(pEntity, pIsUpdateNullField, null);
 }
Пример #15
0
 /// <summary>
 /// 根据商户网站唯一订单号更新支付宝交易记录
 /// </summary>
 /// <param name="pEntity"></param>
 public void UpdateAlipayWapTrade(AlipayWapTradeResponseEntity pEntity)
 {
     this._currentDAO.UpdateAlipayWapTrade(pEntity, false);
 }
Пример #16
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 public void Update(AlipayWapTradeResponseEntity pEntity)
 {
     Update(pEntity, true);
 }
 /// <summary>
 /// 分页根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public PagedQueryResult <AlipayWapTradeResponseEntity> PagedQueryByEntity(AlipayWapTradeResponseEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex)
 {
     IWhereCondition[] queryWhereCondition = GetWhereConditionByEntity(pQueryEntity);
     return(PagedQuery(queryWhereCondition, pOrderBys, pPageSize, pCurrentPageIndex));
 }
Пример #18
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="pEntity"></param>
 public void Delete(AlipayWapTradeResponseEntity pEntity)
 {
     _currentDAO.Delete(pEntity);
 }
        /// <summary>
        /// 根据实体非Null属性生成查询条件。
        /// </summary>
        /// <returns></returns>
        protected IWhereCondition[] GetWhereConditionByEntity(AlipayWapTradeResponseEntity pQueryEntity)
        {
            //获取非空属性数量
            List <EqualsCondition> lstWhereCondition = new List <EqualsCondition>();

            if (pQueryEntity.ResponseID != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "ResponseID", Value = pQueryEntity.ResponseID
                });
            }
            if (pQueryEntity.OrderID != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "OrderID", Value = pQueryEntity.OrderID
                });
            }
            if (pQueryEntity.OutTradeNo != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "OutTradeNo", Value = pQueryEntity.OutTradeNo
                });
            }
            if (pQueryEntity.Subject != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "Subject", Value = pQueryEntity.Subject
                });
            }
            if (pQueryEntity.TotalFee != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "TotalFee", Value = pQueryEntity.TotalFee
                });
            }
            if (pQueryEntity.PaymentType != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "PaymentType", Value = pQueryEntity.PaymentType
                });
            }
            if (pQueryEntity.TradeNo != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "TradeNo", Value = pQueryEntity.TradeNo
                });
            }
            if (pQueryEntity.BuyerEmail != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "BuyerEmail", Value = pQueryEntity.BuyerEmail
                });
            }
            if (pQueryEntity.GmtCreate != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "GmtCreate", Value = pQueryEntity.GmtCreate
                });
            }
            if (pQueryEntity.NotifyType != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "NotifyType", Value = pQueryEntity.NotifyType
                });
            }
            if (pQueryEntity.Quantity != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "Quantity", Value = pQueryEntity.Quantity
                });
            }
            if (pQueryEntity.NotifyTime != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "NotifyTime", Value = pQueryEntity.NotifyTime
                });
            }
            if (pQueryEntity.SellerID != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "SellerID", Value = pQueryEntity.SellerID
                });
            }
            if (pQueryEntity.TradeStatus != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "TradeStatus", Value = pQueryEntity.TradeStatus
                });
            }
            if (pQueryEntity.IsTotalFeeAdjust != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "IsTotalFeeAdjust", Value = pQueryEntity.IsTotalFeeAdjust
                });
            }
            if (pQueryEntity.GmtPayment != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "GmtPayment", Value = pQueryEntity.GmtPayment
                });
            }
            if (pQueryEntity.SellerEmail != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "SellerEmail", Value = pQueryEntity.SellerEmail
                });
            }
            if (pQueryEntity.GmtClose != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "GmtClose", Value = pQueryEntity.GmtClose
                });
            }
            if (pQueryEntity.Price != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "Price", Value = pQueryEntity.Price
                });
            }
            if (pQueryEntity.BuyerID != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "BuyerID", Value = pQueryEntity.BuyerID
                });
            }
            if (pQueryEntity.NotifyID != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "NotifyID", Value = pQueryEntity.NotifyID
                });
            }
            if (pQueryEntity.UseCoupon != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "UseCoupon", Value = pQueryEntity.UseCoupon
                });
            }
            if (pQueryEntity.MerchantUrl != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "MerchantUrl", Value = pQueryEntity.MerchantUrl
                });
            }
            if (pQueryEntity.CallBackUrl != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "CallBackUrl", Value = pQueryEntity.CallBackUrl
                });
            }
            if (pQueryEntity.Status != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "Status", Value = pQueryEntity.Status
                });
            }
            if (pQueryEntity.CreateTime != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "CreateTime", Value = pQueryEntity.CreateTime
                });
            }
            if (pQueryEntity.CreateBy != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "CreateBy", Value = pQueryEntity.CreateBy
                });
            }
            if (pQueryEntity.LastUpdateTime != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "LastUpdateTime", Value = pQueryEntity.LastUpdateTime
                });
            }
            if (pQueryEntity.LastUpdateBy != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "LastUpdateBy", Value = pQueryEntity.LastUpdateBy
                });
            }
            if (pQueryEntity.IsDelete != null)
            {
                lstWhereCondition.Add(new EqualsCondition()
                {
                    FieldName = "IsDelete", Value = pQueryEntity.IsDelete
                });
            }

            return(lstWhereCondition.ToArray());
        }
Пример #20
0
 /// <summary>
 /// 分页根据实体条件查询实体
 /// </summary>
 /// <param name="pQueryEntity">以实体形式传入的参数</param>
 /// <param name="pOrderBys">排序组合</param>
 /// <returns>符合条件的实体集</returns>
 public PagedQueryResult <AlipayWapTradeResponseEntity> PagedQueryByEntity(AlipayWapTradeResponseEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex)
 {
     return(_currentDAO.PagedQueryByEntity(pQueryEntity, pOrderBys, pPageSize, pCurrentPageIndex));
 }
        /// <summary>
        /// 装载实体
        /// </summary>
        /// <param name="pReader">向前只读器</param>
        /// <param name="pInstance">实体实例</param>
        protected void Load(SqlDataReader pReader, out AlipayWapTradeResponseEntity pInstance)
        {
            //将所有的数据从SqlDataReader中读取到Entity中
            pInstance = new AlipayWapTradeResponseEntity();
            pInstance.PersistenceHandle = new PersistenceHandle();
            pInstance.PersistenceHandle.Load();

            if (pReader["response_id"] != DBNull.Value)
            {
                pInstance.ResponseID = Convert.ToString(pReader["response_id"]);
            }
            if (pReader["order_id"] != DBNull.Value)
            {
                pInstance.OrderID = Convert.ToString(pReader["order_id"]);
            }
            if (pReader["out_trade_no"] != DBNull.Value)
            {
                pInstance.OutTradeNo = Convert.ToString(pReader["out_trade_no"]);
            }
            if (pReader["subject"] != DBNull.Value)
            {
                pInstance.Subject = Convert.ToString(pReader["subject"]);
            }
            if (pReader["total_fee"] != DBNull.Value)
            {
                pInstance.TotalFee = Convert.ToString(pReader["total_fee"]);
            }
            if (pReader["payment_type"] != DBNull.Value)
            {
                pInstance.PaymentType = Convert.ToString(pReader["payment_type"]);
            }
            if (pReader["trade_no"] != DBNull.Value)
            {
                pInstance.TradeNo = Convert.ToString(pReader["trade_no"]);
            }
            if (pReader["buyer_email"] != DBNull.Value)
            {
                pInstance.BuyerEmail = Convert.ToString(pReader["buyer_email"]);
            }
            if (pReader["gmt_create"] != DBNull.Value)
            {
                pInstance.GmtCreate = Convert.ToString(pReader["gmt_create"]);
            }
            if (pReader["notify_type"] != DBNull.Value)
            {
                pInstance.NotifyType = Convert.ToString(pReader["notify_type"]);
            }
            if (pReader["quantity"] != DBNull.Value)
            {
                pInstance.Quantity = Convert.ToString(pReader["quantity"]);
            }
            if (pReader["notify_time"] != DBNull.Value)
            {
                pInstance.NotifyTime = Convert.ToString(pReader["notify_time"]);
            }
            if (pReader["seller_id"] != DBNull.Value)
            {
                pInstance.SellerID = Convert.ToString(pReader["seller_id"]);
            }
            if (pReader["trade_status"] != DBNull.Value)
            {
                pInstance.TradeStatus = Convert.ToString(pReader["trade_status"]);
            }
            if (pReader["is_total_fee_adjust"] != DBNull.Value)
            {
                pInstance.IsTotalFeeAdjust = Convert.ToString(pReader["is_total_fee_adjust"]);
            }
            if (pReader["gmt_payment"] != DBNull.Value)
            {
                pInstance.GmtPayment = Convert.ToString(pReader["gmt_payment"]);
            }
            if (pReader["seller_email"] != DBNull.Value)
            {
                pInstance.SellerEmail = Convert.ToString(pReader["seller_email"]);
            }
            if (pReader["gmt_close"] != DBNull.Value)
            {
                pInstance.GmtClose = Convert.ToString(pReader["gmt_close"]);
            }
            if (pReader["price"] != DBNull.Value)
            {
                pInstance.Price = Convert.ToString(pReader["price"]);
            }
            if (pReader["buyer_id"] != DBNull.Value)
            {
                pInstance.BuyerID = Convert.ToString(pReader["buyer_id"]);
            }
            if (pReader["notify_id"] != DBNull.Value)
            {
                pInstance.NotifyID = Convert.ToString(pReader["notify_id"]);
            }
            if (pReader["use_coupon"] != DBNull.Value)
            {
                pInstance.UseCoupon = Convert.ToString(pReader["use_coupon"]);
            }
            if (pReader["merchant_url"] != DBNull.Value)
            {
                pInstance.MerchantUrl = Convert.ToString(pReader["merchant_url"]);
            }
            if (pReader["call_back_url"] != DBNull.Value)
            {
                pInstance.CallBackUrl = Convert.ToString(pReader["call_back_url"]);
            }
            if (pReader["status"] != DBNull.Value)
            {
                pInstance.Status = Convert.ToString(pReader["status"]);
            }
            if (pReader["CreateTime"] != DBNull.Value)
            {
                pInstance.CreateTime = Convert.ToDateTime(pReader["CreateTime"]);
            }
            if (pReader["CreateBy"] != DBNull.Value)
            {
                pInstance.CreateBy = Convert.ToString(pReader["CreateBy"]);
            }
            if (pReader["LastUpdateTime"] != DBNull.Value)
            {
                pInstance.LastUpdateTime = Convert.ToDateTime(pReader["LastUpdateTime"]);
            }
            if (pReader["LastUpdateBy"] != DBNull.Value)
            {
                pInstance.LastUpdateBy = Convert.ToString(pReader["LastUpdateBy"]);
            }
            if (pReader["IsDelete"] != DBNull.Value)
            {
                pInstance.IsDelete = Convert.ToInt32(pReader["IsDelete"]);
            }
        }
Пример #22
0
 /// <summary>
 /// 在事务内创建一个新实例
 /// </summary>
 /// <param name="pEntity">实体实例</param>
 /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param>
 public void Create(AlipayWapTradeResponseEntity pEntity, IDbTransaction pTran)
 {
     _currentDAO.Create(pEntity, pTran);
 }
Пример #23
0
        private void Submit()
        {
            BaseService.WriteLog("支付宝交易开始-----------------------AlipayWapTrade2/Trade.aspx");
            BaseService.WriteLog("调用授权接口alipay.wap.trade.create.direct获取授权码token");
            ////////////////////////////////////////////调用授权接口alipay.wap.trade.create.direct获取授权码token////////////////////////////////////////////

            string order_id      = string.Empty;
            string call_back_url = AlipayConfig.Merchant_url;

            //订单号
            if (!string.IsNullOrEmpty(Request["order_id"]))
            {
                order_id = Request["order_id"].Trim();
                BaseService.WriteLog("order_id:  " + Request["order_id"]);
            }
            else
            {
                BaseService.WriteLog("请求参数order_id is null!!!!!");
            }
            //产品名称
            if (!string.IsNullOrEmpty(Request["prod_name"]))
            {
                AlipayConfig.Subject = Request["prod_name"].Trim();
                BaseService.WriteLog("prod_name:  " + Request["prod_name"]);
            }
            else
            {
                BaseService.WriteLog("请求参数prod_name is null!!!!!");
            }
            //产品价格
            if (!string.IsNullOrEmpty(Request["prod_price"]))
            {
                AlipayConfig.Total_fee = Request["prod_price"].Trim();
                BaseService.WriteLog("prod_price:  " + Request["prod_price"]);
            }
            else
            {
                BaseService.WriteLog("请求参数prod_price is null!!!!!");
            }
            //用户付款中途退出返回URL
            if (!string.IsNullOrEmpty(Request["merchant_url"]))
            {
                AlipayConfig.Merchant_url = Request["merchant_url"].Trim();
                BaseService.WriteLog("merchant_url:  " + Request["merchant_url"]);
            }
            else
            {
                BaseService.WriteLog("请求参数merchant_url is null!!!!!");
            }
            //用户付款成功同步返回URL
            if (!string.IsNullOrEmpty(Request["call_back_url"]))
            {
                call_back_url = Request["call_back_url"].Trim();
                BaseService.WriteLog("call_back_url:  " + Request["call_back_url"]);
            }
            else
            {
                BaseService.WriteLog("请求参数call_back_url is null!!!!!");
            }

            AlipayConfig.Req_id       = System.Guid.NewGuid().ToString().Replace("-", "");
            AlipayConfig.Out_trade_no = System.Guid.NewGuid().ToString().Replace("-", "");

            //分润参数
            if (!string.IsNullOrEmpty(Request["params"]))
            {
                BaseService.WriteLog("params:  " + Request["params"]);

                var entity = new AlipayRoyaltyEntity()
                {
                    RoyaltyID         = System.Guid.NewGuid().ToString().Replace("-", ""),
                    OutTradeNo        = AlipayConfig.Out_trade_no,
                    RoyaltyParameters = Request["params"]
                };

                //保存分润参数到数据库
                var royaltyServer = new AlipayRoyaltyBLL(Default.GetLoggingSession());
                royaltyServer.Create(entity);
            }
            else
            {
                BaseService.WriteLog("请求参数params is null!!!!!");
            }

            //请求业务参数详细
            string req_dataToken = ""
                                   + "<direct_trade_create_req>"
                                   + "<notify_url>" + AlipayConfig.Notify_url + "</notify_url>"
                                   + "<call_back_url>" + AlipayConfig.Call_back_url + "</call_back_url>"
                                   + "<seller_account_name>" + AlipayConfig.Seller_account_name + "</seller_account_name>"
                                   + "<out_trade_no>" + AlipayConfig.Out_trade_no + "</out_trade_no>"
                                   + "<subject>" + AlipayConfig.Subject + "</subject>"
                                   + "<total_fee>" + AlipayConfig.Total_fee + "</total_fee>"
                                   + "</direct_trade_create_req>";

            BaseService.WriteLog("请求业务参数详细: " + req_dataToken);

            //把请求参数打包成数组
            Dictionary <string, string> sParaTempToken = new Dictionary <string, string>();

            sParaTempToken.Add("partner", AlipayConfig.Partner);
            sParaTempToken.Add("_input_charset", AlipayConfig.Input_charset.ToLower());
            sParaTempToken.Add("sec_id", AlipayConfig.Sign_type.ToUpper());
            sParaTempToken.Add("service", AlipayConfig.Service_Create);
            sParaTempToken.Add("format", AlipayConfig.Format);
            sParaTempToken.Add("v", AlipayConfig.V);
            sParaTempToken.Add("req_id", AlipayConfig.Req_id);
            sParaTempToken.Add("req_data", req_dataToken);

            //建立请求
            string sHtmlTextToken = AlipaySubmit.BuildRequest(AlipayConfig.Req_url, sParaTempToken);
            //URLDECODE返回的信息
            Encoding code = Encoding.GetEncoding(AlipayConfig.Input_charset);

            sHtmlTextToken = HttpUtility.UrlDecode(sHtmlTextToken, code);

            //解析远程模拟提交后返回的信息
            Dictionary <string, string> dicHtmlTextToken = AlipaySubmit.ParseResponse(sHtmlTextToken);

            //获取token
            string request_token = dicHtmlTextToken["request_token"];

            BaseService.WriteLog("根据授权码token调用交易接口alipay.wap.auth.authAndExecute");
            ////////////////////////////////////////////根据授权码token调用交易接口alipay.wap.auth.authAndExecute////////////////////////////////////////////

            //业务详细
            string req_data = ""
                              + "<auth_and_execute_req>"
                              + "<request_token>" + request_token + "</request_token>"
                              + "</auth_and_execute_req>";

            BaseService.WriteLog("业务详细: " + req_data);

            //把请求参数打包成数组
            Dictionary <string, string> sParaTemp = new Dictionary <string, string>();

            sParaTemp.Add("partner", AlipayConfig.Partner);
            sParaTemp.Add("_input_charset", AlipayConfig.Input_charset.ToLower());
            sParaTemp.Add("sec_id", AlipayConfig.Sign_type.ToUpper());
            sParaTemp.Add("service", AlipayConfig.Service_Execute);
            sParaTemp.Add("format", AlipayConfig.Format);
            sParaTemp.Add("v", AlipayConfig.V);
            sParaTemp.Add("req_data", req_data);

            BaseService.WriteLog("保存交易记录到数据库");

            var alipayEntity = new AlipayWapTradeResponseEntity()
            {
                ResponseID  = System.Guid.NewGuid().ToString().Replace("-", ""),
                OrderID     = order_id,
                OutTradeNo  = AlipayConfig.Out_trade_no,
                Subject     = AlipayConfig.Subject,
                TotalFee    = AlipayConfig.Total_fee,
                MerchantUrl = AlipayConfig.Merchant_url,
                CallBackUrl = call_back_url,
                Status      = "1"
            };

            //保存交易记录到数据库
            AlipayWapTradeResponseBLL alipayServer = new AlipayWapTradeResponseBLL(new Utility.BasicUserInfo());

            alipayServer.Create(alipayEntity);

            //建立请求
            string sHtmlText = AlipaySubmit.BuildRequest(AlipayConfig.Req_url, sParaTemp, "get", "确认");

            Response.Write(sHtmlText);
        }
Пример #24
0
 public void Update(AlipayWapTradeResponseEntity pEntity, bool pIsUpdateNullField, IDbTransaction pTran)
 {
     _currentDAO.Update(pEntity, pIsUpdateNullField, pTran);
 }
Пример #25
0
        private void Submit()
        {
            BaseService.WriteLog("支付宝交易开始-----------------------Trade.aspx");
            BaseService.WriteLog("初始化Service");

            //初始化Service
            Service ali           = new Service();
            string  order_id      = string.Empty;
            string  call_back_url = Config.Merchant_url;

            //订单号
            if (Request["order_id"] != null)
            {
                order_id = Request["order_id"].Trim();
                BaseService.WriteLog("order_id:  " + Request["order_id"]);
            }
            else
            {
                BaseService.WriteLog("请求参数order_id is null!!!!!");
            }
            //产品名称
            if (Request["prod_name"] != null)
            {
                Config.Subject = Request["prod_name"].Trim();
                BaseService.WriteLog("prod_name:  " + Request["prod_name"]);
            }
            else
            {
                BaseService.WriteLog("请求参数prod_name is null!!!!!");
            }
            //产品价格
            if (Request["prod_price"] != null)
            {
                Config.Total_fee = Request["prod_price"].Trim();
                BaseService.WriteLog("prod_price:  " + Request["prod_price"]);
            }
            else
            {
                BaseService.WriteLog("请求参数prod_price is null!!!!!");
            }
            //用户付款中途退出返回URL
            if (Request["merchant_url"] != null)
            {
                Config.Merchant_url = Request["merchant_url"].Trim();
                BaseService.WriteLog("merchant_url:  " + Request["merchant_url"]);
            }
            else
            {
                BaseService.WriteLog("请求参数merchant_url is null!!!!!");
            }
            //用户付款成功同步返回URL
            if (Request["call_back_url"] != null)
            {
                call_back_url = Request["call_back_url"].Trim();
                BaseService.WriteLog("call_back_url:  " + Request["call_back_url"]);
            }
            else
            {
                BaseService.WriteLog("请求参数call_back_url is null!!!!!");
            }

            Config.Req_id       = System.Guid.NewGuid().ToString().Replace("-", "");
            Config.Out_trade_no = System.Guid.NewGuid().ToString().Replace("-", "");

            BaseService.WriteLog("创建交易接口");
            //创建交易接口
            string token = ali.alipay_wap_trade_create_direct(
                Config.Req_url,
                Config.Subject,
                Config.Out_trade_no,
                Config.Total_fee,
                Config.Seller_account_name,
                Config.Notify_url,
                Config.Out_user,
                Config.Merchant_url,
                Config.Call_back_url,
                Config.Service_Create,
                Config.Sec_id,
                Config.Partner,
                Config.Req_id,
                Config.Format,
                Config.V,
                Config.Req_url,
                Config.PrivateKey,
                Config.Input_charset_UTF8);

            BaseService.WriteLog("Config.Req_url: " + Config.Req_url);
            BaseService.WriteLog("Config.Subject: " + Config.Subject);
            BaseService.WriteLog("Config.Out_trade_no: " + Config.Out_trade_no);
            BaseService.WriteLog("Config.Total_fee: " + Config.Total_fee);
            BaseService.WriteLog("Config.Seller_account_name: " + Config.Seller_account_name);
            BaseService.WriteLog("Config.Notify_url: " + Config.Notify_url);
            BaseService.WriteLog("Config.Out_user: "******"Config.Merchant_url: " + Config.Merchant_url);
            BaseService.WriteLog("Config.Call_back_url: " + Config.Call_back_url);
            BaseService.WriteLog("Config.Service_Create: " + Config.Service_Create);
            BaseService.WriteLog("Config.Sec_id: " + Config.Sec_id);
            BaseService.WriteLog("Config.Partner: " + Config.Partner);
            BaseService.WriteLog("Config.Req_id: " + Config.Req_id);
            BaseService.WriteLog("Config.Format: " + Config.Format);
            BaseService.WriteLog("Config.V: " + Config.V);
            BaseService.WriteLog("Config.Req_url: " + Config.Req_url);
            BaseService.WriteLog("Config.PrivateKey: " + Config.PrivateKey);
            BaseService.WriteLog("Config.Input_charset_UTF8: " + Config.Input_charset_UTF8);
            BaseService.WriteLog("返回token: " + token);
            BaseService.WriteLog("创建交易接口结束");

            BaseService.WriteLog("构造,重定向URL");
            //构造,重定向URL
            string url = ali.alipay_Wap_Auth_AuthAndExecute(
                Config.Req_url,
                Config.Sec_id,
                Config.Partner,
                Config.Call_back_url,
                Config.Format,
                Config.V,
                Config.Service_Auth,
                token,
                Config.Req_url,
                Config.PrivateKey,
                Config.Input_charset_UTF8);

            BaseService.WriteLog("最终要跳转的URL字符串: " + url);
            BaseService.WriteLog("构造,重定向URL结束");

            var alipayEntity = new AlipayWapTradeResponseEntity()
            {
                ResponseID  = System.Guid.NewGuid().ToString().Replace("-", ""),
                OrderID     = order_id,
                OutTradeNo  = Config.Out_trade_no,
                Subject     = Config.Subject,
                TotalFee    = Config.Total_fee,
                MerchantUrl = Config.Merchant_url,
                CallBackUrl = call_back_url,
                Status      = "1"
            };

            //保存交易记录到数据库
            AlipayWapTradeResponseBLL alipayServer = new AlipayWapTradeResponseBLL(new Utility.BasicUserInfo());

            alipayServer.Create(alipayEntity);

            //跳转收银台支付页面
            Response.Redirect(url);
        }