Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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);
 }
Ejemplo n.º 5
0
    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);
    }
Ejemplo n.º 6
0
    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);
    }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
    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);
    }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
            /// <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);
            }
Ejemplo n.º 11
0
            /// <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
                    }
                }
            }
Ejemplo n.º 12
0
        /// <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);
        }
Ejemplo n.º 13
0
 public void Insert(AliPay aliPayModel)
 {
     _db.AliPay.Add(aliPayModel);
     _db.SaveChanges();
 }
Ejemplo n.º 14
0
    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 + "&notify_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();
        }
    }
Ejemplo n.º 15
0
    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
    }
Ejemplo n.º 16
0
        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);
        }