SANDBOX
沙箱环境(测试网)
在真实测试网(Sepolia、Amoy、TRON Nile、Solana devnet 等)上完整联调充值、归集、提现与回调,全程使用无价值测试币,不产生任何账单。
先读这一条:测试币和真钱的地址完全相同
EVM 地址跨网络完全相同——同一个用户在 ETH 主网与 ETH_SEPOLIA 拿到的是 同一个 0x 地址。判断一笔资产是真钱还是测试币, 唯一可靠依据是接口与回调中的network 字段,绝不能凭地址。 商户系统必须按 network === "MAINNET" 校验后才给业务用户入账。 沙箱是什么
- 一条测试网 = 一条独立的链:测试网与主网是平级的两条链 (如
ETH与ETH_SEPOLIA),充值地址、回调、查询接口的用法与主网完全一致—— 测试通过后把chainCode换成主网值即可无缝切换。 - 完全不计费:测试网上的建址、充值、提现、回调均不产生账单,用量靠开通审批控制。
- 测试币无价值:测试网资产仅用于联调,不可提现为真实资产。
如何申请开通
测试网采用「自助申请 + 平台审批」开通:
- 在派付管理后台 → 沙箱环境 → 开通申请提交申请,选择应用与目标测试网(可附申请说明);
- 平台审批通过后,该应用即开通所选测试网,
/support/chains里即可看到对应链; - 同一应用对同一测试网只允许一条进行中的申请;被驳回后可修正原因重新申请。
查询已开通的测试网
GET /api/v1/wallet/support/chains 新增 network 查询参数,沙箱侧只拉测试网:
# 只拉当前应用已开通的测试网(签名算法见 /docs/api/auth)
REQ_PATH='/api/v1/wallet/support/chains?network=TESTNET'
# ...按 /docs/api/auth 生成 4 个签名 header 后:
curl "https://api.pqpa.com$REQ_PATH" \
-H "X-Api-Key: $API_KEY" \
-H "X-Timestamp: $TS" \
-H "X-Nonce: $NONCE" \
-H "X-Signature: $SIG"network 取值
MAINNETstring required | 主网,真实资产。只有此值的事件才应触发业务入账。 例: MAINNET |
TESTNETstring optional | 公共测试网(Sepolia / Amoy / TRON Nile / BTC testnet 等),测试币无价值。 例: TESTNET |
DEVNETstring optional | 开发网(Solana devnet 等),比 testnet 更靠近开发、可能被重置。 例: DEVNET |
REGTESTstring optional | 本地回归网(BTC regtest 等),平台内部使用,一般不对商户开放。 例: REGTEST |
如何领测试币
测试网水龙头在管理后台 → 沙箱环境 → 水龙头按链展示,共三类:
- 外链引导:跳转官方/社区水龙头页面自助领取(部分需要 GitHub 等账号登录,页面上会注明)。 领取后可在水龙头页查目标地址的链上实时余额确认到账。
- 平台代领:对开放了接口的水龙头(XLM friendbot、XRP faucet、Solana devnet airdrop 等), 在后台直接发起、平台代为领取,结果在「领取记录」页跟踪。外部水龙头普遍限流,失败请稍后重试。
- 平台币池:平台维护的测试币发放池按额度发放(单次发放额与单应用每日上限以页面标注为准)。
回调里的 network 字段
充值 / 提现 / 归集三类回调均携带 network 字段,与 /support/chains 响应里的同名字段同一口径:
{
"event": "recharge",
"chainId": 42,
"network": "TESTNET", // ← 判定真钱/测试币的唯一依据
"address": "0xab12...", // 与该用户主网充值地址完全相同!
"amount": "100.00",
"txStatus": "SETTLED"
}商户侧改造点
如果你的回调处理逻辑写在network 字段上线之前,请尽快补上校验: 只有 network === "MAINNET" 的事件才触发真实入账; 测试网事件建议单独落表或打标,用于联调对账。字段完整说明见 Payload 与验签。 下一步
- 查询已启用公链 — 带
network筛选拉测试网列表 - 创建充值地址 — 用测试网 chainCode 给用户建地址
- Payload 与验签 — 回调
network字段说明