Skip to content

delineas/mpp-one-payment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MPP One Payment Demo

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

  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

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 servidor
  • POST /api/create-spt — Crear Shared Payment Token (solo modo Stripe)

Mas informacion

About

Machine Payments Protocol TypeScript SDK Example

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors