官方文档API: 打开连接

主要实现功能,网站上调起 微信支付二维码图片。

所需引用基类API:Data.cs、WxPayApi.cs、HttpService.cs、Config.cs、ThoughtWorks.QRCode.dll、可以到我github上   下载

1、C#服务端代码:直接获取你需要的二维码链接或者图片

/// <summary>
/// 微信二维码支付
/// </summary>
private void WeChat()
{
Orderid = GetOutTradeNo();//随机数字
WxPayData data = new WxPayData();
data.SetValue("body", GoodsName);//商品描述
data.SetValue("attach", Gamename);//附加数据
data.SetValue("out_trade_no", Orderid);//随机字符串
data.SetValue("total_fee", Price);//总金额 (分)正式
data.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss"));//交易起始时间
data.SetValue("time_expire", DateTime.Now.AddMinutes().ToString("yyyyMMddHHmmss"));//交易结束时间
data.SetValue("goods_tag", "cyyx");//商品标记
data.SetValue("trade_type", "NATIVE");//交易类型
data.SetValue("product_id", "");//商品ID
data.SetValue("notify_url", "http://xxxxx/Pay/WeChatPay/Notify.aspx");//回调地址 WxPayData result = WxPayApi.UnifiedOrder(data);//调用统一下单接口
string returncode = result.GetValue("return_code").ToString();
string returnmsg = result.GetValue("return_msg").ToString();
string returndata;//二维码结果,以下分为两种模式1、链接 2、图片。
if (returncode == "SUCCESS" )
{
//returndata = "QRcode.aspx?data=" + result.GetValue("code_url");//获得统一下单接口返回的二维码链接---QRcode.aspx代码在下面
string codeurl = result.GetValue("code_url").ToString();
returndata = CreateImg(codeurl, Orderid);//根据二维码链接生成本地图片并展示
Json = "{\"code\":\"1\",\"data\":\"" + returndata + "\"}";
}
else
{
returndata = returnmsg;
Json = "{\"code\":\"0\",\"data\":\"" + returndata + "\"}";
}
} /// <summary>
/// 生成图片
/// </summary>
/// <param name="codeurl">二维码链接</param>
/// <returns></returns>
private string CreateImg(string codeurl, string orderid)
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
qrCodeEncoder.QRCodeVersion = ;
qrCodeEncoder.QRCodeScale = ;
//将字符串生成二维码图片
System.Drawing.Image image = qrCodeEncoder.Encode(codeurl,Encoding.Default);
string filename = orderid + ".jpg";//DateTime.Now.ToString("yyyymmddhhmmssfff") + ".jpg";
string path1 = Server.MapPath(@"~\upload\QRCode");
if (!Directory.Exists(path1))
{
Directory.CreateDirectory(path1);
}
string filepath = Server.MapPath(@"~\upload\QRCode") + "\\" + filename;
FileStream fs = new FileStream(filepath, FileMode.OpenOrCreate, FileAccess.Write);
image.Save(fs, ImageFormat.Jpeg);
fs.Close();
image.Dispose();
string imageUrl = "/upload/QRCode/" + filename;
return imageUrl;
}

2、QRcode.aspx页面代码:

if (!string.IsNullOrEmpty(Request.QueryString["data"]))
{
string str = Request.QueryString["data"];
//初始化二维码生成工具
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
qrCodeEncoder.QRCodeVersion = ;
qrCodeEncoder.QRCodeScale = ;
//将字符串生成二维码图片
Bitmap image = qrCodeEncoder.Encode(str, Encoding.Default);
//保存为PNG到内存流
MemoryStream ms = new MemoryStream();
image.Save(ms, ImageFormat.Png);
//输出二维码图片
Response.BinaryWrite(ms.GetBuffer());
Response.End();
}

WeChat-扫码支付的更多相关文章

  1. Win10环境前后端分离项目基于Vue.js+Django+Python3实现微信(wechat)扫码支付流程(2021年最新攻略)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_182 之前的一篇文章:mpvue1.0+python3.7+Django2.0.4实现微信小程序的支付功能,主要介绍了微信小程序内 ...

  2. 【原创分享·微信支付】 C# MVC 微信支付教程系列之扫码支付

    微信支付教程系列之扫码支付                  今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添 ...

  3. 微信扫码支付+Asp.Net MVC

    这里的扫码支付指的是PC网站上面使用微信支付,也就是官方的模式二,网站是Asp.net MVC,整理如下.(demo在最下方) 一.准备工作 使用的微信API中的统一下单方法,关键的参数是‘公众账号I ...

  4. MVC 微信扫码支付

    微信扫码支付有两种模式, 模式一和模式二, 两者具体的区别可参考官网文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_4 微 ...

  5. C# 微信支付教程系列之扫码支付

    微信支付教程系列之扫码支付            今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添加好友的时候 ...

  6. Net MVC微信扫码支付

    微信扫码支付+Asp.Net MVC 这里的扫码支付指的是PC网站上面使用微信支付,也就是官方的模式二,网站是Asp.net MVC,整理如下. 一.准备工作 使用的微信API中的统一下单方法,关键的 ...

  7. Thinkphp5整合微信扫码支付开发实例

    ThinkPHP框架是比较多人用的,曾经做过的一个Thinkphp5整合微信扫码支付开发实例,分享出来大家一起学习 打开首页生成订单,并显示支付二维码 public function index() ...

  8. C# MVC微信扫码支付

    项目需求:学校学生网上缴费项目,刚来公司实习网上百度了各种资料,感谢很多大神避免了很多大坑. 本次扫码支付为:电脑生成二维码,手机微信扫码进行付款.建议开发前下载官方demo熟悉及后续有用到里面代码: ...

  9. .NET微信扫码支付模式二API接口开发测试

    主要实现微信扫码支付,官网的SDKdemo 就不要使用 一直不能调试通过的,还是自己按照API接口文档一步一步来实现,吐槽下微信一点责任感都木有,能不能demo搞个正常的吗,不要坑惨了一大群码农们有点 ...

  10. tp5 快速接入扫码支付

    前提是申请好微信支付,同时配置好key,以及支付回调地址 1.composer composer require yansongda/pay 2.引入 use Yansongda\Pay\Pay; / ...

随机推荐

  1. sgu 100 A+B 解题报告及测试数据

    100.A+B time limit per test: 0.25 sec. memory limit per test: 65536 KB 题解:上手题,不解释. 直接上代码: #include & ...

  2. 有关RDD的基础学习1

    1.spark rdd为什么不能嵌套?    譬如 val rdd1=sc.parallel(range(1,100))    val rdd2=sc.parallel(range(1,100))   ...

  3. JQuery归纳总结(增加中...)

    一.this与$(this)的区别 this指向标签本身对象,而$(this)会将其封装成JQuery对象 如: $(" img").mousemove( function(e){ ...

  4. IDEA 2018.2破解

    最新的IDEA激活方式 使用网上传统的那种输入网址的方式激活不了,使用http://idea.lanyus.com/这个网站提供的工具进行 1.进入hosts文件中:C:\Windows\System ...

  5. 如何禁止ping

    PING命令是个危险的命令,用它可以知道你的操作系统,IP等,为了安全禁PING是个很好的方法,也是防DDOS攻击的.应该是有外部网络试图连接你的UDP的1434端口,不知道你打了补丁没有. 黑客入侵 ...

  6. WCF用户名密码验证方式

    WCF使用用户名密码验证 服务契约 namespace WCFUserNameConstract { [ServiceContract] public interface IWcfContract { ...

  7. [pixhawk笔记]11-Windows下PX4代码查看

    由于项目需要做基于Simulink的PX4二次开发,在Windows下面做,所以需要在Windows下查看PX4的代码,故写该文档,记录环境安装和配置过程.按照该网页安装工具链:Windows Ins ...

  8. 20145321 《Java程序设计》第3周学习总结

    20145321 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 4.1 类与对象 1.定义类:类定义时用关键词 class. 一个原始码中可以有多个类定义,但只能有一个公开 ...

  9. 【vim】几种模式的切换

    很多初学者启动vim后,不知道怎么输入字符:按了半天字母,结果屏幕还是空的. vim和记事本或WORD不一样,不是一打开后就可以输入文字,此时它处于正常模式. vim一共有4个模式: 正常模式 (No ...

  10. Could not reserve enough space for 1572864KB object heap

    This problem might be caused by incorrect configuration of the daemon.For example, an unrecognized j ...