SuperAPI AI 工具集

paddle-customer-portal

前端与建站

查看项目

更新于 10-16 03:14

技能介绍

用途:当希望由 Paddle 托管客户自助界面(查看发票、更新支付方式、取消订阅)时,用本技能从应用内的“管理订阅”按钮生成门户会话 URL 并跳转。

主要能力:在 Next.js 15 App Router 的 Server Action 中先校验用户身份,再通过邮箱桥接从 customers 表查出该用户的 Paddle customer_id,调用 paddle.customerPortalSessions.create(customerId, subscriptionIds) 生成会话,返回 session.urls.general.overview 作为跳转地址;传入订阅 ID 时还可获得每个订阅的深链(cancelSubscription、updateSubscriptionPaymentMethod)。

使用方式:需要服务端 PADDLE_API_KEY、由 webhook 同步的 customers 表、可选 subscriptions 表以及会话式认证系统。示例使用 Supabase,但任意会话认证均可。会话 URL 一次性且有时效,每次点击都应重新生成,不可缓存或复用;无活跃订阅时传空数组仍可用。

安全要点:先认证再查询或调用 SDK;customerId 必须来自服务端认证会话而非客户端输入;只返回 URL,不返回完整会话对象。

限制与注意:未完成结账的新用户没有 Paddle customer_id,需显式处理并提示先订阅;若取消流程需要挽留步骤或需要完全品牌控制,应改用自定义账单界面而非门户。验证方式包括登录后点击按钮应返回 URL、登出应返回未认证错误且不调用 SDK、每次 URL 应不同。