Android 微信H5支付,无法拉起微信支付页面

html-css030

Android 微信H5支付,无法拉起微信支付页面,第1张

最近我其中一个项目需要接入微信支付,实现方式是在WebView里利用Url拉起微信支付页面,但是实际操作的时候却发现始终无法拉起支付页面,最后排查了一段时间,发现原来是因为一个很简单的问题出错了,于是解决问题以后特意想把这个问题记录下来分享,也便于以后自己解决同类问题。可以看到,这里return 返回的是false,问题出在这里。这时我又在想,为什么会这样? 查阅资料以后我发现shouldOverrideUrlLoading的返回值的意义为: 那么这种情况下,返回值应该改为 false或者super .shouldOverrideUrlLoading(view, url),因为微信支付调用 https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb 这个开头的url后,会重定向到 weixin://wap/pay 开头的url,然后调用微信客户端支付,如果用true,则WebView不会自动重定向到 weixin://wap/pay 开头的url,需要程序员自行处理,这种情况下自然是无法吊起支付的。

在Android的html5页面中发起微信支付方法:首先申请公众号,申请开通支付,这个很简单,自行百度申请好之后 在微信公众平台页面的“微信支付”页面中的“开发配置”Tab上配置“支付授权目录”,“测试授权目录”,“测试白名单”在微信公众平台页面的“开发者中心”中找到“AppID(应用ID)”和“AppSecret(应用密钥)”在商户平台中找到微信支付分配的商户号,以及自己配置一个商户支付密钥

具体步骤:

首先通过微信支付的api 获得支付用的prepay_id,这里需要用到上面提到的“AppID(应用ID)”,“AppSecret(应用密钥)”,“微信支付分配的商户号”,“商户支付密钥”以及其他的一些参数(具体参照微信开发文档)用MD5加密成签名(第一次签名)获得prepay_id后,用prepay_id和一些其他参数(具体参照微信开发文档)用MD5加密成签名(第二次签名)然后在前端通过微信内置浏览器提供的js API,WeixinJSBridge.invoke来调用微信支付的弹出页面,这里需要用到上面的第二次的签名

具体代码如下:

注:支付链接和在开发平台配置的链接不匹配,总共需要2次签名,并且所需的参数是不同的,在JS中用到的签名是第二次签名,不要混淆参数传递的不能有错。

在微信浏览器里面开启H5网页中执行JS调起支付

在微信浏览器中访问你制作的HTML5的介面。

介面中使用了微信提供的JS程式码,该程式码可以唤起微信支付,让使用者进行支付。

在微信浏览器中执行js: typeof(WeixinJSBridge) 为什么是undefined呢 页面需要引入什么js么?

不需要引用js,但是你要这么写:

if (typeof WeixinJSBridge == "undefined") {

if (document.addEventListener) {

document.addEventListener('WeixinJSBridgeReady', wxPayCall, false)

} else if (document.attachEvent) {

document.attachEvent('WeixinJSBridgeReady', wxPayCall)

document.attachEvent('onWeixinJSBridgeReady', wxPayCall)

你要在注册一下WeixinJSBridgeReady

不需要引入js

现在已经被禁用了

function weixinShareTimeline(title,desc,link,imgUrl)

WeixinJSBridge.invoke('shareTimeline',

"img_url":imgUrl,

"img_width":"640",

"img_height":"640",

"link":link,

"desc": desc,

"title":title

如何在IOS的safari浏览器调起微信支付

在浏览器中调起微信支付,一般情况下,是在后台接入微信支付的介面,然后当用户需要支付的时候,在前台显示一个支付的二维码,使用者使用微信支付的扫一扫功能,扫描该二维码,获取相应的支付资讯,使用手机进行支付

如何才能只让网页在微信浏览器里开启

在手机端吗?需要root或者越狱之后,修改预设浏览器的应用为微信客户端就行了。

在微信内建浏览器里面能直接开启的wap网页吗

这个是网站的证书问题 跟你的电脑浏览器没有问题 一般你认为那个网站上是安全的 那么就是安全的; 一般商业网站才会使用SSL证书的

理论上是可以的,但是微信有它自己的一套安全机制,不是什么网页都允许在内部开启。有时它会提示“点选右上角选单选择在浏览器开启”,所以在里面开启的页面最好要简单一些,不要太复杂。

你好。

微信内建浏览器可以直接开启的wap网页的。

1、开启微信。随便找到一个好友聊天。

2、在聊天内容里输入你想浏览的网页网址。如果想浏览百度,就输入百度网址。

3、这时候发现网址是蓝色的,点选网址,就可跳转到百度网站了。在这里可以随心所欲的搜寻内容了。

可以,不过你得先把地址复制传送给某个人。才能点选开启,微信没有导航栏

如何在浏览器开启微信网页

你直接复制网页地址,然后在浏览器中开启就好了,怎么复制那,直接通过开启微信文章或者微信的h5页面,然后再通过分享之档案助手或者QQ我的电脑上,就可以看到了!