鸿蒙接入H5支付

330 阅读1分钟

相对于android和ios,在鸿蒙中实现H5支付相当简单,除了确保网络通畅,只需要在拦截中判断并跳转即可

Web({ src: this.url, controller: this.controller })
.onLoadIntercept((event) => {
    if (!event) {
      return false
    }
    if (url.startsWith("alipays://") || url.startsWith("weixin://")) {
      (getContext() as common.UIAbilityContext).openLink(url)
      return true
    }
    return false
  })

补充:

如果希望直接打开wx.tenpay.com/cgi-bin/mmp… 进行支付是不行的,因为请求头上会缺少Referer,而且鸿蒙目前无法手动添加请求头,所以解决方法是让前端同事使用Referer的域名写一个中间页面,打开中间页面时,中间页面自动触发跳转微信H5支付即可。因为鸿蒙的web会自动加上Referer