收藏
回答

请问安卓APP支付,返回-1,无法唤起微信支付,怎么查?

ios支付正常,安卓版本微信支付过程中,返回-1,查了一下-1:可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。请问那怎么查啊?这是一笔订单:"prepayid":"wx31215437427476ee3244f3011539508300"

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

2 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    01-02

    1、统一下单返回是否正常(后面步骤都用到了这个接口的appid,mchid,prepayid,看参数是否匹配


    2、第二次签名过程是否正确(此步骤商户一定要严格按文档的参数列表来做签名,用签名工具做校验)


    2.1、此处涉及一个细节:该接口没有sign_type参数,如果统一下单用的HMAC-SHA256签名,本步骤也必须按HMAC-SHA256


    2.2、本次签名的参数列表要跟文档完全匹配:大小写要一致,参数值要与统一下单接口的保持一致,特别注意参数名:partnerid,取值为mchid(开平SDK历史原因,无法改名)


    2.3、本步骤生成的sign与统一下单的不是同一个,经常有商户直接传同统一下单接口的sign过来


    3、检查客户端调用sendReq(PayReq)对象赋值的正确性(必要时让商户提供数据),有一种情况是商户会通过异步获取到后台数据,比如data对象是通过异步请求得到的对象:request.appId = data.appid; 实际appid属性值为空


    4、 检查配置


    4.1、 Android要求在开放平台后台配置正确的应用签名和包名


    4.2、 IOS则不需要在开平配置,而是要求商户在开发环境红配置正确的URLSchemes为对应APPID


    01-02
    赞同
    回复
  • 苗春雨
    苗春雨
    2019-12-31

    是不是就是appid不对?我记得好像安卓跟ios要分别申请appid?



    2019-12-31
    赞同
    回复 2
    • 余
      2019-12-31
      不可能是分别申请呢,同一个appid啊
      2019-12-31
      回复
    • 苗春雨
      苗春雨
      2019-12-31回复
      确实是只有一个。。。我记混了。那就只能检查下传的参数是不是正确的了,都是字符串类型,我之前忘记哪个了,传的数字还是什么,就有问题,不过app一般强类型不太容易出这个错误。。。还有就是签名算法,说要跟统一下单的加密方式一样。。。
      2019-12-31
      回复
登录 后发表内容
问题标签