微信开发术语解惑

2018/09/11 Wechat

微信开发术语解惑

引言

在我们的日常项目中,或多或少的会遇到微信相关的开发,比如说微信支付、微信公众号开发和微信登录等等。

在接触微信的生态时,我们经常会遇到以下一些名词:

  • 微信公众平台、微信开放平台和微信商户平台;
  • AppID和MchID;
  • OpenID和UnionID。

然后在集成各种微信功能时,我们需要申请各种权限,但是往往不知道要申请哪些权限,导致总是在开发好后,才去申请权限,又得等几个星期,导致项目延期。

所以在本文中,我们将简要介绍一下微信生态中,各平台的联系,以及集成某项功能时,需要申请哪些权限,给大家一个参考,让大家别踩我们踩过的坑了。

微信三大平台

微信公众平台

微信公众平台主要功能是公众号服务的后台。用于管理、开放微信公众号(包括订阅号、服务号、企业号),简单的说就是微信公众号的后台运营、管理系统。现在小程序也是在公众平台下面管理。

公众平台里面提供微信支付的能力,支付方式为公众号支付,而对于小程序则对应于小程序支付。

后台地址为 https://mp.weixin.qq.com

文档地址为 https://mp.weixin.qq.com/wiki

微信开放平台

主要面对移动应用、网站应用开发者和第三方平台,为其提供微信登录、分享、支付等相关权限和服务。

微信开放平台还提供了数据统计功能,用于开发者统计接入应用的登录、分享等数据情况。

开放平台菜单:

后台地址为https://open.weixin.qq.com

文档地址为https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list

微信商户平台

无论是申请 公众平台商户 还是 开放平台商户,申请成功后,都会拥有商户平台账号,可登陆商户平台进行操作。

商户平台主要就是做微信支付用的,如果APP或者公众号需要接入支付功能,那么就需要在公众平台申请公众平台商户,或者在开放平台申请开放平台商户。申请成功后会分配商户平台账号。

也就是商户后台主要是用来管理微信订单,退款和提现等。

后台地址为https://pay.weixin.qq.com

文档地址为https://pay.weixin.qq.com/wiki/doc/api/index.html

用一句话简单概括,在微信内操作的都在公众平台管理,在微信外操作的在开放平台管理,微信支付相关的在商户平台管理。

几大平台的联系

几大平台的联系我们可以回答引言中的两个问题:

  • AppID和MchID;
  • OpenID和UnionID。

AppID和MchID

微信开发中功能的使用都对应一个应用,比如我们要使用网站扫码登录,就需要生成一个网站引用,使用APP进行SDK支付,需要生成一个移动应用,公众号本身也就是一个应用。一个应用会用户一个ID来标识,这就是AppID。然后这个应用在微信那边请求都会有一个秘钥,这就是AppSecret。

对于移动应用、公众账号和小程序,生成应用后,可以申请微信支付的能力,申请成功后,就会生成一个微信商户,这个商户使用MchID来标识,这就是商户号。

所以AppID是来标识应用的,而MchID是用来标识商户的。而申请微信支付时,得到商户时,这个MchID是绑定AppID的。

在微信支付的时候,下单需要提供AppID来标识是哪个应用下单,MchID用来标识是哪个商户下单。而我们一开始申请的不同的AppID对应的MchID可能是不一样的,这对于管理不便。我们往往需要多个AppID,但是只有一个MchID。这时候我们可以登录微信商户平台,参照以下教程,将某个AppID绑定到这个MchID下。那么这个AppID就可以在这个MchID上下单了。

https://pay.weixin.qq.com/static/pay_setting/AppID_protocol.shtml

OpenID和UnionID

微信对每个AppID里的每一个用户都有一个OpenID来标识这个用户。比如我使用网站应用进行扫码登录,这时候微信就会为我产生一个OpenID来标识我,在这个扫码应用中,OpenID是不变的。我用微信公众号,进行支付,也会生成一个OpenID来标识我。这两个OpenID是不一样的。

但是有时候,我们会有在不同的AppID里有需求,共享账户体系,这时候OpenID就没有用了,这时候就需要UnionID了。在一个开放平台里面所有的应用都有相同的UnionID。对于移动应用、网站应用是在开放平台创建的。而对于公众账号和小程序,我们可以在开放平台里面进行绑定,绑定后,就会共享相同的UnionID。

OpenID是每个应用中标识用户的,而UnionID则在整个开放平台共享。

三大平台的关系概况如下:

  • 公众平台里需要公众号支付和小程序支付时,开放平台里的移动应用,支付相关的订单等管理是在商户平台;
  • 商户平台可以绑定多个AppID,使得多个应用可以在同一个商户下单;
  • 开放平台可以绑定公众平台里的公众账号和小程序,使得所有应用的用户共享相同的UnionID。

权限申请

为了不耽误项目进度,下面简要说明一下,哪些开放是需要申请权限的。

公众号开发,这需要在公众平台申请一个账号,对于企业常用的服务号来说,要开发的能力,必须需要认证,这个认证一般需要花两周时间。

公众号支付、扫码支付、H5支付和SDK支付需要申请商户平台,这个在申请在公众号或者移动应用中申请商户时,就会生成一个。这一般需要几周的时间。如果已有商户后台,只需要绑定AppID即可。

移动应用和网站应用需要先申请一个开放平台,申请后进行认证需要两周的时间。

支持PC端扫码支付时,需要生成一个网站应用,需要在开放平台生成一个网站应用,一般需要两周时间。

支持APP里SDK支付、分享或者登录等,需要在开发平台生成一个移动应用,这也需要两周时间。

在开放平台绑定公众号和小程序可以即时绑定。

对于微信各种支付方式,接下来会专门写一篇文章来介绍。

小结

以上是我在工作中和微信相关开发中,总结出来的经验,因为并没有开发过公众号和小程序,所以对于公众号和小程序内部需要哪些权限不是很了解,如果有缺失,大家可以补充。

希望这篇文章,让大家根据了解微信开发的一些名词,少踩些坑。

Search

    Table of Contents