收藏
回答

调用支付,返回结果 -1

调用支付,返回结果 -1,用签名工具验证过了,统一下单的sign是对的,返回结果对 appid partnerid prepayid package nonce_str timestamp 做签名,也经过验证了




最后一次编辑于  11-28
回答关注问题邀请回答
收藏

3 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    11-28
    1、统一下单返回是否正常(后面步骤都用到了这个接口的appid,mchid,prepayid,看参数是否匹配
    2、第二次签名过程是否正确(此步骤商户一定要严格按文档的参数列表来做签名,用签名工具做校验)
    2.1、此处涉及一个细节:该接口没有sign_type参数,如果统一下单用的HMAC-SHA256签名,本步骤也必须按HMAC-SHA256
    2.2、本次签名的参数列表要跟文档完全匹配:大小写要一致,参数值要与统一下单接口的保持一致,特别注意参数名:partnerid,取值为mchid
    2.3、本步骤生成的sign与统一下单的不是同一个,经常有商户直接传同统一下单接口的sign过来
    3、检查客户端调用sendReq(PayReq)对象赋值的正确性(必要时让商户提供数据),有一种情况是商户会通过异步获取到后台数据,比如data对象是通过异步请求得到的对象:request.appId = data.appid; 实际appid属性值为空
    4、 检查配置
    4.1、 Android要求在开放平台后台配置正确的应用签名和包名,可以引导商户提供配置截图
    4.2、 IOS则不需要在开平配置,而是要求商户在开发环境红配置正确的URLSchemes为对应APPID


    11-28
    赞同
    回复
  • 空城
    空城
    11-28

    你好,统一下单后,后端处理完数据,把数据返回给安卓,安卓调起微信,接受到的回调显示-1。

    11-28
    赞同
    回复
  • Hanks
    Hanks
    11-28

    前端具体报错?后台具体报错?你怎么写的(关键数据打码)

    11-28
    赞同
    回复 5
    • 空城
      空城
      11-28
      后端没有报错,安卓端也没有报错,安卓用后端传的数据请求调起微信app,回调只返回了错误码-1
      11-28
      回复
    • 空城
      空城
      11-28
      主要是不知道失败的具体原因
      11-28
      回复
    • Hanks
      Hanks
      11-28回复空城
      这个。。。建议你那边再比对一下文档吧,报错太少了。-.-
      11-28
      回复
    • 空城
      空城
      11-28
      你好,有什么办法能对一下报错原因嘛,只返回-1,啥错都没有,太难排查了
      11-28
      回复
    • Hanks
      Hanks
      11-28回复空城
      以我的经验,大部分是参数的问题,我就是按照文档,一个参数一个参数比较,有时候可能会大意,就参数错了,然后能debug,console的地方,就console出来,看看对不对,别是缓存误了事
      11-28
      回复