//分润业务 private void RoyaltyBusiness(string out_trade_no, string trade_no) { var royaltyServer = new AlipayRoyaltyBLL(Default.GetLoggingSession()); var ds = royaltyServer.GetAlipayRoyalty(out_trade_no); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { var dr = ds.Tables[0].Rows[0]; var out_bill_no = GetDataRandom(); BaseService.WriteLog("分润号: " + out_bill_no); var royalty = new DistributeRoyalty(); var result = royalty.SubmitDistribute(out_bill_no, out_trade_no, trade_no, dr["royalty_parameters"].ToString()); BaseService.WriteLog("调用分润接口返回结果: " + result); var entity = new AlipayRoyaltyEntity() { RoyaltyID = dr["royalty_id"].ToString(), TradeNo = trade_no, Result = result }; royaltyServer.Update(entity, false); } else { BaseService.WriteLog("查询没有结果集"); } }
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); }
/// <summary> /// 更新 /// </summary> /// <param name="pEntity">实体实例</param> /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param> public void Update(AlipayRoyaltyEntity pEntity, IDbTransaction pTran) { Update(pEntity, true, pTran); }
public void Update(AlipayRoyaltyEntity pEntity, bool pIsUpdateNullField, IDbTransaction pTran) { _currentDAO.Update(pEntity, pIsUpdateNullField, pTran); }
/// <summary> /// 创建一个新实例 /// </summary> /// <param name="pEntity">实体实例</param> public void Create(AlipayRoyaltyEntity pEntity) { _currentDAO.Create(pEntity); }
/// <summary> /// 在事务内创建一个新实例 /// </summary> /// <param name="pEntity">实体实例</param> /// <param name="pTran">事务实例,可为null,如果为null,则不使用事务来更新</param> public void Create(AlipayRoyaltyEntity pEntity, IDbTransaction pTran) { _currentDAO.Create(pEntity, pTran); }
/// <summary> /// 分页根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public PagedQueryResult <AlipayRoyaltyEntity> PagedQueryByEntity(AlipayRoyaltyEntity pQueryEntity, OrderBy[] pOrderBys, int pPageSize, int pCurrentPageIndex) { return(_currentDAO.PagedQueryByEntity(pQueryEntity, pOrderBys, pPageSize, pCurrentPageIndex)); }
/// <summary> /// 根据实体条件查询实体 /// </summary> /// <param name="pQueryEntity">以实体形式传入的参数</param> /// <param name="pOrderBys">排序组合</param> /// <returns>符合条件的实体集</returns> public AlipayRoyaltyEntity[] QueryByEntity(AlipayRoyaltyEntity pQueryEntity, OrderBy[] pOrderBys) { return(_currentDAO.QueryByEntity(pQueryEntity, pOrderBys)); }
/// <summary> /// 删除 /// </summary> /// <param name="pEntity"></param> public void Delete(AlipayRoyaltyEntity pEntity) { _currentDAO.Delete(pEntity); }
public void Update(AlipayRoyaltyEntity pEntity, bool pIsUpdateNullField) { _currentDAO.Update(pEntity, pIsUpdateNullField); }
/// <summary> /// 更新 /// </summary> /// <param name="pEntity">实体实例</param> public void Update(AlipayRoyaltyEntity pEntity) { Update(pEntity, true); }