Qué se puede devolver
Los cobros por QR, transferencia anunciada, cuenta de depósito dedicada
y collect no se devuelven por este camino (
refund_not_supported):
esos rieles no tienen capacidad de devolución en el procesador. Los
cobros POS se devuelven por el riel crypto con
POST /v1/pos/charges/{id}/refunds.
Ciclo de vida
Pedir una devolución
1
Devuelve el total del cobro
Omite La respuesta es
amount para devolver todo lo que queda por devolver:201 cuando el procesador aprueba en el acto, 202
cuando queda en curso y 422 cuando rechaza.2
O devuelve una parte
Manda Puedes pedir varias parciales del mismo cobro. Cuando la suma supera lo
que queda por devolver, respondemos
amount en la moneda del cobro (no en USDT). El débito se
calcula proporcional al valor que ese cobro trajo:422 refund_exceeds_payin sin tocar
tu saldo.3
Anula en vez de devolver (mismo día)
Si el cobro todavía no se liquidó en el procesador, Si el cobro ya no admite anulación, el procesador la rechaza y puedes
pedir la devolución normal.
kind: "void" lo
anula en vez de generar una devolución. Para tu saldo el efecto es el
mismo; para el tarjetahabiente, la anulación suele reflejarse antes en
su estado de cuenta.4
Consulta el estado
Segundo factor
POST /v1/payins/{payinID}/refunds es una operación que saca plata de
tu cuenta, así que exige segundo factor cuando la origina una persona
con su sesión (acción payin_refund). Si tu organización lo tiene
activo, la primera llamada responde 403 otp_required con un
challenge_id: verifica el código y repite el request con el token del
desafío.
Las API keys están exentas por diseño, igual que en el resto de la
plataforma: tu backend integra sin fricción.
Historial y filtros
status (pending, completed, failed), kind (refund,
void, chargeback), payin_id, from/to y paginación.
Cuánto lleva devuelto cada cobro
Cada cobro expone su avance de devolución, y puedes filtrar el listado de cobros por él:
El cobro no cambia de estado: sigue
credited. Tu historial
financiero no se reescribe; la devolución es un movimiento nuevo.
Contracargos
Cuando el emisor de la tarjeta impone un contracargo (chargeback), la plata ya salió: no es una decisión tuya ni nuestra. En ese caso:- Debitamos el monto de tu saldo automáticamente, con
kind: "chargeback". - El débito se aplica aunque no tengas saldo: la cuenta puede quedar en negativo y esa deuda se descuenta de tus próximos abonos.
- Recibes el webhook
payin_refundedconkind: "chargeback"y, si el saldo quedó negativo, el campobalance_after.
Lo debitado entre devoluciones y contracargos de un mismo cobro nunca
supera lo que ese cobro trajo. Si un contracargo llega después de que ya
devolviste, el débito se acota a lo que quedaba —o queda en cero, con la
razón registrada— para que nunca te cobremos dos veces el mismo dinero.
Webhook payin_refunded
Se emite en cada estado final (completed o failed) y en el
contracargo. Los pending no emiten: espera el final.
failure_reason; en un contracargo que deja
la cuenta en negativo, balance_after.
Comprobante
Cada devolución tiene su comprobante PDF con la marca de tu organización y un código de verificación pública:Errores
Catálogo completo en Errores.
Preguntas frecuentes
¿Recupero la comisión al devolver?
¿Recupero la comisión al devolver?
No. La comisión y el margen de cambio del cobro original no se
reembolsan: se debita el valor bruto que el cobro trajo y la casa retiene
lo que cobró. Es el comportamiento estándar de la industria de tarjetas.
Pedí una devolución y me respondió 202. ¿Reintento?
Pedí una devolución y me respondió 202. ¿Reintento?
No con otra clave. Un
202 significa que la devolución puede haberse
ejecutado y todavía no tenemos confirmación. Reintentar con una clave
nueva sería una segunda devolución real. Repite el request con la
misma idempotency_key (te devolvemos el mismo objeto) o espera el
webhook payin_refunded.¿En qué moneda se debita?
¿En qué moneda se debita?
Siempre en USDT, la moneda en que se acreditó el cobro, aunque tu
cuenta tenga configurado otro saldo predeterminado para los payins. No
convertimos por tu cuenta: si no tienes USDT suficiente, respondemos
insufficient_funds.¿Puedo devolver un cobro de hace meses?
¿Puedo devolver un cobro de hace meses?
Mientras el cobro esté
credited y le quede saldo por devolver, sí por
nuestra parte. El límite real lo pone el procesador y las reglas de las
marcas (habitualmente 180 días); pasado ese plazo la devolución se
rechaza con failed y el monto reservado vuelve a tu saldo intacto.¿Y si mi saldo queda negativo por un contracargo?
¿Y si mi saldo queda negativo por un contracargo?
La cuenta puede operar en negativo solo por esta causa. La deuda se
salda automáticamente con tus próximos abonos; mientras tanto, las
operaciones que sacan plata seguirán exigiendo saldo disponible.
¿Puede devolver también el administrador de mi organización?
¿Puede devolver también el administrador de mi organización?
Sí. El panel de administración permite originar la devolución sobre
cualquier cuenta de la organización; queda auditada con el administrador
que la ejecutó y aparece en tu historial con
requested_by: "admin".