propuesta · ago 2026

Portal de pagos · apps/payments-portal

La pantalla del dinero no es de la marca.

El cliente recibe el enlace por WhatsApp, lo abre en el teléfono y ahí decide si confía o no. Esa pantalla —la última del embudo— usa un azul que no es el nuestro #3765c0, un morado que nadie eligió, dos verdes de Tailwind y un logotipo blanco sobre fondo blanco que, literalmente, no se ve. Ninguno de los cuatro colores de Mogos aparece. Esta propuesta la viste con el sistema: membrete marino, un solo azul y el wordmark vectorial.

Pantallas
7 + modo embed
Métodos
Stripe · PayPal · Binance · Zelle
Colores de marca hoy
0 de 4
Endpoints nuevos
Ninguno
Migraciones
Ninguna
01El azul que no es el nuestro
color-variables.css

El portal hereda la rampa brand de packages/ui, cuyo 500 es #3765c0. Es un azul de plantilla: nació con el tema base y nunca se cambió. El marino de Mogos, #021B54, es otro color — más profundo, más tinta que cielo. Al lado se nota; en el checkout, donde el cliente compara lo que ve con el correo que recibió, se nota más.

Hoy · brand-500
#3765C0
Botones, bordes de selección, montos destacados. No pertenece a la paleta.
Marino
#021B54
Color ancla de Mogos. Acción, tinta y superficie del membrete.
Celeste
#AAE4F3
Frescura. Aquí: lo seleccionado, el tramo del pago en curso y el sello de seguridad.
Rojo
#C9313C
El punto de la «s» y nada más que el error. En un checkout el rojo tiene un solo significado.

Falta un quinto elemento que no es un color pero sí es la marca. En Mogos el degradado es ADN, no adorno: tokens.css lo dice y prohíbe a la vez usarlo como ruido de fondo. En un checkout eso se traduce en una regla clara.

Degradado de marcamarino → celeste-deep → lima · 120°
El degradado marca movimiento. Aparece donde algo avanza o algo se completó: la barra de progreso —que es el degradado creciendo hacia el pago completo—, el filo del membrete, el canto del botón, el bloque del monto y la placa de «pagado».
Dónde no va. Detrás de texto largo, en los campos del formulario, en la pantalla de error —el rojo es plano a propósito— y en el modo embed, que sería marca sobre marca. Tampoco en el canto de la tarjeta del resumen: se queda marino sólido porque un canto no se mueve, y a 20px de la barra eran dos degradados peleando.

El azul de plantilla no es lo único. Hay colores sueltos que no salen de ninguna variable: entraron a mano, uno por uno, y hoy conviven en la misma pantalla.

Azul de plantillapackages/ui/src/styles/color-variables.css:15
#3765c0 como color de marca en botones, bordes de selección y el monto destacado. Lo comen también admin, client y el portal del agente — por eso el cambio se scopea (ver 10).
Morado en Zellecomponents/zelle/zelle-payment-form.tsx
purple-600 / purple-200 / purple-50 en las tres cajas de copiar. Es el único morado de toda la plataforma.
Barra de progresocomponents/payment/payment-progress-bar.tsx
blue-500 para lo pagado y green-500 para el pago en curso: dos colores de Tailwind sin relación con la marca, y un azul que además compite con el azul de plantilla a dos centímetros de distancia.
Lienzo grisapp/pay · app/page · app/success · app/error
from-gray-50 via-white to-gray-100 en las cuatro páginas. Mogos tiene un off-white frío propio, --hueso #F7F9FC, que es el que usan el manual y las demás propuestas.
El logotipo invisiblecomponents/layout/payments-header.tsx:15-21
La cabecera monta el logo blanco (isDarkBackground={true}) sobre bg-black/10, que está encima de un fondo casi blanco. Contraste real ≈ 1.2 : 1. En las cinco pantallas, la marca no se ve. Es el error más caro de la lista: la única señal de quién cobra.
El vencimiento mudoschemas/payment/token-schema.ts:51
El enlace caducaexpiresAt viaja en la respuesta del token — y ninguna pantalla lo dice. El cliente que lo deja para mañana se topa con un error sin haber sido advertido.
Logo rasterizadocomponents/layout/MogosLogo.tsx
Cuatro PNG (blanco/negro × largo/corto). El repo ya tiene el wordmark vectorialMogosWordmark, del trabajo de shipping mark — que recolorea con currentColor y nunca se pixela.
02Tres tipografías, cero excepciones
app/layout.tsx

