思路逻辑:
1)Android端调用后端生成的支付链接;
2)通过addJavascriptInterface()方法传入与Js交互的参数;
3)支付成功,Js回调Android端接口,处理相应逻辑。
操作步骤:
一)Android端获取微信支付Url
二)设置Webview参数
1) Android通过Webview打开Url,通过addJavascriptInterface(参数1,参数2)
参数1:移动端自定义的实体类,包含回调的方法等
参数2:Js调用的实体类名称
2)Android需要对Url做相应的判断
3)JavaScriptInterface实体类
三)Js操作
常见问题:
1)参考微信h5支付平台:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_4
2)微信支付取消,支付停留在网页内,Js无法控制,用户需要点击返回才能回到app原始出发界面,体验性不好。
解决办法:
在Webview 页面中重写onResume()方法,监听状态值,关闭当前web页面;
callBackResult()方法:
通过在原始界面,判断返回的字符值,可以区分支付是否成功;
更多文档参考:
1) android h5支付: https://blog.****.net/u012185875/article/details/77772817
2) android和js交互: https://www.cnblogs.com/lovemo1314/p/4634895.html