当前位置: 首页 > 工具软件 > go-openid > 使用案例 >

小程序支付appid和openid不匹配与appid和mch_id不匹配问题记录

司马辉
2023-12-01

场景说明

  之前的微信小程序支付一直没有问题,本次升级改版之后测试环境后端日志显示appid和mch_id不匹配.

处理方案

  官方社区反馈原因无非就两种:
    1.检查appid和mch_id是否存在拼写错误;
    2.检查商户平台中商户号是否与appId存在绑定关系;
    问题明显在于是第二种原因.排查之后发现商户平台可以关联多个appId,比如说一个商户号可以关联APP的微信appId,同时关联微信小程序的appId,由于小程序appId手动重置了,所以需要重新添加绑定关联关系;具体绑定方法参考文末官方介绍.

问题升级

  重新绑定之后,前后端测试环境可以正常进行支付;但是现在线上正式项目出现appid和openid不匹配问题:后端正式环境发布完成,前端小程序正式环境项目还没有审核的情况下,小程序线上在跑的正式环境下面发起支付日志记录:appid和openid不匹配.

原因分析

  小程序支付传递的openid为空,前端调用后端接口根据jsCode获取openId为空(实际获取逻辑参考文末官方链接),返回错误信息:invalid code, hints: [ req_id: LhjCUcQNe-Be3YNa ],具体的原因是小程序 线上正式项目中project.config.json 文件中的 appid 信息与修改之后的appId不一致(接手之后手动重置过appId).而后端服务器中的appId是最新的,所以导致的这个问题.当小程序正式审核通过之后此问题会解决.

涉及文档

  商户号绑定appId,官方提供链接:
  https://kf.qq.com/faq/1801116VJfua1801113QVNVz.html;
  获取openId官方文档:
  https://developers.weixin.qq.com/community/develop/article/doc/00082a04b94c00a9f3eb879ba5ac13;

 类似资料: