开发过3个微信公众号,但是一直没接触到扫码支付这一块
第一步:微信统一下单接口,获取到二维码的字符串,这里简称 '二维码凭证' (根据文档调试接口,注意部分参数即可)
第二步:将二维码显示到前台
方案一:一个快捷的方式 http://qr.liantu.com/api.php?text='二维码凭证'
方案二:C# webform 及其他语言可以看靠官方提供的Demo 官方demo
方案三:C# MVC
[HttpGet]
public ActionResult AjaxGetQrCode(string codeurl)
{
//初始化二维码生成工具 QRCodeEncoder 官方提供的dll,可以官方demo里寻找
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
qrCodeEncoder.QRCodeVersion = 0;
qrCodeEncoder.QRCodeScale = 4;
//将字符串生成二维码图片
Bitmap image = qrCodeEncoder.Encode(codeurl, Encoding.Default);
保存为PNG到内存流
MemoryStream ms = new MemoryStream();
image.Save(ms, ImageFormat.Png);
//byte[] bytes = new byte[ms.Length];
//ms.Read(bytes,0, bytes.Length);
Graphics g = Graphics.FromImage(image);
g.Clear(Color.White);
g.FillRectangle(Brushes.Red, 2, 2, 65, 31);
g.DrawString("", new Font("黑体", 15f), Brushes.Yellow, new PointF(5f, 5f));
g.Dispose();
image.Dispose();
return File(ms.ToArray(), "image/jpeg");
}
之前看到一些版本,是将二维码保存成图片到本地,通过路径来显示,个人不建议这样处理,可能是业务需要。