今天遇到一个问题,做的网站,通过安卓手机微信扫一扫二维码或者识别二维码链接无法跳转,显示白屏,但是iOS的微信扫码就没有问题,一开始认为是安卓版微信做了限制,后来分析了下扫码后跳转的链接,发现了这个问题:
SortedMap<Object, Object> packageParams = new TreeMap<Object, Object>();
packageParams.put("appid", appId);//公众帐号ID
packageParams.put("mch_id", mchId);//商户号
packageParams.put("time_stamp",currTime);//时间戳
packageParams.put("nonce_str", nonce_str); //随机字符串
packageParams.put("product_id", nonce_str);//商品ID
String sign = PayCommonUtil.createSign("UTF-8", packageParams, apiKey);
packageParams.put("sign", sign);
String requestXML = ToUrlParams(packageParams);
String payurl = "weixin://wxpay/bizpayurl?" + requestXML;
解决办法是:
String payurl = "weixin://wxpay/bizpayurl?sign=" + sign+"&appid="+appId+"&mch_id="+mchId+"&time_stamp="+currTime+"&nonce_str="+nonce_str+"&product_id="+nonce_str;