El portal carga Geist y Geist Mono. La marca son exactamente tres familias: Neue Haas Display para títulos y datos, Source Serif 4 para el texto que se lee de corrido, Oswald para los labels en caps. No hay monospace en el sistema — el papel de «metadata» lo hace Neue Haas con cifras tabulares, que es justo lo que un checkout necesita: montos que se alinean por la coma y no bailan al actualizarse.

Hoy · Geist
Completa tu pago
Selecciona el monto que deseas abonar y el método de pago. La transacción es procesada de forma segura.
Monto a pagar ahora
$1.240,00 · 50% · FL-2481
Geist · Geist Mono — el default del template de Next.
Propuesta · el sistema
Completa tu pago
Selecciona cuánto quieres abonar y con qué método. El cobro lo procesa la pasarela; Mogos nunca ve tu tarjeta.
Monto a pagar ahora
$1.240,00 · 50% · FL-2481
Neue Haas Display · Source Serif 4 · Oswald — con tabular-nums en toda cifra.
03El membrete
payments-header.tsx

La cabecera deja de ser un vidrio transparente sobre un fondo claro y pasa a ser una banda marino: la misma superficie oscura del manual, del correo y de la nota de entrega. Es lo que arregla el bug —el fondo por fin es oscuro— y de paso le da a la banda un segundo trabajo: decir qué se está pagando y hasta cuándo sirve el enlace.

Pago seguro
ReferenciaFL-2481
El enlace vence6 ago · 18:40
  1. 1Wordmark vectorial blanco con el punto rojo #C9313C fijo. Nunca tecleado con una fuente: es la geometría real, la misma que la etiqueta de las cajas.
  2. 2Sello de pago seguro en celeste, no en verde. El verde en esta pantalla significa una sola cosa —pagado— y no debe gastarse en un adorno.
  3. 3Segunda línea con la identidad del cobro: referencia y vencimiento. Los dos datos ya viajan en la respuesta del token y hoy no se muestran.
  4. 4Filo de 3px con el degradado de marca cerrando la banda. Es el mismo remate del membrete de los PDF y los correos: cose las superficies entre sí.
04Cuánto debo y cuánto voy a pagar
/pay · paso 1

Mismo flujo, mismos hooks, mismos datos. Cambia el color, cambia la tipografía y cambian tres cosas de fondo: la barra de progreso dice qué significa cada tramo, el botón dice cuánto se va a cobrar, y el enlace dice cuándo caduca.

Hoy
Pago Seguro

Completa tu pago

Selecciona el monto y el método de pago

Resumen del pago

Flete
ReferenciaFL-2481
Descripción
Flete marítimo Shenzhen — La Guaira · 12 cajas
Pagado $1.240,00 de $2.480,00
Monto a pagar ahora$620.00
Pago seguro con encriptación SSL

¿Cuánto deseas pagar?

Opciones rápidas
25%$310.00
50%$620.00
75%$930.00
90%$1116.00
Pago completo$1240.00
Monto personalizado (USD)
$  Máx: 1240.00
Continuar con $620.00
Encriptación SSL de 256 bits
© 2026 Mogos. Todos los derechos reservados.

El logotipo está ahí arriba — blanco, sobre casi blanco. Debajo, dos azules distintos y un verde compitiendo en tres centímetros; la barra no explica qué es cada tramo y el monto sale con punto decimal anglosajón.

Propuesta
Pago seguro
ReferenciaFL-2481
El enlace vence6 ago · 18:40

Resumen del pago

Flete
Pagado $1.240,00 Este pago $620,00 Queda $620,00
ConceptoFlete marítimo Shenzhen — La Guaira · 12 cajas
Total del flete$2.480,00
A pagar ahora $620,00

¿Cuánto quieres pagar?

25%$310,00
50%$620,00
75%$930,00
90%$1.116,00
Todo lo que queda$1.240,00
$Hasta 1.240,00
Pagar $620,00
Cobro cifrado · Mogos no guarda tu tarjeta

La marca se ve. La barra dice qué es cada tramo con color y texto —no solo con color—, el monto va en Neue Haas con coma decimal, y el botón nombra el resultado: Pagar $620,00.

05Con qué lo pago
/pay · paso 2

Los cuatro métodos van en monocromo. No es austeridad: es que la selección sea la única señal de color de la rejilla — hoy compiten cuatro logotipos a todo color con el borde azul del seleccionado, y el ojo no sabe cuál está elegido. Con las marcas apagadas, el celeste del seleccionado se lee de una.

Hoy
Pago Seguro
Volver a selección

Resumen del pago

Flete
Monto a pagar ahora$620.00

Método de pago

stripeTarjeta
PayPalPayPal
BINANCEBinance Pay
zelleZelle
Encriptación SSL de 256 bits
© 2026 Mogos. Todos los derechos reservados.

Morado, dorado, dos azules ajenos y el azul de plantilla del borde seleccionado: cinco marcas de color peleando por la misma rejilla.

Propuesta
Pago seguro
ReferenciaFL-2481
El enlace vence6 ago · 18:40
Cambiar el monto
Flete FL-2481 · pagando$620,00

¿Con qué quieres pagar?

stripeTARJETA
PayPalSALDO O TARJETA
BinanceCRIPTO
ZelleTRANSFERENCIA

Datos de la tarjeta

4242 4242 4242 4242
08 / 29
•••
Pagar $620,00
Procesa Stripe · Mogos no ve tu tarjeta

Los cuatro métodos en la tinta del sistema; el seleccionado se marca con celeste + borde marino + palomita. El resumen se encoge a una línea: el cliente ya decidió el monto, no necesita releerlo entero.

Lo que hay que decidir

Los logotipos de Stripe, PayPal, Binance y Zelle vienen del backend (method.logoUrl). Para que salgan monocromos hay dos caminos: subir versiones en un solo tono a los métodos de pago del admin, o aplicar filter: grayscale(1) y bajar el filtro al seleccionar. Lo primero es más limpio y no depende de CSS; lo segundo no requiere tocar datos.

06Zelle, sin el morado
zelle-payment-form.tsx

Zelle es el método donde el cliente hace más trabajo: copiar tres datos, salir a su banco, volver y avisar. Las cajas de copiar merecen ser lo más claro de la pantalla — y ser del mismo color que todo lo demás. Se conserva la mecánica exacta (copiar, confirmar con el nombre del remitente); cambia el morado por celeste, y el estado copiado pasa a verde de sistema, que es lo único que en esta pantalla significa «hecho».

Hoy
Pago Seguro

Pagar con Zelle

Envía el pago desde tu banco y notifícanos

Enviar a este correo
mogosgroup@gmail.com
Memo / Referencia
FL-2481
Monto exacto
620.00 USD
Nombre del remitente
Como aparece en tu banco
Ya realicé el pago
Encriptación SSL de 256 bits
© 2026 Mogos. Todos los derechos reservados.

El único morado de toda la plataforma vive acá — tres veces. Y el botón deshabilitado no explica qué falta para habilitarlo.

Propuesta
Pago seguro
ReferenciaFL-2481
El enlace vence6 ago · 18:40

Paga con Zelle

Copia los tres datos, haz el envío desde tu banco y vuelve a avisarnos. Confirmamos apenas entre.

1 · Enviar amogosgroup@gmail.com
Copiado
2 · MemoFL-2481
Copiar
3 · Monto exacto620,00 USD
Copiar
El memo es lo que nos deja identificarteSin FL-2481 en el memo, el pago llega sin dueño y la confirmación tarda.
Carlos Carrasquero
Ya hice el Zelle de $620,00
Verificamos y te confirmamos por WhatsApp

Tres pasos numerados, celeste del sistema, y el copiado en verde. La nota explica por qué el memo importa —hoy el cliente lo omite y el pago llega huérfano— y el botón dice el monto que declara haber enviado.

07Los que se van y vuelven
PayPal · Binance Pay

PayPal y Binance sacan al cliente del portal y lo devuelven. El regreso ya está resuelto en el código —merchantTradeNo dispara una verificación con reintentos—, pero se muestra con tarjetas grises y un amber-600 suelto. Aquí los tres estados del regreso hablan el idioma del sistema, y ninguno deja al cliente sin próximo paso.

Pago seguro
ReferenciaFL-2481
MétodoPayPal

Paga con PayPal

Te llevamos a PayPal para autorizar el cobro y regresas aquí solo.

Monto$620,00 USD
Continuar en PayPal

Si cierras PayPal sin pagar, vuelves a esta pantalla intacta.

Autoriza PayPal · Mogos no ve tus datos
Pago seguro
ReferenciaFL-2481
MétodoBinance Pay

Volviste de Binance

Estamos verificando tu pagoToma unos segundos. No cierres esta pantalla.
Binance aún no lo confirmaSuele tardar pocos minutos. Te avisamos por WhatsApp apenas entre; también puedes volver a revisar.
Revisar de nuevo
El pago no se completóNo se cobró nada. Puedes intentar otra vez o elegir otro método.
Elegir otro método

Los tres estados del regreso se muestran juntos para compararlos; en la pantalla real aparece uno a la vez. Ninguno es un callejón sin salida: verificando pide esperar, pendiente ofrece revisar y avisa por WhatsApp, fallido dice que no se cobró nada y devuelve a los métodos.

08Pagado · y cuando no
/success · /error

La pantalla de éxito es la que el cliente le muestra a alguien más —le manda la captura a su proveedor, a su contador, a su esposa—. Merece ser la más de Mogos de todas: el monto grande, el comprobante a un toque y el número de transacción legible.

Hoy

¡Pago Exitoso!

Tu pago ha sido procesado correctamente

Monto pagado
$620.00
ID de transacción: pi_3QxK8mL2eZvKYlo2C9dR7hTn
Ver recibo

Recibirás un correo de confirmación en breve

Encriptación SSL de 256 bits
© 2026 Mogos. Todos los derechos reservados.

La captura que el cliente reenvía no dice qué pagó ni a quién: no hay referencia, no hay saldo restante y el logotipo sigue sin verse.

Propuesta

Recibimos tu pago

Ya lo abonamos a tu flete. Te enviamos el comprobante por correo.

Pagaste$620,00
FleteShenzhen — La Guaira
Saldo del flete$620,00
Ver el comprobante
Transacción pi_3QxK8mL2eZvKYlo2C9dR7hTn
Mogos C.A. · J-500832109 · Caracas

La captura se explica sola: quién cobró, qué flete, cuánto entró, cuánto queda y con qué tarjeta. El saldo restante es la información que hoy falta y que evita la siguiente pregunta por WhatsApp.

Hoy · error

Error en el Pago

Hubo un problema al procesar tu pago. Por favor, intenta nuevamente.

Código de error: card_declined
Intentar de nuevo

Si el problema persiste, contacta a soporte

Encriptación SSL de 256 bits
© 2026 Mogos. Todos los derechos reservados.

«Hubo un problema» no dice qué pasó, y card_declined crudo no le sirve a nadie. Tampoco dice lo único que calma: que no se cobró nada.

Propuesta · error
Pago seguro
ReferenciaFL-2481
El enlace vence6 ago · 18:40

Tu banco rechazó la tarjeta

No se cobró nada. Suele pasar por límite diario o por compras internacionales bloqueadas.

Probar con otra tarjeta
Pagar por Zelle o Binance
Escribirle a Mogos por WhatsApp
card_declined · FL-2481
El enlace sigue activo hasta el 6 de agosto

El error dice qué pasó, que no se cobró, por qué suele pasar y tres salidas. El código crudo se conserva abajo, para soporte, sin protagonizar la pantalla.

09La portada y el modo embed
/ · ?embed=true

Dos pantallas que casi nadie mira y que igual son la marca. La portada es lo que ve quien entra al dominio sin enlace: hoy es una tarjeta genérica con tres iconitos. El modo embed es el portal metido en un iframe del panel: no lleva membrete —el contenedor ya tiene marca— pero sí lleva el mismo color, la misma tipografía y las mismas cifras tabulares.

Pago seguro

Aquí se pagan los envíos de Mogos

Esta página necesita el enlace de pago que te enviamos por WhatsApp o correo. Ábrelo desde ahí.

Tarjeta, PayPal, Binance y Zelle
Cobro cifrado punta a punta
No guardamos tu tarjeta
Escribirle a Mogos por WhatsApp
Mogos C.A. · J-500832109 · Caracas, Venezuela
Panel de Mogos · iframe

Cobrar el flete FL-2481

Embed
Pagado $1.240,00 Este pago $620,00
A pagar ahora$620,00
stripeTARJETA
ZelleTRANSFERENCIA
Pagar $620,00

En embed no hay membrete —sería marca sobre marca— pero el filo del degradado desaparece y el color no: mismas tarjetas, mismo marino, mismas cifras. El postMessage al padre y la lista de orígenes permitidos no se tocan.

10Qué cambia en el código
cero endpoints · cero migraciones

Ningún hook cambia de forma, ningún endpoint nace y la base de datos no se toca. Lo que se reescribe es la piel — más cuatro arreglos que ya eran deuda: el logotipo invisible, el vencimiento mudo, el error sin salida y el saldo que falta al final.

app/theme-pagos.css (nuevo)
El marino se scopea al portal. --colors-brand-* vive en packages/ui y lo comen admin, client y el portal del agente: repintarlo ahí repinta cuatro aplicaciones de golpe. El portal redefine su propia rampa y sus superficies en un archivo suyo; migrar el resto del monorepo queda como decisión aparte.
app/layout.tsx
Geist y Geist Mono salen; entran Neue Haas Display, Source Serif 4 y Oswald con el mismo patrón que ya usan las demás superficies de marca.
components/layout/payments-header.tsx
Banda marino con --grad-hero, filo de 3px en --grad-marca y segunda línea con referencia + vencimiento. Aquí muere el bug del logo: el fondo por fin es oscuro y el blanco se lee.
components/layout/MogosLogo.tsx
Los cuatro PNG se sustituyen por el wordmark vectorial que el repo ya tiene (MogosWordmark, del trabajo de shipping mark): recolorea con currentColor, nunca se pixela y pesa menos que cualquiera de los PNG.
components/payment/payment-progress-bar.tsx
Los dos colores de Tailwind salen y entra un solo relleno: el --grad-marca creciendo hacia el pago completo, con una costura de 2px marcando hasta dónde ya estaba pagado. Debajo, la leyenda nombra cada tramo con texto y monto, no solo con color. Es una barra y dos div: el cálculo de porcentajes que ya existe no se toca.
components/zelle/zelle-payment-form.tsx
Los tres moradosn salen; entran celeste y el verde de sistema para «copiado». Se numeran los pasos y se explica por qué el memo importa. La mecánica de copiar y notifyPayment no se toca.
payment-summary.tsx · payment-amount-selector.tsx
Tarjetas del sistema, cifras tabulares, coma decimal, y los tiles a 56px de alto (área táctil mínima). El botón pasa de «Continuar con $620.00» a «Pagar $620,00».
payment-method-selector.tsx
Rejilla monocroma; el seleccionado se marca con celeste + borde marino + palomita. Requiere decidir logotipos en un tono o grayscale por CSS (ver 05).
app/success/page.tsx
Monto grande en Neue Haas, referencia y método en el membrete, y el saldo restante del flete — el dato que hoy falta y genera la siguiente pregunta por WhatsApp. Viene en la misma respuesta de confirmación.
app/error/page.tsx
Mensajes por código en vez de «Hubo un problema»: qué pasó, que no se cobró nada, por qué suele pasar y tres salidas (otra tarjeta, otro método, WhatsApp). El código crudo se conserva al pie para soporte.
Vencimiento del enlace
expiresAt ya viaja en token-schema.ts y nadie lo muestra. Basta pintarlo en el membrete para que el cliente sepa hasta cuándo sirve el enlace.
Stripe · PayPal
Stripe Elements se tematiza con su Appearance API (variables de color, radio y familia) para que los campos de tarjeta no rompan el marino. Los botones de PayPal aceptan color y shape; se dejan en su forma reconocible, que en un checkout es un activo de confianza y no una inconsistencia.
La única decisión que no es de diseño

Si el marino se queda scopeado al portal o se promueve a packages/ui y repinta admin, client y el portal del agente de una vez. La propuesta empieza scopeada: el portal es la superficie más chica, la más visible para el cliente y la que menos rompe si algo sale mal. Una vez validada ahí, la misma rampa migra al resto sin volver a discutirla.

El último clic también es la marca.

Mogos cuida el correo, la cotización, la etiqueta de la caja y la nota de entrega. Entre medio, la pantalla donde el cliente entrega el dinero se ve como un template de Next con un azul cualquiera y un logotipo que no se ve. Es la pantalla de mayor desconfianza del recorrido — y la única sin un solo color de la casa. Vestirla no cuesta un endpoint ni una migración: cuesta decidir que ahí también somos nosotros.