产品是 Dodo Payments 的基础。无论您是销售一次性下载、定期订阅还是基于使用的访问,都可以通过创建产品开始。每个产品定义其定价、结账显示方式和购买后的履行方式。
One‑Time
一次性收费以获得终生访问或单个交付。
Subscriptions
通过试用、比例调整和附加组件进行定期账单。
Usage‑Based
根据实际使用量进行计量并收费。
创建产品
您可以通过仪表板或 API 创建产品。提前选择定价模型:一次性、订阅或基于使用,然后配置详细信息。定价模型不能在以后更改;如果需要不同的模型,请创建新产品。1
Name & description
提供一个明确的标题和简洁的价值导向描述。描述中支持 Markdown。

2
Pricing model & price
选择定价模型:
- 一次性:一次性付款的固定价格。
- 订阅:具有间隔和可选试用的定期价格。
- 基于使用:价格来自计量事件。
- 价格:基本金额和货币。
- 折扣 (%):在结账和发票中显示的可选内联折扣。
- 对于订阅,设置 每次重复(例如,1 个月或 1 年)和 试用天数(如果需要)。订阅价格必须至少为 $1(或您选择的货币的等值);低于此最小值的金额不受支持,订阅将不起作用。
3
Product media
上传图片以在结账和发票中展示产品。支持 PNG/JPG/WebP ,最大可达 3 MB。随时重新排序或更换。
4
Automated entitlements (Under Advanced Settings)
附加付款后的自动激活履行:
- 许可证密钥:发放和验证唯一密钥
- 文件下载:提供安全文件访问
- 自定义:通过 webhooks 触发您自己的授权逻辑
变体和定价选项
不要在一个产品下创建变体,而是为每个定价选项(例如,月度和年度)创建单独的产品。然后将它们分组到一个 产品集合 中,以便在结账时展示所有选项并允许在客户门户中切换计划。
为什么采用这种方法?
- 明确的定价模型:每个产品都有一个单一且明确定义的定价模型(一次性、订阅或基于使用)
- 可预测的API:更简单的集成,无需嵌套变体逻辑
- 更易于报告:无需变体聚合即可跟踪每个产品的收入和指标
- 灵活的结账:并排显示多个产品,让客户比较和选择
产品集合如何工作
- 创建产品:为每个计划设置单独产品(例如,启动月度、启动年度、专业月度、专业年度)
- 分组到一个集合中:将相关产品添加到产品集合中
- 统一结账:客户在一个结账中看到所有选项并选择他们的首选计划
- 计划切换:客户可以通过客户门户在同一集合中的产品之间升级或降级
Product Collections
将相关产品组合在一起,实现统一结账体验和无缝的升级/降级路径。
管理产品
您可以通过仪表板或编程方式通过 API 管理产品。API 提供对产品创建、更新、检索、图像上传和归档的全面控制。仪表板管理
- 更新:随时编辑名称、描述、图像、价格、字段和权益(定价模型不可变)。
- 归档:在不打扰现有客户的情况下隐藏产品以防止新购买。您可以稍后取消归档。
API 管理
以下说明允许您创建、更新、管理和检索产品,包括上传图像。Creating a Product
Creating a Product
产品可以是一次性商品或基于订阅的服务。要创建新产品,请向
POST 端点发送请求,提供名称、描述、价格、货币以及是否为循环产品等详细信息。对于循环产品,将 price 对象设置为循环价格(type: recurring_price),并指定 payment_frequency_interval 和 subscription_period_interval(Day、Week、Month 或 Year),以及它们相应的计数。Create Product API
在创建产品 API 文档中查看详细请求和响应结构。
Updating a Product
Updating a Product
要修改现有产品,请向
PATCH 端点发送请求。您可以更新名称、价格和描述等属性,同时保持其他详细信息不变。确保端点中的 product_id 与现有产品匹配。Update Product API
在更新产品 API 文档中查看详细请求和响应结构。
Retrieving Products
Retrieving Products
您可以使用
GET 请求检索存储在帐户中的产品列表。这样可以检索产品详细信息,包括活动和已归档产品。Retrieve Products API
在检索产品API文档中查看详细请求和响应结构。
Uploading Product Images
Uploading Product Images
您可以通过使用 API 提供的预签名 URL 将图像上传到 AWS S3 以将图像与产品关联。首先,从
/products/{product_id}/images 端点请求图像上传 URL,然后在 60 秒内使用提供的 URL 上传图像。一旦从 API 收到预签名 URL,使用 PUT 方法上传图像。这确保了对 AWS S3 的安全和临时访问以上传图像。支持上传到 S3 的库:- Node.js:
axios,node-fetch - Python:
requests,boto3 - Go:
net/http - PHP:
GuzzleHttp - Ruby:
rest-client
200 OK 状态,表示图像已成功存储。Upload Product Image API
在上传产品图像 API 文档中查看详细请求和响应结构。
Archiving a Product
Archiving a Product
如果您不再希望显示或使用产品,可以使用
DELETE 请求将其归档至 /products/{id} 端点。此操作隐藏产品,但不会永久删除。Archive Product API
在归档产品API文档中查看详细请求和响应结构。
Unarchiving a Product
Unarchiving a Product
如果需要恢复已归档的产品,请向
POST 端点发送请求。这将重新激活产品并使其再次可用。Unarchive Product API
在取消归档产品API文档中查看详细请求和响应结构。
Checkout & fulfillment
Checkout & fulfillment
从产品创建支付或订阅流程,并通过权益和 webhooks 自动履行。
Checkout Sessions
为一次性或订阅产品创建结账会话。
Payment Webhooks
对支付生命周期事件作出反应。
Subscription Webhooks
处理订阅创建、续订和取消事件。
最佳实践
- 以清晰为起点:为每种定价选项创建单独的产品(每月与每年)
- 明智地使用试用:将试用与入职相结合以推动激活
- 自动化履行:使用权益和 webhooks 即刻交付
- 使用元数据标记:存储您的系统 ID 以便对账
您已准备好创建产品并开始销售——一次性、定期或按使用计费。
相关
Product Analytics
跟踪每个产品的收入、客户、保留率、订阅者和 MRR。
Localized Pricing
为产品设置固定的每种货币或国家价格,而不是依赖实时汇率。