- 无需管理多个产品即可实现可变定价
- 由客户决定价格,让买家自行选择金额
- 通过 API 设置金额,以编程方式控制价格
- 适用于数字产品、捐赠或实验性发布的灵活定价模式
前提条件
- 在控制面板中启用了 Pay What You Want 的一次性付款产品
- 产品 ID(例如
pdt_123abc456def) - 从 Developer → API Keys 获取的 API 密钥
在产品上启用 Pay What You Want
在 Dodo Payments 控制面板中:1
Go to Products
前往 Products,然后选择要配置的一次性付款产品。
2
Enable Pay What You Want
在 Pricing 部分开启 Pay What You Want。
3
Set the minimum price
输入客户必须支付的 Minimum Price。此项为必填项。
4
Set a suggested price (optional)
您可以选择设置 Suggested Price 以引导客户。系统没有最高价格设置。若要限制收费金额,请在创建会话前通过您自己的代码强制执行上限。
5
Save
点击 Update Product,并记下产品 ID,以便在结账会话中使用。
使用固定金额创建结账会话
当您在产品购物车中传递amount 时,只要该金额不低于产品的最低价格,结账就会使用该确切金额作为单价。
amount 字段使用货币的最小单位:USD 使用美分,GBP 使用便士,EUR 使用欧分。例如,1500 = $15.00 或 €15.00。
对于未启用 Pay What You Want 的产品,
amount 字段会被忽略。该字段仅适用于一次性付款。让客户自行选择价格
省略amount 字段,即可在结账页面显示价格输入框。客户可以输入不低于产品最低价格的任意金额。
使用动态金额的支付链接
Pay What You Want 产品的静态支付链接接受paymentAmount 查询参数,用于固定收取的金额。与 Checkout Sessions API 不同,该参数使用主要货币单位(例如,12.5 表示 $12.50)。
常见模式
按客户群体分层定价
使用同一个产品向不同类型的客户收取不同金额:基于数量的定价
根据购买数量调整单价。amount 是单件价格,总价为 amount × quantity:
促销定价
应用限时定价:pricing_tier、discount_code、user_segment)。这有助于您分析定价模式和客户行为。
验证金额
在创建结账会话前,检查金额是否不低于产品的最低价格。maxAmount 是您自己的业务上限;Dodo Payments 没有最高价格设置。
故障排除
Amount is being ignored
Amount is being ignored
请确认:
- 产品已在控制面板中启用 Pay What You Want
- 产品是一次性付款产品,而不是订阅产品
- 金额格式正确(货币的最小单位:USD 使用美分,GBP 使用便士,EUR 使用欧分)
Amount is below the minimum price
Amount is below the minimum price
如果金额低于产品的最低价格,API 会拒绝该结账会话。请在创建会话前验证金额,或省略
amount 字段,让客户自行选择。Customer can't enter their own price
Customer can't enter their own price
如果未显示价格输入框,请确保已从产品购物车中省略
amount 字段。当提供 amount 时,结账会使用该确切金额。Checkout Sessions API
结账会话的完整 API 参考。
Checkout Sessions Guide
了解高级结账会话功能和自定义选项。
Pay What You Want Feature
详细了解 Pay What You Want 定价模式。