using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Specialized;
using System.Collections.Generic;
using System.Globalization;
using Newtonsoft.Json;
using System.Web.Script.Serialization;
namespace Mtxfw.VipSite
{
///
/// 功能:服务器异步通知页面
/// 版本:3.3
/// 日期:2012-07-10
/// 说明:
/// 以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
/// 该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
///
/// ///////////////////页面功能说明///////////////////
/// 创建该页面文件时,请留心该页面文件中无任何HTML代码及空格。
/// 该页面不能在本机电脑测试,请到服务器上做测试。请确保外部可以访问该页面。
/// 该页面调试工具请使用写文本函数logResult。
/// 如果没有收到该页面返回的 success 信息,支付宝会在24小时内按一定的时间策略重发通知
///
public partial class hfpay_notify_url : System.Web.UI.Page
{
Mtxfw.DAL.user_info daoUser = new Mtxfw.DAL.user_info();
Mtxfw.DAL.order_info daoorder = new Mtxfw.DAL.order_info();
Mtxfw.DAL.user_Results daoResults = new Mtxfw.DAL.user_Results();
DAL.user_Results_jl daojl = new DAL.user_Results_jl();
DAL.user_Results_jl2 daojl2 = new DAL.user_Results_jl2();
Mtxfw.DAL.P_Product daoProduct = new Mtxfw.DAL.P_Product();
DAL.P_Guige daoGuige = new DAL.P_Guige();
Mtxfw.DAL.order_product_info daoorderproduct = new Mtxfw.DAL.order_product_info();
DAL.Article daoArt = new DAL.Article();
DAL.user_live daolive = new DAL.user_live();
DAL.user_proxy daoproxy = new DAL.user_proxy();
DAL.user_zzjf daozzjf = new DAL.user_zzjf();
DAL.user_zzjf_log daozzjflog = new DAL.user_zzjf_log();
DAL.business_info daobusiness = new DAL.business_info();
Utility.Config config = new Mtxfw.Utility.Config("");
DAL.User_openids daoopenids = new DAL.User_openids();
DAL.user_jjfp daojjfp = new DAL.user_jjfp();
public int gtype = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
try
{
string hostname = Request.Url.Host;
gtype = new DAL.host().GetId(hostname);
if (!String.IsNullOrEmpty(Request.Form["resp_code"]) && !String.IsNullOrEmpty(Request.Form["resp_desc"]) && !String.IsNullOrEmpty(Request.Form["sign"]) && !String.IsNullOrEmpty(Request.Form["resp_data"]))
{
string resp_code = Request.Form["resp_code"].ToString();
string resp_desc = Request.Form["resp_desc"].ToString();
string sign = Request.Form["sign"].ToString();
string data = Request.Form["resp_data"].ToString();
Mtxfw.Utility.Common.WriteHtml("/weixin/hfpay_notify_url.txt", resp_code + "|" + resp_desc + "|" + sign + "|" + data);
bool iferr = false;
if (resp_code == "00000000")
{
if (Mtxfw.Utility.Interface_WxPay.verfySign(config.hfpayPublicKey, sign, data))
{
/********************************
*
* 自己业务处理
*
*********************************/
huifupayresult1 rada = (huifupayresult1)Fromhuifupayresult1Json(data);
if (rada.trans_stat == "S")
{
Mtxfw.Utility.Common.WriteHtml("/weixin/hfpay_notify_url0.txt", rada.trans_stat);
bool ifjs = true;
if (Application["LogLock" + rada.req_seq_id] != null)
{
ifjs = false;
}
if (ifjs)
{
Application["LogLock" + rada.req_seq_id]="lock";
Mtxfw.Model.user_Results ReModel = daoResults.GetModel2(9, rada.req_seq_id);
if (ReModel != null)
{
DateTime dt = DateTime.Now;
if (ReModel.Seef == 0)
{
ReModel.Seef = 1;
daoResults.UpdateSeef(1, DateTime.Now, ReModel.Id);
string openid = ReModel.OrderIds;
Mtxfw.Model.user_info umodel = daoUser.GetModel(ReModel.MemberId);
if (umodel != null)
{
int zftype = Convert.ToInt32(ReModel.b17.ToString().Split('.')[0]);
if (umodel.uLevel36 == 1)
{
if (ReModel.Managers != "")
{
daojl.Updatemoney("Count2", 1, Convert.ToInt64(ReModel.Managers));
}
if (umodel.uLevel37 == 0)
{
daoUser.UpdateuLevel("uLevel37", 1, umodel.Id);
}
}
//增加买家余额
Model.user_Results_jl2 mjl2;
int UserId = ReModel.UserId;
Double umoney28 = 0.00;
int LockBusID = 0;//锁定门店ID
string uphone = "";
DataSet ds = daoUser.GetList1("LockBusID,phone,umoney28", "id=" + UserId);
if (ds.Tables[0].Rows.Count > 0)
{
LockBusID = Convert.ToInt32(ds.Tables[0].Rows[0]["LockBusID"]);
uphone = Mtxfw.Utility.Common.cphone(ds.Tables[0].Rows[0]["phone"].ToString());
umoney28 = Convert.ToDouble(ds.Tables[0].Rows[0]["umoney28"]);
}
ds.Clear();
Double zmoney = Convert.ToDouble(ReModel.b0.ToString("f2"));
Double ylmoney = Convert.ToDouble((zmoney * umodel.umoney42 / 100).ToString("f2"));
Double cbmoney = Convert.ToDouble((zmoney - ylmoney).ToString("f2"));
Double money6 = 0.00;
//返回商家成本
string province = "", city = "", county = "", Tradingarea = "", token_no = "";
int bid = 0, ifd0 = 0;
DataSet sjds = daobusiness.GetList1("id,ifd0,province,city,county,Agentrading,ktoken_no", "utype=0 and UserId=" + umodel.Id);
if (sjds.Tables[0].Rows.Count > 0)
{
bid = Convert.ToInt32(sjds.Tables[0].Rows[0]["id"].ToString());
ifd0 = Convert.ToInt32(sjds.Tables[0].Rows[0]["ifd0"].ToString());
province = sjds.Tables[0].Rows[0]["province"].ToString();
city = sjds.Tables[0].Rows[0]["city"].ToString();
county = sjds.Tables[0].Rows[0]["county"].ToString();
Tradingarea = sjds.Tables[0].Rows[0]["Agentrading"].ToString();
token_no = sjds.Tables[0].Rows[0]["ktoken_no"].ToString();
}
sjds.Clear();
if (token_no == "" && ifd0 == 1)
{
try
{
string PayID = dt.ToString("yyMMddHHmmss" + umodel.Id, DateTimeFormatInfo.InvariantInfo);
string sys_id = config.hfpaysys_id;
string product_id = config.hfpayproduct_id;
string req_date = dt.ToString("yyyyMMdd");
string req_seq_id = PayID;
string huifu_id = (umodel.CompanyCert != "" ? umodel.CompanyCert : umodel.CompanyNumber);
string notify_url = config.webUrl + "/pay/hfpay_chashnotify_url.aspx";
SortedDictionary pay_dic = new SortedDictionary();
pay_dic.Add("req_date", req_date);
pay_dic.Add("req_seq_id", req_seq_id);
pay_dic.Add("huifu_id", huifu_id);
string get_PaySign = Mtxfw.Utility.Interface_WxPay.BuildRequest0(pay_dic, config.hfpayPrivateKey);
string strq0 = "{";
strq0 += "\"sys_id\":\"" + sys_id + "\",";
strq0 += "\"product_id\":\"" + product_id + "\",";
strq0 += "\"data\":{";
strq0 += "\"req_date\":\"" + req_date + "\",";
strq0 += "\"req_seq_id\":\"" + req_seq_id + "\",";
strq0 += "\"huifu_id\":\"" + huifu_id + "\"";
strq0 += "}";
strq0 += ",\"sign\":\"" + get_PaySign + "\"";
strq0 += "}";
string strResult = Mtxfw.Utility.Common.getPage2("https://api.huifu.com/v2/merchant/basicdata/query", "", "utf-8", true, true, strq0);
//Mtxfw.Utility.Common.WriteHtml("/weixin/apiajaxquery.txt", strResult + "|" + strq0);
huifuresult hr = (huifuresult)FromhuifuresultJson(strResult);
if (hr.data.resp_code == "00000000")
{
huifubasicdataresult hr0 = (huifubasicdataresult)FromhuifubasicdataresultJson(strResult);
string strResult0 = hr0.data.qry_cash_card_info_list;
//Mtxfw.Utility.Common.WriteHtml("/weixin/apiajaxquery0.txt", strResult0);
List hr1 = (List)FromhuifucardlistJson(strResult0);
if (hr1[0].status == "N")
{
token_no = hr1[0].token_no;
daobusiness.Updatektoken_no(token_no, bid);
}
}
}
catch (Exception ex)
{
Model.User_Errlog mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "汇付支付修改token_no错误";
mo.addtime = DateTime.Now;
mo.ErrBody = ex.ToString();
mo.ErrBody2 = ex.Message;
new DAL.User_Errlog().Add(mo);
}
}
if (cbmoney > 0.0000)
{
string PayID = dt.ToString("yyMMddHHmmss" + umodel.Id, DateTimeFormatInfo.InvariantInfo);
Mtxfw.Model.user_Results ModelResults = new Mtxfw.Model.user_Results();
ModelResults.b0 = cbmoney;
ModelResults.b1 = 0;
ModelResults.b2 = 0;
ModelResults.b3 = 0;
ModelResults.b4 = 0;
ModelResults.b5 = 0;
ModelResults.b6 = 0;
ModelResults.b7 = 0;
ModelResults.b8 = 0;
ModelResults.b9 = 0;
ModelResults.b10 = 0;
ModelResults.b11 = 0;
ModelResults.b12 = 0;
ModelResults.b13 = 0;
ModelResults.b14 = 0;
ModelResults.b15 = 0;
ModelResults.b16 = 0;
ModelResults.b17 = 0;
ModelResults.b18 = 1;
ModelResults.conent = "商家成本";
ModelResults.Totalmoney = cbmoney;
ModelResults.MemberId = umodel.Id;
ModelResults.UserId = UserId;
ModelResults.ListNumber = PayID;
ModelResults.Managers = "";
ModelResults.Seef = 1;
ModelResults.utype = "20";
ModelResults.addtime = dt;
ModelResults.gtype = gtype;
Int64 resultid = daoResults.Add(ModelResults);
if (token_no != "" && ifd0 == 1)
{
string sys_id = config.hfpaysys_id;
string product_id = config.hfpayproduct_id;
string req_date = dt.ToString("yyyyMMdd");
string req_seq_id = PayID;
string cash_amt = cbmoney.ToString("f2");
string huifu_id = (umodel.CompanyCert != "" ? umodel.CompanyCert : umodel.CompanyNumber);
string into_acct_date_type = "D0";
string notify_url = config.webUrl + "/pay/hfpay_chashnotify_url.aspx";
SortedDictionary pay_dic = new SortedDictionary();
pay_dic.Add("req_date", req_date);
pay_dic.Add("req_seq_id", req_seq_id);
pay_dic.Add("cash_amt", cash_amt);
pay_dic.Add("huifu_id", huifu_id);
pay_dic.Add("into_acct_date_type", into_acct_date_type);
pay_dic.Add("token_no", token_no);
pay_dic.Add("notify_url", notify_url);
string get_PaySign = Mtxfw.Utility.Interface_WxPay.BuildRequest0(pay_dic, config.hfpayPrivateKey);
string strq0 = "{";
strq0 += "\"sys_id\":\"" + sys_id + "\",";
strq0 += "\"product_id\":\"" + product_id + "\",";
strq0 += "\"data\":{";
strq0 += "\"req_date\":\"" + req_date + "\",";
strq0 += "\"req_seq_id\":\"" + req_seq_id + "\",";
strq0 += "\"cash_amt\":\"" + cash_amt + "\",";
strq0 += "\"huifu_id\":\"" + huifu_id + "\",";
strq0 += "\"into_acct_date_type\":\"" + into_acct_date_type + "\",";
strq0 += "\"token_no\":\"" + token_no + "\",";
strq0 += "\"notify_url\":\"" + notify_url + "\"";
strq0 += "}";
strq0 += ",\"sign\":\"" + get_PaySign + "\"";
strq0 += "}";
string strResult = Mtxfw.Utility.Common.getPage2("https://api.huifu.com/v2/trade/settlement/enchashment", "", "utf-8", true, true, strq0);
//Mtxfw.Utility.Common.WriteHtml("/weixin/hfpay_enchashment.txt", strResult + "|" + strq0);
huifuresult hr = (huifuresult)FromhuifuresultJson(strResult);
if (hr.data.resp_code == "00000000")
{
}
else
{
Model.User_Errlog mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "调用支付成本接口错误";
mo.addtime = DateTime.Now;
mo.ErrBody = strResult;
mo.ErrBody2 = strq0;
new DAL.User_Errlog().Add(mo);
}
}
}
mjl2 = new Model.user_Results_jl2();
mjl2.MemberId = umodel.Id;
mjl2.MemberId2 = UserId;
mjl2.Addmoney = ylmoney;
mjl2.Cutmoney = money6;
mjl2.Totalmoney = zmoney;
mjl2.addtime = dt;
mjl2.BZContent = uphone + "扫码支付";
mjl2.PayID = ReModel.ListNumber;
mjl2.OrdersIDs = "";
mjl2.OrdersID = zftype;
mjl2.utype = 23;
mjl2.utype2 = 1;
mjl2.Seef = 0;
mjl2.seeftime = dt;
mjl2.gtype = gtype;
Int64 rid = daojl2.Add(mjl2);
daojl2.UpdateMinNumber(1, rid);//收款类型0汇聚1汇付
//daojl2.UpdateMaxNumber(0, rid);//收款类型0康泉1
/*daojl2.UpdateTGYID(umodel.ActivateBusID, rid);
string strdlid = daoUser.Getzd("DLRememberID", "id=" + umodel.ActivateBusID).ToString();
if (strdlid != "")
{
daojl2.UpdateDLID(Convert.ToInt32(strdlid), rid);
}*/
daoUser.UpdateMoney("umoney43", zmoney, umodel.Id);
daoUser.UpdateMoney("umoney45", zmoney, umodel.ActivateBusID);
daobusiness.Updatesmmoney(zmoney, bid);
Model.User_CZ_log logmodel = new Model.User_CZ_log();
logmodel.MemberId = UserId;
logmodel.AddTime = dt;
logmodel.IP = Mtxfw.Utility.Common.GetIP;
logmodel.Body = "银花优选门店" + umodel.UserName + "汇付支付成功:" + ReModel.b0.ToString() + "元";
logmodel.UType = 0;
logmodel.gtype = gtype;
new DAL.User_CZ_log().Add(logmodel);
if (daoopenids.GetCount("ttype=" + (zftype == 2 ? 1 : 0) + " and openid='" + openid + "'") == 0)
{
Model.User_openids omodel = new Model.User_openids();
omodel.MemberId = UserId;
omodel.SJId = umodel.Id;
omodel.openid = openid;
omodel.addtime = DateTime.Now;
omodel.ttype = (zftype == 2 ? 1 : 0);
omodel.gtype = 0;
daoopenids.Add(omodel);
LockBusID = umodel.Id;
}
else
{
string strid = daoopenids.Getzd("SJId", "ttype=" + (zftype == 2 ? 1 : 0) + " and openid='" + openid + "'").ToString();
if (strid != "")
{
int LockBusID0 = Convert.ToInt32(strid);
if (LockBusID0 == 0)
{
if (LockBusID == 0)
{
daoUser.UpdateuLevel("LockBusID", umodel.Id, UserId);
LockBusID = umodel.Id;
Model.User_CZ_log logmodel0 = new Model.User_CZ_log();
logmodel0.MemberId = umodel.Id;
logmodel0.AddTime = DateTime.Now;
logmodel0.IP = Mtxfw.Utility.Common.GetIP;
logmodel0.Body = "银花优选汇付支付锁定会员:" + uphone + "|" + UserId;
logmodel0.UType = 0;
logmodel0.gtype = gtype;
new DAL.User_CZ_log().Add(logmodel0);
}
daoopenids.UpdateSJId(LockBusID, (zftype == 2 ? 1 : 0), openid);
}
else
{
LockBusID = LockBusID0;
}
}
}
if (umodel.CompanyPic != "")
{
string t = Mtxfw.Utility.Common.timeStamp();
string tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
string strq = "exec|" + umodel.CompanyPic + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
string strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27905/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
Model.User_Errlog mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27905";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyPic;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyPic + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27904/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27904";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyPic;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyPic + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27900/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27900";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyPic;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyPic + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27901/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27901";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyPic;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyPic + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27902/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27902";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyPic;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyPic + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27903/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27903";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyPic;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
}
}
}
}
}
}
}
if (umodel.CompanyProvince != "")
{
string t = Mtxfw.Utility.Common.timeStamp();
string tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
string strq = "exec|" + umodel.CompanyProvince + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
string strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27905/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
Model.User_Errlog mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27905";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyProvince;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyProvince + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27904/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27904";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyProvince;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyProvince + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27900/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27900";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyProvince;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyProvince + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27901/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27901";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyProvince;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyProvince + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27902/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27902";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyProvince;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyProvince + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27903/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27903";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyProvince;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
}
}
}
}
}
}
}
if (umodel.CompanyCity != "")
{
string t = Mtxfw.Utility.Common.timeStamp();
string tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
string strq = "exec|" + umodel.CompanyCity + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
string strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27905/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
Model.User_Errlog mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27905";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyCity;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyCity + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27904/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27904";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyCity;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyCity + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27900/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27900";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyCity;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyCity + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27901/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27901";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyCity;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyCity + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27902/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27902";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyCity;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
t = Mtxfw.Utility.Common.timeStamp();
tsign = Mtxfw.Utility.Interface_WxPay.GetMD5(t + "3596", "utf-8");
strq = "exec|" + umodel.CompanyCity + "|" + t + "|tts|银花优选" + (zftype == 2 ? "微信" : "支付宝") + "收款" + ReModel.b0.ToString() + "元";
strr = Mtxfw.Utility.Common.getPage2("http://v.pmhapp.cn:27903/exec?t=" + t + "&tsign=" + tsign, "", "utf-8", false, true, strq);
if (strr != "OK")
{
mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "exec27903";
mo.addtime = DateTime.Now;
mo.ErrBody = umodel.CompanyCity;
mo.ErrBody2 = strr;
new DAL.User_Errlog().Add(mo);
}
}
}
}
}
}
}
}
}
}
ReModel = daoResults.GetModel2(2, rada.req_seq_id);
if (ReModel != null)
{
DateTime dt = DateTime.Now;
if (ReModel.Seef == 0)
{
ReModel.Seef = 1;
daoResults.UpdateSeef(1, DateTime.Now, ReModel.Id);
Mtxfw.Model.user_info umodel = daoUser.GetModel(ReModel.MemberId);
if (umodel != null)
{
//增加买家余额
Model.user_Results_jl2 mjl2 = new Model.user_Results_jl2();
int zftype = Convert.ToInt32(ReModel.b17.ToString().Split('.')[0]);
int type = Convert.ToInt32(ReModel.b18.ToString().Split('.')[0]);
if (type == 3)
{
}
else if (type == 2)
{
string[] aResultIdS = ReModel.OrderIds.Split(',');
for (int i = 0; i < aResultIdS.Length; i++)
{
if (aResultIdS[i] != "")
{
Model.user_Results_jl2 jlmodel = daojl2.GetModel(Convert.ToInt64(aResultIdS[i]));
if (jlmodel != null)
{
daojl2.UpdateSeef("seef", 1, "seeftime", dt, jlmodel.Id);
}
}
}
Model.User_CZ_log logmodel = new Model.User_CZ_log();
logmodel.MemberId = umodel.Id;
logmodel.AddTime = dt;
logmodel.IP = Mtxfw.Utility.Common.GetIP;
logmodel.Body = "支付宝支付申请企业品牌展示成功";
logmodel.UType = 0;
logmodel.gtype = gtype;
new DAL.User_CZ_log().Add(logmodel);
}
else if (type == 1)
{
mjl2 = new Model.user_Results_jl2();
mjl2.MemberId = umodel.Id;
mjl2.MemberId2 = 0;
mjl2.Addmoney = ReModel.Totalmoney;
mjl2.Cutmoney = 0;
mjl2.Totalmoney = (umodel.umoney - umodel.umoney17 + umodel.umoney35 + ReModel.Totalmoney);
mjl2.addtime = dt;
mjl2.BZContent = "支付宝支付购买VIP套餐,余额充值成功";
mjl2.PayID = "";
mjl2.OrdersIDs = "";
mjl2.OrdersID = 0;
mjl2.utype = 1;
mjl2.utype2 = 0;
mjl2.Seef = -1;
mjl2.seeftime = dt;
mjl2.gtype = gtype;
new Mtxfw.DAL.user_Results_jl2().Add(mjl2);
mjl2 = new Model.user_Results_jl2();
mjl2.MemberId = umodel.Id;
mjl2.MemberId2 = 0;
mjl2.Addmoney = -ReModel.Totalmoney;
mjl2.Cutmoney = 0;
mjl2.Totalmoney = (umodel.umoney - umodel.umoney17 + umodel.umoney35);
mjl2.addtime = dt;
mjl2.BZContent = "支付宝支付购买VIP套餐,余额扣款成功";
mjl2.PayID = "";
mjl2.OrdersIDs = "";
mjl2.OrdersID = 0;
mjl2.utype = 1;
mjl2.utype2 = 0;
mjl2.Seef = -1;
mjl2.seeftime = dt;
mjl2.gtype = gtype;
new Mtxfw.DAL.user_Results_jl2().Add(mjl2);
Int64 ResultId = Convert.ToInt64(ReModel.OrderIds);
Mtxfw.Model.user_Results ReModel0 = daoResults.GetModel(ResultId);
if (ReModel0 != null)
{
daoResults.UpdateSeef(1, dt, ReModel0.Id);
DateTime regtime1 = DateTime.Now.AddDays(ReModel0.b2);
if (umodel.uLevel4 == 1)
{
regtime1 = umodel.RegTime1.AddDays(ReModel0.b2);
}
daoUser.UpdateuLevel("uLevel4", 1, umodel.Id);
daoUser.UpdatePassword("regtime1", regtime1.ToString(), umodel.Id);
daoUser.UpdateuLevel("uLevel20", 1, umodel.Id);
}
Model.User_CZ_log logmodel = new Model.User_CZ_log();
logmodel.MemberId = umodel.Id;
logmodel.AddTime = dt;
logmodel.IP = Mtxfw.Utility.Common.GetIP;
logmodel.Body = "购买VIP套餐成功";
logmodel.UType = 0;
logmodel.gtype = gtype;
new DAL.User_CZ_log().Add(logmodel);
}
else
{
mjl2 = new Model.user_Results_jl2();
mjl2.MemberId = umodel.Id;
mjl2.MemberId2 = 0;
mjl2.Addmoney = ReModel.Totalmoney;
mjl2.Cutmoney = 0;
mjl2.Totalmoney = ((zftype == 1 ? umodel.umoney30 : (umodel.umoney - umodel.umoney17)) + ReModel.Totalmoney);
mjl2.addtime = dt;
mjl2.BZContent = "支付宝支付购买商品,余额充值成功";
mjl2.PayID = "";
mjl2.OrdersIDs = "";
mjl2.OrdersID = 0;
mjl2.utype = (zftype == 1 ? 2 : 1);
mjl2.utype2 = 0;
mjl2.Seef = -1;
mjl2.seeftime = dt;
mjl2.gtype = gtype;
new Mtxfw.DAL.user_Results_jl2().Add(mjl2);
mjl2 = new Model.user_Results_jl2();
mjl2.MemberId = umodel.Id;
mjl2.MemberId2 = 0;
mjl2.Addmoney = -ReModel.Totalmoney;
mjl2.Cutmoney = 0;
mjl2.Totalmoney = (zftype == 1 ? umodel.umoney30 : (umodel.umoney - umodel.umoney17));
mjl2.addtime = dt;
mjl2.BZContent = "支付宝支付购买商品,余额扣款成功";
mjl2.PayID = "";
mjl2.OrdersIDs = "";
mjl2.OrdersID = 0;
mjl2.utype = (zftype == 1 ? 2 : 1);
mjl2.utype2 = 0;
mjl2.Seef = -1;
mjl2.seeftime = dt;
mjl2.gtype = gtype;
new Mtxfw.DAL.user_Results_jl2().Add(mjl2);
int liveid = 0, poid = 0, pcount = 0, ypcount = 0, P_UserID = 0;
string OID = "", pncname = (umodel.NCName == "" ? umodel.RealName : umodel.NCName);
if (ReModel.OrderIds != "")
{
Double ZSubTotal = 0.00, ZSubTotal0 = 0.00, ZSubTotal1 = 0.00, ZSubTotal2 = 0.00, ZSubTotal3 = 0.00, ZSubTotal4 = 0.00, ZSubTotal5 = 0.00, ZSubTotal6 = 0.00, zyunfei = 0.00, xjZSubTotal = 0.00, JFZSubTotal = 0.00, PayZSubTotal = ReModel.b0;
int utype = -1, utype0 = 0, Totalnum = 0, ptype = 0, peitype = 0;
string province = "", city = "", county = "";
string[] AOrderIDs = ReModel.OrderIds.Split(',');
for (int i = 0; i < AOrderIDs.Length; i++)
{
Mtxfw.Model.order_info OrderModel = daoorder.GetModel(int.Parse(AOrderIDs[i]));
if (OrderModel != null)
{
if (OrderModel.O_Payed == "" || OrderModel.O_Payed == "0")
{
OID = OrderModel.orderid;
zyunfei += OrderModel.Totalprice1;
P_UserID = OrderModel.MemberId;
ZSubTotal += OrderModel.Totalprice;
JFZSubTotal += OrderModel.JFTotalprice;
ZSubTotal0 += OrderModel.Totalprice0;
ZSubTotal1 += OrderModel.Totalprice2;
ZSubTotal2 += OrderModel.Totalprice3;
ZSubTotal3 += OrderModel.Totalprice4;
ZSubTotal4 += OrderModel.Totalprice5;
ZSubTotal5 += OrderModel.Totalprice6;
ZSubTotal6 += OrderModel.Totalprice7;
if (OrderModel.ttype == 4)
{
liveid = OrderModel.pid;
}
Totalnum += OrderModel.Totalnum;
if (OrderModel.ttype == 6 && OrderModel.ptype == 1)
{
poid = OrderModel.poid;
pcount = OrderModel.pcount;
ypcount = OrderModel.ypcount;
}
if (utype == -1)
{
utype = OrderModel.ttype;
utype0 = OrderModel.hasRead;
ptype = OrderModel.ptype;
peitype = OrderModel.peitype;
province = OrderModel.Province;
city = OrderModel.City;
county = OrderModel.County;
}
}
}
}
ZSubTotal = Convert.ToDouble(ZSubTotal.ToString("f2"));
JFZSubTotal = Convert.ToDouble(JFZSubTotal.ToString("f2"));
ZSubTotal0 = Convert.ToDouble(ZSubTotal0.ToString("f2"));
ZSubTotal1 = Convert.ToDouble(ZSubTotal1.ToString("f2"));
ZSubTotal2 = Convert.ToDouble(ZSubTotal2.ToString("f2"));
ZSubTotal3 = Convert.ToDouble(ZSubTotal3.ToString("f2"));
zyunfei = Convert.ToDouble(zyunfei.ToString("f2"));
xjZSubTotal = (ZSubTotal - PayZSubTotal);
xjZSubTotal = Convert.ToDouble(xjZSubTotal.ToString("f2"));
PayZSubTotal = Convert.ToDouble(PayZSubTotal.ToString("f2"));
if (utype == 0)
{
if (JFZSubTotal > 0.00)
{
mjl2 = new Model.user_Results_jl2();
mjl2.MemberId = umodel.Id;
mjl2.MemberId2 = 0;
mjl2.Addmoney = -JFZSubTotal;
mjl2.Cutmoney = 0;
mjl2.Totalmoney = (umodel.umoney31 - JFZSubTotal);
mjl2.addtime = dt;
mjl2.BZContent = "购买商品";
mjl2.PayID = "";
mjl2.OrdersIDs = "";
mjl2.OrdersID = 0;
mjl2.utype = 4;
mjl2.utype2 = 0;
mjl2.Seef = -1;
mjl2.seeftime = dt;
mjl2.gtype = gtype;
daojl2.Add(mjl2);
//减少买家余额
daoUser.UpdateMoney("umoney31", -JFZSubTotal, umodel.Id);
}
}
string strResult = "";
int OrderId = 0, PId = 0;
int yyq = 0;// Convert.ToInt32(config.webMoney4);
for (int i = 0; i < AOrderIDs.Length; i++)
{
Mtxfw.Model.order_info OrderModel = daoorder.GetModel(int.Parse(AOrderIDs[i]));
if (OrderModel != null)
{
OrderId = OrderModel.Id;
PId = OrderModel.pid;
if (OrderModel.O_Payed == "" || OrderModel.O_Payed == "0")
{
Double money = Convert.ToDouble((OrderModel.Totalprice - OrderModel.Totalprice1).ToString("f2"));//结算金额
if (utype == 0)
{
money = Convert.ToDouble((money - OrderModel.JFTotalprice).ToString("f2"));//结算金额
}
Double money0 = Convert.ToDouble(OrderModel.Totalprice0.ToString("f2"));//首单推荐奖励
Double money1 = Convert.ToDouble(OrderModel.Totalprice2.ToString("f2"));//复购推荐奖励
Double money2 = Convert.ToDouble(OrderModel.Totalprice3.ToString("f2"));//赠送广告券/成本
Double money3 = Convert.ToDouble(OrderModel.Totalprice4.ToString("f2"));//赠送补贴券
Double money4 = Convert.ToDouble(OrderModel.Totalprice5.ToString("f2"));//
Double money5 = Convert.ToDouble(OrderModel.Totalprice6.ToString("f2"));//
Double money6 = Convert.ToDouble(OrderModel.Totalprice7.ToString("f2"));//
Double money7 = Convert.ToDouble(OrderModel.Totalprice8.ToString("f2"));//
Double money8 = Convert.ToDouble(OrderModel.Totalprice9.ToString("f2"));//
if (utype == 0)
{
DAL.MemberStatistics.UpdteYJ(config, umodel, money, money0, money2, money3, gtype, dt, OrderModel.ttype, OrderModel.ptype, peitype, OrderModel.orderid, OrderModel.Id, OrderModel.Province, OrderModel.City, OrderModel.County, OrderModel.Tradingarea);
}
else if (utype == 2)
{
int ycount0 = daoorder.GetCount("ttype=2 and IFDelete=0 and ptype=" + OrderModel.ptype + " and UserId=" + umodel.Id + " and O_Payed>0");
if (ycount0 > 0)
{
money0 = money1;
}
DAL.MemberStatistics.UpdteYJ(config, umodel, money, money0, money2, money3, gtype, dt, OrderModel.ttype, OrderModel.ptype, peitype, OrderModel.orderid, OrderModel.Id, OrderModel.Province, OrderModel.City, OrderModel.County, OrderModel.Tradingarea);
}
if (utype == 14)
{
if ((peitype == 1 ? OrderModel.ZTMemberId : OrderModel.MemberId) > 0)
{
Mtxfw.Model.user_info umodel0 = new Mtxfw.DAL.user_info().GetModel((peitype == 1 ? OrderModel.ZTMemberId : OrderModel.MemberId));
if (umodel0 != null)
{
if (money3 > 0.00)
{
mjl2 = new Model.user_Results_jl2();
mjl2.MemberId = umodel0.Id;
mjl2.MemberId2 = 0;
mjl2.Addmoney = money3;
mjl2.Cutmoney = 0;
mjl2.Totalmoney = (umodel0.umoney40 + money3);
mjl2.addtime = dt;
mjl2.BZContent = umodel.RealName + "购买商品,成本";
mjl2.PayID = "";
mjl2.OrdersIDs = "";
mjl2.OrdersID = 0;
mjl2.utype = 16;
mjl2.utype2 = 0;
mjl2.Seef = -1;
mjl2.seeftime = dt;
mjl2.gtype = gtype;
daojl2.Add(mjl2);
umodel0.umoney40 += money3;
umodel0.umoney40 = Convert.ToDouble(umodel0.umoney40.ToString("f2"));
daoUser.UpdateMoney("umoney40", money3, umodel0.Id);
}
}
}
}
daoorder.UpdateqyState(0, "1", dt, OrderModel.Id);
daoProduct.UpdateJiangLi(OrderModel.pid, 1);
daoorder.Updatetranid(rada.out_trans_id, rada.req_seq_id, OrderModel.Id);
daoorder.Updaterefund_id(rada.party_order_id, OrderModel.Id);
}
}
}
}
Model.User_CZ_log logmodel = new Model.User_CZ_log();
logmodel.MemberId = umodel.Id;
logmodel.AddTime = dt;
logmodel.IP = Mtxfw.Utility.Common.GetIP;
logmodel.Body = "汇付购买商品成功";
logmodel.UType = 0;
logmodel.gtype = gtype;
new DAL.User_CZ_log().Add(logmodel);
}
}
}
}
}
}
else
{
iferr = true;
}
}
else
{
iferr = true;
}
}
else
{
iferr = true;
}
if (iferr)
{
Model.User_Errlog mo = new Model.User_Errlog();
mo.DLID = 0;
mo.ErrType = "银花优选汇付支付接口错误";
mo.addtime = DateTime.Now;
mo.ErrBody = resp_code + "|" + resp_desc + "|" + sign;
mo.ErrBody2 = data;
new DAL.User_Errlog().Add(mo);
//Response.Write("fail");
}
else
{
}
Response.Write("200"); //请不要修改或删除
}
else//验证失败
{
Response.Write("fail");
}
}
catch (Exception err)
{
Mtxfw.Utility.Common.WriteHtml("/weixin/payerr.txt", err.ToString());
}
}
}
///
/// 获取支付宝POST过来通知消息,并以“参数名=参数值”的形式组成数组
///
/// request回来的信息组成的数组
public IDictionary GetRequestPost()
{
int i = 0;
IDictionary sArray = new Dictionary();
NameValueCollection coll;
//Load Form variables into NameValueCollection variable.
coll = Request.Form;
// Get names of all forms into a string array.
String[] requestItem = coll.AllKeys;
for (i = 0; i < requestItem.Length; i++)
{
sArray.Add(requestItem[i], Request.Form[requestItem[i]]);
}
return sArray;
}
//切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。
//bool RSACheckV1(IDictionary parameters, string alipaypublicKey, string charset, string signType, bool keyFromFile)
public object Fromhuifupayresult1Json(string json)
{
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Deserialize(json);
}
public object FromhuifuresultJson(string json)
{
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Deserialize(json);
}
public object FromhuifubasicdataresultJson(string json)
{
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Deserialize(json);
}
public object FromhuifucardlistJson(string json)
{
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Deserialize>(json);
}
}
}