Pago y e-CF
Payment.status sólo responde por la autorización monetaria. El FiscalDocument tiene su propio ciclo: requested, processing, delayed, unavailable, issued, rejected u operator_required. Nunca uses verifying para el documento fiscal; ese estado pertenece a Payment.
Para un documento emitido, el contrato exige eNcf, issuedAt y la metadata del documento firmado. La representación impresa y la entrega de correo tienen estados independientes. Un pago succeeded no implica que el e-CF ya exista, y una falla fiscal no convierte el pago en declined ni dispara un reembolso automático.
Lee el documento relacionado y actúa según su estado:
import { createTimbroPayments } from "@timbro/payments";
const secretKey = process.env.TIMBRO_PAYMENTS_SECRET_KEY;if (!secretKey) throw new Error("Missing TIMBRO_PAYMENTS_SECRET_KEY");const timbro = createTimbroPayments({ secretKey });const document = await timbro.fiscalDocuments.retrieve("fiscal_document_123");Para unavailable o delayed, espera la próxima oportunidad y consulta; para rejected, corrige creando una nueva revisión; para operator_required, detén los reintentos automáticos y asigna intervención. Registra eventos fiscal_document.issued, fiscal_document.rejected y fiscal_document.operator_required, pero usa la consulta como autoridad.