超人爷爷
超人爷爷
  • 发布:2016-11-07 21:51
  • 更新:2018-01-08 23:41
  • 阅读:3895

微信支付问题

分类:5+ SDK

http://demo.dcloud.net.cn/helloh5/payment/wxpay.php?total=0.01
官方demo返回的值, 可以正常调起微信支付:
{
"retcode": 0,
"retmsg": "ok",
"appid": "wx0411fa6a39d61297",
"noncestr": "b4b01397a769fc589ddfe3fde3cbf5b7",
"package": "Sign=WXPay",
"partnerid": "1230636401",
"prepayid": "22010320001611071e6a19e763ea6571",
"timestamp": 1478526444,
"sign": "9574dbb3549a8fee5fa19d9c754dab050a743ed2"
}

我的返回值, 一直报{"code":-100,"message":"[payment微信:-1]General errors"}这个错误:
{
"appid": "wx688024d2fee0a4c3",
"partnerid": "1393195302",
"prepayid": "wx201611072144295970331d1a0906030842",
"noncestr": "5820853a45652",
"timestamp": 1478526266,
"package": "Sign=WXPay",
"sign": "EBDE612C7EB629875DA397619A02234E"
}

然后找到这个 http://ask.dcloud.net.cn/article/286, -1的错误描述: 可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等

然后而我比较了appid\签名 都没错, 所以我实在不知道该怎么调了....

2016-11-07 21:51 负责人:无 分享
已邀请:
超人爷爷

超人爷爷 (作者)

不知道怎么说... 莫名奇妙自己好了。

  • 1***@163.com

    可以分享一下你的h5支付这块的代码吗?我也遇到了一样的问题,谢谢。

    2017-06-07 15:04

4***@qq.com

4***@qq.com

我现在在调试ios的微信支付,安卓上面没问题,ios连支付窗口都弹不出

7***@qq.com

7***@qq.com

请问您是做了什么修改可以调起微信的?

kika

kika

之前调试微博登录,配置项检查了不下10遍,各种不通,调不出登录界面。
最后莫名其妙就好了。
然后,微信支付,又类似。各种排查确认没问题,就是调不出微信支付界面。
我不知道这次要等多久能自己好。

更不知道,多久之后就不好了,衰~~~

  • MUI_Charles

    根据之前解决其他Dclouder问题的经验推测,这种情况(包括支付参数等等)可能是由于在基座上调试时 向第三方服务器(微博授权、微信支付)发送了基座的md5签名或者其他参数,但是接口参数均为正式参数。第三方服务器在响应了这样的请求后,一般都会做缓存参数处理。因此,打包后调试时发送的参数与之前不一致导致了授权/验证失败。

    2017-10-30 18:24

  • kika

    回复 MUI_Charles:有可能,那怎样才能将第三方服务器缓存的参数清除

    2017-10-30 18:28

  • MUI_Charles

    临时解决方案为:卸载基座和正式包,重新安装正式包进行调试。

    根治:含第三方SDK的功能最好不要在基座上调试 一律打包调试。

    强调说明一下:第三方授权/验证服务的缓存机制大都为10min-1day不等,

    最后莫名奇妙自动好了,有很大可能是服务器缓存更新影响的

    2017-10-30 18:28

  • MUI_Charles

    回复 kika:这个没法在C端清缓存,只有等。如果你做过微信公众号开发,踩过微信的页面缓存的坑,就应该明白我的意思

    2017-10-30 18:30

  • kika

    临时解决方案没用

    根治方案是个很好的建议,也建议写在HBuilder界面上,论坛里边遇到类似问题的哥们姐们很多,有必要重视。

    烧个香,拜个佛,相信写代码相信debug相信爱情,期待缓存刷新O(∩_∩)O哈!

    2017-10-30 18:33

  • MUI_Charles

    回复 kika:应该可以提前验证一下。你把manifest里的appid改一下,打包生成安装,获取md5签名,然后在微信开放平台上面修改对应的appid和签名,改完后等10min进行测试

    2017-10-30 18:40

  • MUI_Charles

    回复 kika:或者你在java的接口里故意把一个参数转义也好怎么样传错几次,去请求第三方服务接口得到502之类的错误返回码,有一定强制刷新服务器缓存的效果

    2017-10-30 18:43

  • kika

    回复 MUI_Charles:好建议,正在尝试...感谢哈~

    2017-10-30 18:50

8***@qq.com

8***@qq.com

该问题目前已经被锁定, 无法添加新回复