目前在微信开发产品体系中, 有三个平台, 如下:
- 开放平台: 主要面对移动应用/网站应用开发者, 为其提供微信登录、分享、支付等相关权限和服务. 同时可以绑定公众号, 小程序, 统一了不同产品的用户标识.
- 公众平台: 主要通过公众号和小程序为微信用户提供资讯和服务的平台.
- 商户平台: 主要用于微信支付.
目录
开放平台
主要面对移动应用/网站应用开发者, 为其提供微信登录、分享、支付等相关权限和服务. 同时可以绑定公众号, 小程序, 统一了不同产品的用户标识.
平台链接: 开放平台
开放平台可以创建或绑定的应用有:
- 移动应用
- 网站应用
- 公众账号
- 小程序
- 第三方平台
移动应用
开放平台给移动应用提供的功能有:
- 微信登录.
- 微信分享.
- 微信收藏.
- 其他如App拉起小程序等等.
支持的移动操作系统有:
- IOS.
- Android.
- WP8.
网站应用
给电脑网站提供微信登录的功能.
以二维码的形式让用户扫描登录.
公众账号
绑定开放平台后, 获取用户基本信息可以获得用户的平台唯一的unionid
(关于unionid
,可以参考:UnionID 机制说明).
未绑定时只有
openid
小程序
与公众账号类似, 绑定开放平台后, 获取用户基本信息可以获得用户的平台唯一的unionid
.
第三方平台
第三方平台是微信公众平台-第三方平台的简称, 开放给所有通过开发者资质认证后的开发者使用.
在得到公众号或小程序运营者(简称运营者)授权后, 第三方平台开发者可以:
- 代公众号实现业务: 如自定义菜单, 消息管理, JS SDK的使用等等.
- 代小程序实现业务: 如基础信息设置, 类目管理, 代码管理等等.
同一个公众号或小程序可以授权给多家第三方平台来委托运营.
关于代实现业务: 第三方平台在得到授权之后, 可通过接口获取公众号或小程序的接口调用凭据(authorizer_access_token), 进而获得代公众号或小程序实现业务的能力.
对于公众号和小程序的授权流程, 可以参考:
公众平台
公众平台是给个人、企业和组织提供业务服务与用户管理能力的服务平台.
平台链接: 公众平台
在公众平台中有多种类型的账号, 具体分类如下:
-
公众号: 根据适用人群和功能的不同又分为两类:
- 服务号: 为企业和组织提供更强大的业务服务与用户管理能力, 主要偏向服务类交互(功能类似12315, 114, 银行, 提供绑定信息, 服务交互).
- 订阅号: 为媒体和个人提供一种新的信息传播方式, 主要功能是在微信侧给用户传达资讯(功能类似报纸杂志, 提供新闻信息或娱乐趣事).
- 小程序: 一种新的开放能力, 可以在微信内被便捷地获取和传播, 同时具有出色的使用体验.
- 企业微信: 偏向企业的办公管理, 提供丰富免费的办公应用, 并与微信消息, 小程序, 微信支付等互通, 助力企业高效办公和管理.
公众号
公众号主要通过公众号消息会话和公众号内网页来为用户提供服务的, 具体介绍如下:
-
公众号消息会话: 公众号是以微信用户的一个联系人形式存在的, 消息会话是公众号与用户交互的基础, 根据不同的场景有几类不同的消息类型:
- 群发消息: 公众号可以以一定频次(订阅号为每天1次, 服务号为每月4次), 向用户群发消息, 包括文字消息、图文消息、图片、视频、语音等.
- 被动回复消息: 根据用户给公众号发的消息进行回复.
- 客服消息: 在用户给公众号发消息后的48小时内, 公众号可以给用户发送不限数量的消息, 主要用于客服场景.
- 模板消息: 在需要对用户发送服务通知(如刷卡提醒、服务预约成功通知等)时, 公众号可以用特定内容模板, 主动向用户发送消息.
-
公众号内网页: 许多复杂的业务场景, 需要通过网页形式来提供服务, 这时需要用到:
- 网页授权获取用户基本信息: 通过该接口, 可以获取用户的基本信息(获取用户的OpenID是无需用户同意的, 获取用户的基本信息则需用户同意).
- 微信JS-SDK: 是开发者在网页上通过JavaScript代码使用微信原生功能的工具包, 开发者可以使用它在网页上录制和播放微信语音、监听微信分享、上传手机本地图片、拍照、支付等许多能力.
公众号的开发辅助工具有:
小程序
小程序是微信为了让第三方服务在微信上有更好的体验而设计的一种新的产品.
关于小程序的由来可以参考: 小程序技术发展史.
小程序提供的功能有:
- 用户信息获取: 登录, 获取手机号等
- 支付
- 数据分析
- 物流助手等
企业微信
本质上企业微信小程序是微信小程序的一个扩展子集,微信小程序的大部分能力都可以在企业微信上运行,同时企业微信扩展了部分和企业相关的能力以满足更多的场景需求。
商户平台
商户平台主要提供的功能是支付.
平台链接: 商户平台
对于接入的商户类别, 可以分为两种:
- 普通商户: 自己实现支付, 营销等功能的商户, 又分为境内商户和国际商户.
- 服务商: 为普通商户提供支付, 营销等功能的商户. 又分为境内服务商, 国际服务商和银行服务商.
关于服务商的详细介绍, 参考链接: 微信支付服务商功能介绍.
在商户平台中, 支付平台的产品有:
- 付款码支付: 用户展示微信钱包内的“付款码”给商户系统扫描后直接完成支付,适用于线下场所面对面收银的场景,例如商超、便利店、餐饮、医院、学校、电影院和旅游景区等具有明确经营地址的实体场所.
-
JSAPI支付: 商户通过调用微信支付提供的JSAPI接口,在支付场景中调起微信支付模块完成收款, 应用场景有:
- 线下场所:调用接口生成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付.
- 公众号场景:用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付.
- PC网站场景:在网站中展示二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付.
- 小程序支付: 商户通过调用微信支付小程序支付接口,在微信小程序平台内实现支付功能.
- Native支付: 商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站、实体店单品或订单、媒体广告支付等场景.
- APP支付: 商户通过在移动端应用APP中集成开放SDK调起微信支付模块来完成支付。适用于在移动端APP中集成微信支付功能的场景.
- H5支付: 商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付。主要用于触屏版的手机浏览器请求微信支付的场景.
不同场景适用的支付产品整理如下:
场景 | 支付产品 |
---|---|
线下场所 | 付款码支付和JSAPI支付 |
公众号 | JSAPI支付 |
小程序 | 小程序支付 |
PC网站 | JSAPI支付和Native支付 |
APP | APP支付 |
企业微信 | 企业微信 |
注意事项
- 对于公众号内的网页, 第三方登录所用的appid和JSAPI支付中用到的appid可以不一致, 但是JSAPI支付中用到openid必须对应的是同一个公众号.