好烟
好烟
  • 发布:2015-10-21 16:57
  • 更新:2021-06-09 16:23
  • 阅读:43057

关于微信支付返回-1错误以及无法打开微信支付界面的问题

分类:HTML5+

翻了下论坛里面,到处都是问-1错误的,这里我把我自己踩过的坑分享一下,希望对大家开发微信支付有些帮助。
我已经测试过的原因如下:
1,微信支付只支持打包之后安装到手机上进行测试,不支持真机调试,所以骚年们,打包之后再试吧
2,请在打包测试之前,一定要确认和官方的回调字符串是不是一模一样,参数键值不能多也不能少,为了确保成功还是相信官方不会忽悠你的!
这段代码是dcloud官方微信支付返回的字符串,大家可以把自己的字符串拿出来比对一下,确认一致,那就打包测试吧

{"retcode":0,  
"retmsg":"ok",  
"appid":"wx041********d61297",  
"noncestr":"29dfdc1**d9c7ef283cad8ecb1448c8",  
"package":"Sign=WXPay",  
"partnerid":"123*****01",  
"prepayid":"52010***0151019c3820473613388ca",  
"timestamp":1445239300,  
"sign":"16a5efa393b50*****4d6d76e1b2ff703d27"}

3,如果以上两点都已经确认没问题了但是还是无法吊起支付,那么就去微信开放平台https://open.weixin.qq.com/确认下你的应用签名和包名与你在平台上配置的签名和应用包名是不是相同吧,如何获取应用签名这个论坛里面有教材,实在不知道的去腾讯应用宝市场发布下应用,那里也有教程如何获取app的签名,微信开放平台签名修改之后需要等一段时间才会生效,所有如果确认是签名或者包名问题,下班之前再改吧,不然一天白瞎了
特别说一下,这里的签名是长度为32位的MD5字符串
4,ios和安卓在获取支付通道的时候有个现象,他们在支付通道数组对象里面的先后顺序不一样,如果你们在测试微信支付的时候报什么620XX错误,那就检查下支付通道对象获取的对不对
5,补充上面第三点,大家的证书在发布之前一定要换成自己的私有证书,用dcloud的公有虽然也没什么问题,但是一旦dcloud切换证书,之前发布的应用都会失效的,特别麻烦,这个只是个建议

11 关注 分享
DCloud_Android_ST 女子烟 I_is_Yao ADT Nelson 5675557 Element Trust 鸿泷 x***@163.com r***@ZIJJJ.COM

要回复文章请先登录注册

好烟

好烟 (作者)

回复 123hello123 :
多余的两个参数是最初的格式,目前最新的已经没有多余的两个参数对象了,不用在意,他们取值的时候只会取需要的字段的,多余字段会自动排除的
2015-12-31 09:43
123hello123

123hello123

你好,我这里可以调起支付,我看给的例子里面是七个参数,你这里是九个,前两个参数是什么?我用原生调用后台接口可以支付,您刚说打包,证书怎么获取?我用的是默认的打包不可以,我这是啥情况,求帮助
2015-12-15 19:00