用途:该技能用于在应用中集成 Dodo Payments 的支付结账流程,覆盖一次性付款与订阅(含试用)场景,推荐使用服务端 SDK 调用 client.checkoutSessions.create(...) 生成托管结账页或覆盖层结账弹窗。
主要能力:支持三种收款方式——Checkout Sessions(推荐,服务端 SDK 调用)、静态支付链接(无需代码,仪表盘或直接 URL)、覆盖层/内联结账(客户端 SDK,结账停留在自有站点)。可配置多产品购物车、已有客户、账单地址与税号、折扣码(最多 20 个,有序)、订阅试用期、自定义字段(下拉/文本等)以及 metadata。金额以最小货币单位表示,例如 10 美元为 1000。
使用方式:服务端创建会话后返回 checkout_url 供跳转;return_url 接收 status=success 与 session_id 查询参数。覆盖层结账需安装 dodopayments-checkout(npm install dodopayments-checkout),由服务端创建会话、浏览器端发起。资料给出 Next.js App Router、Express.js、Python FastAPI 示例,以及 webhook 验证示例(payment.succeeded、subscription.active)。
限制与注意:浏览器重定向不是权益来源,必须通过 webhook 验证后再授予访问权限;Checkout Session 24 小时过期,confirm=true 时 15 分钟过期;confirm 模式下返回 client_secret、publishable_key、payment_id,其中 publishable_key 是每会话值,并非 Stripe 式公开 API 密钥,所有 API 密钥均为服务端保密。通过 POST /payments 或 POST /subscriptions 创建的动态支付链接已弃用,应改用 Checkout Sessions。其他细节资料暂未提供。