弈CO 上架了。回头看,从注册到过审花了一个多月,代码倒是写得不多——大头都耗在流程和等待上。
这篇文章把全流程捋一遍:每一步要做什么、花多久、哪里有坑。如果你也打算用个人主体上架一个小程序,希望能帮你少绕几圈。
先看总账
| 事项 | 花费 | 耗时 | 说明 |
|---|---|---|---|
| 注册小程序 | 免费 | 半小时 | 邮箱即可 |
| 个人认证 | 30 元 | 7 天内 | 微信支付认证费 |
| 小程序备案(工信部) | 免费 | 13 天 | 最长20天 |
| 域名注册 | 1.1 元/年 | 即时 | site域名优化活动,不用云开发才需要 |
| 服务器 | 轻量应用服务器 | 即时 | 不用云开发才需要 |
| 域名备案 | 免费 | 14 天 | 最长20天,和小程序备案互斥,见下文 |
| 上架审核 | 免费 | 1~7 天/次 | 被拒3次 |
下面按时间线展开。
第一步:注册和认证
注册小程序用邮箱就行,个人主体选「个人」,不需要营业执照。真正要注意的是认证:不认证没法用支付、没法备案。个人认证 30 元,走的微信支付,一般几天内通过。
这一步没坑,但有个前置知识:个人主体拿不到手机号(快速验证组件只有企业主体能用),昵称头像也不能静默获取——wx.getUserProfile 早被收回了,要用官方的「头像昵称填写能力」,用户点按钮主动给你才有。设计登录方案时别按老教程来。
第二步:备案——最大的时间黑洞
2023 年起小程序必须工信部备案才能上架。流程是:MP 后台填信息 → 平台初审 → 通信管理局审核,用时13天。
这步的建议只有一条:注册完、认证完,第一时间提交备案,然后去写代码。备案和开发互不影响,但备案不上,一切白搭。
这里有个大坑:域名备案和小程序备案是互斥的
我的后端是自己的 Go 服务,需要域名和服务器,于是域名也要备案。然后发现:同一主体下,域名备案和小程序备案不能同时进行——必须等小程序备案完全通过,才能发起域名备案。第一次申请被拒,第二次域名备案用时 14 天。

也就是说,如果你两条都要走,串行等待可能叠加到一个多月,而且第二段的起点你控制不了。
想绕开这条路有个办法:用微信云开发(CloudBase)。 云开发给的默认域名(xxx.service.tcloudbase.com)免备案,可以直接进小程序合法域名列表,域名注册、域名备案、服务器购买三件事全省。代价是接受云托管的计费和迁移成本。弈CO 早期就在云开发上跑过,后来为了虚拟支付的推送回调和自己掌控部署,迁到了自有服务器——如果你的小程序不需要这些,云开发确实是个人开发者最省事的起点。
第三步:开发,那些文档不会主动告诉你的
开发阶段的坑,全是「小程序不允许」和「微信要求」两类。
不能用 webview
个人主体小程序不能用 web-view 组件(那是企业认证主体的能力)。这意味着所有内容必须原生页面渲染。
弈CO的赛程规程大多是微信公众号文章。webview 嵌不了,跳转出去体验又断,我的做法是:后端把规程文章爬取下来,正文转存到数据库,前端用原生页面展示。比赛创建时后台异步抓一次,存标题和正文文本,用户在小程序里看到的是我自己的原生阅读页。附带的好处是 AI 问答时可以直接检索规程原文——数据在自己库里,怎么用都行。要注意公众号文章有防盗链和动态渲染,抓取时得做容错,抓失败就把原文链接透出,别硬撑。
隐私声明不过关,直接打回
调用微信昵称头像、保存图片到相册这类接口,前提是在 MP 后台配置《用户隐私保护指引》,把你要收集的信息逐项声明。每次提审,微信会核验指引与代码实际用到的接口是否匹配——声明里没写的接口,审核时就是一颗雷。
我加了头像昵称填写(chooseAvatar + nickname input),指引里就必须列上「头像、昵称」的收集用途。运行时还有配套要求:调隐私接口前用户必须同意过指引,代码里用 requirePrivacyAuthorize 检查,没同意就让微信弹官方授权框。这套不做,轻则接口静默失败,重则审核被拒。
虚拟支付:安卓 iOS 是两套账
要在小程序里卖虚拟商品(金币、会员),只有一条路:微信虚拟支付,道具直购模式。这里的坑最密集:
- 必须双端都上。我以为 iOS 可以先不上,先发安卓版——被拒了。审核要求虚拟支付能力按平台完整提供,iOS 端拉不起支付就是能力缺失。后来 iOS 配了小程序简称、开通苹果 IAP 才过。
- iOS 手续费高得多。安卓 1%,iOS 12%(Apple 佣金),结算周期也长。所以到账金币我做了两套虚拟商品。
- 道具不是在前端定义的,在 MP 后台「虚拟支付 → 道具管理」创建,价格单位是分,前后端配置的价格必须和道具完全一致,差一分钱支付就报错。
- 个人主体没有沙箱,只能小额真单验证。上线前用 1 元的档位把下单、支付、发货推送、退款走了一遍。
其他常见问题,顺手册一起列了
- 服务类目:审核会卡类目与实际功能的匹配度。弈CO选了「工具」方向,虚拟支付也要求类目里必须有「工具」。
- 月限额:个人主体虚拟支付月支付限额 10 万元,够小产品用,做大了要升主体。
- 消息推送:支付回调需要配置服务器消息推送(URL 必须 https、Token 两端一致),这就是我最终要自有域名的原因。
- AI 内容:如果小程序里有 AI 生成内容,要做好「本回答由 AI 生成」的标识——这是《人工智能生成合成内容标识办法》的硬要求,2026 年已有未落实的产品被公开处罚。
第四步:提审,和被拒之后
第一次提审被拒,原因就是前面说的 iOS 虚拟支付缺失。微信的审核意见会给到具体页面和条款,照着改就行:
- 补齐 iOS 侧支付配置(简称 + IAP);
- 隐私指引按意见补了两项声明;
- 重新提审,几天后通过。
总花费:认证 30 元 + 域名 1.1 元/年 + 轻量应用服务器费。
我上架的围棋赛事小程序,欢迎围观——微信搜「弈CO」或扫码:

关于它内部的 Agent 实现和提示词写法,我另写了一篇:《一个围棋小程序里的七个 Agent》。
