收藏
回答

android 唤起支付失败。一直返回errCode=-1

已经排除了这几个可能 签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、sign错误。

"prepayid": "wx15174938142720e16257512d1667917600"

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

2 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    2020-01-16

    你好,仔细参照以上步骤进行排查即可。-1的问题基本就是这些原因造成的。

    2020-01-16
    有用
    回复 1
    • victor
      victor
      2020-01-16
      原因找到了,是因为后台第二次做签名的时候,有个参数名跟第一次签名时不一致,少了个下划线导致的,感谢官方。
      2020-01-16
      回复
  • victor
    victor
    2020-01-15

    @官方 已经按照如下步骤检查了,还是不行:

    首先文档业务流程和开发步骤接入按照文档流程排查;如果还有问题需要以下环节引导商户排查:


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

    2、 第二次签名过程是否正确(步骤商户一定要严格按文档https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12&index=2的参数列表来做签名,提醒商户用签名工具做校验)

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


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

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

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

    4、 检查配置

    a) Android要求开放平台后台配置正确的应用签名和包名

    b) IOS则不需要在开平配置,而是要求商户开发环境红配置正确URL Schemes为对应APPID


    2020-01-15
    有用
    回复
登录 后发表内容
问题标签