Ir al contenido

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.