michangarrito/docs/02-integraciones/INT-004-mercadopago.md
rckrdmrd 928eb795e6 [SIMCO-V38] feat: Actualizar a SIMCO v3.8.0 + cambios apps
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Cambios en backend y frontend

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:05 -06:00

4.5 KiB

id type title provider status integration_type created_at updated_at simco_version tags
INT-004 Integration Mercado Pago MercadoPago Pendiente payments 2026-01-04 2026-01-10 3.8.0
mercadopago
payments
point-of-sale
multi-tenant

INT-004: Mercado Pago

Metadata

Campo Valor
Codigo INT-004
Proveedor Mercado Libre
Tipo Terminal de Pago
Estado Pendiente
Multi-tenant Si (por tenant)
Fecha integracion -
Ultimo update 2026-01-10
Owner Backend Team

1. Descripcion

Mercado Pago es una opcion de terminal de pago fisica para que los duenos de tiendas puedan aceptar pagos con tarjeta. A diferencia de Stripe (que maneja suscripciones), MercadoPago se usa para cobros en punto de venta.

Casos de uso principales:

  • Cobro con tarjeta en tienda fisica
  • QR para cobro
  • Generacion de links de pago
  • Integracion con terminal Point

2. Credenciales Requeridas

Variables de Entorno

Variable Descripcion Tipo Obligatorio
MERCADOPAGO_ACCESS_TOKEN Access Token de la aplicacion string SI
MERCADOPAGO_PUBLIC_KEY Public Key para frontend string SI
MERCADOPAGO_WEBHOOK_SECRET Secret para webhooks (IPN) string SI

Ejemplo de .env

# Mercado Pago
MERCADOPAGO_ACCESS_TOKEN=APP_USR-xxxxxxxx
MERCADOPAGO_PUBLIC_KEY=APP_USR-xxxxxxxx
MERCADOPAGO_WEBHOOK_SECRET=xxxxxxxx

Obtencion de Credenciales

  1. Crear cuenta en Mercado Pago Developers
  2. Crear aplicacion
  3. Obtener credenciales de produccion
  4. Configurar URL de IPN (webhook)

3. Endpoints/SDK Utilizados

Operaciones Planificadas

Operacion SDK Method Descripcion
Crear Preferencia preference.create() Link de pago
Crear QR qr.create() Cobro por QR
Consultar Pago payment.get() Estado del pago

SDK Planificado

import { MercadoPagoConfig, Preference, Payment } from 'mercadopago';

const client = new MercadoPagoConfig({
  accessToken: process.env.MERCADOPAGO_ACCESS_TOKEN,
});

const preference = new Preference(client);

// Crear link de pago
const result = await preference.create({
  body: {
    items: [{
      title: 'Venta en tienda',
      unit_price: 100,
      quantity: 1,
    }],
    back_urls: {
      success: 'https://michangarrito.com/pago/exitoso',
      failure: 'https://michangarrito.com/pago/fallido',
    },
  },
});

4. Rate Limits

Limite Valor Periodo Accion si excede
API calls 10,000 por minuto 429

5. Manejo de Errores

Codigos de Error (Planeados)

Codigo Descripcion Accion Recomendada
400 Parametros invalidos Validar input
401 Token invalido Verificar credenciales
404 Recurso no encontrado Verificar ID

6. Multi-tenant

Modelo de Credenciales

  • Por Tenant: Cada tenant usa su cuenta MercadoPago

Los fondos van directo a la cuenta del dueno de la tienda.

Almacenamiento Planificado

CREATE TABLE sales.tenant_mercadopago_config (
    id UUID PRIMARY KEY,
    tenant_id UUID REFERENCES auth.tenants(id),
    access_token TEXT NOT NULL, -- Encriptado
    public_key VARCHAR(100),
    collector_id VARCHAR(50),
    is_active BOOLEAN DEFAULT true,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    UNIQUE(tenant_id)
);

7. Webhooks (IPN)

Endpoints Planificados

Evento Endpoint Local Descripcion
payment /webhooks/mercadopago Pago recibido
merchant_order /webhooks/mercadopago Orden actualizada

8. Estado de Implementacion

Checklist

  • Crear modulo MercadoPago en backend
  • Implementar servicio de pagos
  • Configurar webhooks
  • Integrar con flujo de ventas
  • Testing en sandbox
  • Documentar flujo completo

Bloqueadores

  • Requiere onboarding de tenants a MercadoPago
  • Proceso de verificacion de cuenta

9. Referencias

Documentacion Oficial


Ultima actualizacion: 2026-01-10 Estado: PENDIENTE DE IMPLEMENTACION