public string RequestPay(string ordernum, string return_url, double?PayMoney, string ProductName, string Remark) { //创建PayRequestHandler实例 PayRequestHandler reqHandler = new PayRequestHandler(context); Model.SitePayAPI m_entity = Model.SitePayAPI.GetModel(t => t.ApiType == "财付通"); //商户号 string bargainor_id = m_entity.AppIdentity; //设置密钥 reqHandler.setKey(m_entity.AppKey); //初始化 reqHandler.init(); //当前时间 yyyyMMdd string date = DateTime.Now.ToString("yyyyMMdd"); //生成订单10位序列号,此处用时间和随机数生成,商户根据自己调整,保证唯一 string strReq = DateTime.Now.ToString("HHmmss") + TenpayUtil.BuildRandomStr(4); //财付通订单号,10位商户号+8位日期+10位序列号,需保证全局唯一 string transaction_id = bargainor_id + date + strReq; //----------------------------- //设置支付参数 //----------------------------- reqHandler.setParameter("bargainor_id", bargainor_id); //商户号 reqHandler.setParameter("sp_billno", ordernum); //商家订单号 reqHandler.setParameter("transaction_id", transaction_id); //财付通交易单号 reqHandler.setParameter("return_url", return_url); //支付通知url reqHandler.setParameter("desc", ProductName); //商品名称 reqHandler.setParameter("attach", Remark == null?"":Remark); //会员ID reqHandler.setParameter("total_fee", ((int)(PayMoney * 100)).ToString()); //商品金额,以分为单位 //用户ip,测试环境时不要加这个ip参数,正式环境再加此参数 reqHandler.setParameter("spbill_create_ip", DealMvc.Common.Globals.GetUserIP()); //获取请求带参数的url string requestUrl = reqHandler.getRequestURL(); return(requestUrl); //FinalMessage("正在进入财付通网站...", requestUrl, 0, 4); }
/// <summary> /// 财付通接口 /// </summary> /// <param name="desc">商品名</param> /// <param name="sp_billno">订单号</param> /// <param name="total_fee">货品总价格</param> /// <returns></returns> public string GetTenpayUrl(string desc, string orderid, string total_fee, string returnurl) { //创建PayRequestHandler实例 PayRequestHandler reqHandler = new PayRequestHandler(context); reqHandler.YinHang = Yinhang; Model.SitePayAPI m_entity = Model.SitePayAPI.GetModel(t => t.ApiType == "财付通"); //设置密钥 reqHandler.setKey(m_entity.AppKey); //初始化 reqHandler.init(); //当前时间 yyyyMMdd string date = DateTime.Now.ToString("yyyyMMdd"); //生成订单10位序列号,此处用时间和随机数生成,商户根据自己调整,保证唯一 string sp_billno = DateTime.Now.ToString("HHmmss") + JumbotCms.API.Tenpay.TenpayUtil.BuildRandomStr(4); //商户号 string bargainor_id = m_entity.AppIdentity;// "1208389301"; //财付通订单号,10位商户号+8位日期+10位序列号,需保证全局唯一 string transaction_id = bargainor_id + date + sp_billno; //test****** //double PayMoney_test = 0.01; //订单编号 string TenpaySN = transaction_id; //----------------------------- //设置支付参数 //----------------------------- reqHandler.setParameter("bargainor_id", m_entity.AppIdentity); //商户号 reqHandler.setParameter("sp_billno", sp_billno); //商家订单号 reqHandler.setParameter("transaction_id", transaction_id); //财付通交易单号 reqHandler.setParameter("return_url", Common.Globals.GetHostUrlWeb() + returnurl); //支付通知url reqHandler.setParameter("desc", desc); //商品名称 reqHandler.setParameter("attach", orderid); //订单ID reqHandler.setParameter("total_fee", ((total_fee.ToDouble2() * 100).ToInt32()).ToString()); //商品金额,以分为单位 //用户ip,测试环境时不要加这个ip参数,正式环境再加此参数 reqHandler.setParameter("spbill_create_ip", DealMvc.Common.Globals.GetUserIP()); //获取请求带参数的url return(reqHandler.getRequestURL()); }
/// <summary> /// 添加/编辑 /// </summary> /// <param name="isEdit"></param> /// <param name="p_SitePayAPI"></param> public void AESitePayAPI(DealMvc.ControllerBase _CB, bool isEdit, ref Model.SitePayAPI p_spapi) { Model.SitePayAPI m_spapi = null; if (isEdit) { m_spapi = DealMvc.Model.SitePayAPI.GetModel(p_spapi.id ?? 0); } else { m_spapi = new Model.SitePayAPI(); } if (!isEdit) { if (Orm.EntityCore <Model.SitePayAPI> .Exists("=id", new object[] { p_spapi.id })) { throw new ExceptionEx.MyExceptionMessageBox("已经存在此记录"); } } else { } m_spapi.ApiType = p_spapi.ApiType; //ApiType[Type=string] - API类型 m_spapi.Account = p_spapi.Account; //Account[Type=string] - 签约账号 m_spapi.AppIdentity = p_spapi.AppIdentity; //AppIdentity[Type=string] - 合作者身份 m_spapi.AppKey = p_spapi.AppKey; //AppKey[Type=string] - 密钥 m_spapi.UpTime = p_spapi.UpTime ?? DateTime.Now; //UpTime[Type=DateTime?] - 更新时间 p_spapi = m_spapi; if (isEdit) { m_spapi.Update(); ExceptionEx.MyExceptionLog.AlertMessage(_CB, "修改网站支付信息成功"); _CB.IsSaveForm = true; } else { m_spapi.Add(); ExceptionEx.MyExceptionLog.AlertMessage(_CB, "添加成功", true); } }