商户信息 — merchantInfo
查询商户基本信息与各币种余额。常用于对账前拉取余额快照,或校验默认回调地址配置。
POST https://api.anonypay.io/api/merchant/merchantInfo与其他业务接口一样:请求体为业务 JSON 的 OAEP 加密密文,并需携带全套签名头(ANONY-APP-ID / ANONY-TOKEN / ANONY-TIMESTAMP / ANONY-NONCE / ANONY-SIGN)。协议细节见 加密与签名协议,token 获取见 getToken。
请求参数
无。请求体为空 JSON({}),照常加密、签名后发送。
响应字段(解密后)
| 字段 | 类型 | 说明 |
|---|---|---|
merchantId | int | 商户号 |
merchantName | string | 商户名 |
callbackUrl | string | 默认回调地址 |
balances | array | 各币种余额,元素为 { currency, balance } |
balances 元素:
| 字段 | 类型 | 说明 |
|---|---|---|
currency | string | 币种符号(见 币种枚举) |
balance | string | 该币种余额 |
解密后的 data 示例:
json
{
"merchantId": 10001,
"merchantName": "示例商户",
"callbackUrl": "https://merchant.example.com/anony/callback",
"balances": [
{ "currency": "trx.usdt", "balance": "12345.678900" },
{ "currency": "eth.usdt", "balance": "0" }
]
}金额精度
金额类字段建议按字符串处理,避免浮点精度问题。
调用示例
php
require 'AnonyV2Client.php';
$client = new AnonyV2Client($appId, $serverPublicKeyB64, $merchantPrivateKeyB64);
$token = $client->getToken($secret);
$res = $client->post('merchantInfo', [], $token);
// $res['data'] 已自动验签+解密
$balances = $res['data']['balances'];python
from anony_v2 import AnonyV2Client
import requests
c = AnonyV2Client(app_id, server_pub_b64, merchant_priv_b64)
# token 获取见 getToken 页
req = c.build_request({}, token) # 无参数,传空 JSON
r = requests.post(c.base_url + "merchantInfo", data=req["body"], headers=req["headers"])
body = r.json()
if body["code"] == 10000:
data = c.verify_response(body["data"], r.headers["ANONY-TIMESTAMP"],
r.headers["ANONY-NONCE"], r.headers["ANONY-SIGN"])
balances = data["balances"]js
const { AnonyV2Client } = require('./anony_v2');
const c = new AnonyV2Client(appId, serverPubB64, merchantPrivB64);
const token = await c.getToken(secret);
const req = c.buildRequest({}, token); // 无参数,传空 JSON
const r = await fetch(c.baseUrl + 'merchantInfo', { method: 'POST', body: req.body, headers: req.headers });
const body = await r.json();
if (body.code === 10000) {
const data = c.verifyResponse(body.data, r.headers.get('anony-timestamp'),
r.headers.get('anony-nonce'), r.headers.get('anony-sign'));
const balances = data.balances;
}常见错误
| 现象 | 说明 |
|---|---|
tokenExpired | token 失效,重新调用 getToken |
signatureFailed | 签名/时间窗/nonce 问题,见 错误码 |
纯文本 Oops | 来源 IP 不在白名单 |
相关页面
- 创建提现单 createWithdrawOrder — 提现前可先用本接口确认余额
- 货币与费率列表 getCurrencies — 查询各币种手续费与最低限额
- 上线自检 selfcheck