付费自定义

第一笔收入 💰

收到第一笔 ¥99 的付款时,我激动得截了屏。

终于不再只是烧钱了。

那天是周二的晚上,我正在看服务器账单——每个月 ¥5000 的成本像一块石头压在胸口。突然手机震动了一下,支付宝到账提醒:¥99。

我赶紧打开后台,看到是一个深圳的用户,购买了”专业套餐”,订阅了 3 个自定义别名。他在备注里写道:“太需要这个功能了,公司品牌推广必备!”

那一刻我意识到:这不是玩具,是生意。


套餐设计 📊

为什么收费?

先看看当时的数据:

优质别名申请统计(2026年2月):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
"apple"   申请次数:128次
"shop"    申请次数:256次  
"go"      申请次数:189次
"news"    申请次数:167次
"vip"     申请次数:143次

3字符短别名:100%被占用
4字符好记词:87%被占用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

用户留言精选:
• "我愿意付钱买'apple'这个别名!"
• "能不能租给我?我用一个月就行"
• "我们公司需要这个品牌名,价格好商量"
• "求转让'go',¥100/月可以接受"

需求明确,供给稀缺——完美的定价场景。

三档套餐

我设计了三个套餐,定价逻辑是:

落地思路

  • 免费版锚定「免费」,用不提供高级功能来换规模,不做收入假设。
  • 基础版和专业版按「自定义别名数量 + 最短别名长度 + 数据统计」三档能力递进。
  • 最短长度是分档的关键:3 位别名已被抢注册,4 位好记词也被占掉 87%,长度直接对应稀缺性。
  • 定价落在心理价位下方(¥29、¥99),让用户在结算页不用做整数比较。

输出:

=== 短链接服务套餐 ===

【免费版】
价格:¥0/月
自定义别名:0个
最短长度:6位
数据统计:✗
适用:个人尝鲜用户

【基础版】
价格:¥29/月
自定义别名:5个
最短长度:4位
数据统计:✓
适用:小团队/个人品牌

【专业版】
价格:¥99/月
自定义别名:无限
最短长度:3位
数据统计:✓
适用:企业用户/重度使用者

定价逻辑

为什么是 ¥29 和 ¥99?

  1. 心理定价

    • ¥29:低于 ¥30,感觉”不到30块”
    • ¥99:低于三位数,感觉”不到100块”
  2. 锚定效应

    • 免费版作为锚点,让基础版显得很便宜
    • 专业版¥99与基础版¥29对比,¥70差价换无限别名,值得
  3. 成本覆盖

    • 单个用户服务器成本:¥5/月
    • ¥29 套餐毛利:83%
    • ¥99 套餐毛利:95%
  4. 转化漏斗

    100个免费用户
       ↓ 2%转化
    2个付费用户
       ↓ 分配
    1.5个基础版(¥29) + 0.5个专业版(¥99)
       ↓
    平均客单价:¥46.5

支付接入 💳

为什么选择支付宝+微信支付?

我当时考虑了三个因素:

  1. 用户习惯:国内用户习惯支付宝/微信
  2. 接入难度:官方SDK文档完善
  3. 费率:0.6%交易费,可接受

支付流程

用户选择套餐 → 创建订阅订单 → 调用支付接口 → 跳转支付页面
                                              ↓
                                     用户完成支付
                                              ↓
                                     支付平台回调通知
                                              ↓
                                     验证签名 → 激活订阅 → 创建别名

方案落地

落地思路

  • 套餐配置存在套餐定义里,创建链接时读用户当前套餐来决定允许的最短别名长度。
  • 免费用户提交 3 位别名时,在创建前就被拦下并提示需要升级,不用走到写库才失败。
  • 订单先落库再拉起支付:先有订单号,支付回调才有地方可以对账。
  • 支付过程失败则订单停在未支付状态,不占用任何别名名额。

支付回调处理

这是最关键的部分——要确保回调的真实性:

落地思路

  • 回调先验签:平台用双方约定的密钥对回调参数做签名校验,验不过直接丢弃,不进入任何业务逻辑。
  • 验签通过后再核对金额和订单号:订单不存在、金额对不上、订单已处理过,都直接返回成功避免平台重复重试。
  • 只有校验全过才激活订阅并创建别名,处理动作放在一个事务里,避免出现「付了钱但别名没建」。
  • 回调可能重复到达,所以订阅激活必须幂等:重复回调不应该多发别名。

订阅管理 📋

用户取消订阅怎么办?

这是我当时最纠结的问题:

场景A:立即回收

  • 优点:节省资源
  • 缺点:用户体验差,已分享的链接会失效

场景B:保留到月底

  • 优点:用户友好
  • 缺点:浪费资源

我的方案:30天宽限期

落地思路

  • 用户取消后不立刻回收别名,而是把订阅标记为「已取消、宽限期内」,宽限期 30 天。
  • 宽限期内别名仍然可用、仍然计入点击统计,只是不再新增。
  • 宽限期结束且未续费,才把别名状态置为「已释放」,并把别名文本退回可用池。
  • 状态迁移是单向的:正常 → 已取消(宽限期)→ 已释放;续费可以在前两段把状态拉回正常。

