您的位置:首页 > 理论基础 > 计算机网络

实现支付宝接口时url的构造,主要解决服务器不支持https的问题

2015-09-15 18:13 597 查看
用户点击付款是执行下面的代码构造完成url后跳转到支付宝

 

//按时构造订单号;

        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 = "https://www.alipay.com/cooperate/gateway.do?"; //'支付接口,服务器支持https,可以用这个,如果是虚拟主机(VPS)就需要用下面这个

        string gateway = "http://notify.alipay.com/trade/notify_query.do?"; 
//服务器不支持https时用这个
        string service = "create_direct_pay_by_user";    //服务参数

        string partner = "1985082119850821";  //partner  合作伙伴ID   保留字段,这个在支付宝的商家服务里面提供

        string sign_type = "MD5";  //加密方式

        string subject = "预付款帐户充值"; //subject  商品名称

        string body = "预付款";  //body   商品描述    

        string payment_type = "1";                  //支付类型 1=商品购买,2=服务购买,3=网络拍卖,4=捐赠,5=邮费补偿,6=奖金

        

        string quantity = "1"; //购买数量   

        string show_url = "www.alipay.com";  //展示地址

        string seller_email = "530195759@qq.com";             //卖家账号

        string key = "nbcndo74110and119and114andsb2";              //partner账户的支付宝安全校验码,由支付宝提供

        string return_url = "http://124.237.21.153/alipay/Alipay_Return.aspx"; //服务器通知返回接口,返回给用户看的页面

        string notify_url = "http://124.237.21.153/alipay/Alipay_Notify.aspx"; //服务器通知返回接口,该页面由支付宝访问,我们需要在这个页面里进行订单操作

        string _input_charset = "utf-8";

        string logistics_type = "POST";  //平邮

        string logistics_fee = "0"; //平邮

        string logistics_payment = "BUYER_PAY";  //买家支付

        string logistics_type_1 = "EXPRESS";  //快递

        string logistics_fee_1 = "0";  //快递

        string logistics_payment_1 = "BUYER_PAY";   //买家支付

        AliPay ap = new AliPay();

        string aliay_url = ap.CreatUrl(

            gateway,

            service,

            partner,

            sign_type,

            out_trade_no,

            subject,

            body,

            payment_type,

            price,

            show_url,

            seller_email,

            key,

            return_url,

            _input_charset,

            notify_url,

            logistics_type,

            logistics_fee,

            logistics_payment,

            logistics_type_1,

            logistics_fee_1,

            logistics_payment_1,

            quantity

            );

        Response.Redirect(aliay_url);  //aliay_url构造完毕,跳转到支付宝
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: