Stripe para JavaScript (Node.js): guía completa con ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Stripe para JavaScript (Node.js): guía completa con ejemplos

1. ¿Qué es y para qué sirve?

Stripe es la plataforma de pagos líder que permite a tiendas online, servicios SaaS y cualquier aplicación web aceptar pagos de clientes en todo el mundo. La librería oficial stripe para Node.js ofrece a los desarrolladores un conjunto completo de herramientas para integrar la API de pagos de Stripe en el backend de su aplicación. Abstrayendo la complejidad de las solicitudes HTTP directas a la API de Stripe, proporciona una interfaz cómoda, tipada y predecible en JavaScript.

¿Para qué sirve esta librería? En el desarrollo web moderno, el procesamiento seguro de pagos es una de las tareas más críticas. Stripe se encarga del cumplimiento de los estándares PCI DSS, el manejo de datos sensibles (números de tarjeta, CVV) y la gestión de escenarios complejos (suscripciones, reembolsos, disputas). La librería para Node.js permite crear fácilmente formularios de pago, gestionar clientes, crear suscripciones, procesar webhooks y generar informes, todo ello utilizando código asíncrono basado en promesas.

Gracias a esta librería, puedes centrarte en la lógica de negocio de tu aplicación, sin preocuparte por los detalles de bajo nivel de los protocolos de pago. Es ideal para aplicaciones Node.js que funcionan con Express, Koa, Fastify o cualquier otro framework. La librería cuenta con el respaldo activo de Stripe, se actualiza periódicamente y tiene una enorme comunidad.

2. Instalación

Para instalar la librería de Stripe en tu proyecto Node.js, usa el gestor de paquetes npm o yarn. Ejecuta uno de los siguientes comandos en el directorio raíz de tu proyecto:

# Usando npm
npm install stripe

# Usando yarn
yarn add stripe

Después de la instalación, puedes importar la librería en tu código:

// Sintaxis moderna (ES Modules)
import Stripe from 'stripe';

// O CommonJS (Node.js por defecto)
const Stripe = require('stripe');

Importante: Para trabajar con la librería necesitarás una clave secreta (sk_test_... para modo de pruebas o sk_live_... para producción). Puedes obtener tu clave en el panel de control de Stripe.

3. Inicio rápido — ejemplo mínimo funcional

Vamos a crear un script simple que genere una intención de pago (PaymentIntent), que es la forma estándar de aceptar un pago único.

// Importamos la librería
const Stripe = require('stripe');
// Inicializamos con la clave secreta (reemplázala con tu clave de prueba)
const stripe = Stripe('sk_test_XXXXXXXXXXXXXXXXXXXXXXXX');

async function createPayment() {
    try {
        // Creamos un PaymentIntent por 2000 centavos (20 USD)
        const paymentIntent = await stripe.paymentIntents.create({
            amount: 2000,
            currency: 'usd',
            // Descripción del pago (opcional)
            description: 'Pago de prueba desde Node.js',
            // Capturar el pago automáticamente (true) o solo autorizar (false)
            capture_method: 'automatic',
        });

        console.log('PaymentIntent creado exitosamente:');
        console.log(`ID: ${paymentIntent.id}`);
        console.log(`Estado: ${paymentIntent.status}`);
        console.log(`Monto: ${paymentIntent.amount} ${paymentIntent.currency.toUpperCase()}`);
    } catch (error) {
        console.error('Error al crear el PaymentIntent:', error.message);
    }
}

createPayment();

Este código

Recommendations