公司在做一个web项目最后集成的android中需要调用微信H5支付 ,经过几天调试各种问题,比如商家参数不正确,等等 最终完成了支付。下面是代码
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 如下方案可在非微信内部WebView的H5页面中调出微信支付
if (url.startsWith("weixin://wap/pay?")) {
Intent intent =new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
return true;
}else {
// Map extraHeaders = new HashMap();
// extraHeaders.put("Referer", "http://wxpay.wxutil.com");
// view.loadUrl(url, extraHeaders);
}
return super.shouldOverrideUrlLoading(view,url);
}
微信官方说的配置Referer可以不用 坑人的官方。最重要一点是支付需要用正式签名 ,正式签名!!