# @depay/web3-payments 中文文档

规范地址：https://npmcn.com/package/%40depay/web3-payments/

版本：15\.3\.3
npm 元数据更新时间：2025-09-18T07:29:50.321Z
中文译文更新时间：2026-11-12T00:13:42.130Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40depay/web3-payments
原文对照：https://npmcn.com/package/%40depay/web3-payments/?lang=original
项目主页：https://depay.com/
源码仓库：https://github.com/DePayFi/web3-payments

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：4.3 MB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：0 个
- peer 依赖：@depay/solana-web3\.js ^1\.98\.0，@depay/web3-blockchains ^9\.8\.8，@depay/web3-client ^11\.1\.9，@depay/web3-exchanges ^15\.6\.3，@depay/web3-tokens ^11\.1\.0，decimal\.js ^10\.4\.3，ethers ^5\.7\.1
- 首次发布：2021-11-28T05:43:14.751Z
- 最新版本发布：2025-09-18T07:29:50.102Z
- 近 30 天下载量：4018（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：122（近 12 个月 0 个）

## 中文简介

JavaScript库可以扫描可液化资产的加密钱包,并在链上执行成本效益高,自动转换的支付.

## 安装

```sh
npm install @depay/web3-payments
```

也可以使用：`pnpm add @depay/web3-payments`、`yarn add @depay/web3-payments`、`bun add @depay/web3-payments`

## README

## 快速启动

```
yarn add @depay/web3-payments
```

或者说

```
npm install --save @depay/web3-payments
```

确保您也安装所有所需的依赖 :

```
yarn add @depay/web3-constants @depay/web3-exchanges @depay/web3-tokens ethers decimal.js
```

或者如果你使用 npm

```
npm i @depay/web3-constants @depay/web3-exchanges @depay/web3-tokens ethers decimal.js
```

```javascript
import { route } from '@depay/web3-payments'

let paymentRoutes = await route({
  accept: [
    {
      blockchain: 'ethereum',
      token: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
      amount: 20,
      receiver: '0xb0252f13850a4823706607524de0b146820F2240'
    },{
      blockchain: 'solana',
      token: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
      amount: 20,
      receiver: '3Hrw6AsNyJAp71Nkgo4tzJwvGM47DzqMdAtf8ojptkXk'
    }
  ],
  from: {
    ethereum: '0x317D875cA3B9f8d14f960486C0d1D1913be74e90',
    solana: '2UgCJaHU5y8NC4uWQcZYeV9a5RyYLF7iKYCybCsdFFD1'
  }
})
```

## 支助

此库支持以下块链 :

