Dodo Payments 提供官方框架适配器,简化支付集成。每个适配器都旨在与您的框架约定无缝协作,提供结账、客户门户和 webhook 处理功能。
框架适配器让您在不到 10 行代码的情况下集成 Dodo Payments。它们自动处理身份验证、请求解析和响应格式化。
可用框架适配器
选择与您的框架匹配的适配器:
核心功能
所有框架适配器都提供以下内置功能:
特性 描述 结账处理程序 支持静态、动态和基于会话的结账流程 客户门户 预构建的订阅和账单管理处理程序 Webhook 处理程序 使用类型化事件处理程序进行安全签名验证 环境配置 通过环境变量简单设置 类型安全 完全支持 TypeScript,具有类型化有效负载
快速开始
在三步中开始使用任何框架适配器:
安装适配器
使用您的包管理器安装特定于框架的适配器: Next.js
Nuxt
Express
Hono
Astro
SvelteKit
npm install @dodopayments/nextjs
npm install @dodopayments/nuxt
npm install @dodopayments/express
npm install @dodopayments/hono
npm install @dodopayments/astro
npm install @dodopayments/sveltekit
配置环境变量
将您的 Dodo Payments 凭据添加到您的环境: DODO_PAYMENTS_API_KEY=your-api-key
DODO_PAYMENTS_WEBHOOK_KEY=your-webhook-secret
DODO_PAYMENTS_RETURN_URL=https://yourdomain.com/checkout/success
DODO_PAYMENTS_ENVIRONMENT="test_mode" # or "live_mode"
创建路由处理程序
设置您的结账、客户门户和 webhook 路由: // app/checkout/route.ts
import { Checkout } from "@dodopayments/nextjs" ;
export const GET = Checkout ({
bearerToken: process . env . DODO_PAYMENTS_API_KEY ,
returnUrl: process . env . DODO_PAYMENTS_RETURN_URL ,
environment: process . env . DODO_PAYMENTS_ENVIRONMENT ,
});
import { checkoutHandler } from '@dodopayments/express' ;
app . get ( '/api/checkout' , checkoutHandler ({
bearerToken: process . env . DODO_PAYMENTS_API_KEY ,
returnUrl: process . env . DODO_PAYMENTS_RETURN_URL ,
environment: process . env . DODO_PAYMENTS_ENVIRONMENT ,
}));
import { Checkout } from "@dodopayments/hono" ;
app . get ( '/checkout' , Checkout ({
bearerToken: process . env . DODO_PAYMENTS_API_KEY ,
returnUrl: process . env . DODO_PAYMENTS_RETURN_URL ,
environment: process . env . DODO_PAYMENTS_ENVIRONMENT ,
}));
您现在可以处理支付了!访问各个适配器页面以获取详细指南和所有可用选项。
结账流程类型
所有适配器支持三种结账流程类型:
使用静态结账创建简单、可分享的支付链接。将产品 ID 作为查询参数传递: /api/checkout?productId=pdt_xxx&quantity=1
支持通过查询参数进行可选的客户预填充和自定义。
使用动态结账以编程方式创建具有自定义详细信息的支付: {
"product_id" : "pdt_xxx" ,
"customer" : {
"email" : "customer@example.com" ,
"name" : "John Doe"
},
"quantity" : 1
}
支持一次性支付和订阅。
使用结账会话获得最灵活的结账体验,支持购物车: {
"product_cart" : [
{ "product_id" : "pdt_xxx" , "quantity" : 1 },
{ "product_id" : "pdt_yyy" , "quantity" : 2 }
],
"customer" : {
"email" : "customer@example.com"
}
}
在 结账会话指南 中了解更多信息。
Webhook 事件处理
所有适配器提供类型安全的 webhook 处理,具有细粒度的事件回调:
Webhooks ({
webhookKey: process . env . DODO_PAYMENTS_WEBHOOK_KEY ,
onPayload : async ( payload ) => {
// Handle any webhook event
},
onPaymentSucceeded : async ( payload ) => {
// Handle successful payments
},
onSubscriptionActive : async ( payload ) => {
// Handle new subscriptions
},
// ... 20+ event types supported
});
所有 webhook 处理程序自动验证签名并使用 Zod 模式验证有效负载。无效请求将被拒绝并返回适当的错误代码。
选择合适的适配器
框架 最适合 运行时 Next.js 具有 App Router 的全栈 React 应用 Node.js, Edge Nuxt 全栈 Vue.js 应用 Node.js Express REST API 和传统 Node.js 应用 Node.js Fastify 高性能 API Node.js Hono 边缘部署,Cloudflare Workers Edge, Node.js Astro 具有服务器端点的内容网站 Node.js, Edge SvelteKit 全栈 Svelte 应用 Node.js Remix 具有嵌套路由的全栈 React Node.js TanStack Start 类型安全的全栈 React Node.js Better Auth 已经使用 Better Auth 的应用 各种 Convex 使用 Convex 作为后端的应用 Convex Runtime
获取帮助
需要有关框架适配器的帮助吗?