@depay/web3-payments

中文文档
15.3.3发布于 2025/09/18MITESM + CJS零依赖近 30 天下载 4018

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

中文使用文档
文档目录22 节
  1. 快速启动
  2. 支助
  3. 平台专用包装
  4. EVM(Ethereum虚拟机)平台特定包装
  5. SVM(索拉纳虚拟机)平台特定包装
  6. 职能
  7. 路径
  8. 路由器
  9. 插件
  10. 域知识
  11. 付款优先排序
  12. 数据结构
  13. 付款记录
  14. 发展
  15. 开始吧
  16. 网络3 付款
  17. 链断层(多链)
  18. 无授权
  19. 无信任
  20. 易于使用
  21. 开源
  22. 多链

快速启动

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
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'
  }
})

支助

此库支持以下块链 :

平台专用包装

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

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

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(索拉纳虚拟机)平台特定包装

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

职能

路径

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

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

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

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

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 选项,将逐个滴入每个路径:

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

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

允许( 列表)

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

let paymentRoutes = await route({

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

拒绝( 列表)

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

let paymentRoutes = await route({

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

收费

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

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

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

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

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 能够以百分比(以%结尾)或人可读数字/小数通过

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 从支付协议中提取的:

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

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

路由器

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

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

routers.ethereum.address // 0xae60aC8e69414C2Dc362D0e6a03af643d1D85b92

插件

导出插件地址 :

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-钱包 关于交易格式的细节.

发展

开始吧

yarn install
yarn dev

网络3 付款

未来是 网络3 付款。 。 。 .

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

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

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

链断层(多链)

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

无授权

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

无信任

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

易于使用

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

开源

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

多链

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

版本与发布记录

@depay/web3-payments 共发布 122 个版本,首次发布于 2021/11/28;过去 12 个月发布了 0 个版本。

版本发布日期距今
15.3.3latest2025/09/181.1 年前
15.3.22025/07/021.4 年前
15.3.12025/06/281.4 年前
15.3.02025/05/141.5 年前
15.2.12025/05/141.5 年前
15.2.02025/05/141.5 年前

关于 @depay/web3-payments 的常见问题

@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 和提交记录判断。