安全
QuantaPay 以安全为核心原则进行设计。本页面介绍我们的安全模型以及商户的最佳实践。
QuantaPay 以安全为核心原则进行设计。本页面介绍我们的安全模型以及商户的最佳实践。
非托管模式
QuantaPay 是完全非托管的。这意味着:
- 我们从不持有您的资金。 付款直接从客户的钱包发送到您的钱包地址。
- 我们从不访问您的私钥。 您始终保持对钱包的完全控制。
- 无需提现流程。 资金在区块链上确认后即存入您的钱包。
工作原理
- 您在 QuantaPay 设置中配置钱包地址。
- 当客户付款时,QuantaPay 向他们展示您的钱包地址和所需金额。
- 客户将加密货币直接发送到您的钱包。
- QuantaPay 监控区块链上的交易并进行确认。
- 当付款确认后,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 仅存储交易处理所需的数据。
- 客户的钱包地址在公共区块链上可见。
- 不收集个人金融数据(银行账户、信用卡)。
- 交易数据出于对账目的而保留。