数字商品
用后台配置项目包、资料包、模板包和兑换码,付款后一次性交付。
数字商品适合卖一个具体交付物,而不是卖长期会员权限。比如项目包、资料包、模板包、源码相关说明、清单、案例库或一单一个兑换码。
V1 的原则很简单:用户买完后,订单页和邮件里都能看到同一段交付内容。交付内容是一段自由文本,由管理员在后台填写。
快速版
后台地址:
/admin/digital-products你可以在后台配置:
- 商品名称
- URL 标识
- 价格和币种
- 商品说明
- 上架状态
- 交付方式
- 交付内容自由文本
- 一单一个兑换码
交付内容不拆成 ZIP 下载地址、使用说明、公开教程链接等字段。你直接在文本框里写清楚即可。
示例:
下载地址:https://example.com/01mvp-demo-pack.zip
使用方式:
1. 下载 ZIP 后解压。
2. 阅读 README.md。
3. 按 docs 链接里的步骤部署。
公开教程:https://01mvp.com/docs/cases/example接下来你可以:
- 在后台新建一个 draft 商品
- 填写商品说明和交付内容
- 确认支付渠道已配置
- 切到 active 上架
- 用测试账号购买一次,检查订单页和发货邮件
和付费文档的区别
| 类型 | 用途 | 交付方式 |
|---|---|---|
| 付费文档 | 会员阅读全文 | access: paid,有效会员可看 |
| 数字商品 | 项目包、资料包、模板包、兑换码 | 付款后订单页和邮件展示交付内容 |
数字商品不会自动解锁某篇文档,也不会改变会员状态。
如果你想低价验证一个项目是否有人买,优先做数字商品。等这个项目包卖得稳定,再考虑是否升级成会员内容、课程或项目专区。
支付方式
数字商品和站内支付使用同一套支付渠道注册表。
页面只会展示当前环境已配置、且支持数字商品一次性付款的渠道。当前可直接用于数字商品的是 ZPAY 的支付宝和微信支付。其他 provider 如果要支持数字商品,需要先补齐对应的动态金额或商品映射能力。
相关文件:
| 文件 | 作用 |
|---|---|
apps/01mvp-web/src/lib/payments/channels.ts | 维护 checkout 可用渠道。 |
apps/01mvp-web/src/app/(main)/(public)/digital-products/page.tsx | 数字商品购买页。 |
apps/01mvp-web/src/lib/digital-products/service.ts | 创建订单、发货、退款和回调处理。 |
apps/01mvp-web/src/server/routes/payments.ts | 支付 webhook 入口。 |
订单页和邮件
用户付款成功后:
- 订单状态进入
fulfilled。 - 订单页展示交付内容。
- 系统发送发货邮件。
- 用户可以在订单页复制交付内容。
如果支付回调还没到,订单页会提示用户稍后刷新。
兑换码模式
当交付方式选择“一单一个兑换码”时,后台可以一次性导入多行兑换码。每个订单只会消耗一个可用兑换码。
适合场景:
- 软件 License
- 课程兑换码
- 第三方平台领取码
- 一次性优惠码
如果只是交付一个下载链接或说明,使用固定交付内容即可。
运营建议
早期可以接受下载链接被转发的风险。低价项目包的主要价值是验证需求和引流,不要一开始就投入复杂的私有下载系统。
建议:
- 商品说明写清楚交付内容和适用范围。
- 默认不承诺后续更新,除非商品说明里明确写了。
- 高价商品可以先人工交付,或后续再升级到私有存储和订单鉴权下载。
- 项目包卖具体成果,会员卖持续更新的体系化内容,两者不要互相替代。