-   [以利亚](https://ethereum.org/)
-   [BNB 智能链](https://www.binance.org/smartChain)
-   [多边形](https://polygon.technology/)
-   [索拉纳](https://solana.com/)
-   [坐标](https://arbitrum.io/)
-   [雪崩](https://www.avax.network/)
-   [肠道](https://gnosis.io/)
-   [乐观主义](https://www.optimism.io/)
-   [基础](https://base.org/)
-   [世界链](https://worldcoin.org/world-chain)

## 平台专用包装

如果你想只使用和包装特定平台,请使用特定平台的软件包:

### EVM(Ethereum虚拟机)平台特定包装

```javascript
import { route } from '@depay/web3-payments-evm'
```

确保您为 evm 特定容器安装所有必要的依赖性 :

```
yarn add @depay/web3-blockchains @depay/web3-exchanges-evm @depay/web3-tokens-evm ethers decimal.js
```

或者如果你使用 npm

```
npm i @depay/web3-blockchains @depay/web3-exchanges-evm @depay/web3-tokens-evm ethers decimal.js
```

### SVM(索拉纳虚拟机)平台特定包装

```javascript
import { route } from '@depay/web3-payments-svm'
```

确保您也安装索拉纳特定包装所需的所有依赖性:

```
yarn add @depay/web3-blockchains @depay/web3-exchanges-svm @depay/web3-tokens-svm @depay/solana-web3.js
```

或者如果你使用 npm

```
npm i @depay/web3-blockchains @depay/web3-exchanges-svm @depay/web3-tokens-svm @depay/solana-web3.js
```

## 职能

### 路径

路由支付和返回支付路线:

```javascript
import { route } from '@depay/web3-payments'

let paymentRoutes = await route({
  accept: [{
    blockchain: 'ethereum',
    token: '0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb',
    amount: 20,
    receiver: '0xb0252f13850a4823706607524de0b146820F2240'
  }],
  from: {
    ethereum: '0x5Af489c8786A018EC4814194dC8048be1007e390',
  }
})
```

并允许通过多种接受的支付方式:

```javascript
import { route } from '@depay/web3-payments'

let paymentRoutes = await route({
  accept: [
    {
      blockchain: 'ethereum',
      token: '0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb',
      amount: 20,
      receiver: '0xb0252f13850a4823706607524de0b146820F2240'
    },{
      blockchain: 'bsc',
      token: '0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb',
      amount: 20,
      receiver: '0xb0252f13850a4823706607524de0b146820F2240'
    }
  ],
  from: {
    ethereum: '0x5Af489c8786A018EC4814194dC8048be1007e390',
    bsc: '0x5Af489c8786A018EC4814194dC8048be1007e390'
  }
})
```

#### 滴入路线

如果要在等待所有路线的计算时使用中间路由结果,可以使用 `drip` 选项,将逐个滴入每个路径:

```javascript
import { route } from '@depay/web3-payments'

let paymentRoutes = await route({
  drip: (route)=> {
    // yields every single route
  }
})
```

#### 允许( 列表)

仅允许来自Tokens(来自发送方)属于允许列表的一部分:

```javacript
let paymentRoutes = await route({

  allow: {
    ethereum: [
      '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', // ETH
      '0xdac17f958d2ee523a2206206994597c13d831ec7', // USDT
      '0x6b175474e89094c44da98b954eedeac495271d0f'  // DAI
    ],
    bsc: [
      '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', // BNB
      '0xe9e7cea3dedca5984780bafc599bd69add087d56', // BUSD
      '0x55d398326f99059ff775485246999027b3197955'  // BSC-USD
    ]
  }
})

```

#### 拒绝( 列表)

从 Tokens 过滤器不用于支付路由 :

```javacript
let paymentRoutes = await route({

  deny: {
    ethereum: [
      '0x6b175474e89094c44da98b954eedeac495271d0f'  // DAI
    ],
    bsc: [
      '0x55d398326f99059ff775485246999027b3197955'  // BSC-USD
    ]
  }
})

```

#### 收费

`route` 允许您配置 `fee` 从付款额中取出并送往另一收款人(收费收款人):

```javascript
let paymentRoutes = await route({
  
  accept: [{
    //...
    fee: {
      amount: '3%',
      receiver: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'
    }
  }]
})

// splits 3% of the amount paid and sends it to the feeReceiver
```

您可以定义最多。 2个收费机构和单独的收费接收机构:

```javascript
let paymentRoutes = await route({
  
  accept: [{
    //...
    fee: { amount: '3%', receiver: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'},
    fee2: { amount: '1%', receiver: '0x1dCf54C768352d5A5be0F08891262fd0E53A37ce'},
  }]
})

// splits 3% of the amount paid and sends it to the feeReceiver 1: 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B
// splits 1% of the amount paid and sends it to the feeReceiver 2: 0x1dCf54C768352d5A5be0F08891262fd0E53A37ce
```

`fee.amount` 能够以百分比(以%结尾)或人可读数字/小数通过

```javascript
let paymentRoutes = await route({
  
  accept: [{
    //...
    fee: {
      amount: 0.3,
      receiver: '0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B'
    }
  }]
})
// splits 0.3 of the amount paid and sends it to the feeReceiver
```

#### 协议Fee

`route` 允许您配置 `protocolFee` 从支付协议中提取的:

```javascript
let paymentRoutes = await route({
  
  accept: [{
    //...
    protocolFee: '1.5%'
    
  }]
})

// leaves 1.5% of the outToken to the protocol when payment has been performed
```

### 路由器

导出基本路由器信息(地址和地址):

```javascript
import { routers } from '@depay/web3-payments'

routers.ethereum.address // 0xae60aC8e69414C2Dc362D0e6a03af643d1D85b92
```

### 插件

导出插件地址 :

```javascript
import { plugins } from '@depay/web3-payments'

plugins.ethereum.payment // 0x99F3F4685a7178F26EB4F4Ca8B75a1724F1577B9
```

## 域知识

### 付款优先排序

1.  如果用户在钱包中有一个请求的代号,则会优先向接收者直接发送代号
    
2.  任何能够用分散的交换机进行清算并已核准用于DePay路由器的代号都将是第二优先
    
3.  所有其他仍需要象征性审批的可流体符号将最后列为优先
    

## 数据结构

### 付款记录

付款路线按下列结构提供:

```
{
  blockchain: String (e.g. ethereum)
  fromAddress: String (e.g. '0xd8da6bf26964af9d7eed9e03e53415d37aa96045')
  fromToken: Token (see @depay/web3-tokens)
  fromAmount: BigNumber (e.g. <BigNumber '31000000000000000000'>)
  fromDecimals: number (e.g. 18)
  fromBalance: BigNumber (e.g. <BigNumber '10000000000000000000'>)
  toToken: Token (see @depay/web3-tokens)
  toAmount: BigNumber (e.g. <BigNumber '21000000000000000000'>)
  toDecimals: number (e.g. 18)
  toAddress: String (e.g. '0x65aBbdEd9B937E38480A50eca85A8E4D2c8350E4')
  fee: Object (e.g. undefined or fee object)
  feeAmount: BigNumber (e.g. <BigNumber '2100000000000000000'>)
  fee2: Object (e.g. undefined or fee object)
  feeAmount2: BigNumber (e.g. <BigNumber '1100000000000000000'>)
  protocolFee: String (e.g. '1.5%')
  protocolFeeAmount: BigNumber (e.g. <BigNumber '2100000000000000000'>)
  exchangeRoutes: Array (list of exchange routes offering to convert )
  currentRouterAllowance: BigNumber (e.g. <BigNumber '2100000000000000000'>)
  currentPermit2Allowance: BigNumber (e.g. <BigNumber '2100000000000000000'>)
  approvalRequired: Boolean (e.g. true)
  getRouterApprovalTransaction: async (options)=> Transaction (see @depay/web3-wallets)
  getPermit2ApprovalTransaction: async (options)=> Transaction (see @depay/web3-wallets)
  getPermit2ApprovalSignature: async ()=> SignatureTransferSignature
  getTransaction: async (options)=> Transaction (see @depay/web3-wallets for details), options can contain { wallet }
}
```

`currentRouterAllowance`:为支付路由器提供当前设定的备抵,作为"大数字".

`currentPermit2Allowance`: 以 " 大号 " 形式提供当前设定的许可证津贴.

`approvalRequired`:支付需要经过批准(例如,在EVM上进行象征性转让而没有任何预先批准).

`getRouterApprovalTransaction`: 交易批准从Token开始用于支付路由器的支付。 设置选项到 `{ limited: true }` 只批准所需金额,而不是最大金额。 核准.

`getPermit2ApprovalTransaction`: 使用许可证2 批准从Token付款的付款路由器使用的交易.

`getPermit2ApprovalSignature`: 接收可传递给获取Transaction({ sign })的许可 2 签名传输签名. 需要先获取 Permit2 核准交易 .

见 [@depay/web3-钱包](https://github.com/DePayFi/web3-wallets#sendtransaction) 关于交易格式的细节.

## 发展

### 开始吧

```
yarn install
yarn dev
```

## 网络3 付款

未来是 [网络3 付款](https://depay.com/web3-payments)。 。 。 .

板链具有更快,更简单,更聪明的付款潜力.

Web3 支付是无边,对等的,支持多个符和块链.

接受客户在钱包中已经拥有的任何资产类型. [德佩尔](https://depay.com/) 是块链不可知的,可以在任何时候被扩展到任何块链特定插件上. 互通性、可伸缩性和灵活性是我们议定书的基石。 接受用户在钱包中已经拥有的任何资产,无论这些资产被扣在哪个板链上,在执行分散支付时会减少摩擦.

### 链断层(多链)

互通性是我们基础设施建设的关键原则. [德佩尔](https://depay.com/) 可在任何区块链上延伸,确保具有竞争力的跨链未来.

### 无授权

互通性是我们基础设施建设的关键原则. [德佩尔](https://depay.com/) 可在任何区块链上延伸,确保具有竞争力的跨链未来.

### 无信任

大多数 Web3 支付提供商和处理商接收他们自己管理的钱包的支付. 只有在中间阶段才向卖方付款. [德佩尔](https://depay.com/) 不充当中间人。 每个中间步骤由智能合同取而代之,这些合同与分散流动资金池相连。 因此,不再需要信任.

### 易于使用

我们的雄心壮志是创造出比以往更轻松的用户体验,从现在的非crypto电子商务商店购物. 我们认为我们已经做了一个很好的工作.

### 开源

随意使用和贡献我们的代码库 。 我们很高兴你能来我们的车盖下看看 这个 [德佩尔](https://depay.com/) 协议将永远保持开放源码.

### 多链

[德佩尔](https://depay.com/) 计算多个区块链上的支付路由,尽管您的钱包目前连接了什么。 如果需要, 我们的软件会自动检测和切换网络( T) .

## 常见问题

### @depay/web3-payments 是什么？

JavaScript库可以扫描可液化资产的加密钱包,并在链上执行成本效益高,自动转换的支付\.

### 如何安装 @depay/web3-payments？

在项目目录运行 npm install @depay/web3-payments，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@depay/solana-web3\.js（^1\.98\.0）、@depay/web3-blockchains（^9\.8\.8）、@depay/web3-client（^11\.1\.9）、@depay/web3-exchanges（^15\.6\.3）、@depay/web3-tokens（^11\.1\.0）、decimal\.js（^10\.4\.3）、ethers（^5\.7\.1）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @depay/web3-payments 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/depay\_\_web3-payments 是否存在。

### @depay/web3-payments 支持 ESM 还是 CommonJS？

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

### @depay/web3-payments 需要什么版本的 Node\.js？

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

### @depay/web3-payments 可以商用吗？

@depay/web3-payments 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @depay/web3-payments 的下载量有多少？

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

### @depay/web3-payments 还在维护吗？

最新版本 15\.3\.3 发布于 2025/09/18（1\.1 年前）；至今共发布 122 个版本，其中过去 12 个月发布了 0 个；首次发布于 2021/11/28。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

