public PaidHandleResult Return <T>(PayMointor <T> proc) where T : class { //商户号 string partner = TenpayUtil.bargainor_id; // p.PayApiKey; //密钥 string key = TenpayUtil.tenpay_key; // p.PayApiSecret; //创建ResponseHandler实例 ResponseHandler resHandler = new ResponseHandler(System.Web.HttpContext.Current); resHandler.setKey(key); //判断签名 if (true || resHandler.isTenpaySign()) { ///通知id string notify_id = resHandler.getParameter("notify_id"); //商户订单号 string out_trade_no = resHandler.getParameter("out_trade_no"); //财付通订单号 string transaction_id = resHandler.getParameter("transaction_id"); //金额,以分为单位 string total_fee = resHandler.getParameter("total_fee"); //如果有使用折扣券,discount有值,total_fee+discount=原请求的total_fee string discount = resHandler.getParameter("discount"); //支付结果 string trade_state = resHandler.getParameter("trade_state"); //交易模式,1即时到账,2中介担保 string trade_mode = resHandler.getParameter("trade_mode"); proc.Init(out_trade_no); if ("1".Equals(trade_mode)) { //即时到账 if ("0".Equals(trade_state)) { //------------------------------ //即时到账处理业务开始 //------------------------------ //处理数据库逻辑 //注意交易单不要重复处理 //注意判断返回金额 //------------------------------ //即时到账处理业务完毕 //------------------------------ //SetLogMessage("即时到帐付款成功"); return(PaidHandleResult.Success); //给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知 } else { //SetLogMessage("即时到账支付失败"); return(PaidHandleResult.Fail); } } else if ("2".Equals(trade_mode)) { //中介担保 if ("0".Equals(trade_state)) { //------------------------------ //中介担保处理业务开始 //------------------------------ //处理数据库逻辑 //注意交易单不要重复处理 //注意判断返回金额 //------------------------------ //中介担保处理业务完毕 //------------------------------ //Response.Write("中介担保付款成功"); //给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知 //SetLogMessage("中介担保付款成功"); return(PaidHandleResult.Success); } else { PayUtil.SetLogMessage("trade_state=" + trade_state); return(PaidHandleResult.Fail); } } } else { //Response.Write("认证签名失败"); PayUtil.SetLogMessage("认证签名失败"); return(PaidHandleResult.Fail); } return(PaidHandleResult.Fail); }