收藏
评论

Android 接入微信支付返回 -1?官方

请按照以下几点进行排查:

1、使用签名检查工具(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)校验签名算法是否有误

2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)

3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)

4、确认参数的大小写,参数名与接口文档一致

5、签名原串的参数值使用原始值,不需要encode

6、接口需要使用UTF-8编码

7、IOS正常,安卓异常的情况下,请排查包名与包签名

8、未注册APPID

9、项目设置APPID不正确

10、注册的APPID与设置的不匹配

11、服务商模式下,统一下单中的sub_appid是否有传入

12、“唤起支付接口”中的签名类型是否与“统一下单接口”的类型一致


52944浏览
知识库内容非实时更新,可能已过期、失效或不适用于当前情形,请谨慎参考
收藏
反馈

3 个评论

  • 冯伟
    冯伟
    2021-06-16

    问题已经解决了,在这里分享一下我这边的场景是怎么解决的。

    跟之前开发过的朋友沟通过,好像是app测试包就会这样,正式包就不会了。

    打正式包后,记得配置微信开放平台的包名和包签名,一定要确保他们是一样的。

    不知道如何查看包名和包签名的,可以自行百度,有一个APK包名签名查看器可以试试,当配置完之后,就可以支付了。

    希望可以帮助到大家

    2021-06-16
    赞同 2
    回复 1
    • Sugar。
      Sugar。
      2023-11-23回复支付社区运营
      你好,这个试过了 没有问题,还有别的解决场景吗?
      2023-11-23
      回复
  • 趁时光还在
    趁时光还在
    2023-07-28

    你好 上面已经排查完成了 都没有问题,可以帮我定位一下吗?

    appid:wxeb9a5d3e9967530b


    {

        "code": 200,

        "msg": "请求成功",

        "data": {

            "appid": "wxeb9a5d3e9967530b",

            "package": "Sign=WXPay",

            "partnerid": "1619748053",

            "timestamp": 1690526787,

            "prepayid": "wx28144627697552a69363b6a09719080000",

            "noncestr": "qpjy4t6vu9l8jbjpqxdfwwvbo69tsqqa",

            "sign": "4070D2622A22F3ABB448084AE0A18669"

        }

    }

    2023-07-28
    赞同
    回复
  • 冯伟
    冯伟
    2021-06-16

    第一次支付可以成功,后面再次支付的时候,全部都报错 requestPayment:fail:[payment微信:-1]

    2021-06-16
    赞同
    回复 3
    • Stars.
      Stars.
      2021-08-05
      遇到一样的问题  你这边解决没
      2021-08-05
      回复
    • 99
      99
      2022-02-28
      我也是啊    @  这什么鬼啊 分享都好使 。 安装到新的手机也没问题。
      2022-02-28
      回复
    • 🇫 .🇽 .🇻.
      🇫 .🇽 .🇻.
      2023-08-17
      我也是这样,什么情况
      2023-08-17
      回复
登录 后发表内容