微信接入中台 · 接口文档
这套系统把所有站点共用的微信能力收敂到一个域名上:网页授权登录、JSAPI/Native 支付、 模板消息与订阅通知、小程序登录与支付。业务站点不保存任何微信密钥,只持有自己的接入密钥。
为什么这样设计(一分钟版)
- 认证服务号的网页授权域名只有 2 个名额、每月只能改 5 次。微信只校验
redirect_uri的域名, 不校验发起页面在哪个域名 —— 所以全部站点的授权都收到wx.onzx.cn这一个 host,名额只花掉 1 个。 - JSAPI 支付授权目录只有 5 条,且"顶级域名目录"只校验 host 不校验后缀。
收银台放在
https://wx.onzx.cn/cashier/,1 条覆盖全部支付页面。 - 公众号的消息与事件推送 URL 只能配一套,目前属于存量系统(edusoho)。 因此中台不接管消息服务器,关注状态改为主动轮询,避免把老系统打挂。
- access_token 是账号级的,普通版重复获取会顶掉对方的 token。中台只用稳定版普通模式(绝不 force_refresh)。
- 一个商户号可以关联多个 AppID(上限 50),所以多个站点共用一个商户号是合规的; 但替别的法人收款属于二清,必须让每家机构用自己的商户号或走服务商模式。
该读哪几页
| 你是谁 | 按顺序读 |
|---|---|
| 要把站点接进来(开发) | 10 分钟接入 → 签名契约 → 登录中转 → 收款 → 提醒推送 |
| 要在微信后台配置(运营) | 微信后台 8 项配置 → 后台使用说明 |
| 线上出问题 | 错误码总表 → 诊断台 → 接口日志 |
| 要接小程序 / 长期演进 | 小程序 → 设计取舍 |
当前生效值
| 项 | 值 |
|---|---|
| 入口域名(微信侧唯一 host) | wx.onzx.cn |
| 登录中转入口 | https://wx.onzx.cn/oauth/entry |
| 授权回调(要填进 mp 后台) | https://wx.onzx.cn/oauth/callback |
| 接口基址 | https://wx.onzx.cn/api/v1 |
| JSAPI 支付授权目录(要填进商户平台) | https://wx.onzx.cn/cashier/ |
| 支付回调(下单报文里传) | https://wx.onzx.cn/api/v1/pay/notify?ch=<通道ID> |
| PHP 客户端 | hub-client.php |
| 存活探针 | https://wx.onzx.cn/health/live |
能力矩阵
| 能力 | 接口 | 站点要做什么 |
|---|---|---|
| 微信登录 | GET /oauth/entry + POST /api/v1/identity/exchange | 放一个链接、兑换一次票据 |
| JS-SDK 分享/授权 | POST /api/v1/js/config | 页面里 wx.config |
| 收款 | POST /api/v1/pay/order 等 | 下单、处理回调、可选退款申请 |
| 提醒推送 | POST /api/v1/message/send | 入队事件;订阅额度用引导页攒 |
| 小程序 | POST /api/v1/miniprogram/login | code 换 openid/unionid;支付走 JSAPI |
文档与代码同仓库、同版本号(当前 V0.1.0)。发现文档与实际行为不一致,请当缺陷报告。
本页内容随代码一起版本化(V0.1.0)。发现文档与实际行为不一致,请当缺陷报告。