haozkui@163.com
haozkui@163.com
  • 发布:2017-08-16 08:37
  • 更新:2019-11-06 21:26
  • 阅读:18053

微信支付提示{"code":-100,"message":"[payment微信:-1]General errors"}

分类:MUI

官方的大神,帮帮忙吧。看看有没有漏的、错的。
一、当前处理的事项
1、menifest.json中配置了微信的appid
2、服务端请求prepareid正确返回
3、服务端返回数据格式与官方一直:
{"appid":"wxbe5db3966730d866","noncestr":"b9Wq4qIWRNfkx3PQ","package":"Sign=WXPay","partnerid":"1486361592","prepayid":"wx201708151638194ade78ef790224970694","timestamp":1502786229,"sign":"A9A87CB00BDEA180E226CDA35EF4B325"}
4、android版云打包,数字签名,报名, 从微信开放平台配置一直

二、效果
就是微信页面钓不起来, 一直是{"code":-100,"message":"[payment微信:-1]General errors"}
紧急,跪求协助

2017-08-16 08:37 负责人:无 分享
已邀请:
好烟

好烟

1,微信支付安卓不支持真机调试
2,打包测试需要使用自己的私有证书打包apk
3,使用私有证书打包完成后需要在安装在安卓手机上,通过另外一个app获取你应用的签名,填写到开放平台上
4,确认你自己的服务端已经取得了预支付订单编号(partnerid)
5,取得partnerid后,同时返回的sign字段需要在你自己的服务端上重新调用微信的加密方法加密才能递交给前端使用

bishuihanshan

bishuihanshan

我把微信卸载了重新安装就好了,可能是跟微信的什么缓存有关系

407344251@qq.com

407344251@qq.com

之前和楼主是一样的情况,现在已经能支付了。我这边是因为打包时用的android.keystore命令没写对,后来对照着网上的教程啥的,弄了一个新的keystore,重新打包。注意,这里必须是.keystore类型的文件,打包时hbuilder可以选中的才行,这样打包出来的app才能获取到正确的应用签名,然后根据你打包时的包名,和用签名获取工具获取到的签名,去修改开放平台里的app设置,然后等一会,就可以成功了。
ps:这个等一会非常重要,你确定你的步骤都正确的情况下,一定要有点耐心,多等一会。亲身经历,前一秒还失败,下一秒同事已经支付成功了。希望对大家有帮助。

  • Lspring

    我也这样做了,还是有问题啊

    2018-05-02 16:14

  • lying.tech@qq.com

    我也遇到这种问题,已经解决。

    1:楼主的方法是正确的。

    2:设置好签名后,不要着急去测试,可能微信的服务器有缓存更新。

    3:多测试几台机器 ,我测试的情况是,大部分的手机都可以正常支付,很少一部分(比如同事的手机,微信双开了,),如果遇到不能支付成功的情况,可以卸载微信后再次重试。


    如果不知道怎么获取签名,可以参考一下这个:https://blog.csdn.net/github_2011/article/details/60966976

    2018-08-04 17:44

  • EthanQu

    回复 lying.tech@qq.com: 多试几台机器,说的太正确了,这沙比微信

    2019-04-25 16:18

  • 大只西

    等一会是等多久啊?我过了二十分钟 结果还是一样。

    2019-07-17 13:58

龙衣

龙衣 - 80后IT男

这个签名要通过微信接口重新获取得到(得prepayid时用的签名是怎么来的这个就怎么来)传参为
//需要的参数如下:
finalpackage.put("appid",appId);
finalpackage.put("noncestr",nonceStr);
finalpackage.put("package","Sign=WXPay");
finalpackage.put("partnerid",mchId);
finalpackage.put("prepayid", prepay_id);
finalpackage.put("timestamp",timestamp);

lxl

lxl

我也遇到了,无解啊,从启动器把微信打开一次就不会出现了,不然就会出现这个

bishuihanshan

bishuihanshan

楼主怎么样,问题解决了吗?

