zaxlct

H5 JS SDK 微信支付报错: chooseWXPay:permission denied,但是 iOS 正常

  •  
  •   zaxlct · Mar 16, 2018 · 3863 views
    This topic created in 2980 days ago, the information mentioned may be changed or developed.

    问题描述

    • 支付目录和签名应该都是对的,因为 iOS 支付正常
    • 安卓调用 JS SDK 微信扫码 API,正常
    • 安卓支付页没有报签名的错误,就是点击支付的时候报错:chooseWXPay:permission denied
    • 于是尝试使用 checkJsApi 检测一下( checkJsApi 已添加到 jsApiList 里) chooseWXPay,结果报错:chooseWXPay permission denied
    • 还有一个值得注意的问题是,点击右上角的菜单按钮,只有「收藏,搜索页面内容,刷新,顶置」等基础按钮,没有「发送给朋友,分享到朋友圈」功能按钮( iOS 正常)

    代码逻辑

    • 单页面应用,使用的 history 路由模式
    • 进入支付页后,首先获取签名(签名的 URL 是 window.location.href ),然后执行 wx.config({xxx})
    • 用户点击支付按钮,调用 wx.chooseWXPay({xxx})
    • 微信正常,能调起微信支付弹窗。安卓报错 chooseWXPay:permission denied

    之前踩过的坑

    SPA,单页面应用,iOS 端微信获取签名的时候,URL 不能是当前的 URL,而是第一次进入微信时的 URL

    3 replies    2018-03-28 14:52:49 +08:00
    tmkook
        1
    tmkook  
    PRO
       Mar 16, 2018   ❤️ 1
    wx.config 没成功,具体到微信开发工具里看效果吧
    zaxlct
        2
    zaxlct  
    OP
       Mar 16, 2018
    还有一个很大的疑问:
    点击右上角的菜单按钮,只有「收藏,搜索页面内容,刷新,顶置」等基础按钮,没有「发送给朋友,分享到朋友圈」功能按钮( iOS 正常)
    zaxlct
        3
    zaxlct  
    OP
       Mar 28, 2018
    已经解决:跳转到支付页时,不用用 history 跳转。需要用 a 标签 或者 location.href
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   959 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 22:04 · PVG 06:04 · LAX 15:04 · JFK 18:04
    ♥ Do have faith in what you're doing.