Give your agent a wallet you control.
에이전트가 일회용 카드나 기계 결제 프로토콜로 온라인 결제하고, 모든 요청을 직접 승인
TribePay는 신뢰·부와 성장을 중시하는 나이지리아 은행으로, 안전한 금융과 맞춤 인사이트를 제공합니다
TribePay is a Nigerian bank focused on trust, wealth, and growth. Secure banking, personalized insights, and a commitment to your financial success.
금융TypeScript · AstroGitHub @JulianR10온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Revista digital mensual por y para mujeres. Sitio Astro SSR con suscripciones digitales y Mail Club postal.
Astro 5 SSR en Vercel · Supabase (auth, base, Storage) · Stripe y Mercado Pago · Sender (correo) · visor PDF en React.
npm ci
cp .env.example .env # completar localmente; no compartir secretos
npm run dev
npm run check
npm test
npm run build
Los precios por plan, zona y proveedor viven en el código: src/lib/pricing.ts (digital) y src/lib/mail-club.ts (Mail Club y zonas). No se copian acá para que no se desactualicen.
Push a main despliega en Vercel. Antes de deployar, aplicar las migraciones SQL pendientes de supabase/migrations/ (en orden). Después del deploy:
node scripts/smoke-prod.mjs.GET /api/cron/reconcile sin autorización debe responder 401 (no 500). Requiere CRON_SECRET en Vercel Production.Webhooks: /api/webhook/stripe y /api/webhook/mercadopago. Mantener las firmas y secretos fuera del repo. Si no pueden guardar en la base responden 500 a propósito: el proveedor reintenta; revisar los logs antes de tocar nada a mano.
Migraciones pendientes de aplicar a mano en Supabase (en orden): 032_least_privilege_writes.sql y 033_edition_notified_at.sql. El código funciona antes de aplicarlas, salvo "Notificar suscriptoras" (necesita la 033).
Contacto de soporte para mensajes al público: src/lib/contact.ts (los textos legales y las FAQ lo repiten a mano).
Zona horaria Europe/Madrid. El cron (/api/cron/reconcile, 07:00 UTC) reconcilia pagos y envía recordatorios idempotentes.
| Día | Qué pasa |
|---|---|
| 14 | El cron recuerda a las admins crear o revisar el lote; no lo crea. |
| 15 | Corte: elegibilidad y dirección quedan congeladas en el snapshot. |
| 19 | El cron recuerda registrar el despacho; no lo realiza. |
| 20 | Administración registra la salida física; recién entonces se envían los avisos. |
past_due recuperable.Los que escriben van en dry-run por defecto; revisar antes de añadir --real.
| Comando | Para qué |
|---|---|
node scripts/smoke-prod.mjs | Verificación después de cada deploy. |
node --env-file=.env scripts/purge-mail-club-retention.mjs | Purga de retención Mail Club. |
node --env-file=.env scripts/cleanup-orphan-storage.mjs | Archivos huérfanos de Storage (editions y editions-pdfs). |
node --env-file=.env scripts/cleanup-mp-pending.mjs | Cancela preaprobaciones MP pendientes. |
node --env-file=.env scripts/update-mp-mailclub-price.mjs --amount <ARS> | Cambia el precio MP de Mail Club; --real solo tras aviso de 30 días. |
node --env-file=.env scripts/resync-stripe-periods.mjs | Resincroniza los períodos de Stripe con la base. |
node --env-file=.env scripts/dedupe-subscriptions.mjs | Deja una suscripción viva por persona (ver ROADMAP). |
node --env-file=.env scripts/export-newsletters.mjs | Exporta el newsletter histórico. |
node --env-file=.env scripts/send-mailclub-preview.mjs --email=<destino> --dry | Preview; sin --dry envía correo real. |
AGENTS.md: convenciones, invariantes y dónde vive cada flujo.ROADMAP.md: trabajo en curso, próximas mejoras y cambios grandes.