@basis-theory/3ds-web

中文文档
1.8.0发布于 2025/02/06Apache-2.0TypeScriptESM + CJS零依赖近 30 天下载 3215
中文使用文档
文档目录9 节
  1. 概览
  2. 方法
  3. createSession
  4. startChallenge
  5. 用法实例
  6. 创建 3DS 会话
  7. 开始挑战
  8. 配置选项
  9. 挑战请求

3DS 网络

[叹息] 这个SDK已经贬值了.

我们的新SDK可以在 https://github.com/Basis-Theory/web-teads 互联网档案馆的存檔,存档日期2013-12-22

更多信息请查看我们的文献网站. https://developers.basistheory.com/docs/sdks/web/3ds (中文(简体) )

概览

3DS-Web SDK是一个JavaScript/TypeScript库,旨在简化网络应用程序中3DS(3D Security)认证程序的实施. 它为处理3DS进程的会话创建和质疑步骤提供了简化的界面.

3DS-Web SDK主要暴露出两种方法: createSession 财务报告和审定财务报表 startChallenge这些方法有助于启动和处理3DS会议和挑战.

方法

createSession

createSession({ pan }: Create3dsSessionRequest): Promise<Create3dsSessionResponse>

这种方法启动一个3DS会话,用提供的 PAN(Prime Account Number)向服务器提出请求. 它返回一个解析 Creat3dsSessionResponse 对象的保证,其中包含会话细节 .

startChallenge

startChallenge(options: ThreeDSChallengeRequest): Promise<void>

这种方法通过向ACS(Access Control Server)提出附带必要参数的请求开始3DS挑战. 它处理挑战过程并回报一个承诺.

用法实例

创建 3DS 会话

import { BasisTheory3ds } from '3ds-web';

const apiKey = 'your_api_key';
const { createSession } = BasisTheory3ds(apiKey);

const session = await createSession({
  pan: '<BASIS_THEORY_TOKEN_ID>',
});

开始挑战

import { BasisTheory3ds } from '3ds-web';

const apiKey = 'your_api_key';
const { startChallenge } = BasisTheory3ds(apiKey);

await startChallenge({
  sessionId: 'session_id',
  acsTransactionId: 'acs_transaction_id',
  acsChallengeUrl: 'acs_challenge_url',
  threeDSVersion: '2.2.0',
  windowSize: '05', // Optional, defaults to 'THREE'
});

配置选项

挑战请求

challengeContainerOptions 允许您自定义 id 3DS 挑战容器的属性,这样您就可以使用 CSS 设定目标并应用样式。 它可以使3DS挑战界面在您的应用的布局中精确定位.

const { startChallenge } = BasisTheory3ds(apiKey, {
  challengeConfigurationOptions: {
    id: 'customId',
  },
});

版本与发布记录

@basis-theory/3ds-web 共发布 34 个版本,首次发布于 2024/02/15;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.8.0latest2025/02/061.7 年前
1.6.12025/02/011.8 年前
1.6.02025/01/091.8 年前
1.5.02024/12/241.9 年前
1.4.12024/12/101.9 年前
1.3.02024/10/222 年前

其他发布通道:master → 1.0.2。

关于 @basis-theory/3ds-web 的常见问题

@basis-theory/3ds-web 是什么?

[! ] 此 SDK 已贬值。 > > 我们的新SDK可以在 https://github.com/Basis-Theory/web-teads 互联网档案馆的存檔,存档日期2013-12-22 > 更多信息见我们的文献网站. https://developers.basistheory.com/docs/sdks/web/3ds (中文(简体) )

如何安装 @basis-theory/3ds-web?

在项目目录运行 npm install @basis-theory/3ds-web,或使用 pnpm add / yarn add / bun add。

@basis-theory/3ds-web 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@basis-theory/3ds-web 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@basis-theory/3ds-web 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18.x。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@basis-theory/3ds-web 可以商用吗?

@basis-theory/3ds-web 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@basis-theory/3ds-web 的下载量有多少?

根据 npm 官方下载统计,@basis-theory/3ds-web 在 2026/10/08 – 2026/11/06 这 30 天内被下载 3,215 次,日均约 107 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@basis-theory/3ds-web 还在维护吗?

最新版本 1.8.0 发布于 2025/02/06(1.7 年前);至今共发布 34 个版本,其中过去 12 个月发布了 0 个;首次发布于 2024/02/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。