收藏
回答

小程序签名成功,但是调不起支付?

我已经通宵好几天都被这个支付搞垮了,一切都正常就是无法调起支付,提示“支付签名验证失败”

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

4 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    2020-05-09

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

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

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

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

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

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

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

    7、调用“小程序支付API”中appid没有按照文档要求的格式

    8、调用“小程序支付API”中signType类型与“统一下单接口”不一致

    2020-05-09
    有用
    回复
  • 老张
    老张
    2020-05-09

    1、把wx.requestPayment需要的参数都从后台传回来。

    2、要不试试云开发统一下单。

    https://developers.weixin.qq.com/community/develop/article/doc/0004c4a50a03107eaa79f03cc56c13

    2020-05-09
    有用
    回复 1
    • 无名
      无名
      2020-05-09
      是这样的
      2020-05-09
      回复
  • Javen
    Javen
    2020-05-09

    唤起参数需要进行二次签名,参考文档

    https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=5

    2020-05-09
    有用
    回复 1
    • 无名
      无名
      2020-05-09
      二签过了,而且还注意了一签和二签是等参数名appid和appId等问题
      2020-05-09
      回复
  • 无名
    无名
    2020-05-09

    {"code":200,"message":"操作成功","data":{"nonce_str":"ThApUowo6xDTofZe","appid":"wx829678fed43fc948","sign":"7FBDF6FF14AF855BEC50CC62EE8D6B92B5ABFA1C64C6A8B6065D7C66E29F3EDE","trade_type":"JSAPI","mch_id":"1576040521","prepay_id":"wx09052207154144208b1c31dd1705913000","return_msg":"OK","return_code":"SUCCESS","result_code":"SUCCESS","time_expire":"20200509055206"}}

    2020-05-09
    有用
    回复 3
    • Akira
      Akira
      2020-05-09
      你贴一下代码出来吧,还有wx.requestPayment有一个参数是package:'prepay_id=' + 统一下单返回的prepay_id,不能直接package:prepay_id,  timeStamp参数记得转成字符串。
      2020-05-09
      回复
    • 一声一生。
      一声一生。
      2020-05-09
      向 楼上说的一样 package 有问题
      2020-05-09
      回复
    • 无名
      无名
      2020-05-09回复Akira
      这些我都常识了,很仔细都检查都符号等问题
      2020-05-09
      回复
登录 后发表内容
问题标签