新功能
1. Analytics v3 — 全面重构的仪表板
我们从头开始全面重构了 analytics。现在,您的仪表板由全新的实时数据引擎(Analytics v3)提供支持,将所有重要指标集中在一个位置。
- 实时收入 — 按小时查看今天不断产生的收入。
- 单击比较 — 只需单击一次,即可将任意指标与上一个周期(例如上个月)进行比较。
- 按国家/地区查看收入 — 准确了解您的收入来自哪些国家/地区。
- Payments 健康状况 — 在一个视图中跟踪失败的付款、退款和恢复情况。
- 订阅洞察 — 内置留存 cohort、MRR 和流失跟踪。
- 可自定义布局。 拖动小组件并选择要显示的指标 — 按您喜欢的方式使用您的仪表板。布局会自动保存。
- 可分享的图表卡片。 在任意指标上单击 Share,选择颜色主题,添加您的 logo,然后下载一张可直接发布的图片 — 非常适合投资者动态或团队报告,无需使用设计工具。
2. 订阅和 Checkout 的付费试用
试用不再必须免费。现在,您可以在订阅产品的 recurring price 上收取试用金额,让客户在试用期内先支付一笔优惠的预付费用,并在首次续订时开始支付全额价格。
- 在 recurring price 上同时设置
trial_amount和trial_period_days— 付费试用要求试用期为正数。 - 选择 checkout 折扣是否适用于试用费用(
trial_apply_discounts),这样付费试用金额可以单独享受折扣或按全额收取,而不受 recurring price 影响。 - 付费试用同样会经过 checkout:试用金额会计税,并显示在 checkout-session 计算和 payment-link 定价中,同时按货币应用 Adaptive Currency 加价。
0,并在试用期结束时收取。
了解更多:订阅 | Checkout Session
3. 防止订阅试用滥用
新的可选加入设置 Prevent Trial Misuse 可阻止客户为同一企业反复领取试用。启用后,已兑换过试用的客户(通过标准化 email 匹配,并移除 plus 别名)会自动降级为付费且无试用的购买,而不是获得新的试用。
4. Payout Accounts
现在,您可以在仪表板中管理多个收款银行账户,不再局限于单个固定账户。您可以按货币和转账方式添加账户、保存草稿、重新提交处于暂停状态的账户,并直接查看当前使用的账户以及暂停或失败原因。
- 第一个获批的账户会自动激活;处于暂停或失败状态的账户会在页面中直接显示原因,并提供重新提交操作。
- 商业入驻期间的银行验证现在也采用相同的 payout-accounts 流程,提供统一一致的体验。
5. 任意可收费货币的产品和附加项定价
现在,产品和附加项的基础价格可以使用 Dodo Payments 支持收费的任意货币设置,而不再仅限于 USD。定价表单包含带国家/地区旗帜的可搜索货币选择器,其中最常用的货币 — USD、GBP、EUR 和 INR — 会固定显示在下拉菜单顶部。 对于所有非基础货币的客户,系统仍会通过 Adaptive Currency 进行计费;但现在,您可以自由选择最适合您市场的货币来设置价格。 了解更多:产品 | 附加项 | Adaptive Currency6. 新 Webhook:subscription.update_payment_method
每当订阅的付款方式发生变化时,新的 subscription.update_payment_method webhook 事件就会触发 — 例如,客户切换到其他已保存的卡片时。该事件携带 Subscription payload,因此您无需轮询即可保持记录同步。
该事件为新增事件,会自动显示在现有 webhook endpoints 上。
了解更多:Webhook 事件
7. 移动应用中的原生社交登录
Dodo Payments 移动应用现在支持原生社交登录 — 通过设备安全的系统 auth session 使用 Google 或 GitHub 登录,无需输入 email 和密码。OAuth exchange 使用与每次请求 state nonce 绑定的 PKCE (S256),因此登录速度更快,并且能够增强防范代码注入和 CSRF 的能力。桌面应用也支持相同流程。改进与错误修复
8. Checkout Session Preview 中的 next_billing_date
现在,当购物车包含订阅产品时,checkout session preview 会返回一个 next_billing_date,让您可以在创建订阅前显示即将到来的计费日期。该日期根据当前时间计算(试用适用时为 now + trial period,否则为 now + one payment frequency),仅包含一次性商品的购物车不会返回该字段。
了解更多:预览 Checkout Sessions | Preview Checkout
9. 按 cancel_at_next_billing_date 筛选订阅
现在,GET /subscriptions 接受 cancel_at_next_billing_date 筛选条件,因此您可以仅列出计划在当前周期结束时取消的订阅(或将其排除)。
了解更多:列出订阅
10. 将 Checkout 设计从测试模式复制到正式模式
现在,您可以一步将自定义 checkout 设计从测试模式复制到正式模式,覆盖所有设计界面和 storefront 品牌设置 — 上线时无需再手动重新创建主题。 了解更多:Storefront11. 按模式区分的产品草稿
现在,产品创建会为测试模式和正式模式分别保存草稿,并提供 Clear Draft 选项,因此某一模式中正在编辑的产品不会再影响另一模式。产品和集合表单页面还新增了标题操作按钮,可更快速地保存。 了解更多:产品12. 所有 List API 字段均可作为表格列选择
仪表板表格现在将底层 list API 返回的每个字段都作为可选列提供,并配备可滚动的列可见性菜单和人性化标签 — 无需打开每条记录,即可准确显示您需要的数据。13. 仪表板与 Checkout 全面的键盘无障碍支持
我们对 dashboard、checkout 和 checkout SDK 进行了全面的无障碍改进:统一的键盘访问和焦点可见性、为图标控件和输入框提供无障碍名称,以及在表单控件、复选框、单选按钮、开关、选项卡和按钮上采用统一的焦点/错误约定。其他修复与改进
- 修复 checkout 崩溃问题:该问题由浏览器内页面翻译(例如 Google Translate)触发,可能会移除 React 仍在管理的 DOM 节点。
- 改进 checkout 中的地址自动填充:基于 Google Places API (New) 重建,使下拉菜单选择在失去焦点、键盘收起和重新定位后仍能保留。
- 修复平台各处的小问题并提升稳定性。