微信支付-H5支付

微信支付-H5支付

  最近前端给了我一个链接,让我用webView嵌在原生APP当中。这个链接打开之后,经过一番操作,需要使用微信支付。
  刚接手的时候一脸懵逼,所有操作都是在h5界面进行的。完全不走Android原生,当然页面是在原生的webView里面展示。APP本身是没有集成微信支付SDK的,所以几乎可能直接调起微信客户端进行支付。只能从webView入手了,webView能做的也不多。
  h5返回的支付授权链接不能直接加载(直接加载会显示加载失败)。结合网上的一些资料以及微信支付提供的文档。只能选择拦截支付授权链接。具体操作如下:

web_view?.webViewClient = object : WebViewClient() {
            override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
                Log.e(TAG, ">>>>>>>网页链接:" + url)
                //拦截微信支付链接
                if (url?.contains("weixin://wap/pay")!!) {
                    Log.e(TAG,">>>>>>>微信链接:")
                    var intent = Intent()
                    intent.setAction(Intent.ACTION_VIEW)
                    intent.setData(Uri.parse(url))
                    startActivity(intent)
                    return true
                }
                return super.shouldOverrideUrlLoading(view, url)
            }
        }

  h5页面返回支付授权链接即可进行支付。

  
 

参考资料

非微信内置浏览器中的网页调起微信支付的方案研究
微信h5支付
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值