# Pagos y confirmación · Documentación de Pagos Express > Cómo confirmar que un cobro se pagó: estados del pago, GET /v1/payments, sincronización manual con la pasarela y por qué solo succeeded confirma fondos. HTML: https://pagos.express/docs/pagos Texto para modelos: https://pagos.express/docs/pagos.llms.txt Índice de la documentación: https://pagos.express/docs Un pago nace cuando el cliente inicia el checkout. Solo `succeeded` confirma que el dinero llegó a la cuenta conectada. ## Estados - `pending`: el checkout se creó y el cliente no terminó. No entregues nada. - `succeeded`: la pasarela (Stripe o eCart Pay) confirmó el pago. Único estado que confirma fondos. - `failed`: un método asíncrono falló tras el checkout. El enlace vuelve a ser pagable si sigue vigente. - `canceled`: la sesión expiró o se canceló. El enlace puede reintentarse. Un pago `provider: "manual"` lo registró el comercio con `mark_paid`: trae `note`, `method` y, si se adjuntó, un comprobante en `GET /v1/payments/{id}/reference` (`hasReference`). La página de éxito del navegador no prueba nada. Confirma con la API o con el webhook `payment.succeeded`. ## Listar y consultar - `GET /v1/payments` con `limit`, `starting_after`, `status` (ej. `?status=succeeded`). - `GET /v1/payments/{id}`: incluye `linkId`, `amountCentavos`, `paidAt`, `reconcileAfter`, `reconcileError`. ## Sincronizar con la pasarela `POST /v1/payments/{id}/sync` responde `{ paymentId, status, outcome }` con `outcome` en updated, pending, retrying o needs_review. Un pago con verificación en curso responde 409. Puede recuperar el checkout original si la respuesta de creación se perdió; nunca reembolsa. Un worker de conciliación revisa los pagos pendientes continuamente; para enterarte al instante usa webhooks.