微信支付 生成付款二维码链接 并生成支付二维码图片 .net C#
2016-04-28 20:43
651 查看
//生成付款二维码链接
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;
}
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;
}
相关文章推荐
- 如何在 Linux/Windows/MacOS 上使用 .NET 进行开发
- 如何在 Linux 中安装微软的 .NET Core SDK
- C#.NET获取拨号连接的宽带连接方法
- C#.Net ArrayList的使用方法
- PowerShell中使用.NET将程序集加入全局程序集缓存
- .net(c#)中的new关键字详细介绍
- 由vbs sort引发.NET Framework之间的关系说明
- C#难点逐个击破(6):C#数据类型与.net framework数据类型
- .NET中的async和await关键字使用及Task异步调用实例
- 基于.NET平台常用的框架和开源程序整理
- .Net中的json操作类用法分析
- .net实现序列化与反序列化实例解析
- .NET中的Timer类型用法详解
- 关于.net(C#)中的跨进程访问的问题
- .NET实现父窗体关闭而不影响子窗体的方法
- 基于.Net中的数字与日期格式化规则助记词的使用详解
- .NET微信公众号开发之公众号消息处理
- .Net下的签名与混淆图文分析
- .NET 扩展实现代码
- .net实现网站用户登录认证