跳至主要內容

数字货币余额查询

TOPPAY Team大约 4 分钟

概述

余额查询 API 用于获取商户数字货币账户的实时余额,包含可用余额、冻结金额与总额。可查询单一币种,也可一次拉取全部已开通币种。

公共请求头(含必填 Nonce)、公共请求体字段与统一响应结构见 数字货币接入总览


请求路径

域名:推荐使用统一域名 openapi.toppayment.com(路径不变);原数字货币域名(global-digit-openapi.toppayment.com)仍可用。

环境地址
沙箱https://openapi.toppayment.com/crypto/sandbox/balance/v1
生产https://openapi.toppayment.com/crypto/balance/v1

请求头参数

字段必填类型描述
Content-TypeMString固定值:application/json
NonceMString(16-64)防重放随机串,10 分钟内不可重复,不参与签名

请求体参数

字段必填类型描述
mchNoMString(32)商户编号
沙箱需使用 SD 前缀的沙箱商户号
timestampMString(13)请求时间戳(13 位毫秒级),偏差须在 ±5 分钟内
signMString签名,见 签名规则
currencyOString(16)币种
传入:仅返回该币种余额
不传或传空:返回全部已开通币种余额
示例:USDT
netWorkOString(100)链网络
仅用于原样回填响应中的 netWork 字段,不参与余额筛选
数字货币余额按币种统一记账,不区分链
tenantCodeOString(32)子租户编码,不传使用默认租户
countryCodeOString(16)国家码,数字货币场景无需传

netWork 不影响余额

账户余额按币种记账,同一币种在不同链上的资产合并计算。请求中的 netWork 只会被原样写回响应,不会过滤或拆分余额。

请求示例

Content-Type: application/json
Nonce: a91e60c3b7d248f5c0a2

响应体参数

字段必填类型描述
successMBoolean是否成功
codeMString响应状态码
9999:成功;其他见 异常码
msgOString响应消息,成功时为 null
timeStampMNumber服务器响应时间(毫秒级)
dataMObject响应数据对象
mchNoMString商户编号
tenantCodeMString租户编码
请求未传 tenantCode 时为商户默认租户编码
balancesMArray余额明细列表
无可用账户时为空数组 []
tenantCodeMString租户编码
currencyMString币种
netWorkOString链网络
原样回填请求中的 netWork,未传时为 null
balanceMNumber可用余额
当前可用于代付、扣费的数量
freezeMNumber冻结金额
代付在途、风控冻结等占用的数量
totalAmountMNumber总额
账户总数量

精度

余额相关金额按 8 位小数返回。请使用高精度类型(如 BigDecimalDecimal)解析,避免使用浮点数

响应示例

{
    "success": true,
    "code": "9999",
    "msg": null,
    "timeStamp": 1767873172906,
    "data": {
        "mchNo": "JIMMY001",
        "tenantCode": "JIMMY001",
        "balances": [
            {
                "tenantCode": "JIMMY001",
                "currency": "USDT",
                "netWork": null,
                "balance": 12580.36000000,
                "freeze": 120.00000000,
                "totalAmount": 12700.36000000
            }
        ]
    }
}

沙箱响应差异

沙箱与生产响应结构不同

沙箱余额接口返回模拟数据,且结构与生产不一致:沙箱返回单币种平铺字段,生产返回 balances 数组。请在代码中按环境分别解析。

  • 余额固定返回 2000000freeze 固定为 0
  • 请求未传 currency 时,沙箱默认按 USDT 返回。
字段类型描述
mchNoString商户编号(沙箱商户号)
currencyString币种,请求未传时为 USDT
totalAmountNumber总额,固定 2000000
balanceNumber可用余额,固定 2000000
freezeNumber冻结金额,固定 0
waitingSettleAmountNumber待结算金额,固定 0
freezeWaitingSettleAmountNumber冻结待结算金额,固定 0
{
    "success": true,
    "code": "9999",
    "msg": null,
    "timeStamp": 1767873172906,
    "data": {
        "mchNo": "SDJIMMY001",
        "currency": "USDT",
        "totalAmount": 2000000,
        "balance": 2000000,
        "freeze": 0,
        "waitingSettleAmount": 0,
        "freezeWaitingSettleAmount": 0
    }
}

参考