SuperAPI AI 工具集

paddle-subscription-update

前端与建站

查看项目

更新于 10-16 03:14

技能介绍

用途:在已登录用户的账单界面实现“升级套餐”“切换档位”“变更订阅”等操作,属于订阅变更的发起端。变更后 Paddle 会发送 subscription.updated 事件,需配合 subscription-sync 更新数据库镜像;鉴权与归属校验逻辑可与 subscription-cancel 共用。

主要能力:调用 paddle.subscriptions.update() 修改订阅计划;支持五种 prorationBillingMode(prorated_immediately、prorated_next_billing_period、full_immediately、full_next_billing_period、do_not_bill),无默认值必须显式传入;items 字段为整体替换而非追加;可用 subscriptions.previewUpdate 预览按比例费用、新周期价格与下次扣费时间;通过 onPaymentFailure 控制支付失败时是否仍应用变更(默认 prevent_change,可选 apply_change)。

使用方式:需服务端 PADDLE_API_KEY、至少两个可切换价格、由 webhook 同步的客户与订阅状态、鉴权系统(示例用 Supabase)。Server Action 中先校验会话,再通过邮箱桥接确认订阅归属,然后调用 update,最后 revalidatePath 刷新缓存并返回精简 DTO。示例命令与环境变量:NEXT_PUBLIC_PADDLE_ENV=sandbox、PADDLE_API_KEY=pdl_sdbx_apikey_...。

适用场景:档位升级用 prorated_immediately;档位降级与缩短周期用 prorated_next_billing_period;延长周期用 prorated_immediately;客服代操作可用 apply_change。

限制:订阅内所有 items 必须同一计费周期,混合周期会被 API 拒绝;非简单变更应先预览再确认;返回 success 仅代表请求被接受,不代表扣款成功,需等 transaction.completed;不要返回原始 Subscription 对象。资料未提供具体价格、收费与平台支持范围。