数字商品

用后台配置项目包、资料包、模板包和兑换码,付款后一次性交付。

数字商品适合卖一个具体交付物,而不是卖长期会员权限。比如项目包、资料包、模板包、源码相关说明、清单、案例库或一单一个兑换码。

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 入口。

订单页和邮件

用户付款成功后:

  1. 订单状态进入 fulfilled
  2. 订单页展示交付内容。
  3. 系统发送发货邮件。
  4. 用户可以在订单页复制交付内容。

如果支付回调还没到,订单页会提示用户稍后刷新。

兑换码模式

当交付方式选择“一单一个兑换码”时,后台可以一次性导入多行兑换码。每个订单只会消耗一个可用兑换码。

适合场景:

  • 软件 License
  • 课程兑换码
  • 第三方平台领取码
  • 一次性优惠码

如果只是交付一个下载链接或说明,使用固定交付内容即可。

运营建议

早期可以接受下载链接被转发的风险。低价项目包的主要价值是验证需求和引流,不要一开始就投入复杂的私有下载系统。

建议:

  • 商品说明写清楚交付内容和适用范围。
  • 默认不承诺后续更新,除非商品说明里明确写了。
  • 高价商品可以先人工交付,或后续再升级到私有存储和订单鉴权下载。
  • 项目包卖具体成果,会员卖持续更新的体系化内容,两者不要互相替代。