文档地址:「微信支付实名验证」
Q1:调用实名验证接口返回:网络异常,请重试,是什么原因?
A1:可以按照以下几点进行排查:
- 没有权限,请联系对接的微信运营申请权限,权限开通后再调用接口;
- 请求中的openid错误,该用户openid必须要用请求中的appid获取,而且该用户openid必须与调用的微信是同一个;
- 请求接口会校验签名,签名错误也会导致该报错,请按照Q2签名错误指引排查。
Q2:调用实名验证授权获取code接口返回:{" retcode" :"参数错误","retmsg" :"商户签名验证失败"}
A2:报这个错误,是签名错误导致,签名错误请按照以下几点进行排查:
- 使用签名检查工具校验签名算法是否有误
- 确认秘钥是否有误(秘钥是在商户平台配置,可参考该指引文档)
- 确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)
- 确认参数的大小写,参数名与接口文档一致
- 签名原串的参数值使用原始值,不需要encode
- 接口需要使用UTF-8编码
Q3:小程序实名验证业务流程图中的“提供访问牌”指的是什么?
A3:指的是通过code换取的access_token
Q4:小程序实名验证业务流程图中的“刷新访问牌”指的是什么?
A4:指的是refresh_token,refresh_token在这里没有具体意义,可以不进行处理
Q5:调用实名验证通过code换取的access_token接口返回:{ "retcode":"132819002","retmsg" : "CODE_NOT_FOUND"},是什么原因?
A5:这个报错的意思是指code过期了,auth_code用于换取访问令牌,有效期600秒,请在有效期内调用接口。
Q6:实名验证通过code换取的access_token有效期是多久?新老access_token是否有并行期?
A6:access_token有效期是7200秒,也就是两个小时。
新老access_token没有并行期,新的生成后老的就失效了。
Q7:接口中身份信息以明文方式传输,关于身份信息的hash方式是否可以提供下?
A7:目前这个接口没有加密要求,接口是明文传输身份信息的,直接按照文档传即可。
Q8:access_token是否可以跨用户使用?
A8:不可以跨用户使用,accesstoken是每个用户一个。
Q9:实名验证每天获取access_token有次数限制吗?
A9:没有次数限制.
Q10:小程序实名验证下面这两个接口,每天有调用次数限制吗?
- 实名校验access_token(https://api.mch.weixin.qq.com/appauth/getaccesstoken)
- 实名结果查询(https://fraud.mch.weixin.qq.com/secsvc/realnameauth)
A10:没有天级别的调用次数限制,但这两个接口有调用频率限制,频率是单个商户500QPS。
Q11:请求小程序实名验证接口,返回报错err_code: "非法请求" ,err_code_des: " check product auth fail" 这个是什么意思?要如何解决?
A11:这个报错的意思是没有开通实名验证权限,请联系对接的微信运营申请权限,权限通过后再调用接口。
Q12:小程序实名验证,第一步骤的授权获取code请求路径和后续获取accesstoken以及实名验证不一样,获取code是通过服务端请求还是小程序前端交互方式?
A12:code是前端回调时给到商户的。
Q13:小程序里吊起微信支付实名信息授权小程序是怎么吊起的?用户授权之后是怎么回到发起实名授权的小程序页面的呢?
A13:是通过navigateBackMiniProgram发起实名授权小程序页面 。使用App.onShow 接收返回参数。
Q14:调用小程序实名验证接口,返回错误:非法请求,appuin from GetAppInfoByAppID dismatch appuin from DecodeOpenId6
A14:这个报错的意思是获取的openid不正确。生成openid的appid与传的appid不一致。必须要用请求中上传的appid获取openid才对,请检查确认下。