Skip to main content

概述

Dodo Payments Checkout SDK 提供了一种无缝的方式将我们的支付覆盖集成到您的 Web 应用程序中。它使用 TypeScript 和现代 Web 标准构建,提供了一个强大的解决方案,用于处理实时事件处理和可自定义主题的支付。
Overlay Checkout Cover Image

演示

Interactive Demo

通过我们的实时演示查看覆盖式结账的实际效果。

快速开始

只需几行代码即可开始使用 Dodo Payments Checkout SDK:
创建结账会话 API 获取结账 URL。

分步集成指南

1

Install the SDK

使用您喜欢的包管理器安装 Dodo Payments Checkout SDK:
2

Initialize the SDK

在您的应用程序中初始化 SDK,通常在您的主组件或应用程序入口点:
在尝试打开结账之前务必初始化 SDK。初始化应在应用加载时只执行一次。
3

Create a Checkout Button Component

创建一个打开结账覆盖的组件:
4

Add Checkout to Your Page

在您的应用程序中使用结账按钮组件:
5

Handle Success and Failure Pages

创建页面以处理结账重定向:
6

Test Your Integration

  1. 启动您的开发服务器:
  1. 测试结账流程:
    • 点击结账按钮
    • 验证覆盖是否出现
    • 使用测试凭据测试支付流程
    • 确认重定向正常工作
你应该在浏览器控制台看到结账事件的日志。
7

Go Live

当您准备好进行生产时:
  1. 将模式更改为 'live':
  1. 更新您的结账 URL,以使用来自后端的实时结账会话
  2. 在生产环境中测试完整流程
  3. 监控事件和错误

API 参考

配置

初始化选项

结账选项

方法

打开结账

使用指定的结账会话 URL 打开结账覆盖。
您还可以传递其他选项以自定义结账行为:

关闭结账

以编程方式关闭结账覆盖。

检查状态

返回结账覆盖当前是否打开。

事件

SDK 提供实时事件,您可以通过 onEvent 回调监听:

实施选项

包管理器安装

分步集成指南 所示,通过 npm、yarn 或 pnpm 安装。

CDN 实施

对于无需构建步骤的快速集成,您可以使用我们的 CDN:

主题定制

您可以通过在打开结账时传递一个 themeConfig 对象到 options 参数来自定义结账外观。主题配置支持浅色和深色模式,允许您自定义颜色、边框、文本、按钮和边框半径。
客户端 themeConfig 选项已弃用,并将在 Checkout SDK 的下一个主要版本(v2.0.0)中移除。传入该选项会在浏览器控制台中记录弃用警告。请改为通过 API 创建 checkout session 时使用 customization.theme_config 参数配置主题 — 请参阅 Checkout Theme Customization — 或在 dashboard 的 Design page 中进行可视化配置。通过 session 配置的主题同样适用于 overlay、inline 和 hosted checkout。
本节介绍使用 Checkout SDK 进行已弃用的客户端主题配置。推荐的方法是在通过 API 创建 checkout session 时,使用 theme_config 参数在服务端配置主题。有关 API 级别的配置,请参阅 Checkout Theme Customization,或在 dashboard 中使用 Design page 通过实时预览以可视化方式配置主题。

基本主题配置

完整主题配置

所有可用的主题属性:

仅浅色模式

如果只想自定义浅色主题:

仅深色模式

如果只想自定义深色主题:

部分主题覆盖

你可以只覆盖特定属性。对于未指定的属性,checkout 将使用默认值:

与其他选项结合的主题配置

你可以将主题配置与其他 checkout 选项结合使用:

TypeScript 类型

对于 TypeScript 用户,所有主题配置类型都会导出:

错误处理

SDK 通过事件系统提供详细的错误信息。请务必在 onEvent 回调中实现适当的错误处理:
发生错误时,请务必处理 checkout.error 事件,以提供良好的用户体验。

最佳实践

  1. 只初始化一次:在应用加载时初始化 SDK 一次,而不是在每次 checkout 尝试时初始化
  2. 错误处理:始终在事件回调中实现适当的错误处理
  3. 测试模式:在开发期间使用 test 模式,只有在准备好上线时才切换到 live
  4. 事件处理:处理所有相关事件,以提供完整的用户体验
  5. 有效 URL:始终使用来自 create checkout session API 的有效 checkout URL
  6. TypeScript:使用 TypeScript 以获得更好的类型安全性和开发体验
  7. 加载状态:在 checkout 打开期间显示加载状态,以改善 UX
  8. 计时器管理:如果希望手动处理 session 过期,请禁用计时器(showTimer: false

故障排除

可能原因:
  • 在调用 open() 前未初始化 SDK
  • checkout URL 无效
  • 控制台中存在 JavaScript 错误
  • 网络连接问题
解决方案:
  • 确认在打开 checkout 前已完成 SDK 初始化
  • 检查控制台错误
  • 确保 checkout URL 有效,并且来自 create checkout session API
  • 验证网络连接
可能原因:
  • 未正确设置事件处理程序
  • JavaScript 错误阻止了事件传播
  • SDK 未正确初始化
解决方案:
  • 确认已在 Initialize() 中正确配置事件处理程序
  • 检查浏览器控制台中的 JavaScript 错误
  • 验证 SDK 初始化已成功完成
  • 先使用简单的事件处理程序进行测试
可能原因:
  • CSS 与应用样式发生冲突
  • 主题设置未正确应用
  • 响应式设计问题
解决方案:
  • 在浏览器 DevTools 中检查 CSS 冲突
  • 验证主题设置是否正确
  • 在不同屏幕尺寸下进行测试
  • 确保 overlay 不存在 z-index 冲突

启用数字钱包

有关设置 Google Pay 和其他数字钱包的详细信息,请参阅 Digital Wallets 页面。
overlay checkout 目前尚不支持 Apple Pay。Apple Pay 支持即将推出。

浏览器支持

Dodo Payments Checkout SDK 支持以下浏览器:
  • Chrome(最新版本)
  • Firefox(最新版本)
  • Safari(最新版本)
  • Edge(最新版本)
  • IE11+

Overlay 与 Inline Checkout

根据你的使用场景选择合适的 checkout 类型:
如果希望以最少改动快速集成到现有页面,请使用 overlay checkout。如果希望最大限度地控制 checkout 体验并实现无缝品牌展示,请使用 inline checkout

相关资源

Inline Checkout

将 checkout 直接嵌入页面,实现完全集成的体验。

Checkout Sessions API

创建 checkout sessions,为 checkout 体验提供支持。

Webhooks

使用 webhooks 在服务端处理 payment events。

Integration Guide

Dodo Payments 集成完整指南。
如需更多帮助,请访问我们的 Discord community,或联系我们的开发者支持团队。
最后修改于 2026年7月31日