收藏
回答

微信支付分报错system:access_denied,恳请官网给个正确的方案,可以吗?

微信支付分报错system:access_denied,恳请官网给个正确的方案,可以吗,不要在敷衍人了项目真等不起啊,各种调试,各种方法试了都不行,急 !这么多开发者,还等着你们呢,加你们给回复的微信,又没人同意,这真的是敷衍人的,敷衍开发者有什么好处?boss在要结果,急的饭都吃不下去,跪谢了!

最后一次编辑于  09-19  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    09-19

    检查wx.config里的JsApiList里是否加载了这个函数名,详情参看文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

    09-19
    赞同
    回复 1
    • 成哥
      成哥
      09-19
      终于解决了!
      09-19
      回复
  • 成哥
    成哥
    09-19

    问题已经解决了,原因如下:

    1、由于我们前后端分离,获取的url导致组装数据签名的时候,wx.config出现问题invalid signature,然后后面也就出现system:access_denied这个错误。所以想要解决这个问题,首先得把这个invalid signature这个问题先解决,这个url一定要获取当前页面的url,比如再xxx.qq.com/a.html页面进行组装调用微信支付分,那么一定要再组装的签名的时候,传的这个页面!解决这个问题之后,后面的system:access_denied也就解决了!


    2、组装加密签名的时候顺序和参数一定要这个保持一致,不能多也不能少任何一个!另外注nonce_str不能超过32位

    mch_id=xxxxxxxxx&service_id=xxxxxxxxx&out_request_no=xxxxxxx&timestamp=1530097563&nonce_str=xxxxxxxx&sign_type=HMAC-SHA256&sign=xxxxx


    效果图:



    09-19
    赞同
    回复