收藏
回答

微信支付ErrCode -1

微信支付签约用户,微信支付时

class WXPayEntryActivity : AppCompatActivity(), IWXAPIEventHandler {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val api = WeChatUtil(this).createWXAPI()
try {
api.handleIntent(intent, this)
} catch (e: Exception) {
}
}


override fun onResp(baseResp: BaseResp?) {
LogUtil.e("pay errCode = " + baseResp?.errCode)
LogUtil.e("pay errStr = " + baseResp?.errStr)

when (baseResp?.errCode) {

            // TODO 此处始终返回 errCode = -1 检查过APPID, PID 等 没有问题。

BaseResp.ErrCode.ERR_OK -> {
if (baseResp.type == ConstantsAPI.COMMAND_PAY_BY_WX) {
setPayResult(true)
}
}
else -> setPayResult(false)
}
}

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

2 个回答

  • 微信支付技术助手
    微信支付技术助手
    2019-03-19

    您好,请参考:

    按照以下几点来检查,

    1)你签名中的key,也就是你的API密钥key,这个参数要你们自己到商户平台设置的,设置的规则是32位数字与字母大小写的组合的随机数,不能设置成签名串和参数appsecret,你们有正确设置吗???

    2)检查开放平台对应的包名与签名是否有正确设置。

    https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5 这里有详细的设置说明。

    3)调用支付使用的noncestr这个参数必须和商家服务器调用统一下单接口返回的那个noncestr一致

    4)从预支付订单返回的数据 ,没有重新签名,也会引起这个问题。

    5)重新安装微信后试试。


    2019-03-19
    有用
    回复
  • 王行天
    王行天
    2019-11-12

    调用微信支付时,一直报错

    1、检查游戏包名,微信参数均无问题。

    2、其他用户调用微信支付正常。只有自己这个手机,一调用支付,就报错-1。无法正常支付。

    3、换个微信账号登录微信。再次到游戏中调用支付,正常。或在手机设置中,清除微信应用的缓存。(微信,会缓存应用首次调用支付时的签名信息,若第一调用支付的签名与后台不匹配,则会一直无法调出支付,报错errCode:-1)

    相关链接:https://segmentfault.com/q/1010000005136636


    2019-11-12
    有用 1
    回复 1
    • NorrShawn
      NorrShawn
      06-04
      完美解决我的问题,谢谢🙏
      06-04
      回复
登录 后发表内容