跳到正文

API

本页内容

获取充值

读取任意状态下的单条收款通道充值,含冻结的费率快照、总额手续费与实收金额,以及它的链上凭据。

GET/v1/payment-channel-deposits/:payment_channel_deposit_id

API 密钥: Payment

pcd_ 标识读取单条充值,任意状态都可以。从 payment_channel.deposit.confirming webhook 拿到的 id 在这里立刻可解析,所以你不必为了以后能查而把 webhook 载荷留着。

响应 (200 OK)

{
  "id": "pcd_8ScRvL4jNq2XkB7mTfZdWu",
  "payment_channel_id": "pc_2QhKZv6mRt9WdA3nYpLbXf",
  "project_id": "prj_xFukZuAJZR06pLVBh3uwzv",
  "payment_channel_external_id": "customer-42",
  "status": "confirmed",
  "is_final": true,
  "is_test": false,
  "currency": "USDT",
  "network": "TRC20",
  "chain_id": 728126428,
  "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
  "gross": "100",
  "fee": "1",
  "net": "99",
  "applied_fee_percent": 1.0,
  "customer_fee_percent": 0,
  "tx_hash": "9f4c1b7e30ad52c8ef6a1d84b0c39f27a5e6d138f4b90c72ae51d63b8407fc25",
  "transfer_id": "9f4c1b7e30ad52c8ef6a1d84b0c39f27a5e6d138f4b90c72ae51d63b8407fc25:41a614f803b6fd780986a42c78ec9c7f77e6ded13c:41c9f6a2b7d0138e54ca3b91f6072ed48a5c1e93b7:0",
  "source_address": "TW9s4RkAqBnLpVdX2ChYzUeGm7QfKt3NbZ",
  "destination_address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
  "block_height": 68421905,
  "first_included_block_timestamp": 1767225900,
  "explorer_url": "https://tronscan.org/#/transaction/9f4c1b7e30ad52c8ef6a1d84b0c39f27a5e6d138f4b90c72ae51d63b8407fc25",
  "created_at": 1767225870,
  "updated_at": 1767225930,
  "confirmed_at": 1767225930
}

字段

字段 说明
id 充值标识(pcd_…)。去重就按它
payment_channel_idpayment_channel_external_id 收到这笔钱的通道,以及你给那个通道的标识
status confirmingreorgedconfirmed
is_final 只有 confirmed 时为 true
currencynetworkchain_idcontract_address 到账的是什么代币、到在哪里。contract_address 是代币的链上标识:EVM 和 Tron 上为合约地址,TON 上为 jetton master,Solana 上为 SPL mint
grossfeenet 十进制字符串。net 是进入你余额的金额
applied_fee_percentcustomer_fee_percent 归属时为这一条充值冻结的费率
tx_hashtransfer_idblock_height 链上凭据。transfer_id 是不透明值——用它匹配,不要解析它
source_address 链上能给出付款人地址时出现,否则不出现
destination_address 钱到达的那个通道地址
first_included_block_timestamp 交易首次出现在区块中的时间
explorer_url 该网络有区块浏览器时给出的链接
confirmed_at 充值到达 confirmed 时一次性写入

contract_address 在 schema 里可为空,只有原生币才会空着。接受的资产里没有原生币,所以你能读到的每一笔充值都带着值。GET /v1/invoices/:idpayment.contract_address 说的是同一条规则——一套代码就能处理这两个资源。

状态

状态 说明 终态
confirming 链上已看到,等待该网络要求的确认数
reorged 交易被链重组剔除
confirmed 已结算,净额已计入你的余额

confirmed 只进不出:充值一旦到达,没有任何东西能把它拉回去。reorged 是静止的,但不是终点——同一笔交易如果被重新打包进后续区块,同一条充值回到 confirming,并可以继续走到确认。全程保留它的 pcd_ 标识,所以一笔付款你永远不会看到第二条充值。

没有失败状态。重组之后再也没有被重新打包的充值,就停在 reorged

金额是记录下来的,不是重算出来的

applied_fee_percentcustomer_fee_percent 是充值归属时拍下的快照。之后改定价不会动已经存在的充值,重新读一条旧充值,拿回的还是它一直以来的 grossfeenet

正式环境下已确认的充值,这三个金额是从给你余额入账的那条记账分录里读回来的——和你对账单上看到的是同一组数字,不是重新算一遍。费率 1% 时,一笔 100 USDT 的充值给出 gross 100fee 1net 99

金额是十进制字符串,末尾的零已去掉。请用十进制类型解析;二进制浮点在稳定币这个量级上会丢精度。

错误

错误码 HTTP 何时出现
payment_channels_disabled 503 本环境下你的账户未开通收款通道
payment_key_required 403 请求用 Payout(rk_)key 签名
payment_channel_deposit_not_found 404 该 id 解析不到这个凭证可以看到的任何东西
field_invalid_format 400 路径段不是合法的 pcd_ 标识

完整目录见错误码