guide

安全

QuantaPay 以安全为核心原则进行设计。本页面介绍我们的安全模型以及商户的最佳实践。

更新于: 2026/3/9

QuantaPay 以安全为核心原则进行设计。本页面介绍我们的安全模型以及商户的最佳实践。

非托管模式

QuantaPay 是完全非托管的。这意味着:

  • 我们从不持有您的资金。 付款直接从客户的钱包发送到您的钱包地址。
  • 我们从不访问您的私钥。 您始终保持对钱包的完全控制。
  • 无需提现流程。 资金在区块链上确认后即存入您的钱包。

工作原理

  1. 您在 QuantaPay 设置中配置钱包地址。
  2. 当客户付款时,QuantaPay 向他们展示您的钱包地址和所需金额。
  3. 客户将加密货币直接发送到您的钱包。
  4. QuantaPay 监控区块链上的交易并进行确认。
  5. 当付款确认后,QuantaPay 通过 Webhook 通知您。

在整个过程中,QuantaPay 不会托管或访问您的资金。

假代币防护

QuantaPay 内置了针对假代币攻击的防护机制:

  • 合约地址验证:对于 ERC-20 和 BEP-20 代币,QuantaPay 会验证代币的智能合约地址,确保其与预期代币匹配。
  • 金额验证:交易金额会与预期的支付金额进行核对。
  • 区块链确认:付款必须达到配置的区块链确认次数后才会被标记为完成。

什么是假代币攻击?

攻击者可能创建与真实代币同名的代币(例如"USDT"),但使用不同的合约地址。如果支付系统仅检查代币名称而不检查合约地址,就可能接受毫无价值的代币作为付款。QuantaPay 通过验证实际合约地址来防止此类攻击。

API 安全

API 密钥认证

所有 API 请求都需要您的 API 密钥。请妥善保管:

  • 不要在客户端 JavaScript 中暴露
  • 不要提交到公开代码仓库
  • 如果密钥泄露,请及时轮换(Settings → Account)

HMAC 签名验证

在创建结账会话时,您可以添加 HMAC-SHA256 签名以防止请求被篡改:

  • 签名使用您的 Webhook Secret Key
  • 时间戳可防止重放攻击(5 分钟窗口)

Webhook 验证

传入的 Webhook 在载荷中包含您的 Webhook Secret Key。处理前请始终验证其是否与您存储的密钥匹配。

商户最佳实践

1. 全面使用 HTTPS

  • 您的 Webhook 端点必须使用 HTTPS
  • 您的网站在嵌入支付表单时应使用 HTTPS

2. 保护您的 API 密钥

  • 将 API 密钥存储在环境变量中,而非代码中
  • 使用服务端代码发起 API 调用,不要在客户端调用
  • 定期轮换密钥

3. 验证 Webhook

  • 始终检查 Webhook 载荷中的 key 字段
  • 实现幂等的 Webhook 处理器(防止重复处理)
  • 记录所有传入的 Webhook 以便审计追踪

4. 使用适当的确认次数

  • 低价值交易(< $50):1-3 次确认
  • 中等价值($50-$500):3-6 次确认
  • 高价值(> $500):6 次以上确认,或启用高价值确认次数增加功能

5. 监控您的仪表盘

  • 定期检查 Transactions 页面
  • 启用关键事件的邮件通知
  • 审查金额不足和已过期的交易

6. 保持软件更新

  • 有新版本时更新 WordPress 插件
  • 关注更新日志中的安全修复

数据隐私

  • QuantaPay 仅存储交易处理所需的数据。
  • 客户的钱包地址在公共区块链上可见。
  • 不收集个人金融数据(银行账户、信用卡)。
  • 交易数据出于对账目的而保留。