我的情况跟你一样:

  1. 用私有key打包,把签名跟包名填写到微信开放平台。
  2. app服务器获取预订单号,能正确获取。微信支付系统返回是ok的。我用的key是验收sandbox获取的key。非sandbox的key也试过,都能成功。不过好像说要先用sandbox进行验收,我就用sandbox了。
  3. 在app服务器使用预订单号和其他那几个参数生成sign,把这些参数都传给app。
  4. app开始支付,但总是显示-100。
407344251@qq.com

407344251@qq.com

同问啊,楼主解决了吗?

747413219@qq.com

747413219@qq.com

情况一样的,请问楼主解决了吗?

826096331@qq.com

826096331@qq.com

龙衣

龙衣 - 80后IT男

同样情况,怎么解决的啊,在线急等啊!!!!! 要注意的地方都看了没问题啊 就是返回-100

下雨咯

下雨咯 - 谢绝私聊

最近这个问题好多啊

407262194@qq.com

407262194@qq.com - 困难少年

刚刚碰到这个问题,看了微信官方文档,明白了,掉了一个步骤,需要测试机上生成应用签名。 生成签名提交给微信公众平台,请等待几分钟,再次调用就成功了

1473173817@qq.com

1473173817@qq.com

我用的官方的hello mui 这个app在安卓手机上,有时能打开微信支付,有时不行,返回错误码-100,ios没这个问题

温声荣

温声荣

我去,一步都没漏掉,就是不能支付,见鬼了

627363383@qq.com

627363383@qq.com

我这里也出错了,为什么呢

上流社会

上流社会

有没有解决了这个问题的呀, 联系一下我QQ1248838311 谢谢

一路格桑花

一路格桑花

如果不是前台问题的话,看一下是不是后台给你返回的信息有错,拿官方demo对比一下

green945

green945

好兴奋,这个问题终于解决,确实不能真机联机调试,必须发包安装后,才能正常!

  • 613633484@qq.com

    意思是你联机调试不行,打包安装之后就可以了?

    2019-02-23 14:09

  • green945

    嗯,确实如此,包名,签名和创建的应用才行

    2019-02-26 11:46

  • samuelLee

    你好,我也遇到同样问题,折腾了几天了,各种配置都核对过与要求一致,可是就是不行,可否加个QQ烦请指教下

    2019-03-25 23:53

  • 757617958@qq.com

    回复 samuelLee: 请问你的支付解决好了吗?我遇到同样的问题了,想请教一下你

    2019-05-25 16:36

  • fffkkk

    回复 757617958@qq.com: 请问下楼主解决好了吗?

    2019-06-25 16:33

  • 757617958@qq.com

    回复 fffkkk: 没有呢,焦头烂额

    2019-07-03 18:34

  • fffkkk

    回复 757617958@qq.com: 我这边app开发的人 项目进行打包就好了

    2019-07-05 10:16

  • jtshushu

    回复 fffkkk: 你好 出现-1 这个问题解决了吗 返回数据有订单信息 就是打不开 支付页面

    2019-09-23 14:22

317890132@qq.com

317890132@qq.com - 咸鱼飞

第一次下载安装没问题,我发布wgt更新包更新后又不可以支付,大概几十人测试只有一台手机会这样(微信双开),怎么办?

一只大鱿鱼

一只大鱿鱼

!!!!!!!!!!!!!!!!!!!!!!!
1,2019-11-6号,微信支付安卓必须使用自定义基座真机调试
2,打包测试需要使用自己的私有证书打包apk
3,使用私有证书打包完成后需要在安装在安卓手机上,通过另外一个app获取你应用的签名,填写到开放平台上,确保开放平台上的包名与签名与你打包的完全一致,如果找不到签名工具软件,用命令查看,填md5的密匙
4,确认你自己的服务端已经取得了预支付订单编号(partnerid)
5,取得partnerid后,同时返回的sign字段需要在你自己的服务端上重新调用微信的加密方法加密才能递交给前端使用
6,最坑爹的来了!你把上面所有的东西全都改完了之后,等个10分钟左右,并且以防万一,把微信卸载重新安装之后,再去测试支付!就TM的好了!!!!!!!

要回复问题请先登录注册