/// <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); }
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); }
/// <summary> /// 更新 /// </summary> /// <param name="pEntity">实体实例</param> /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param> public void Update(AlipayWapTradeResponseEntity pEntity, IDbTransaction pTran) { Update(pEntity, true, pTran); }
/// <summary> /// 创建一个新实例 /// </summary> /// <param name="pEntity">实体实例</param> public void Create(AlipayWapTradeResponseEntity pEntity) { _currentDAO.Create(pEntity); }
/// <summary> /// 根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public AlipayWapTradeResponseEntity[] QueryByEntity(AlipayWapTradeResponseEntity pQueryEntity, OrderBy[] pOrderBys) { return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys)); }
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); }
/// <summary> /// 根据商户网站唯一订单号更新支付宝交易记录 /// </summary> /// <param name="pEntity"></param> public void UpdateAlipayWapTrade(AlipayWapTradeResponseEntity pEntity) { this._currentDAO.UpdateAlipayWapTrade(pEntity, false); }
/// <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)); }
/// <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()); }
/// <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"]); } }
/// <summary> /// 在事务内创建一个新实例 /// </summary> /// <param name="pEntity">实体实例</param> /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param> public void Create(AlipayWapTradeResponseEntity pEntity, IDbTransaction pTran) { _currentDAO.Create(pEntity, pTran); }
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); }
public void Update(AlipayWapTradeResponseEntity pEntity, bool pIsUpdateNullField, IDbTransaction pTran) { _currentDAO.Update(pEntity, pIsUpdateNullField, pTran); }
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); }