3 分钟,让 WooCommerce 支持 USDT 在线支付
0 资金托管 · 商户直接收款 · 开源透明 · 完全免费
English | 简体中文(默认)
这是一个面向 WordPress 商店的开源 WooCommerce USDT Payment Gateway(WooCommerce USDT 支付网关)。它为 WooCommerce 增加数字货币结账方式,让独立站能够快速接受 USDT、自动确认链上付款并同步订单状态,无需自行开发 Crypto Payment API 或支付回调系统。
本插件是 USDT-Payment-Gateway 的 WooCommerce 接入端。本项目的支付创建、收银台及链上支付通知等底层能力均来自该仓库;本插件负责连接 WordPress / WooCommerce 与底层网关。
Important
本仓库是 WooCommerce 接入层,必须配合底层项目 DigitalShieldOfficial/USDT-Payment-Gateway 使用。建议先完成底层网关部署并取得商户号与 API Secret,再安装本插件。
- 3 分钟接入:上传插件、填写两项凭据、复制回调地址,即可在结账页显示 USDT 支付。
- 0 资金托管:插件不保存钱包私钥、不接触或中转资金;收款由底层网关按商户配置完成。
- 安全可验证:订单请求由 SDK 签名,支付回调通过 HMAC-SHA256 验签,源码完整公开、可自行审计。
- 完全免费:本插件采用 MIT License,不收插件费、订阅费或交易佣金;链上 Gas、服务器和第三方基础设施费用不在此列。
- 自动化订单:付款成功后自动更新 WooCommerce 订单状态,并记录交易哈希、网络、币种和实收金额等对账信息。
- 兼容两种结账页:支持 WooCommerce 经典结账与 Checkout Blocks。
- 希望增加 USDT 支付方式的 WooCommerce 独立站
- 需要自动确认付款并更新订单的 WordPress 商店
- 希望使用开源、非托管 Crypto Payment Gateway 的商户
- 销售数字商品、订阅之外的一次性商品或普通实物商品的商城
- 需要通过 Webhook 将链上付款结果同步到 WooCommerce 的项目
本插件只提供 WooCommerce 商品订单支付,不包含充值、代币兑换、法币出入金或钱包托管服务。
部署并配置 USDT-Payment-Gateway,然后从网关后台取得:
Merchant No(商户号)API Secret(接口密钥)
下载本仓库并确保 vendor/ 目录存在,然后将整个目录上传到:
/wp-content/plugins/USDTPAY-woocommerce/
在 WordPress 后台进入「插件」,启用 DSPay for WooCommerce。
如果从源码安装且没有 vendor/ 目录,请先在插件目录运行:
composer install --no-dev --optimize-autoloader进入:
WooCommerce → 设置 → 付款 → DSPay
- 勾选 Enable DSPay。
- 填写
Merchant No和API Secret。 Exchange Rate默认填1;例如填7表示订单金额 7 个法币单位对应 1 个 Token。- 保存设置。
- 复制页面显示的
Callback URL,粘贴到底层网关的商户回调配置中。 - 创建一笔小额测试订单,确认支付完成后订单状态能够自动更新。
完成。顾客现在可以在 WooCommerce 结账页选择 DSPay,并使用 USDT 完成支付。
顾客提交 WooCommerce 订单
↓
插件调用 SDK 签名并创建支付单
↓
顾客进入 DSPay 收银台并使用钱包付款
↓
底层网关监听链上交易并发送签名回调
↓
插件验签,自动更新 WooCommerce 订单状态
资金不会经过本插件。插件只传递订单信息、验证支付通知并同步订单状态。
- 跳转/内嵌 DSPay 收银台
- SDK 本地签名创建支付订单
- HMAC-SHA256 回调验签
- 自动处理已支付、失败、取消、退款和等待中状态
- 防止同一状态的回调被重复处理
- 虚拟且可下载商品付款后自动完成订单
- 保存链上交易与结算信息到订单备注
- 支付等待页自动轮询支付状态
- 支持顾客取消未支付订单
- WooCommerce 日志记录
- 后台一键复制回调地址
- 兼容经典结账页和 WooCommerce Blocks
- WordPress 5.0+
- WooCommerce 5.0+
- PHP 7.4+
- 已部署并可访问的 USDT-Payment-Gateway
- HTTPS 公网域名,以便接收支付回调
| 配置项 | 说明 |
|---|---|
| Enable DSPay | 是否在结账页启用此支付方式 |
| Title | 顾客在结账页看到的支付方式名称 |
| Description | 顾客在结账页看到的支付说明 |
| Merchant No | 底层网关提供的商户号 |
| API Secret | 用于签名创建订单及验证回调,请勿泄露 |
| Exchange Rate | Token 金额 = 订单金额 ÷ Exchange Rate,默认 1 |
| Callback URL | WordPress 自动生成的支付通知地址,需配置到底层网关 |
- API Secret 仅保存在 WordPress 的 WooCommerce 网关设置中,不会发送给顾客浏览器。
- 回调必须携带
X-DSPay-Signature,插件验签成功后才处理订单。 - 本插件不保存助记词或钱包私钥,也不代商户保管资金。
- 请为 WordPress 与底层网关启用 HTTPS,使用高强度独立密钥,并及时更新 WordPress、WooCommerce、PHP 和服务器组件。
- “0 资金托管”描述的是本插件及非托管部署方式的资金路径,不代表软件或区块链系统不存在任何风险;正式上线前请完成安全审计和小额测试。
支付或回调异常时,进入:
WooCommerce → 状态 → 日志
选择 dspay-webhook 日志,检查签名、订单号、回调状态及错误信息。同时确认:
- Callback URL 可从公网通过 HTTPS 访问;
- WordPress REST API 未被安全插件或防火墙拦截;
- Merchant No 与 API Secret 正确且属于同一商户;
- 修改固定链接后已重新保存一次「设置 → 固定链接」;
- 服务器时间准确。
是。本插件会在 WooCommerce 结账页添加 DSPay 支付方式,顾客完成 USDT 支付后,通过签名回调自动更新订单状态。
不需要。本插件配置项只有 Merchant No、API Secret 和汇率,不读取或保存钱包私钥。钱包及链上监听配置由底层网关管理。
不会。本插件不创建托管账户、不持有资金,也不参与资金结算。实际收款路径取决于商户部署的底层网关和钱包配置。
插件代码采用 MIT License,不收插件费、订阅费或交易佣金。你仍需自行承担服务器、域名、网络和链上 Gas 等实际成本。
本插件不限定具体区块链网络,它负责创建订单和接收支付结果。最终可用网络与币种以你部署的 USDT-Payment-Gateway 配置和版本为准。
支持。项目同时集成了 WooCommerce 经典结账页与基于区块的 Checkout Blocks。
优先检查 WooCommerce → 状态 → 日志 → dspay-webhook,并确认 Callback URL 可从公网访问、API Secret 匹配、REST API 未被防火墙拦截。
├── dspay-woocommerce.php # 插件入口、回调接口、支付等待页与 AJAX
├── src/Gateway.php # WooCommerce 支付网关
├── src/PaymentStatus.php # 支付状态映射
├── class-block.php # WooCommerce Blocks 集成
├── checkout.js # Blocks 结账页支付方式
├── templates/ # 支付等待页模板
├── assets/ # 前后台 JS/CSS
├── languages/ # 翻译模板
└── composer.json # PHP SDK 依赖
再次说明:本 WooCommerce 插件的底层支付能力来自:
如果你需要部署支付服务、配置收款钱包、了解链上监听或扩展支付 API,请访问底层仓库。本仓库只负责 WooCommerce 集成。