Estos endpoints ya están implementados y verificados contra el sandbox de DSI (creación del pago
con link real y cierre del estado por webhook). Falta el host público definitivo de los callbacks
para operar en producción; por eso el grupo sigue marcado como Pronto.
storeId, terminalId); PayBridge
resuelve el proveedor, crea el pago y devuelve un link de pago que el canal le muestra al cliente.
El estado final llega por el webhook de estado. La
configuración del comercio (credenciales, métodos, terminales) ya vive en el proveedor vía el
config sync, por eso el cobro viaja lean.
Autenticación
string
requerido
API key de Fire vendor-scoped con el scope
paybridge:charge. El accountId y el vendorId
se derivan de la key; una key sin vendor responde 403.{ "success": true, "data": { … } }.
Cobro e intentos
Cobro (intent)
El cobro de una orden: monto total, moneda, tienda, terminal y canal. Es lo que el canal crea
una sola vez.
Intento (attempt)
Cada intento de pago dentro del cobro. Ocupa un cupo (
slot): un cupo por método en el
pago mixto, y un intento nuevo en el mismo cupo cuando se reintenta.
Estados del intento:
Flujo
1
Crear el cobro
El canal llama a
POST /intents con la orden, el monto, el método y su storeId/terminalId.
PayBridge crea el pago en el proveedor y devuelve el paymentLink en el primer intento.2
Mostrar el link
El canal muestra el
paymentLink (redirect, QR o iframe) para que el cliente pague.3
Conocer el resultado
Fire recibe el estado del proveedor por
webhook y actualiza el intento y el cobro. El canal
lo consulta con
GET /intents/{intentId}.4
Cerrar el caso
Si el cliente no paga, cancela el intento. Si el pago ya está aprobado, reembolsa. Si
falla o falta plata, agrega otro intento con
POST /intents/{intentId}/pay.Endpoints
Crear cobro
POST /api/v1/external/paybridge/intents
string
requerido
Identificador de la orden en el sistema del canal (máx. 80 caracteres). Es la clave de
idempotencia: repetir el mismo valor devuelve el cobro ya creado, sin duplicarlo.
string
requerido
Código del método de pago en Fire (p. ej.
deuna, rutpay). Debe estar activo en el catálogo,
si no responde 400.number
requerido
Monto total a cobrar, en la unidad mayor de la moneda (p. ej.
19.90).string
requerido
Moneda ISO 4217 de 3 letras (
USD, CLP, COP, ARS, VES, BRL).string
requerido
UUID de la tienda en Fire. Viaja al proveedor como
branchOffice.string
requerido
Id de la terminal POS o del dispositivo de kiosco. Viaja al proveedor como
pointOfSale.string
requerido
Canal que origina el cobro:
POS, KIOSK, WEB o APP.string
País del cobro (ISO alpha-2). Se puede omitir si el método pertenece a un solo país: en ese
caso Fire lo deriva. En métodos multi-país es obligatorio; sin él, el intento queda
failed
porque no se puede resolver la conexión del país.object
Datos opcionales del pagador. Se reenvían al proveedor cuando los pide.
object
El cobro con todos sus intentos.
Si el proveedor rechaza la creación del pago, la respuesta sigue siendo
201: el cobro existe y
su intento queda en failed con el motivo en errorDescription. Revisa el estado del intento, no
solo el código HTTP.Consultar cobro
GET /api/v1/external/paybridge/intents/{intentId}
Devuelve el estado local del cobro y todos sus intentos. No llama al proveedor: el estado se
mantiene al día con el webhook.
string
requerido
UUID del cobro devuelto al crearlo. Solo se ven los cobros de la cuenta de la API key; el de otra
cuenta responde
404.object
Mismo objeto que devuelve la creación.
Agregar un intento
POST /api/v1/external/paybridge/intents/{intentId}/pay
Sirve para dos cosas: reintentar un método que falló y pagar mixto (varios métodos en la
misma orden).
string
requerido
UUID del cobro.
string
requerido
Método del intento nuevo.
number
Monto del intento. Si se omite, se usa lo que falta (
amountTotal - amountPaid).number
Cupo al que pertenece el intento. Si se omite, se abre un cupo nuevo (pago mixto). Para
reintentar, manda el
slot del intento que falló. Un cupo con un intento activo responde
400.object
El cobro actualizado, con el intento nuevo dentro de
attempts.Un cobro ya cerrado (
succeeded, canceled o reversed) no acepta intentos nuevos: responde 400.Cancelar intento
POST /api/v1/external/paybridge/attempts/{attemptId}/cancel
Cancela un intento activo cuyo link todavía no se pagó (o venció).
string
requerido
Id del intento a cancelar.
object
El cobro actualizado; el intento queda en
canceled.Reembolsar intento
POST /api/v1/external/paybridge/attempts/{attemptId}/refund
Reembolsa un intento ya aprobado (succeeded).
string
requerido
Id del intento aprobado.
object
El cobro actualizado; el intento pasa a
solving hasta que el proveedor confirme.Errores
Todos los errores traen
{ "success": false, "error": "…", "message": "…" }.
Relacionado
Webhook de estado
Cómo el proveedor le avisa a Fire que el pago se aprobó, se canceló o se reembolsó.
Config sync hacia DSI
Cómo la config del comercio llega al proveedor para que el cobro sea lean.
Métodos soportados por país
Qué métodos puede cobrar cada país y con qué código.
Disponibilidad de métodos
Qué método está encendido en cada tienda, dispositivo y canal.

