微信支付商户平台的API**与公众平台的appsecret的区别

时间:2024-05-22 08:52:47

微信支付的接入流程比支付宝要烦锁,坑多,配置和调试起来都很麻烦。

昨天在配置三方商城的微信支付时,需要用到appsecret,但appsecret是微信公众平台的东西,在微信公众号相关开发时才会用到,跟商户平台的apikey完全是两个概念,所以一定要做好区分,避免混淆。

经过我的一翻折腾,各种百度和我司的开发代码,可以这么理解:

  • appid是在公众平台注册公众号,小程序或开放平台注册应用时产生的
  • 一个微信公众号或小程序,都有自己的appid
  • 一个appid对应一个appsecret
  • appsecret在微信公众平台只能重置,不能查看(真坑)
  • apikey是商户平台的概念
  • 一个mchid对应一个唯一的apikey
  • apikey可以查看,可以重置,重置时可以自定义
  • 一个mchid可以绑定多个appid,可以在商户平台进行绑定,即授权此appid可以用此mchid发起支付,如果未绑定,会报错ERROR:appid和mch_id不匹配,关于mchid绑定appid,参考官方文档:https://kf.qq.com/faq/180910QZzmaE180910vQJfIB.html
  • 支付时要用到appid,mchid和apikey(对,不需要appsecret)

至此,可以明确:appsecret与支付没有半毛钱关系

顺便说一下appsecret更坑的是:appsecret重置后立即生效,原来用到appsecret的地方就会失效

  • 所以生产环境需要先替换appsecret再重置
  • 然而你必须要先重置后才能拿到新的appsecret,然后去替换

死循环了是不是?无解了是不是?不知道微信的产品经理或技术经理是不是脑残了?要么就是我知道的太少,反正我搜了一天的互联网也没找到一个能说明白,包括微信的官方社区,有很多人提问,也没见到一个靠谱的回答。

 

以下内空来自微信商户平台开发指引:

https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/ico-guide/chapter1_1.shtml

在接入微信支付过程中,会出现APPID、MCH_ID、公众平台、开放平台、商户平台等概念,下面仅从微信支付的角度来做简单分析:

 

微信支付商户平台的API**与公众平台的appsecret的区别

 

● 公众平台(mp.weixin.qq.com):注册、配置服务号、订阅号、小程序的入口,注册成功后系统就会下发一个与之一一对应的APPID(其中订阅号的APPID不支持申请和使用微信支付)。

 

● 商户平台( pay.weixin.qq.com):微信支付业务管理中心,商户可以在商户平台进行所有支付业务相关操作,例如退款、下载对账单、查询订单、提现、账号绑定、API证书下载、API**设置、查看证书***等操作。

 

● 开放平台(open.weixin.qq.com):注册、配置APP移动应用、网站应用的入口,注册成功后系统就会下发一个与之一一对应的APPID。

 

● APPID:在公众平台或开放平台申请注册之后由平台下发,在支付接口中通常作为配置参数,必须上传。

 

● MCH_ID:在公众平台、开放平台申请微信支付成功后由微信支付下发,或者直接在商户平台注册也可获得MCH_ID,在支付接口中通常作为配置参数,必须上传。

 

注意: 支付接口要求APPID与MCH_ID必须有绑定关系,在商户平台注册获得的MCH_ID需要在【商户平台—>产品中心—>APPID授权管理】菜单下与APPID进行绑定后方可使用。

 

更多相关内容可以查看:https://kf.qq.com/product/wechatpaymentmerchant.html

 
另外记录一下参考过的微信官方文档: