Apartados externos: recibos automáticos y barrido de links pendientes
Cierre de gaps de V-3.2.0279: (1) al confirmarse el webhook se envía recibo al cliente con folio, monto, pasarela, saldo anterior/restante, total pagado, fecha límite, productos y términos; cuando el saldo llega a 0 incluye bloque de listo-para-entrega. La idempotencia (receipt_email_sent_at / ready_pickup_email_sent_at) garantiza un solo correo por pago confirmado y los fallos de correo se registran en layaway_events sin revertir la reconciliación. (2) Barrido de links pendientes: si el link de depósito inicial no se paga en 24h (configurable por owner), se marca expired, se libera el inventario y se cancela el apartado; los links de abono solo expiran sin tocar inventario ni cancelar. Nunca se libera inventario si hay pagos confirmados o si el apartado está paid_pending_pickup. (3) Etiqueta UI agregada para partially_paid. (4) Generación de links restringida a pasarelas verificadas (EcartPay) tanto en UI como en servidor.
Aspectos destacados
- Recibos automáticos al confirmar pago
- Bloque listo-para-entrega en el correo
- Idempotencia de correos
- Barrido de links pendientes 24h
- Inventario liberado solo si es seguro
- Etiqueta partially_paid
- Solo EcartPay para apartados