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.
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 | Sí |
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.