微信支付 生成付款二维码链接 并生成支付二维码图片 .net C#

来源:互联网 发布:谭咏麟 你知我知 编辑:程序博客网 时间:2024/06/11 08:39
  //生成付款二维码链接
                string pay_url = PayURL(order_id_parent.ToString(), _total_fee.ToString());
                if (pay_url != "")
                    create_two(order_id_parent.ToString(), pay_url);
         


    
        private void create_two(string order_id_parent, string pay_url)
        {
            //QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
            //qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
            //qrCodeEncoder.QRCodeScale = 4;
            //qrCodeEncoder.QRCodeVersion = 8;
            //qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
            ////System.Drawing.Image image = qrCodeEncoder.Encode("4408810820 深圳-广州 小江");
            //System.Drawing.Image image = qrCodeEncoder.Encode(pay_url);
            //string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg";
            //string filepath = Server.MapPath(@"~\upload\QRCode") + "\\" + filename;
            //System.IO.FileStream fs = new System.IO.FileStream(filepath, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
            //image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);
            //fs.Close();
            //image.Dispose();
            //this.imgWeiXin.ImageUrl = "/upload/QRCode/" + filename;
        }




        public string PayURL(string _order_id_parent, string _total_fee)
        {
            var paySignReqHandler = new WeiPay.RequestHandler(Context);
            string time_stamp = WeiPay.TenpayUtil.getTimestamp(); //时间戳  
            string nonce_str = WeiPay.TenpayUtil.getNoncestr().ToLower();//随机字符串  
            var packageReqHandler = new WeiPay.RequestHandler(Context);
            packageReqHandler.init();
            packageReqHandler.setParameter("body", "丁书网"); //商品信息 127字符
            packageReqHandler.setParameter("appid", WeiPay.PayConfig.AppId);
            packageReqHandler.setParameter("mch_id", WeiPay.PayConfig.MchId);
            packageReqHandler.setParameter("nonce_str", nonce_str);
            packageReqHandler.setParameter("notify_url", "https://m.iisbn.com/pay_scancode_url.aspx");
            packageReqHandler.setParameter("out_trade_no", _order_id_parent);
            packageReqHandler.setParameter("product_id", _order_id_parent); //商家订单号 
            packageReqHandler.setParameter("spbill_create_ip", "27.54.248.129");//Native支付填调用微信支付API的机器IP。  
            packageReqHandler.setParameter("total_fee", _total_fee); //商品金额,以分为单位(money * 100).ToString()
            packageReqHandler.setParameter("trade_type", "NATIVE");//SAPI--公众号支付、NATIVE--原生扫码支付、APP--app支付, MICROPAY--刷卡支付, 
            packageReqHandler.setParameter("attach", _order_id_parent);//自定义参数 127字符  
            string sign = packageReqHandler.CreateMd5Sign("key", WeiPay.PayConfig.AppKey);
            packageReqHandler.setParameter("sign", sign);
            string data = packageReqHandler.parseXML();
            string prepayXml = WeiPay.HttpUtil.Send(data, "https://api.mch.weixin.qq.com/pay/unifiedorder");
            var xdoc = new XmlDocument();
            xdoc.LoadXml(prepayXml);
            XmlNode xn = xdoc.SelectSingleNode("xml");
            XmlNodeList xnl = xn.ChildNodes;
            string code_url = "";
            if (xnl.Count > 9)
            {
                code_url = xnl[9].InnerText;
            }
            return code_url;


        }



0 0
原创粉丝点击