查询充值记录 — getDeposits
分页查询本商户的充值到账记录,可按币种过滤。适用于对账、补单核查等场景。
| 项目 | 值 |
|---|---|
| 接口地址 | POST https://api.anonypay.io/api/merchant/getDeposits |
| 请求体 | 业务 JSON 的 RSA-OAEP 加密密文(见 加密与签名协议) |
| 请求头 | ANONY-APP-ID / ANONY-TOKEN / ANONY-TIMESTAMP / ANONY-NONCE / ANONY-SIGN |
| 前置条件 | 先调用 getToken 获取 ANONY-TOKEN |
TRON 链 USDC 充值已关闭
向 TRON 地址转入 USDC 的充值已关闭:到账不入账、不回调,也不会出现在本接口的充值记录中。请勿引导用户在 TRON 链充值 USDC。其他链的 USDT/USDC 及各链原生币充值不受影响。
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
currency | string | 否 | 按币种符号过滤(如 trx.usdt);不传查全部 |
page | int | 否 | 页码,默认 1 |
limit | int | 否 | 每页条数,默认 10,最大 100 |
币种符号枚举见 接口公共说明,也可通过公共接口 getCurrencies 动态获取。
limit 取值范围严格校验
limit 不传时默认 10;一旦传入,则 大于 100 或小于 1 都会直接报 limitError,不会自动截断到边界值。请在商户侧限制好取值范围。
响应
code == 10000 时,data 验签解密后为数组,每个元素的字段与充值到账回调完全一致:
| 字段 | 类型 | 说明 |
|---|---|---|
businessType | string | 固定 deposit |
txid | string | 链上交易哈希 |
address | string | 收款地址 |
addressType | string | 地址类型(当前开放:trx/solana/eth_bnb/ton;btc 为预留值) |
fromAddress | string | 付款方地址 |
amount | string | 到账金额 |
currency | string | 币种符号 |
fee | string | 手续费 |
apiOrder | string | 平台订单号 |
userOrder | string | 商户订单号(创建地址时传入) |
解密后的 data 示例:
json
[
{
"businessType": "deposit",
"txid": "d5b2...c91a",
"address": "TXyz...abcd",
"addressType": "trx",
"fromAddress": "TAbc...wxyz",
"amount": "100.000000",
"currency": "trx.usdt",
"fee": "1.000000",
"apiOrder": "P20260708...",
"userOrder": "A1001"
}
]金额类字段为字符串,请勿用浮点数直接比较,建议用 decimal 类库处理。
调用示例
以下示例均基于官方 SDK(见 SDK 总览),token 获取方式见 getToken。
php
require 'AnonyV2Client.php';
$client = new AnonyV2Client($appId, $serverPublicKeyB64, $merchantPrivateKeyB64);
$token = $client->getToken($secret);
// 查询 trx.usdt 第 1 页,每页 20 条
$res = $client->post('getDeposits', [
'currency' => 'trx.usdt',
'page' => 1,
'limit' => 20,
], $token);
// $res['data'] 已自动验签+解密,为充值记录数组
foreach ($res['data'] as $item) {
echo $item['userOrder'] . ' ' . $item['amount'] . ' ' . $item['currency'] . PHP_EOL;
}python
from anony_v2 import AnonyV2Client
import requests
c = AnonyV2Client(app_id, server_pub_b64, merchant_priv_b64)
# token 获取见 getToken 页面示例
req = c.build_request({"currency": "trx.usdt", "page": 1, "limit": 20}, token)
r = requests.post(c.base_url + "getDeposits", data=req["body"], headers=req["headers"])
body = r.json()
if body["code"] == 10000:
deposits = c.verify_response(body["data"], r.headers["ANONY-TIMESTAMP"],
r.headers["ANONY-NONCE"], r.headers["ANONY-SIGN"])
for item in deposits:
print(item["userOrder"], item["amount"], item["currency"])js
const { AnonyV2Client } = require('./anony_v2');
const c = new AnonyV2Client(appId, serverPubB64, merchantPrivB64);
const token = await c.getToken(secret); // Node ≥18
const req = c.buildRequest({ currency: 'trx.usdt', page: 1, limit: 20 }, token);
const r = await fetch(c.baseUrl + 'getDeposits', { method: 'POST', body: req.body, headers: req.headers });
const body = await r.json();
if (body.code === 10000) {
const deposits = c.verifyResponse(body.data, r.headers.get('anony-timestamp'),
r.headers.get('anony-nonce'), r.headers.get('anony-sign'));
for (const item of deposits) {
console.log(item.userOrder, item.amount, item.currency);
}
}常见错误
code != 10000 时 message 为错误原因,data 为空。与本接口相关的常见错误:
| message | 说明 |
|---|---|
limitError | limit 大于 100 或小于 1 |
tokenExpired | token 失效,重新调用 getToken |
signatureFailed | 签名/时间窗/nonce 校验失败,见 排错指南 |
Oops(纯文本) | 来源 IP 不在白名单 |
完整错误码列表见 错误码。
相关页面
- 充值到账回调 — 到账实时通知(字段与本接口响应元素一致)
- createAddress 创建收款地址
- 接口公共说明与枚举