protected void Button1_Click(object sender, EventArgs e) { // 按时构造订单号 DateTime currentTime = new DateTime(); currentTime = DateTime.Now; // 获取适合使用习惯的日期,例如2008-09-13 14:20 string out_trade_no = currentTime.ToString("g"); // 替换日期中的特殊字符 out_trade_no = out_trade_no.Replace("-", ""); out_trade_no = out_trade_no.Replace(":", ""); out_trade_no = out_trade_no.Replace(" ", ""); // 业务参数赋值 // 支付接口 string gateway = T_gateway.Text; // 服务接口名称,此处采用测试默认值。 string service = T_service.Text; // 合作伙伴ID。注册为支付宝用户后获取。 string partner = T_partner.Text; // 加密类型。 string sign_type = T_sign_type.Text; // 商品名称 string subject = T_subject.Text; // 商品描述 string body = T_body.Text; // 支付类型 此处默认为商品购买,具体类型可参考下载的文档。 string payment_type = T_payment_type.Text; // 总金额 0.01~50000.00 string total_fee = T_total_fee.Text; // 商品的展示地址 string show_url = T_show_url.Text; // 卖家账号 string seller_email = T_seller_email.Text; // partner账户的支付宝安全校验码 string key = T_key.Text; // 服务器返回接口 string return_url = T_return_url.Text; // 服务器通知返回接口 string notify_url = T_notify_url.Text; // 编码格式 string _input_charset = T_inputchatset.Text; // 生成一个支付对象 AliPay ap = new AliPay(); // 根据网关校验,并返回完成地址 string aliay_url = ap.CreatUrl( gateway, service, partner, sign_type, out_trade_no, subject, body, payment_type, total_fee, show_url, seller_email, key, return_url, _input_charset, notify_url); // 导航到支付宝交付页面 Response.Redirect(aliay_url); }
protected void Button1_Click(object sender, EventArgs e) { check ck = new check(); string out_order_no; out_order_no = Request.QueryString["orderid"]; //业务参数赋值; string gateway = "https://www.alipay.com/cooperate/gateway.do?"; //'支付接口 string service = "bank2freeze"; string partner = "2088201885472720"; //partner 合作伙伴ID 保留字段 string sign_type = "MD5"; string _input_charset = "utf-8"; string subject = "即时订舱保证金(支付宝方式)" + out_order_no; //subject 商品名称 string seller_email = "*****@*****.**"; //卖家账号 string buyer_email = "*****@*****.**"; //买家账号 string key = "o272s6dqq0s60tm44sy314jvnsfeihd0"; //partner账户的支付宝安全校验码 string return_url = "http://www.100allin.com:8083/test/Alipay_Return.aspx"; //服务器通知返回接口 string notify_url = "http://www.100allin.com:8083/test/Alipay_Notify.aspx"; //服务器通知返回接口 string out_order_dt = "2007-11-05 09:00:00"; string order_from = "100002"; string goods_url = "http://localhost/fcl/"; string memo = "1,2,3"; string amount = "0.05"; string op_type = "0006"; AliPay ap = new AliPay(); string aliay_url = ap.CreatUrl( gateway, service, partner, sign_type, _input_charset, out_order_no, subject, seller_email, buyer_email, out_order_dt, order_from, goods_url, memo, amount, op_type, key, return_url, notify_url ); // Response.Write(aliay_url); Response.Redirect(aliay_url); }
protected void Button1_Click(object sender, EventArgs e) { string out_order_no; out_order_no = Label1.Text; //业务参数赋值; string gateway = "https://www.alipay.com/cooperate/gateway.do?"; //'支付接口 string service = "bank2freeze"; string partner = "2088002037527206"; //partner 合作伙伴ID 保留字段 string sign_type = "MD5"; string _input_charset = "utf-8"; string subject = "dingcangfei"; //subject 商品名称 string seller_email = "*****@*****.**"; //卖家账号 string buyer_email = "*****@*****.**"; //买家账号 string key = "hcxocn904wlsbz17rb86lqel4s6exmbt"; //partner账户的支付宝安全校验码 string return_url = "http://www.100allin.com:8083/test/Alipay_Return.aspx"; //服务器通知返回接口 string notify_url = "http://www.100allin.com:8083/test/Alipay_Notify.aspx"; //服务器通知返回接口 string out_order_dt = "2007-11-05 09:00:00"; string order_from = "100002"; string goods_url = "http://localhost/fcl/"; string memo = "1,2,3"; string amount = "0.01"; string op_type = "0006"; AliPay ap = new AliPay(); string aliay_url = ap.CreatUrl( gateway, service, partner, sign_type, _input_charset, out_order_no, subject, seller_email, buyer_email, out_order_dt, order_from, goods_url, memo, amount, op_type, key, return_url, notify_url ); // Response.Write(aliay_url); Response.Redirect(aliay_url); }
protected void Button1_Click(object sender, EventArgs e) { long orderID = Convert.ToInt64(Request.Cookies["orderID"].Value); OrdersInfo order = Orders.GetOrdersByID(orderID); AliPay ap = new AliPay(); PaymentInfo pay=Payment.GetPaymentByID(2); string key = pay.PrivateKey;//填写自己的key string partner = pay.PartnerID;//填写自己的Partner decimal sendPrice =decimal.Round(order.SendPrice,2); decimal price = decimal.Round(order.NeedPayPrice, 2); StandardGoods bp = new StandardGoods("trade_create_by_buyer", partner, key, "MD5", order.OrderID.ToString(), Guid.NewGuid().ToString(), price - sendPrice, 1, pay.UserName, pay.UserName , "EMS", sendPrice, "BUYER_PAY", "1"); bp.Notify_Url = "http://"; ap.CreateStandardTrade("https://www.alipay.com/cooperate/gateway.do", bp, this); }
protected void Button1_Click(object sender, EventArgs e) { //��ʱ���충���ţ� System.DateTime currentTime=new System.DateTime(); currentTime=System.DateTime.Now; string out_trade_no = currentTime.ToString("g"); out_trade_no = out_trade_no.Replace("-", ""); out_trade_no = out_trade_no.Replace(":", ""); out_trade_no = out_trade_no.Replace(" ", ""); //ҵ�������ֵ�� string gateway = T_gateway.Text; //'֧���ӿ� string service = T_service.Text; string partner = T_partner.Text; //partner �������ID �����ֶ� string sign_type = T_sign_type.Text; string subject = T_subject.Text; //subject ��Ʒ���� string body = T_body.Text; //body ��Ʒ���� string payment_type = T_payment_type.Text; //֧������ string total_fee=T_total_fee.Text; //�ܽ�� 0.01��50000.00 string show_url = T_show_url.Text; string seller_email = T_seller_email.Text; //����˺� string key = T_key.Text; //partner�˻���֧������ȫУ���� string return_url = T_return_url.Text; //������֪ͨ���ؽӿ� string notify_url =T_notify_url.Text; //������֪ͨ���ؽӿ� string _input_charset = T_inputchatset.Text; AliPay ap = new AliPay(); string aliay_url=ap.CreatUrl( gateway, service, partner, sign_type, out_trade_no, subject, body, payment_type, total_fee, show_url, seller_email, key, return_url, _input_charset, notify_url ); Response.Redirect(aliay_url); }
protected void Page_Load(object sender, EventArgs e) { check ck = new check(); data_conn cn = new data_conn(); DataSet ds = new DataSet(); string sql = ""; string account = ck.CheckInput(GetRequestQueryString("account", "")); string orderid = ck.CheckInput(GetRequestQueryString("orderid", "")); string plus = ck.CheckInput(GetRequestQueryString("plus", "0")); string u = ck.CheckInput(GetRequestCookies("user_id", "0")); double baozhengjin = 0; string out_order_no; Random rd = new Random(); baozhengjin = Convert.ToDouble(plus); out_order_no = "PRE" + DateTime.Now.ToString("yyMMddHHmm") + GetFourDigits(Convert.ToInt32(10000 * rd.NextDouble()).ToString()); baozhengjin = baozhengjin; //测试用,把保证金缩小100000倍 string userid = u;//获得货代的userid sql = ""; sql += "UPDATE TB_USER SET ali_account = '" + account + "' WHERE userid = " + userid; cn.mdb_exe(sql); string ali_account = account;//获得货代的支付宝帐号 sql = "INSERT INTO TB_ORDER_ALIPREPAY (order_code,amount,order_user,alipay_if,alipay_pay_return) VALUES ('" + out_order_no + "'," + baozhengjin + "," + userid + ",0,0)"; //预付存根 cn.mdb_exe(sql); //Response.Write(ali_account); //业务参数赋值; string gateway = "https://www.alipay.com/cooperate/gateway.do?"; //'支付接口 string service = "bank2freeze"; string partner = "2088201885472720"; //partner 合作伙伴ID 保留字段 string sign_type = "MD5"; string _input_charset = "utf-8"; string subject = out_order_no; //subject 商品名称 string seller_email = "*****@*****.**"; //卖家账号 string buyer_email = ali_account; //买家账号 string key = "o272s6dqq0s60tm44sy314jvnsfeihd0"; //partner账户的支付宝安全校验码 string return_url = "http://www.100allin.com/test/Alipay_Return2.aspx"; //服务器通知返回接口 string notify_url = "http://www.100allin.com/test/Alipay_Notify2.aspx"; //服务器通知返回接口 string out_order_dt = "2007-11-05 09:00:00"; string order_from = "100002"; string goods_url = "http://www.100allin.com/member/order/ali_order.aspx?orderid=" + orderid; string memo = "点击查看订单" + out_order_no; string amount = baozhengjin.ToString(); string op_type = "0006"; AliPay ap = new AliPay(); string aliay_url = ap.CreatUrl( gateway, service, partner, sign_type, _input_charset, out_order_no, subject, seller_email, buyer_email, out_order_dt, order_from, goods_url, memo, amount, op_type, key, return_url, notify_url ); // Response.Write(aliay_url); Response.Redirect(aliay_url); }
protected void Button1_Click(object sender, EventArgs e) { /* show_url ="www.xiaohhgame.com" '网站的网址 seller_email = "*****@*****.**" '请设置成您自己的支付宝帐户 partner = "2088102335433231" '支付宝的账户的合作者身份ID key = "7a7kaee4ogm8lwywepjgpgkcek9pcnl3" '支付宝的安全校验码 notify_url = "http://www.xiaohhgame.com/alipay/Alipay_Notify.asp" '付完款后服务器通知的页面 要用 http://格式的完整路径 return_url = "http://www.xiaohhgame.com/alipay/return_Alipay_Notify.asp" '付完款后跳转的页面 要用 http://格式的完整路径 */ //商品名称(商户)(此参数可以后台配置的) string companyName = UiCommon.StringConfig.CompanyNameOfPay; //支付人(也就是登录的用户账号) string userName = txtUserName.Text.Trim(); BLL.Member mem = new BLL.Member(); if (!mem.ExistName(userName))//验证用户名是否存在 { CommonManager.Web.RegJs(this, "alert('找不到您输入的用户,请重新核对。');history.back();", false); return; } //支付金额 string payMoney = PayMoney.Text.Trim();//从前台得到支付的金额 if (string.IsNullOrEmpty(payMoney) || !CommonManager.String.IsInteger(payMoney) || int.Parse(payMoney) <= 0)//验证金额的合法性 { CommonManager.Web.RegJs(this, "alert('金额只能输入大于0的整数。');history.back();", false); return; } //支付类型 Web_RMBCost.PayType 此值固定 int payTypeLog = 4; //类型信息 Web_RMBCost.Typeinfo 此值固定 string typeInfoLog = "支付宝在线支付"; //*****************业务参数赋值***************************************************************** //订单号(按时构造) /*System.DateTime currentTime = new System.DateTime(); currentTime = System.DateTime.Now; string out_trade_no = currentTime.ToString("g"); out_trade_no = out_trade_no.Replace("-", ""); out_trade_no = out_trade_no.Replace(":", ""); out_trade_no = out_trade_no.Replace(" ", "");*/ string out_trade_no = DateTime.Now.ToString("yyyyMMddHHmmssfffffff");//此值固定 //支付接口 https://www.alipay.com/cooperate/gateway.do? string gateway = UiCommon.StringConfig.AlipayNotifyURL;//此值在web.config中配置 //服务参数 string service = "create_direct_pay_by_user";//此值固定 //partner 合作伙伴ID(保留字段) string partner = UiCommon.StringConfig.AlipayPartnerID;//此值在web.config中配置 //加密类型 string sign_type = "MD5";//此值固定 //subject 商品名称 string subject = companyName; //body 商品描述 string body = "游戏金币";//此值可以自定义 //支付类型 string payment_type = "1";//此值固定 //总金额 0.01~50000.00 string total_fee = payMoney; //网站的网址 string show_url = UiCommon.StringConfig.WebSiteName;// 支付宝页面显示<a href="www.xiaohhgame.com" target="_blank">商品名称</a> ; //卖家账号 string seller_email = UiCommon.StringConfig.AlipayAccount; //此值在web.config中配置 //partner账户的支付宝安全校验码 string key = UiCommon.StringConfig.AlipayKey; //此值在web.config中配置 //服务器通知返回接口,这个页面可以展示给客户看,只有付款成功才会跳转到这个页面 string return_url = UiCommon.StringConfig.WebSiteName + "/Manage/Pay/Alipay/Alipay_Return.aspx"; //服务器通知返回接口 这个页面是支付宝发过来确定信息后网站更新数据,然后再给支付宝发送确定信息 string notify_url = UiCommon.StringConfig.WebSiteName + "/Manage/Pay/Alipay/Alipay_Notify.aspx"; string _input_charset = "utf-8"; //支付成功前, 插入支付的订单日志 mem.Add3PayOrder(userName, Convert.ToInt32(payMoney), payTypeLog, typeInfoLog, out_trade_no); //把支付数据提交到支付宝服务器 AliPay ap = new AliPay(); string aliay_url = ap.CreatUrl( gateway, service, partner, sign_type, out_trade_no, subject, body, payment_type, total_fee, show_url, seller_email, key, return_url, _input_charset, notify_url ); Response.Redirect(aliay_url); }
protected void Page_Load(object sender, EventArgs e) { check ck = new check(); data_conn cn = new data_conn(); DataSet ds = new DataSet(); string sql = ""; string account = ck.CheckInput(GetRequestQueryString("account", "")); string orderid = ck.CheckInput(GetRequestQueryString("orderid", "")); string plus = ck.CheckInput(GetRequestQueryString("plus", "0")); string u = ck.CheckInput(GetRequestCookies("user_id", "0")); double baozhengjin = 0; string out_order_no; if (plus == "0") { sql = ""; sql += "SELECT * FROM TB_ORDER WHERE order_code = '" + orderid + "'"; ds = cn.mdb_ds(sql, "order"); string[] odetail; odetail = AllinOrder1.GetOrderDetail(orderid); string order_type_string = odetail[58]; double base_fee = Convert.ToDouble(odetail[60]); out_order_no = orderid; //商品编号就是订单号 baozhengjin = base_fee * 4; //保证金+订舱费是订舱费4倍 AllinOrder1.SetAliPayIf(orderid, "1"); } else { Random rd = new Random(); baozhengjin = Convert.ToDouble(plus); out_order_no = "PRE" + DateTime.Now.ToString("yyMMddHHmm") + GetFourDigits(Convert.ToInt32(10000 * rd.NextDouble()).ToString()); } baozhengjin = baozhengjin; //测试用,把保证金缩小10000倍 baozhengjin = Math.Round(baozhengjin, 2); //保留两位小数,精确到分,否则支付宝会出错 string userid = u;//获得货代的userid sql = ""; sql += "UPDATE TB_USER SET ali_account = '" + account + "' WHERE userid = " + userid; cn.mdb_exe(sql); string ali_account = account;//获得货代的支付宝帐号 //业务参数赋值; string gateway = "https://www.alipay.com/cooperate/gateway.do?"; //'支付接口 string service = "bank2freeze"; string partner = "2088201885472720"; //partner 合作伙伴ID 保留字段 string sign_type = "MD5"; string _input_charset = "utf-8"; string subject = out_order_no; //subject 商品名称 string seller_email = "*****@*****.**"; //卖家账号 string buyer_email = ali_account; //买家账号 string key = "o272s6dqq0s60tm44sy314jvnsfeihd0"; //partner账户的支付宝安全校验码 string return_url = "http://www.100allin.com/test/Alipay_Return.aspx"; //服务器通知返回接口 string notify_url = "http://www.100allin.com/test/Alipay_Notify.aspx"; //服务器通知返回接口 string out_order_dt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); string order_from = "100002"; string goods_url = "http://www.100allin.com/member/order/order_view.aspx?orderid=" + orderid; string memo = "点击查看订单" + out_order_no; string amount = baozhengjin.ToString(); string op_type = "0006"; AliPay ap = new AliPay(); string aliay_url = ap.CreatUrl( gateway, service, partner, sign_type, _input_charset, out_order_no, subject, seller_email, buyer_email, out_order_dt, order_from, goods_url, memo, amount, op_type, key, return_url, notify_url ); // Response.Write(aliay_url); Response.Redirect(aliay_url); }
protected void Button1_Click(object sender, EventArgs e) { /* show_url ="www.xiaohhgame.com" '��վ����ַ seller_email = "*****@*****.**" '�����ó����Լ���֧�����ʻ� partner = "2088102335433231" '֧�������˻��ĺ��������ID key = "7a7kaee4ogm8lwywepjgpgkcek9pcnl3" '֧�����İ�ȫУ���� notify_url = "http://www.xiaohhgame.com/alipay/Alipay_Notify.asp" '�����������֪ͨ��ҳ�� Ҫ�� http://��ʽ������·�� return_url = "http://www.xiaohhgame.com/alipay/return_Alipay_Notify.asp" '��������ת��ҳ�� Ҫ�� http://��ʽ������·�� */ //��Ʒ���ƣ��̻��� string companyName = UiCommon.StringConfig.CompanyNameOfPay; //֧���� string userName = txtUserName.Text.Trim(); BLL.Member mem = new BLL.Member(); if (!mem.ExistName(userName)) { CommonManager.Web.RegJs(this, "alert('�Ҳ�����������û��������º˶ԡ�');history.back();", false); return; } //֧����� string payMoney = PayMoney.Text.Trim(); if (string.IsNullOrEmpty(payMoney) || !CommonManager.String.IsInteger(payMoney) || int.Parse(payMoney) <= 0) { CommonManager.Web.RegJs(this, "alert('���ֻ���������0��������');history.back();", false); return; } int otherPayMoney = mem.UserTodayOtherPayMoney(userName.Trim()); //�Ƿ������ֵ���ƶ� if (Convert.ToInt32(payMoney) > otherPayMoney) { CommonManager.Web.RegJs(this, "alert(''�������ܳ�ֵ��������ܴ���" + otherPayMoney + "��');history.back();", false); return; } //֧������ Web_RMBCost.PayType int payTypeLog = 4; //������Ϣ Web_RMBCost.Typeinfo string typeInfoLog = "֧��������֧��"; //*****************ҵ�������ֵ***************************************************************** //������(��ʱ����) /*System.DateTime currentTime = new System.DateTime(); currentTime = System.DateTime.Now; string out_trade_no = currentTime.ToString("g"); out_trade_no = out_trade_no.Replace("-", ""); out_trade_no = out_trade_no.Replace(":", ""); out_trade_no = out_trade_no.Replace(" ", "");*/ string out_trade_no = DateTime.Now.ToString("yyyyMMddHHmmssfffffff"); //֧���ӿڡ�https://www.alipay.com/cooperate/gateway.do? string gateway = UiCommon.StringConfig.AlipayNotifyURL; //������� string service = "create_direct_pay_by_user"; //partner �������ID(�����ֶ�) string partner = UiCommon.StringConfig.AlipayPartnerID;// "2088102335433231"; //�������� string sign_type = "MD5"; //subject ��Ʒ���� string subject = companyName; //body ��Ʒ���� // [modify] jeffery string body = "��Ϸ" + UiCommon.StringConfig.MoneyName; //double poupon = Convert.ToDouble(CouponRate) * Convert.ToDouble(PayMoney.Text); //if (poupon < 0) // poupon = 0; //string body = "��Ϸ" + UiCommon.StringConfig.MoneyName + // "!@#" + userName + "!@#" + Convert.ToInt32(poupon).ToString(); // ---end //֧������ string payment_type = "1"; //�ܽ�� 0.01��50000.00 string total_fee = payMoney; //��վ����ַ string show_url = UiCommon.StringConfig.WebSiteName;// ֧����ҳ����ʾ<a href="www.xiaohhgame.com" target="_blank">��Ʒ����</a> ; //����˺� string seller_email = UiCommon.StringConfig.AlipayAccount; //"*****@*****.**"; //partner�˻���֧������ȫУ���� string key = UiCommon.StringConfig.AlipayKey; //"7a7kaee4ogm8lwywepjgpgkcek9pcnl3"; //������֪ͨ���ؽӿڣ����ҳ�����չʾ���ͻ���,ֻ�и���ɹ��Ż���ת�����ҳ�� string return_url = UiCommon.StringConfig.WebSiteName + "/Manage/Pay/Alipay/Alipay_Return.aspx"; //������֪ͨ���ؽӿ� string notify_url = UiCommon.StringConfig.WebSiteName + "/Manage/Pay/Alipay/Alipay_Notify.aspx"; string _input_charset = "utf-8"; //֧���ɹ�ǰ�� ����֧���Ķ�����־ mem.Add3PayOrder(userName, Convert.ToInt32(payMoney), payTypeLog, typeInfoLog, out_trade_no); //��֧�������ύ��֧���������� AliPay ap = new AliPay(); string aliay_url = ap.CreatUrl( gateway, service, partner, sign_type, out_trade_no, subject, body, payment_type, total_fee, show_url, seller_email, key, return_url, _input_charset, notify_url ); Response.Redirect(aliay_url); }
/// <summary> /// 生成请求链接 /// </summary> /// <param name="authType">在防伪参数追加信息(可用于登录、注册、绑定、解绑区分)</param> /// <returns></returns> public string Auth(string authType = "") { var url = string.Empty; switch (loginType) { case LoginBase.LoginType.QQ: { var reqe = new QQ_Authorization_RequestEntity(); if (!string.IsNullOrWhiteSpace(authType)) { reqe.state = authType + reqe.state; } url = QQ.AuthorizationHref(reqe); } break; case LoginBase.LoginType.WeiBo: { var reqe = new Weibo_Authorize_RequestEntity(); if (!string.IsNullOrWhiteSpace(authType)) { reqe.state = authType + reqe.state; } url = Weibo.AuthorizeHref(reqe); } break; case LoginBase.LoginType.GitHub: { var reqe = new GitHub_Authorize_RequestEntity(); if (!string.IsNullOrWhiteSpace(authType)) { reqe.state = authType + reqe.state; } url = GitHub.AuthorizeHref(reqe); } break; case LoginBase.LoginType.TaoBao: { var reqe = new TaoBao_Authorize_RequestEntity(); if (!string.IsNullOrWhiteSpace(authType)) { reqe.state = authType + reqe.state; } url = TaoBao.AuthorizeHref(reqe); } break; case LoginBase.LoginType.MicroSoft: { var reqe = new MicroSoft_Authorize_RequestEntity(); if (!string.IsNullOrWhiteSpace(authType)) { reqe.state = authType + reqe.state; } url = MicroSoft.AuthorizeHref(reqe); } break; case LoginBase.LoginType.WeChat: { var reqe = new WeChat_Authorization_RequestEntity(); if (!string.IsNullOrWhiteSpace(authType)) { reqe.state = authType + reqe.state; } url = WeChat.AuthorizationHref(reqe); } break; case LoginBase.LoginType.DingTalk: { var reqe = new DingTalk_Authorize_RequestEntity(); if (!string.IsNullOrWhiteSpace(authType)) { reqe.state = authType + reqe.state; } //扫描模式 url = DingTalk.AuthorizeHref_ScanCode(reqe); //密码模式 //url = DingTalk.AuthorizeHref_Password(reqe); } break; case LoginBase.LoginType.Gitee: { var reqe = new Gitee_Authorize_RequestEntity(); if (!string.IsNullOrWhiteSpace(authType)) { reqe.state = authType + reqe.state; } url = Gitee.AuthorizeHref(reqe); } break; case LoginBase.LoginType.Google: { var reqe = new Google_Authorize_RequestEntity(); if (!string.IsNullOrWhiteSpace(authType)) { reqe.state = authType + reqe.state; } url = Google.AuthorizeHref(reqe); } break; case LoginBase.LoginType.AliPay: { var reqe = new AliPay_Authorize_RequestEntity(); if (!string.IsNullOrWhiteSpace(authType)) { reqe.state = authType + reqe.state; } url = AliPay.AuthorizeHref(reqe); } break; case LoginBase.LoginType.StackOverflow: { var reqe = new StackOverflow_Authorize_RequestEntity(); if (!string.IsNullOrWhiteSpace(authType)) { reqe.state = authType + reqe.state; } url = StackOverflow.AuthorizeHref(reqe); } break; } return(url); }
/// <summary> /// 回调方法 /// </summary> /// <param name="authorizeResult">接收授权码、防伪参数</param> public void AuthCallback(LoginBase.AuthorizeResult authorizeResult) { if (string.IsNullOrWhiteSpace(authorizeResult.code)) { //打开链接没登录授权 } else { //唯一标示 string OpenId = string.Empty; switch (loginType) { case LoginBase.LoginType.QQ: { //获取 access_token var tokenEntity = QQ.AccessToken(new QQ_AccessToken_RequestEntity() { code = authorizeResult.code }); //获取 OpendId var openidEntity = QQ.OpenId(new QQ_OpenId_RequestEntity() { access_token = tokenEntity.access_token }); //获取 UserInfo _ = QQ.OpenId_Get_User_Info(new QQ_OpenAPI_RequestEntity() { access_token = tokenEntity.access_token, openid = openidEntity.openid }); //身份唯一标识 OpenId = openidEntity.openid; } break; case LoginBase.LoginType.WeiBo: { //获取 access_token var tokenEntity = Weibo.AccessToken(new Weibo_AccessToken_RequestEntity() { code = authorizeResult.code }); //获取 access_token 的授权信息 var tokenInfoEntity = Weibo.GetTokenInfo(new Weibo_GetTokenInfo_RequestEntity() { access_token = tokenEntity.access_token }); //获取 users/show _ = Weibo.UserShow(new Weibo_UserShow_RequestEntity() { access_token = tokenEntity.access_token, uid = Convert.ToInt64(tokenInfoEntity.uid) }); OpenId = tokenEntity.access_token; } break; case LoginBase.LoginType.WeChat: { //获取 access_token var tokenEntity = WeChat.AccessToken(new WeChat_AccessToken_RequestEntity() { code = authorizeResult.code }); //获取 user _ = WeChat.Get_User_Info(new WeChat_OpenAPI_RequestEntity() { access_token = tokenEntity.access_token, openid = tokenEntity.openid }); //身份唯一标识 OpenId = tokenEntity.openid; } break; case LoginBase.LoginType.GitHub: { //获取 access_token var tokenEntity = GitHub.AccessToken(new GitHub_AccessToken_RequestEntity() { code = authorizeResult.code }); //获取 user var userEntity = GitHub.User(new GitHub_User_RequestEntity() { access_token = tokenEntity.access_token }); OpenId = userEntity.id.ToString(); } break; case LoginBase.LoginType.TaoBao: { //获取 access_token var tokenEntity = TaoBao.AccessToken(new TaoBao_AccessToken_RequestEntity() { code = authorizeResult.code }); OpenId = tokenEntity.open_uid; } break; case LoginBase.LoginType.MicroSoft: { //获取 access_token var tokenEntity = MicroSoft.AccessToken(new MicroSoft_AccessToken_RequestEntity() { code = authorizeResult.code }); //获取 user var userEntity = MicroSoft.User(new MicroSoft_User_RequestEntity() { access_token = tokenEntity.access_token }); OpenId = userEntity.id.ToString(); } break; case LoginBase.LoginType.DingTalk: { //获取 user var userEntity = DingTalk.User(new DingTalk_User_RequestEntity(), authorizeResult.code); OpenId = userEntity?.openid; } break; case LoginBase.LoginType.Gitee: { //获取 access_token var tokenEntity = Gitee.AccessToken(new Gitee_AccessToken_RequestEntity() { code = authorizeResult.code }); //获取 user var userEntity = Gitee.User(new Gitee_User_RequestEntity() { access_token = tokenEntity.access_token }); OpenId = userEntity.id.ToString(); } break; case LoginBase.LoginType.Google: { //获取 access_token var tokenEntity = Google.AccessToken(new Google_AccessToken_RequestEntity() { code = authorizeResult.code }); //获取 user var userEntity = Google.User(new Google_User_RequestEntity() { access_token = tokenEntity.access_token }); OpenId = userEntity.sub; } break; case LoginBase.LoginType.AliPay: { //获取 access_token var tokenEntity = AliPay.AccessToken(new AliPay_AccessToken_RequestEntity() { code = authorizeResult.auth_code }); //实际上这一步已经获取到 OpenId,登录验证可以了,获取个人信息还需调用下面的接口 //tokenEntity.user_id //获取 user var userEntity = AliPay.User(new AliPay_User_RequestEntity() { auth_token = tokenEntity.access_token }); OpenId = userEntity.user_id; } break; case LoginBase.LoginType.StackOverflow: { //获取 access_token var tokenEntity = StackOverflow.AccessToken(new StackOverflow_AccessToken_RequestEntity() { code = authorizeResult.code }); //获取 user var userEntity = StackOverflow.User(new StackOverflow_User_RequestEntity() { access_token = tokenEntity.access_token }); OpenId = userEntity.user_id; } break; } //拿到登录标识 if (string.IsNullOrWhiteSpace(OpenId)) { //TO DO } } }
/// <summary> /// 退款处理 /// </summary> /// <param name="mOrder">订单 Model</param> /// <param name="uEmployees">用户 Model</param> /// <param name="uCompany">公司 Model</param> /// <returns></returns> public bool TitckOrderRefund(Tb_Ticket_Order mOrder, User_Employees uEmployees, User_Company uCompany, out string msg) { bool result = false; msg = ""; try { if (mOrder.PayWay == 1 || mOrder.PayWay == 5) { #region 支付宝 AliPay aliPay = new AliPay(); string strTime = DateTime.Now.ToString("yyyyMMdd"); string bno = strTime + mOrder.OrderId + DateTime.Now.ToString("HHmm"); string detail_data = ""; string[] Details = new string[3]; Details[0] = bno; //批次号规则 Details[1] = "1"; //1.要退款的支付宝交易号 //2.退款参数 detail_data = mOrder.PayNo + "^" + mOrder.PayMoney.ToString("F2") + "^退款|" + ""; #region 分账信息 string tempSqlWhere = " OrderId='" + mOrder.OrderId + "'"; List <Tb_Order_PayDetail> payDetailList = new PbProject.Logic.Order.Tb_Order_PayDetailBLL().GetListBySqlWhere(tempSqlWhere); payDetailList = bill.OnLinePayDetails(payDetailList); #endregion 分账信息 Tb_Order_PayDetail payDetail = null; decimal realPayMoney = 0; for (int i = 0; i < payDetailList.Count; i++) { payDetail = payDetailList[i]; realPayMoney = payDetail.RealPayMoney; if (payDetail.PayType == "付款" || realPayMoney == 0) { continue; } detail_data += payDetail.PayAccount + "^^" + aliPay._serveremail + "^^" + realPayMoney.ToString("F2") + "^退" + payDetail.PayType + "|"; } detail_data = detail_data.TrimEnd('|'); Details[2] = detail_data; result = aliPay.IsRefund(Details); if (result) { bill.CreateBillRefundFailedLog(uEmployees, mOrder.OrderId, "提交退款成功,等待退款......"); //退款失败 } else { bill.CreateBillRefundFailedLog(uEmployees, mOrder.OrderId, "提交退款失败"); //退款失败 } #endregion } else if (mOrder.PayWay == 2 || mOrder.PayWay == 6) { #region 快钱 _99Bill _99bill = new _99Bill(); string dataTime = DateTime.Now.ToString("yyyyMMddHHmmss"); string detail_data = ""; decimal total = mOrder.PayMoney; //退款金额 int orderPrice = int.Parse((total * 100).ToString().Split('.')[0]); //退款金额 分为单位 int tempPrice = 0; #region 分账信息 string tempSqlWhere = " OrderId='" + mOrder.OrderId + "'"; List <Tb_Order_PayDetail> payDetailList = new PbProject.Logic.Order.Tb_Order_PayDetailBLL().GetListBySqlWhere(tempSqlWhere); payDetailList = bill.OnLinePayDetails(payDetailList); #endregion 分账信息 Tb_Order_PayDetail payDetail = null; decimal realPayMoney = 0; int allTempPrice = 0; for (int i = 0; i < payDetailList.Count; i++) { payDetail = payDetailList[i]; realPayMoney = payDetail.RealPayMoney; if (payDetail.PayType == "付款" || realPayMoney == 0) { continue; } tempPrice = int.Parse((realPayMoney * 100).ToString().Split('.')[0]);//退款金额 分为单位 //"1^[email protected]^5000^爱的|1^[email protected]^7000^分账1|1^[email protected]^8000^分账2"; // Details[3] = "1^" + LinkEmail + "^" + p2 + "^Refund|1^" + account + "^" + p1 + "^Refund"; detail_data += "1^" + payDetail.PayAccount + "^" + tempPrice + "^Refund|"; allTempPrice += tempPrice; } tempPrice = orderPrice - allTempPrice; detail_data += "1^" + _99bill.LinkEmail + "^" + tempPrice + "^Refund|"; //主账号退款 , 用于退款平衡 detail_data = detail_data.TrimEnd('|'); string[] Details = new string[6]; string OldOrderId = (string.IsNullOrEmpty(mOrder.OldOrderId)) ? mOrder.OrderId : mOrder.OldOrderId; Details[0] = OldOrderId; // 订单编号(原订单号) Details[1] = orderPrice.ToString(); // 订单金额 Details[2] = "系统退款"; //备注 Details[3] = detail_data; //退款明细 Details[4] = mOrder.OrderId; // 订单编号(退废订单编号) Details[5] = DateTime.Now.ToString("yyyyMMddHHmmss"); //退款流水号 string str = _99bill.Refund(Details); //PbProject.WebCommon.Log.Log.RecordLog("RefundOper", str, false, null);//日志 result = _99bill.IsRefund(str); if (result == true) { //退款成功,处理订单状态 string indexno = Details[5] + Details[4]; // 退款成功流水号 bill.CreateBillRefund(mOrder.OrderId, indexno, 2, "在线退款", "快钱退款", str); } else { //退款失败日志 bill.CreateBillRefundFailedLog(uEmployees, mOrder.OrderId, "退款失败,请检查:" + str); //退款失败 } #endregion } else if (mOrder.PayWay == 3 || mOrder.PayWay == 7) { #region 汇付 ChinaPnr chinaPnr = new ChinaPnr(); string dataTime = DateTime.Now.ToString("yyyyMMddHHmmss"); string detail_data = ""; decimal total = mOrder.PayMoney; //退款金额 #region 分账信息 string tempSqlWhere = " OrderId='" + mOrder.OrderId + "'"; List <Tb_Order_PayDetail> payDetailList = new PbProject.Logic.Order.Tb_Order_PayDetailBLL().GetListBySqlWhere(tempSqlWhere); payDetailList = bill.OnLinePayDetails(payDetailList); #endregion 分账信息 Tb_Order_PayDetail payDetail = null; decimal realPayMoney = 0; for (int i = 0; i < payDetailList.Count; i++) { payDetail = payDetailList[i]; realPayMoney = payDetail.RealPayMoney; if (payDetail.PayType == "付款" || realPayMoney == 0) { continue; } detail_data += "Agent:" + payDetail.PayAccount + ":" + realPayMoney.ToString("f2") + ";"; } detail_data = detail_data.TrimEnd(';'); string strOrderOldID = string.IsNullOrEmpty(mOrder.OldOrderId) ? mOrder.OrderId : mOrder.OldOrderId; string[] Details = new string[4]; Details[0] = mOrder.OrderId; //订单编号 Details[1] = strOrderOldID; //原订单编号 Details[2] = total.ToString(); //退款总金额 Details[3] = detail_data; //退分润数据集 string value = chinaPnr.Refund(Details[0], Details[1], Details[2], Details[3]); if (value.Contains("RespCode=000000") && value.Contains("ErrMsg=成功")) { result = true; } if (result == true) { string indexno = mOrder.OrderId; // 退款成功流水号 bill.CreateBillRefund(mOrder.OrderId, indexno, 3, "在线退款", "汇付退款", value); } else { bill.CreateBillRefundFailedLog(uEmployees, mOrder.OrderId, "退款失败,请检查:" + value); //退款失败 } #endregion } else if (mOrder.PayWay == 4 || mOrder.PayWay == 8 || mOrder.PayWay == 40) { #region 财付通 // 财付通 暂时不处理 TenPayParam tenPayParam = new TenPayParam(); //内部订单号 tenPayParam.Orderid = mOrder.OrderId; //旧订单号 if (!String.IsNullOrEmpty(mOrder.OldOrderId)) { tenPayParam.OldOrderid = mOrder.OldOrderId; } else { tenPayParam.OldOrderid = mOrder.OrderId; } //财付通交易号 tenPayParam.PayNo = mOrder.PayNo; //总金额 Tb_Ticket_Order tbTicketOrder = new PbProject.Logic.Order.Tb_Ticket_OrderBLL().GetTicketOrderByOrderId(tenPayParam.OldOrderid); if (tbTicketOrder != null) { tenPayParam.Total_Tee = (tbTicketOrder.PayMoney * 100).ToString("F0"); } else { tenPayParam.Total_Tee = (mOrder.PayMoney * 100).ToString("F0"); } tenPayParam.Date = (mOrder.PayMoney * 100).ToString("F0"); /*---------------------分账信息----------------------------*/ string detail_data = string.Format("{0}|", (mOrder.PayMoney * 100).ToString("F0")); string tempSqlWhere = " OrderId='" + mOrder.OrderId + "'"; Tb_Order_PayDetail payDetail = null; decimal realPayMoney = 0; List <Tb_Order_PayDetail> payDetailList = new PbProject.Logic.Order.Tb_Order_PayDetailBLL().GetListBySqlWhere(tempSqlWhere); /* * for (int i = 0; i < payDetailList.Count; i++) * { * payDetail = payDetailList[i]; * if (payDetail.PayType == "付款") * { * tenPayParam.BackState = payDetail.A1; * } * if (payDetail.PayType == "手续费") * { * realPayMoney = payDetail.BuyPoundage; * detail_data += string.Format("{0}^{1}|", payDetail.PayAccount, (realPayMoney * 100).ToString("F0")); * } * } */ // payDetailList = bill.OnLinePayDetails(payDetailList); for (int i = 0; i < payDetailList.Count; i++) { payDetail = payDetailList[i]; realPayMoney = payDetail.RealPayMoney; if (payDetail.PayType == "付款") { tenPayParam.BackState = payDetail.A1; continue; } detail_data += string.Format("{0}^{1}|", payDetail.PayAccount, (realPayMoney * 100).ToString("F0")); } detail_data = detail_data.TrimEnd('|'); //1000|(帐号^退款金额)| /*----------------------------------------------------------*/ //退款分账 tenPayParam.Bus_Args = detail_data; //分账退款 TenPay tenPay = new TenPay(); result = tenPay.ClientSplitRollback(tenPayParam); #endregion } else if (mOrder.PayWay == 14) { #region 账户支付 try { result = bill.CreateVirtualRefundBill(mOrder, uEmployees, uCompany, out msg); if (!result) { //退款失败记录日志 bill.CreateBillRefundFailedLog(uEmployees, mOrder.OrderId, msg); } } catch (Exception) { msg = "退款异常!"; } #endregion } else if (mOrder.PayWay == 15) { // 收银 暂时不处理 result = true; } } catch (Exception) { } return(result); }
public void Insert(AliPay aliPayModel) { _db.AliPay.Add(aliPayModel); _db.SaveChanges(); }
protected void Page_Load(object sender, EventArgs e) { string alipayNotifyURL = "https://www.alipay.com/cooperate/gateway.do?service=notify_verify"; //string alipayNotifyURL = "http://notify.alipay.com/trade/notify_query.do?"; string partner = "w8jd71rc3pbdwg6qgf1r7j2g9t5sazuo"; //partner合作伙伴id(必须填写) string key = "2088002009652262"; //partner 的对应交易安全校验码(必须填写) string _input_charset = "gb2312"; alipayNotifyURL = alipayNotifyURL + "&partner=" + partner + "¬ify_id=" + Request.Form["notify_id"]; //获取支付宝ATN返回结果,true是正确的订单信息,false 是无效的 string responseTxt = Get_Http(alipayNotifyURL, 120000); int i; NameValueCollection coll; //Load Form variables into NameValueCollection variable. coll = Request.Form; // Get names of all forms into a string array. String[] requestarr = coll.AllKeys; //进行排序; string[] Sortedstr = AliPay.BubbleSort(requestarr); #region 构造待md5摘要字符串 ; string prestr = ""; for (i = 0; i < Sortedstr.Length; i++) { if (Request.Form[Sortedstr[i]] != "" && Sortedstr[i] != "sign" && Sortedstr[i] != "sign_type") { if (i == Sortedstr.Length - 1) { prestr = prestr + Sortedstr[i] + "=" + Request.Form[Sortedstr[i]]; } else { prestr = prestr + Sortedstr[i] + "=" + Request.Form[Sortedstr[i]] + "&"; } } } prestr = prestr + key; #endregion string mysign = AliPay.GetMD5(prestr, _input_charset); string sign = Request.Form["sign"]; if (mysign == sign && responseTxt == "true") //验证支付发过来的消息,签名是否正确 { if (Request.Form["trade_status"] == "WAIT_BUYER_PAY") // 判断支付状态_等待买家付款(文档中有枚举表可以参考) { //更新自己数据库的订单语句,请自己填写一下 string strOrderNO = Request.Form["out_trade_no"]; //订单号 string strPrice = Request.Form["price"]; //金额 Response.Write("success"); //返回给支付宝消息,成功,请不要改写这个success } else if (Request.Form["trade_status"] == "WAIT_SELLER_SEND_GOODS") // 判断支付状态_买家付款成功,等待卖家发货(文档中有枚举表可以参考) { //更新自己数据库的订单语句,请自己填写一下 Response.Write("success"); //返回给支付宝消息,成功,请不要改写这个success } else if (Request.Form["trade_status"] == "WAIT_BUYER_CONFIRM_GOODS") // 判断支付状态_卖家已发货等待买家确认(文档中有枚举表可以参考) { //更新自己数据库的订单语句,请自己填写一下 Response.Write("success"); //返回给支付宝消息,成功,请不要改写这个success } else if (Request.Form["trade_status"] == "TRADE_FINISHED") // 判断支付状态_交易成功结束(文档中有枚举表可以参考) { //更新自己数据库的订单语句,请自己填写一下 Response.Write("success"); //返回给支付宝消息,成功,请不要改写这个success } else { Response.Write("fail"); //最好写TXT文件,以记录下是否异步返回记录。 //写文本,纪录支付宝返回消息,比对md5计算结果(如网站不支持写txt文件,可改成写数据库) string TOEXCELLR = "MD5结果:mysign=" + mysign + ",sign=" + sign + ",responseTxt=" + responseTxt; StreamWriter fs = new StreamWriter(Server.MapPath("Notify_DATA/" + DateTime.Now.ToString().Replace(":", "")) + ".txt", false, System.Text.Encoding.Default); fs.Write(TOEXCELLR); fs.Close(); } } else { Response.Write("fail"); //最好写TXT文件,以记录下是否异步返回记录。 //写文本,纪录支付宝返回消息,比对md5计算结果(如网站不支持写txt文件,可改成写数据库) string TOEXCELLR = "MD5结果:mysign=" + mysign + ",sign=" + sign + ",responseTxt=" + responseTxt; StreamWriter fs = new StreamWriter(Server.MapPath("Notify_DATA/" + DateTime.Now.ToString().Replace(":", "")) + ".txt", false, System.Text.Encoding.Default); fs.Write(TOEXCELLR); fs.Close(); } }
protected void BtnAlipay_Click(object sender, EventArgs e) { #region 支付宝业务参数 string gateway = "https://www.alipay.com/cooperate/gateway.do?"; //支付接口 string service = "create_partner_trade_by_buyer"; //服务名称 string seller_email = "*****@*****.**"; //支付宝帐号 string sign_type = "MD5"; //加密类型,签名方式“不用改” string key = "w8jd71rc3pbdwg6qgf1r7j2g9t5sazuo"; //安全校验码 string partner = "2088002009652262"; //商户ID,合作ID string _input_charset = "gb2312"; string show_url = "www.alipay.com"; //展示地址,支付页时商品名称旁的详情的链接地址 string out_trade_no = TxtOrderno.Text.Trim(); //客户网站订单号,(现取系统时间,可改成网站自己的变量) string subject = TxtSubject.Text.Trim(); //商品名称 string body = TxtBody.Text.Trim(); //商品描述 body = body.Replace("\n", string.Empty); body = body.Replace("\r", string.Empty); string price = TxtPrice.Text.Trim(); //商品价格 string quantity = "1"; // TxtQua.Text.Trim(); //商品数量 string logistics_type = "POST"; //物流配送方式:POST(平邮)、EMS(EMS)、EXPRESS(其他快递) string logistics_fee = "0"; // TxtPost.Text.Trim(); //物流配送费用 string logistics_payment = "BUYER_PAY"; //物流配送费用付款方式:SELLER_PAY(卖家支付)、BUYER_PAY(买家支付)、BUYER_PAY_AFTER_RECEIVE(货到付款) //服务器通知url(Alipay_Notify.asp文件所在路经) string notify_url = "http://192.168.1.190/zfb/Alipay_Notify.aspx"; //服务器返回url(return_Alipay_Notify.asp文件所在路经) string return_url = "http://192.168.1.190/zfb/Alipay_Return.aspx"; //相关参数名称具体含义,可以在支付宝接口服务文档中查询到, //以上两个文件,通知正常都可以在notify data目录找到通知过来的日志 string aliay_url = AliPay.CreatUrl( gateway, service, partner, sign_type, out_trade_no, subject, body, price, show_url, seller_email, key, return_url, _input_charset, notify_url, logistics_type, logistics_fee, logistics_payment, quantity ); //以下是POST方式传递参数 Response.Write("<form name='alipaysubmit' method='get' action='https://www.alipay.com/cooperate/gateway.do?'>"); Response.Write("<input type='hidden' name='service' value=" + service + ">"); Response.Write("<input type='hidden' name='partner' value=" + partner + ">"); Response.Write("<input type='hidden' name='sign_type' value=" + sign_type + ">"); Response.Write("<input type='hidden' name='out_trade_no' value=" + out_trade_no + ">"); Response.Write("<input type='hidden' name='subject' value=" + subject + ">"); Response.Write("<input type='hidden' name='body' value=" + body + ">"); Response.Write("<input type='hidden' name='price' value=" + price + ">"); Response.Write("<input type='hidden' name='show_url' value=" + show_url + ">"); Response.Write("<input type='hidden' name='seller_email' value=" + seller_email + ">"); Response.Write("<input type='hidden' name='return_url' value=" + return_url + ">"); Response.Write("<input type='hidden' name='notify_url' value=" + notify_url + ">"); Response.Write("<input type='hidden' name='logistics_type' value=" + logistics_type + ">"); Response.Write("<input type='hidden' name='logistics_fee' value=" + logistics_fee + ">"); Response.Write("<input type='hidden' name='logistics_payment' value=" + logistics_payment + ">"); Response.Write("<input type='hidden' name='payment_type' value=1>"); Response.Write("<input type='hidden' name='quantity' value=" + quantity + ">"); Response.Write("<input type='hidden' name='sign' value=" + aliay_url + ">"); Response.Write("</form>"); Response.Write("<script>"); Response.Write("document.alipaysubmit.submit()"); Response.Write("</script>"); //以下是GET方式传递参数 //Response.Redirect(aliay_url); #endregion }
protected void Button1_Click(object sender, EventArgs e) { /* * show_url ="www.xiaohhgame.com" '网站的网址 * seller_email = "*****@*****.**" '请设置成您自己的支付宝帐户 * partner = "2088102335433231" '支付宝的账户的合作者身份ID * key = "7a7kaee4ogm8lwywepjgpgkcek9pcnl3" '支付宝的安全校验码 * * notify_url = "http://www.xiaohhgame.com/alipay/Alipay_Notify.asp" '付完款后服务器通知的页面 要用 http://格式的完整路径 * return_url = "http://www.xiaohhgame.com/alipay/return_Alipay_Notify.asp" '付完款后跳转的页面 要用 http://格式的完整路径 */ //商品名称(商户) string companyName = UiCommon.StringConfig.CompanyNameOfPay; //支付人 string userName = txtUserName.Text.Trim(); BLL.Member mem = new BLL.Member(); if (!mem.ExistName(userName)) { CommonManager.Web.RegJs(this, "alert('找不到您输入的用户,请重新核对。');history.back();", false); return; } //支付金额 string payMoney = PayMoney.Text.Trim(); if (string.IsNullOrEmpty(payMoney) || !CommonManager.String.IsInteger(payMoney) || int.Parse(payMoney) <= 0) { CommonManager.Web.RegJs(this, "alert('金额只能输入大于0的整数。');history.back();", false); return; } int otherPayMoney = mem.UserTodayOtherPayMoney(userName.Trim()); //是否超出今天充值限制额 if (Convert.ToInt32(payMoney) > otherPayMoney) { CommonManager.Web.RegJs(this, "alert(''您今天能充值金额数不能大于" + otherPayMoney + "。');history.back();", false); return; } //支付类型 Web_RMBCost.PayType int payTypeLog = 4; //类型信息 Web_RMBCost.Typeinfo string typeInfoLog = "支付宝在线支付"; //*****************业务参数赋值***************************************************************** //订单号(按时构造) /*System.DateTime currentTime = new System.DateTime(); * currentTime = System.DateTime.Now; * string out_trade_no = currentTime.ToString("g"); * out_trade_no = out_trade_no.Replace("-", ""); * out_trade_no = out_trade_no.Replace(":", ""); * out_trade_no = out_trade_no.Replace(" ", "");*/ string out_trade_no = DateTime.Now.ToString("yyyyMMddHHmmssfffffff"); //支付接口 https://www.alipay.com/cooperate/gateway.do? string gateway = UiCommon.StringConfig.AlipayNotifyURL; //服务参数 string service = "create_direct_pay_by_user"; //partner 合作伙伴ID(保留字段) string partner = UiCommon.StringConfig.AlipayPartnerID;// "2088102335433231"; //加密类型 string sign_type = "MD5"; //subject 商品名称 string subject = companyName; //body 商品描述 // [modify] jeffery string body = "游戏" + UiCommon.StringConfig.MoneyName; //double poupon = Convert.ToDouble(CouponRate) * Convert.ToDouble(PayMoney.Text); //if (poupon < 0) // poupon = 0; //string body = "游戏" + UiCommon.StringConfig.MoneyName + // "!@#" + userName + "!@#" + Convert.ToInt32(poupon).ToString(); // ---end //支付类型 string payment_type = "1"; //总金额 0.01~50000.00 string total_fee = payMoney; //网站的网址 string show_url = UiCommon.StringConfig.WebSiteName;// 支付宝页面显示<a href="www.xiaohhgame.com" target="_blank">商品名称</a> ; //卖家账号 string seller_email = UiCommon.StringConfig.AlipayAccount; //"*****@*****.**"; //partner账户的支付宝安全校验码 string key = UiCommon.StringConfig.AlipayKey; //"7a7kaee4ogm8lwywepjgpgkcek9pcnl3"; //服务器通知返回接口,这个页面可以展示给客户看,只有付款成功才会跳转到这个页面 string return_url = UiCommon.StringConfig.WebSiteName + "/Manage/Pay/Alipay/Alipay_Return.aspx"; //服务器通知返回接口 string notify_url = UiCommon.StringConfig.WebSiteName + "/Manage/Pay/Alipay/Alipay_Notify.aspx"; string _input_charset = "utf-8"; //支付成功前, 插入支付的订单日志 mem.Add3PayOrder(userName, Convert.ToInt32(payMoney), payTypeLog, typeInfoLog, out_trade_no); //把支付数据提交到支付宝服务器 AliPay ap = new AliPay(); string aliay_url = ap.CreatUrl( gateway, service, partner, sign_type, out_trade_no, subject, body, payment_type, total_fee, show_url, seller_email, key, return_url, _input_charset, notify_url ); Response.Redirect(aliay_url); }