数据库设计

数据设计要点

  • 核心是在 subscriptions 里保存业务事实,而不是把规则散落在应用逻辑里。
  • 关键字段包括 id、user_id、tier、tier_name、months、monthly_price、total_price、start_date,它们决定了后续查询和管理能力。

收入数据 📈

第一个月的惊喜

付费功能上线一个月后,我做了个统计:

落地思路

  • 口径先对齐:付费用户按「当月有生效订阅的去重用户数」算,收入按支付成功金额算。
  • 客单价 = 总收入 / 付费用户数;转化率 = 付费用户数 / 同期注册用户数。
  • 套餐分布要能对上人数和金额,两个数对不上说明统计口径有问题。
  • 这三个口径固定后,每个月的数据才可比较。

输出:

=== 2026年2月收入统计 ===

总付费用户:200
月收入:¥15000
客单价:¥75
付费转化率:2.0%

=== 套餐分布 ===
basic:150人,收入 ¥7800
pro:50人,收入 ¥7200

收入分析

让我把这个策略拆开分析:

落地思路

  • 先把毛收入拆成三段:支付总额、平台手续费、净收入,净额才是能拿去覆盖成本的数。
  • 再减掉服务器成本得到净利润,用利润率判断这套定价是不是健康的。
  • 客单价分布比总收入更能说明问题:看高价值用户的生命周期,才能判断续费能不能撑住 MRR。
  • 分析结论要落到下一步动作,比如哪些套餐需要调整,而不是停在数字上。

输出:

=== 2026年2月收入分析 ===

新订阅数:200
总收入:¥15000.00
支付手续费:¥90.00
净收入:¥14910.00
服务器成本:¥5000
净利润:¥9910.00
利润率:66.1%

=== 套餐分布 ===
basic:150人,收入 ¥7800.00
pro:50人,收入 ¥7200.00

当前MRR:¥18000.00

=== 高价值用户TOP5 ===
用户1024:累计消费 ¥1188.00,生命周期 12个月
用户2048:累计消费 ¥594.00,生命周期 6个月
用户3072:累计消费 ¥594.00,生命周期 6个月
用户4096:累计消费 ¥351.00,生命周期 3个月
用户5120:累计消费 ¥351.00,生命周期 3个月

关键发现:

  1. 首次盈利!净利润 ¥9910,终于覆盖了服务器成本
  2. 专业版用户ARPU更高:虽然人数少,但贡献了48%的收入
  3. MRR持续增长:当前MRR ¥18000 > 2月收入 ¥15000,说明续费情况良好
  4. 高价值用户明显:TOP5用户贡献了20%的收入

本节小结 📝

商业模式验证

指标目标实际状态
付费转化率1%2.0%✅ 超预期
月收入¥10000¥15000✅ 超预期
客单价¥50¥75✅ 超预期
利润率50%66%✅ 超预期

结论: 付费模式跑通了!

经验总结

  1. 定价策略

    • 免费版建立用户基础
    • 基础版满足轻度需求
    • 专业版捕获高价值用户
  2. 支付体验

    • 支付宝+微信双通道
    • 回调验证确保安全
    • 30天宽限期提升体验
  3. 数据驱动

    • MRR监控长期趋势
    • LTV识别高价值用户
    • 转化漏斗优化定价

下一步计划

赚钱了,但也有了新问题——

老链接堆积如山,需要管理……


练习题

练习1:防止退款滥用

如何防止用户通过退款来”免费试用”付费别名?

参考答案

落地思路

  • 退款不是「把别名收回来」,而是把「免费用过的额度」算清:退款要同时回收已发放的别名名额。
  • 判定依据要落到可查的量上:使用量超过阈值才触发部分退款,试用期内才允许全退。
  • 退款后把用户标记进冷静期,冷静期内不能再购买同类套餐。
  • 退款记录要留痕,并影响后续的信誉分与人工审核优先级。

策略总结:

  1. 时间限制:7天试用期内可退款
  2. 使用量限制:超过100次点击,部分退款
  3. 信誉机制:退款影响信誉分数
  4. 购买限制:退款用户30天内不能购买

练习2:提升付费转化率

当前转化率2%,如何提升到5%?

参考答案

落地思路

  • 提升转化率的抓手有三个:降低首次付费的决策成本、缩短用户看到价值到付费的时间、提高付费页面的说服力。
  • 每一条都要落到可执行的改动上:试用策略、付费页文案、老用户触达时机。
  • 衡量方式是看同期的付费转化率和留存,而不是只看收入涨没涨。
  • 前提是这些改动不能损害免费用户——免费版是转化的漏斗入口。

优化策略:

  1. 免费试用:降低决策门槛
  2. 限时折扣:制造紧迫感
  3. 功能限制:提升免费版痛点
  4. 智能推荐:个性化触达
  5. 社交证明:建立信任

(下一节:链接管理)

发现内容有问题?

告诉我们哪里需要改进。