Epusdt 是一个多链 USDT/USDC 支付网关,支持 Ethereum、BSC、Arbitrum、Polygon、Tron、Solana 六条链。
对接流程:
① 注册商户(支付 $5 激活费) → ② 获得 merchant_id + api_key → ③ 调用 API 创建订单 → ④ 用户支付 → ⑤ 接收回调通知
Base URL:
https://usdt.btcshop.vip
所有订单创建请求使用 签名认证。请求体中包含 signature 字段,使用您的 api_key 计算得出。
signature,不含空值)按 key 字母排序,拼接为 key=value&key=value 格式,末尾追加 api_key,取 MD5 值。示例(Python):
import hashlib
params = {
"order_id": "ORDER_001",
"currency": "usd",
"token": "usdt",
"network": "ethereum",
"amount": 10.0,
"notify_url": "https://your-site.com/notify",
"name": "Test"
}
api_key = "your_api_key_here"
# 1. 按 key 排序,拼接非空值
sorted_str = "&".join(
f"{k}={v}" for k, v in sorted(params.items())
if v is not None and str(v) != ""
)
# 2. 追加 api_key,取 MD5
signature = hashlib.md5(
(sorted_str + api_key).encode()
).hexdigest()
params["signature"] = signature
示例(PHP):
$params = [
'order_id' => 'ORDER_001',
'currency' => 'usd',
'token' => 'usdt',
'network' => 'ethereum',
'amount' => 10.0,
'notify_url' => 'https://your-site.com/notify',
'name' => 'Test',
];
$apiKey = 'your_api_key_here';
// 1. 按 key 排序
ksort($params);
// 2. 拼接
$str = '';
foreach ($params as $k => $v) {
if ($v === '' || $v === null) continue;
$str .= ($str ? '&' : '') . "$k=$v";
}
// 3. 追加 key,MD5
$signature = md5($str . $apiKey);
POST /payments/gmpay/v1/order/create-transaction
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
order_id | string | 必填 | 商户订单号(≤32字符,唯一) |
currency | string | 必填 | 法币代码,如 usd, cny |
token | string | 必填 | 支付币种:usdt 或 usdc |
network | string | 必填 | 区块链网络(见下方网络表) |
amount | float | 必填 | 订单金额(>0.01) |
notify_url | string | 必填 | 支付成功回调地址 |
signature | string | 必填 | MD5 签名 |
redirect_url | string | 可选 | 支付后跳转地址 |
name | string | 可选 | 订单名称/描述 |
{
"status_code": 200,
"message": "success",
"data": {
"trade_id": "202604131776067430115005",
"order_id": "ORDER_001",
"amount": 10,
"currency": "USD",
"actual_amount": 10.01,
"receive_address": "0x6843...5651",
"token": "USDT",
"expiration_time": 1776068030,
"payment_url": "https://usdt.btcshop.vip/pay/checkout-counter/..."
}
}
payment_url — 将用户重定向到此 URL 完成支付。
GET /pay/check-status/:trade_id
{
"status_code": 200,
"data": {
"trade_id": "202604131776067430115005",
"status": 2
}
}
| status 值 | 含义 |
|---|---|
1 | 待支付 |
2 | 已支付 |
3 | 已过期 |
订单支付成功后,系统会向您的 notify_url 发送 POST 请求(最多重试 5 次):
POST https://your-site.com/notify
Content-Type: application/json
{
"trade_id": "202604131776067430115005",
"order_id": "ORDER_001",
"amount": 10.0,
"actual_amount": 10.01,
"token": "USDT",
"block_transaction_id": "0xabc...",
"signature": "md5_signature",
"status": 2
}
signature 签名,确认后返回 HTTP 200 + 内容 ok。否则系统将重试回调。| network 值 | 链名 | Gas 费 | 确认时间 |
|---|---|---|---|
ethereum | Ethereum 主网 | $2-10 | ~15秒 |
bsc | BNB Smart Chain | <$0.05 | ~3秒 |
arbitrum | Arbitrum One | <$0.1 | ~1秒 |
polygon | Polygon | <$0.01 | ~2秒 |
tron | Tron (TRC20) | <$1 | ~3秒 |
solana | Solana | <$0.01 | ~0.4秒 |
| status_code | message | 说明 |
|---|---|---|
| 400 | signature verification failed | 签名校验失败 |
| 400 | order already exists | order_id 重复 |
| 400 | no available wallet address | 该网络暂无可用钱包 |
| 400 | pay amount error | 金额不合法 |
| 500 | server error | 服务端错误 |