链上充币订单 (Crypto Deposit)
SureLink 网关支持商户为自有系统或用户创建专属的链上数字资产(USDT)充币地址,实时监听区块链节点交易并自动确认入账。
1. 业务交互时序
mermaid
sequenceDiagram
autonumber
participant Merchant as 商户系统
participant Gateway as SureLink 网关
participant Blockchain as 区块链网络 (TRON / ETH)
Merchant->>Gateway: 1. POST /api/v1/crypto-deposit-orders (创建充币订单)
Gateway-->>Merchant: 2. 返回充币钱包地址 walletAddress 与有效截止期
Merchant-->>Merchant: 3. 展示充币二维码与地址给用户
Blockchain->>Gateway: 4. 用户链上转账,网关扫块监听到交易 (DETECTED)
Blockchain->>Gateway: 5. 区块确认数达到安全阈值
Gateway->>Gateway: 6. 记账至商户可用资产 (COMPLETED)
Gateway->>Merchant: 7. Webhook 异步推送链上入账通知2. 创建链上充币订单
POST /api/v1/crypto-deposit-orders
为本次充币申请分配专属的区块链钱包收款地址。
请求头 (Headers)
携带标准 HMAC 签名头及 Idempotency-Key。
请求体 (Body)
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
chain | string | 必填 | 目标区块链网络代码(如 "TRON", "ETH", "BSC"),需从 GET /api/v1/chains 中获取。 |
amount | string | 必填 | 预期充币数量(USDT),保留 2 ~ 6 位小数(如 "100.00", "50.123456")。 |
请求示例
bash
curl -X POST "https://api-sandbox.surelink.io/api/v1/crypto-deposit-orders" \
-H "Content-Type: application/json" \
-H "X-Api-Key: mch_key_your_api_key" \
-H "X-Timestamp: 1715000000000" \
-H "X-Nonce: 9f8e7d6c5b4a392817263544a1b2c3d4" \
-H "X-Signature: c8b9...f01" \
-H "Idempotency-Key: CRYPTO_DEP_001" \
-d '{
"chain": "TRON",
"amount": "100.00"
}'typescript
import { sendSignedRequest } from './signer';
const result = await sendSignedRequest({
apiKey: 'mch_key_...',
apiSecret: 'sec_...',
method: 'POST',
url: 'https://api-sandbox.surelink.io/api/v1/crypto-deposit-orders',
body: {
chain: 'TRON',
amount: '100.00'
}
});响应说明 (Response)
- HTTP 状态码:
201 Created
json
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"orderNo": "CD202610110001",
"ownerType": "MERCHANT",
"ownerId": "mch_12345",
"chain": "TRON",
"assetSymbol": "USDT",
"expectedAmount": "100.000000",
"creditedAmount": null,
"status": "PENDING_DEPOSIT",
"walletAddress": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"txHash": null,
"expiresAt": "2026-10-11T10:00:00.000Z",
"completedAt": null,
"createdAt": "2026-10-11T09:00:00.000Z",
"updatedAt": "2026-10-11T09:00:00.000Z"
}3. 分页查询充币订单列表
GET /api/v1/crypto-deposit-orders
Query 参数
| 参数名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
page | number | 否 | 1 | 当前页码,从 1 开始 |
pageSize | number | 否 | 20 | 每页数量(最大 100) |
chain | string | 否 | - | 按链代码筛选(如 TRON) |
status | string | 否 | - | 按状态筛选(如 COMPLETED) |
4. 查询单笔充币订单详情
GET /api/v1/crypto-deposit-orders/:id
通过内部 ID 或订单号查询指定充币单详情。
响应说明 (Response)
json
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"orderNo": "CD202610110001",
"ownerType": "MERCHANT",
"ownerId": "mch_12345",
"chain": "TRON",
"assetSymbol": "USDT",
"expectedAmount": "100.000000",
"creditedAmount": "100.000000",
"status": "COMPLETED",
"walletAddress": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"txHash": "0x5c4d3e2f1a0b9c8d7e6f5a4b3c2d1e0f9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d",
"expiresAt": "2026-10-11T10:00:00.000Z",
"completedAt": "2026-10-11T09:05:32.000Z",
"createdAt": "2026-10-11T09:00:00.000Z",
"updatedAt": "2026-10-11T09:05:32.000Z"
}5. 链上充币状态机
| 状态代码 | 说明 | 是否终态 |
|---|---|---|
PENDING_DEPOSIT | 待充币入账,等待链上检测到转账交易 | 否 |
DETECTED | 链上已监听到入账交易,正在等待安全区块确认数 | 否 |
MANUAL_REVIEW | 充值金额与预期偏差较大或风险预警,人工审核中 | 否 |
COMPLETED | 充币已成功入账,终态 | 是 |
EXPIRED | 在有效期截止前未检测到交易,地址已失效,终态 | 是 |
CANCELLED | 订单已取消,终态 | 是 |
