跳转到主要内容

概述

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 参数来自定义结账外观。主题配置支持浅色和深色模式,允许您自定义颜色、边框、文本、按钮和边框半径。
本节介绍使用结账 SDK 进行 客户端 主题配置。您还可以在通过 API 创建结账会话时使用 theme_config 参数进行 服务器端 配置。有关 API 级配置,请参阅 Checkout Theme Customization,或使用仪表板中的 Design page 可视化配置主题并进行实时预览。

基本主题配置

完整主题配置

所有可用主题属性:

仅浅色模式

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

仅深色模式

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

部分主题覆盖

您可以仅覆盖特定属性。结账将对未指定的属性使用默认值:

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

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

TypeScript 类型

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

错误处理

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

最佳实践

  1. 仅初始化一次:在应用程序加载时初始化 SDK,而不是每次尝试结账时
  2. 错误处理:始终在事件回调中实现正确的错误处理
  3. 测试模式:在开发过程中使用 test 模式,只有在准备好生产时才切换到 live
  4. 事件处理:处理所有相关事件以提供完整的用户体验
  5. 有效的 URL:始终使用来自创建结账会话 API 的有效结账 URL
  6. TypeScript:使用 TypeScript 提供更好的类型安全性和开发者体验
  7. 加载状态:在打开结账时显示加载状态以改善用户体验
  8. 计时器管理:如果您想手动处理会话过期,请禁用计时器 (showTimer: false)

故障排除

可能的原因:
  • 在调用 open() 之前未初始化 SDK
  • 无效的结账 URL
  • 控制台中的 JavaScript 错误
  • 网络连接问题
解决方案:
  • 验证 SDK 初始化是否在打开结账之前发生
  • 检查控制台错误
  • 确保结账 URL 有效且来自创建结账会话 API
  • 验证网络连接
可能的原因:
  • 事件处理程序未正确设置
  • JavaScript 错误阻止事件传播
  • SDK 未正确初始化
解决方案:
  • Initialize() 中确认事件处理程序配置正确
  • 检查浏览器控制台中的 JavaScript 错误
  • 验证 SDK 初始化是否成功完成
  • 首先测试一个简单的事件处理程序
可能的原因:
  • 与应用程序样式的 CSS 冲突
  • 主题设置应用不正确
  • 响应式设计问题
解决方案:
  • 在浏览器开发者工具中检查 CSS 冲突
  • 验证主题设置是否正确
  • 在不同屏幕尺寸上测试
  • 确保与覆盖没有 z-index 冲突

启用数字钱包

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

浏览器支持

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

Overlay 与 Inline Checkout 的比较

根据使用情况选择正确的结账类型:
使用 overlay checkout 可实现快速集成,对现有页面的更改最少。使用 inline checkout 时,您可以最大限度地控制结账体验和无缝品牌体验。

相关资源

Inline Checkout

将结账直接嵌入您的页面以实现完整的集成体验。

Checkout Sessions API

创建结账会话以支持您的结账体验。

Webhooks

使用 Webhooks 服务器端处理支付事件。

Integration Guide

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