Pagos

Guía de activación Stripe y MercadoPago
Sistema operativo

Fuego Social — Pagos: Guía de Activacion

Todo el codigo esta listo. Manana solo necesitas hacer esto:


1. Stripe

1.1 Crear cuenta

  • Ir a https://dashboard.stripe.com/register
  • Usar el email de Fuego Social

1.2 Obtener claves

  • Dashboard → Developers → API keys
  • Copiar Publishable key (pk_live_...) → STRIPE_PUBLISHABLE_KEY
  • Copiar Secret key (sk_live_...) → STRIPE_SECRET_KEY

1.3 Configurar webhook

  • Dashboard → Developers → Webhooks → Add endpoint
  • URL: https://fuegosocial.com/api/webhooks/stripe
  • Eventos a escuchar:

- payment_intent.succeeded

- payment_intent.payment_failed

- charge.refunded

  • Copiar el "Signing secret" (whsec_...) → STRIPE_WEBHOOK_SECRET

1.4 Activar Stripe Connect (para pagar a los hosts)

  • Dashboard → Connect → Get started
  • Tipo: Standard accounts
  • Esto permite que cada host reciba su pago directamente

2. MercadoPago

2.1 Crear cuenta

  • Ir a https://www.mercadopago.com.ar (o .com.mx / .com.br segun el pais objetivo)
  • Crear cuenta de vendedor (no personal)

2.2 Crear aplicacion

  • Ir a https://www.mercadopago.com.ar/developers/panel/app
  • Crear nueva aplicacion → "Fuego Social"
  • Copiar:

- Access tokenMERCADOPAGO_ACCESS_TOKEN

- Public keyMP_PUBLIC_KEY

2.3 Configurar webhook

  • En la aplicacion → Webhooks
  • Agregar URL: https://fuegosocial.com/api/webhooks/mercadopago
  • Evento: payment
  • Copiar el secret → MERCADOPAGO_WEBHOOK_SECRET

2.4 Marketplace (opcional, para split a hosts)

  • Solicitar acceso a "Marketplace" en el soporte de MP
  • Dashboard → OAuth → Copiar Client ID y Client Secret

MP_CLIENT_ID, MP_CLIENT_SECRET


3. Aplicar la migracion de DB

``bash

psql -U tenant -d fuegosocial -f migrations/002_payments.sql

`


4. Agregar las claves al .env

`bash

cp server/.env.example server/.env

Editar server/.env con las claves reales

`


5. Integrar las rutas en api.js

En server/api.js, agregar al inicio:

`js

const { PAYMENT_ROUTES } = require("./payment-routes");

`

Y en el array ROUTES, antes del catch-all 404:

`js

...PAYMENT_ROUTES,

`

Ver el comentario al final de server/payment-routes.js para el snippet completo.


Flujo de pago

Stripe (tarjeta internacional / EUR / USD)

  1. Frontend: POST /api/payments/stripe/intent → recibe client_secret
  1. Frontend: Stripe.js confirma el pago con client_secret
  1. Stripe: llama al webhook /api/webhooks/stripe → booking se marca paid

MercadoPago (ARS / BRL / MXN)

  1. Frontend: POST /api/payments/mp/preference → recibe init_point URL
  1. Usuario: redirigido a MercadoPago, paga, vuelve
  1. MP: llama al webhook /api/webhooks/mercadopago → booking se marca paid

Archivos creados

ArchivoDescripcion

|---|---|

server/lib/payments.jsServicio de pagos (Stripe + MP)
server/payment-routes.jsRutas API de pagos + webhooks
migrations/002_payments.sqlCampos de MP, payment_events, payouts
server/.env.exampleVariables de entorno documentadas
server/lib/env.js`Actualizado con nuevas vars