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
VariableDescripcion
MPP_SECRET_KEYClave secreta para firmar challenges HMAC (cualquier string)
MPP_RECIPIENTDireccion de wallet que recibe los pagos (solo Tempo)
STRIPE_SECRET_KEYClave secreta de Stripe (solo Stripe)
STRIPE_PUBLISHABLE_KEYClave publica de Stripe (solo Stripe)
MPPX_STRIPE_SECRET_KEYClave 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

  1. Entra en Stripe Agentic Commerce y solicita acceso.
  2. Espera la aprobacion.
  3. 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

ScriptDescripcion
npm run devServidor con Tempo
npm run dev:stripeServidor con Stripe
npm run buildCompilar TypeScript
npm startEjecutar build compilado
npm run payPago de prueba via Tempo
npm run pay:stripePago 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 servidor
  • POST /api/create-spt — Crear Shared Payment Token (solo modo Stripe)

Mas informacion