Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pago-osclef-stripe

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:


image image

Stripe NO funciona igual que 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:

🔐 Clave secreta (sk_live_...)

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

🌎 Clave publicable (pk_live_...)

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.


La arquitectura correcta sería algo así:

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_xxxxxxxxx

server.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.


😂 Stripe se encarga de la transa-acción

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.

About

Esta websit se encargará de ralizar las transacciones automaticas de manera segura, factura inmediata, responsable, Plataforma STRIPE https://github.com/ozclef/private-stripe-os-pagos secret API key

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages