Este proyecto incluye frontend estático y backend Express para procesar:
- Donación eventual (checkout de una sola vez).
- Débito automático mensual (suscripción recurrente).
- Webhooks de Mercado Pago con validación de firma e idempotencia.
Crear un archivo .env en la raíz del proyecto:
PORT=3000
MP_PUBLIC_KEY=TEST-xxxxxxxxxxxxxxxx
MP_ACCESS_TOKEN=TEST-xxxxxxxxxxxxxxxx
MP_WEBHOOK_SECRET=tu-clave-secreta-de-firma
MP_WEBHOOK_URL=https://tu-dominio-publico/api/mercadopago/webhook
MP_SUCCESS_URL=https://tu-dominio-publico/?status=approved
MP_FAILURE_URL=https://tu-dominio-publico/?status=rejected
MP_PENDING_URL=https://tu-dominio-publico/?status=pendingMP_PUBLIC_KEY: se expone al frontend vía/api/config/public.MP_ACCESS_TOKEN: token privado usado por el backend para crear preferencias y suscripciones.MP_WEBHOOK_URL: URL pública donde Mercado Pago notificará cambios de estado.
npm install
npm run startAbrir http://localhost:3000.
POST /api/donations/one-time/preferencePOST /api/donations/subscriptionPOST /api/mercadopago/webhookGET /api/config/public
Los estados de pagos y suscripciones se guardan en:
server/data/payments.json