检查一下字符串地址是不是有问题,如果浏览器能打开,手机不开就是少了http,都打不开就是错的更离谱了
生成二维码的信息有问题
检查订单信息
检查支付回调地址(公众号支付权限路径正确否)
是生成的地址有问题,
public FileResult MakeQRCode(string data)
{
if (string.IsNullOrEmpty(data))
throw new ArgumentException("data");
//初始化二维码生成工具
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(data, Encoding.Default);
//保存为PNG到内存流
MemoryStream ms = new MemoryStream();
image.Save(ms, ImageFormat.Png);
return File(ms.ToArray(), "image/png");
}
用这个 Url.Action("MakeQRCode", new { data = HttpUtility.UrlEncode(url2) })访问生成二维码的action 得到是
weixin%253a%252f%252fwxpay%252fbizpayurl%253fpr%253dzbmOJvx 这个地址是错的。
用这个访问 "/studentarea/stupay/MakeQRCode?data=" + HttpUtility.UrlEncode(url2)生成二维码的action 得到的是 这个
weixin%3a%2f%2fwxpay%2fbizpayurl%3fpr%3d1qgDcvC ,,这样就对了