Ir al contenido

API

En esta página

Obtener depósito

Lee un depósito de canal de pago en cualquier estado, con su comisión congelada, sus importes bruto, comisión y neto, y sus pruebas en cadena.

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

Clave de API: Payment

Lee un depósito por su identificador pcd_, en cualquier estado. Un id que conociste por un webhook payment_channel.deposit.confirming resuelve aquí de inmediato, así que nunca tienes que guardar el contenido de un webhook solo para poder consultarlo más tarde.

Respuesta (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
}

Campos

Campo Significado
id El identificador del depósito (pcd_…). Es el campo por el que descartas duplicados.
payment_channel_id, payment_channel_external_id El canal que lo recibió y el identificador que tú le diste a ese canal.
status confirming, reorged o confirmed.
is_final true únicamente en confirmed.
currency, network, chain_id, contract_address El token que llegó y por dónde. contract_address es el identificador del token en cadena: dirección de contrato en EVM y Tron, jetton master en TON, SPL mint en Solana.
gross, fee, net Cadenas decimales. net es lo que llega a tu saldo.
applied_fee_percent, customer_fee_percent Las tarifas congeladas para este depósito en el momento de atribuirlo.
tx_hash, transfer_id, block_height Pruebas en cadena. transfer_id es opaco: cásalo tal cual, no intentes descomponerlo.
source_address La dirección del cliente cuando la cadena la expone; si no, no viene.
destination_address La dirección del canal a la que llegó el dinero.
first_included_block_timestamp Cuándo apareció la transacción por primera vez en un bloque.
explorer_url Enlace a un explorador de bloques cuando esa red tiene uno.
confirmed_at Se fija una sola vez, cuando el depósito llegó a confirmed.

En el esquema contract_address es opcional y solo queda vacío en una moneda nativa. Ninguna moneda nativa figura entre los activos aceptados, así que todo depósito que puedas leer trae un valor. GET /v1/invoices/:id describe la misma regla para payment.contract_address: un solo camino de código sirve para los dos recursos.

Estados

Estado Significado Final
confirming Visto en cadena, a la espera de las confirmaciones que exige esa red No
reorged Una reorganización de la cadena tumbó la transacción No
confirmed Liquidado. El importe neto se abona a tu saldo

confirmed no tiene marcha atrás: cuando un depósito llega ahí, ya nada lo mueve. reorged está en reposo, pero no es final: si esa misma transacción vuelve a entrar en un bloque posterior, el mismo depósito regresa a confirming y puede seguir hasta confirmarse. Conserva su identificador pcd_ todo el rato, así que nunca ves un segundo depósito para un mismo pago.

No hay estado de fallo. Un depósito al que le toca una reorganización y nunca se vuelve a incluir se queda simplemente en reorged.

El dinero se registra, no se recalcula

applied_fee_percent y customer_fee_percent son una foto tomada cuando se atribuyó el depósito. Cambiar tu tarifa después no altera un depósito que ya existe, y releer un depósito antiguo devuelve el mismo gross, el mismo fee y el mismo net de siempre.

En un depósito confirmado de producción esos tres importes se releen del asiento contable que abonó tu saldo: son los mismos números que ves en tu extracto, no un recálculo. Con una comisión del 1,0 %, un depósito de 100 USDT informa gross 100, fee 1 y net 99.

Los importes son cadenas decimales sin ceros finales. Léelos con un tipo decimal: la coma flotante binaria pierde precisión a la escala de una stablecoin.

Errores

Code HTTP Cuándo
payment_channels_disabled 503 Los canales de pago no están activados para tu cuenta en este entorno.
payment_key_required 403 La petición se firmó con una clave Payout (rk_).
payment_channel_deposit_not_found 404 El id no resuelve a nada que esta credencial pueda ver.
field_invalid_format 400 El segmento de la ruta no es un identificador pcd_ válido.

Consulta Códigos de error para el catálogo completo.