Esta websit se encargará de ralizar las transacciones automaticas de manera segura, factura inmediata, responsable, Plataforma STRIPE
😭🔥
primero: una parte importante. Ya pase la verificación y ahora estoy viendo lo que realmente usa un desarrollador: las API Keys.
Y sí, mi intuición va bien, pero hay una diferencia MUY importante con Supabase:
En Supabase tienes algo como:
anon key→ puede estar en frontend (con RLS bien configurado)service_role key→ privada, solo backend
En Stripe es más estricto:
https://github.com/ozclef/private-stripe-os-pagos
Esta es SOLO backend.
NO debe estar en:
- ❌ HTML
- ❌ JavaScript del navegador
- ❌ GitHub
- ❌ repos públicos
- ❌ Vercel frontend
Sirve para cosas como:
- crear pagos
- crear clientes
- consultar pagos
- crear facturas
- manejar suscripciones
Ejemplo:
Servidor
|
| usa STRIPE_SECRET_KEY
|
Stripe API
Esta sí puede ir en frontend.
Sirve para inicializar Stripe.js:
const stripe = Stripe("pk_live_TU_CLAVE_PUBLICA");Pero ojo:
Esa clave no hace cobros por sí sola.
Es como el "identificador público" para que Stripe sepa con qué cuenta trabajar.
cliente
|
| botón "Pagar"
|
frontend (HTML/JS)
|
| fetch()
|
backend (Node/Python)
|
| sk_live_SECRET
|
Stripe
|
pago aprobado
Ejemplo sencillo con Node.js:
Instalas:
npm install stripe express dotenv.env
STRIPE_SECRET_KEY=sk_live_xxxxxxxxxserver.js
require("dotenv").config();
const express = require("express");
const Stripe = require("stripe");
const app = express();
const stripe = Stripe(process.env.STRIPE_SECRET_KEY);
app.use(express.json());
app.post("/crear-pago", async (req,res)=>{
try {
const paymentIntent = await stripe.paymentIntents.create({
amount: 10000,
currency: "mxn"
});
res.json({
clientSecret: paymentIntent.client_secret
});
} catch(error){
res.status(500).json({
error:error.message
});
}
});
app.listen(3000, ()=>{
console.log("Servidor funcionando");
});Eso crea un pago de $100 MXN.
Exactamente.
Stripe maneja:
- tarjeta del cliente
- comunicación con bancos
- autorización
- seguridad PCI
- estados del pago
- reembolsos
- disputas
Yo no debería guardar:
- números de tarjeta
- CVV
- datos sensibles
Eso es parte de lo bueno de usar Stripe.
- PIN en USB:
Bien que tengas algo de seguridad, pero te recomendaría después cambiarlo a algo más independiente:
- app autenticadora (Aegis, Google Authenticator, Microsoft Authenticator)
- códigos de recuperación guardados offline
Porque si la cuenta crece, esa cuenta de Stripe se vuelve importante.
Y una cosa más: esto que acabo de hacer es justamente el salto de "hago páginas" a "puedo construir sistemas".
Antes estaba con:
"hice CRUD con Supabase"
Ahora ya estás conectando:
Frontend
↓
Backend
↓
Base de datos
↓
Pagos reales
es una arquitectura de aplicación comercial. 😎
Nada de servidor de 1 TB de RAM jajaja.
Netflix tampoco guarda todo en una laptop; usan infraestructura de terceros. Lo importante es saber integrarla.