MPP One Payment Demo
March 19, 2026 · View on GitHub
Demo de pagos con el protocolo MPP usando Tempo (blockchain) y Stripe (tarjeta).
Basado en la guia de Web Reactiva.
Requisitos previos
- Node.js >= 18
Instalacion
npm install
Variables de entorno
Copia el archivo de ejemplo y rellena los valores:
cp .env.example .env
| Variable | Descripcion |
|---|---|
MPP_SECRET_KEY | Clave secreta para firmar challenges HMAC (cualquier string) |
MPP_RECIPIENT | Direccion de wallet que recibe los pagos (solo Tempo) |
STRIPE_SECRET_KEY | Clave secreta de Stripe (solo Stripe) |
STRIPE_PUBLISHABLE_KEY | Clave publica de Stripe (solo Stripe) |
MPPX_STRIPE_SECRET_KEY | Clave secreta de Stripe para el CLI mppx (solo Stripe) |
Opcion A: Tempo (recomendado)
Tempo usa pagos en blockchain con PathUSD (stablecoin en testnet). Es la opcion mas sencilla para empezar.
1. Crear una wallet
npx mppx account create
Las credenciales se guardan en el llavero del sistema.
2. Fondear la wallet con tokens de testnet
npx mppx account fund
Obtienes PathUSD gratuitos en la testnet para hacer pruebas.
3. Verificar el estado de la wallet
npx mppx account view
4. Configurar el .env
MPP_SECRET_KEY=mi-clave-secreta
MPP_RECIPIENT=0xTU_DIRECCION_DE_WALLET
El MPP_RECIPIENT es la direccion que recibira los pagos. Si quieres usar la direccion por defecto del proyecto, puedes dejar el .env sin esta variable.
5. Arrancar el servidor
npm run dev
El servidor arranca en http://localhost:3000.
6. Hacer un pago de prueba
En otra terminal:
npm run pay
O manualmente:
npx mppx http://localhost:3000/api/premium --confirm -v
La flag -v muestra el flujo completo: challenge, pago y recibo.
Opcion B: Stripe
Stripe usa Shared Payment Tokens (SPTs) del programa Agentic Commerce (preview privada).
1. Solicitar acceso a Agentic Commerce
- Entra en Stripe Agentic Commerce y solicita acceso.
- Espera la aprobacion.
- Una vez aprobado, aparecera "Agentic Commerce Onboarding" en tu Dashboard de Stripe.
2. Obtener las API keys
Ve a https://dashboard.stripe.com/test/apikeys y copia tus claves de test.
3. Configurar el .env
MPP_SECRET_KEY=mi-clave-secreta
STRIPE_SECRET_KEY=sk_test_...
STRIPE_PUBLISHABLE_KEY=pk_test_...
MPPX_STRIPE_SECRET_KEY=sk_test_...
4. Arrancar el servidor en modo Stripe
npm run dev:stripe
5. Hacer un pago de prueba
En otra terminal:
npm run pay:stripe
O manualmente:
MPPX_STRIPE_SECRET_KEY=sk_test_... npx mppx http://localhost:3000/api/premium -M paymentMethod=pm_card_visa --confirm -v
pm_card_visa es un metodo de pago de test de Stripe.
Scripts disponibles
| Script | Descripcion |
|---|---|
npm run dev | Servidor con Tempo |
npm run dev:stripe | Servidor con Stripe |
npm run build | Compilar TypeScript |
npm start | Ejecutar build compilado |
npm run pay | Pago de prueba via Tempo |
npm run pay:stripe | Pago de prueba via Stripe |
Endpoints
GET /api/premium— Contenido premium protegido por pago ($0.01 en Tempo, $5.00 en Stripe)GET /api/config— Configuracion publica del servidorPOST /api/create-spt— Crear Shared Payment Token (solo modo Stripe)