跳转到主要内容
Dodo Payments 提供官方框架适配器,简化支付集成。每个适配器都旨在与您的框架约定无缝协作,提供结账、客户门户和 webhook 处理功能。
框架适配器让您在不到 10 行代码的情况下集成 Dodo Payments。它们自动处理身份验证、请求解析和响应格式化。

可用框架适配器

选择与您的框架匹配的适配器:

核心功能

所有框架适配器都提供以下内置功能:
特性描述
结账处理程序支持静态、动态和基于会话的结账流程
客户门户预构建的订阅和账单管理处理程序
Webhook 处理程序使用类型化事件处理程序进行安全签名验证
环境配置通过环境变量简单设置
类型安全完全支持 TypeScript,具有类型化有效负载

快速开始

在三步中开始使用任何框架适配器:
1

安装适配器

使用您的包管理器安装特定于框架的适配器:
npm install @dodopayments/nextjs
2

配置环境变量

将您的 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"
切勿将您的 .env 文件或机密提交到版本控制。
3

创建路由处理程序

设置您的结账、客户门户和 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,
});
您现在可以处理支付了!访问各个适配器页面以获取详细指南和所有可用选项。

结账流程类型

所有适配器支持三种结账流程类型:
使用静态结账创建简单、可分享的支付链接。将产品 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
ExpressREST API 和传统 Node.js 应用Node.js
Fastify高性能 APINode.js
Hono边缘部署,Cloudflare WorkersEdge, Node.js
Astro具有服务器端点的内容网站Node.js, Edge
SvelteKit全栈 Svelte 应用Node.js
Remix具有嵌套路由的全栈 ReactNode.js
TanStack Start类型安全的全栈 ReactNode.js
Better Auth已经使用 Better Auth 的应用各种
Convex使用 Convex 作为后端的应用Convex Runtime

获取帮助

需要有关框架适配器的帮助吗?