收藏
回答

微信APP支付手机端唤起微信失败,提示签名错误

微信APP支付,后端服务器生成预支付订单,并对数据进行二次签名,签名结果如下:{"appid":"wx7c123ccd6ca4889d","partnerid":"1553190181","prepayid":"wx2912023250822949588aafd281c3920000","package":"Sign=WXPay","noncestr":"40f06065c41c410e806c6c462d18b9b3","timestamp":"1619668967","sign":"24A3895275267CC7800FA2B9A183F0B8"}

APP里面将数据发送到微信支付,结果微信唤起失败,返回requestPayment:fail [payment微信:-2]user cancleled错误信息,提示验证签名失败


回答关注问题邀请回答
收藏

2 个回答

  • 陈菲
    陈菲
    2021-04-30

    我们是用UNIAPP开发的手机客户端,不是用H5支付

    2021-04-30
    有用
    回复
  • Memory
    Memory
    2021-04-29

    正常返回-1才是签名错误,你使用的H5支付?

    如果是签名问题请按照以下几点进行排查:

    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、“唤起支付接口”中的签名类型是否与“统一下单接口”的类型一致


    2021-04-29
    有用
    回复 3
    • 陈菲
      陈菲
      2021-04-30
      不是H5,是手机APP支付,用uniapp框架开发的
      2021-04-30
      回复
    • 陈菲
      陈菲
      2021-04-30
      我也用了签名检查工具去检查,签名是有效的。按照排查,都是没有问题的
      2021-04-30
      回复
    • Memory
      Memory
      发表于小程序端
      2021-04-30回复陈菲

      你uniapp使用的h5支付还是app原生支付

      2021-04-30
      回复
登录 后发表内容