Skip to content

Commit

Permalink
prueba
Browse files Browse the repository at this point in the history
  • Loading branch information
carloquer committed Jul 31, 2024
1 parent 148ca50 commit 08f6ccc
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 133 deletions.
19 changes: 12 additions & 7 deletions client/.env
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
#Server API de Producción (KOYEB.COM)
# VITE_API_URL=https://
# Server API de Producción (KOYEB.COM)
REACT_APP_API_URL=https://tu-torias.vercel.app/

#Server API de Producción Local
VITE_API_URL=http://localhost:3001
# Server API de Producción Local
#REACT_APP_API_URL=http://localhost:3001

#Server API de Producción (RENDER.COM)
# VITE_API_URL=https://
REACT_APP_STRIPE_SECRET_KEY=ssk_test_51PiHnr2KRPeDwuZFKI57BPy89WXx6DOF7ACt1FYvnlkSWvuNjdGhze76d5egkL4akI45utD81sJv76nlBxIHJqgT00WUxgjKhy
# Server API de Producción (RENDER.COM)
# REACT_APP_API_URL=https://

REACT_APP_STRIPE_SECRET_KEY=sk_test_51PiHnr2KRPeDwuZFCAB1w7KMHZfqM4C1uQC1Ba9WQncYBSTcgHQGq1bgPgENk5dV0avTNamCENrWiygqkyJrE17F00ZTlNurK1
REACT_APP_STRIPE_PUBLIC_KEY=pk_test_51PiHnr2KRPeDwuZFCAB1w7KMHZfqM4C1uQC1Ba9WQncYBSTcgHQGq1bgPgENk5dV0avTNamCENrWiygqkyJrE17F00ZTlNurK1
STRIPE_SECRET_KEY=sk_test_51PiHnr2KRPeDwuZFCAB1w7KMHZfqM4C1uQC1Ba9WQncYBSTcgHQGq1bgPgENk5dV0avTNamCENrWiygqkyJrE17F00ZTlNurK1
STRIPE_PUBLIC_KEY=pk_test_51PiHnr2KRPeDwuZFCAB1w7KMHZfqM4C1uQC1Ba9WQncYBSTcgHQGq1bgPgENk5dV0avTNamCENrWiygqkyJrE17F00ZTlNurK1


3 changes: 2 additions & 1 deletion client/src/SubscriptionPlans.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { useNavigate } from 'react-router-dom';
import axios from 'axios';
import { loadStripe } from '@stripe/stripe-js';

// Accede a la variable de entorno en el momento de la compilación
const stripePromise = loadStripe('pk_test_51PiHnr2KRPeDwuZFCAB1w7KMHZfqM4C1uQC1Ba9WQncYBSTcgHQGq1bgPgENk5dV0avTNamCENrWiygqkyJrE17F00ZTlNurK1');

const plans = [
Expand All @@ -17,7 +18,7 @@ const SubscriptionPlans = () => {

const handleSelectPlan = async (plan) => {
const stripe = await stripePromise;
const response = await axios.post('http://localhost:3000/create-subscription', { plan });
const response = await axios.post(`${import.meta.env.VITE_API_URL}/create-checkout-session`, { plan });
const sessionId = response.data.id;
const { error } = await stripe.redirectToCheckout({ sessionId });
if (error) {
Expand Down
130 changes: 5 additions & 125 deletions server/app.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import dotenv from 'dotenv';
dotenv.config(); // Cargar las variables de entorno antes de usarlas

import express from 'express';
import bodyParser from 'body-parser';
import cors from 'cors';
Expand All @@ -16,8 +18,8 @@ import tutorsubjectRoute from './routes/tutorsubjectRoute.js';
import chatRoutes from './routes/chatRoutes.js';
import Stripe from 'stripe';

const stripe = Stripe('sk_test_51PiHnr2KRPeDwuZFCAB1w7KMHZfqM4C1uQC1Ba9WQncYBSTcgHQGq1bgPgENk5dV0avTNamCENrWiygqkyJrE17F00ZTlNurK1');
dotenv.config();
const stripe = Stripe(process.env.STRIPE_SECRET_KEY);

const app = express();
const port = process.env.PORT || 3000;

Expand Down Expand Up @@ -76,6 +78,7 @@ app.post('/create-subscription', async (req, res) => {
res.status(400).send({ error: { message: error.message } });
}
});

// Configuración de servidor HTTP y socket.io
const server = http.createServer(app);

Expand Down Expand Up @@ -119,126 +122,3 @@ server.listen(port, () => {
app.get('/test', (req, res) => {
res.status(200).send('Server is running');
});


/*
const db = require('./utils/database');
const jwt = require('jsonwebtoken');
const stripe = require('stripe')('sk_test_51P0kZtL1xMfPwf6dWCmv8wAoaHc4o01CBOAMWhBz1rm4vk4NDLoJN0Zpf6wGRgRB1LPREQ61OEdA9LoiUkZhf3MR00VJ4sno7M');
const cloudinary = require('cloudinary').v2;
cloudinary.config({
cloud_name: 'dqy0f7skk',
api_key: '626754323673753',
api_secret: 'eZMydSf0i92LcK3EOdmgwMAEUbU'
});
// Ruta de registro empleado
app.post('/register/empleado', async (req, res) => {
const { email, password, nombre, apellido, cargo, role } = req.body; // Se obtiene también el campo 'role' del cuerpo de la solicitud
// Comprueba si el empleado ya existe en la base de datos
const existingEmpleado = await db.getEmpleadoByEmail(email);
if (existingEmpleado) {
return res.status(400).send('El correo electrónico ya está en uso');
}
// Crea un nuevo empleado
const hashedPassword = bcrypt.hashSync(password, 10);
await db.createemployee(email, hashedPassword, nombre, apellido, cargo, role); // Se pasa el campo 'role' a la función createemployee
return res.send('Empleado registrado exitosamente');
});
// Ruta para el inicio de sesión de empleados
app.post('/login/empleado', async (req, res) => {
const { email, password } = req.body;
// Busca el empleado en la base de datos
const empleado = await db.getEmpleadoByEmail(email);
if (!empleado) {
return res.status(401).send('Empleado no encontrado');
}
// Comprueba la contraseña
if (bcrypt.compareSync(password, empleado.password)) {
let token = jwt.sign({ id: empleado.id, role: empleado.role }, 'secret key');
return res.json({ message: 'Inicio de sesión de empleado exitoso', token: token });
} else {
return res.status(401).send('Correo electrónico o contraseña incorrectos');
}
});
// // Ruta para cambiar la contraseña del usuario
// app.post('/change-password', authenticateToken, async (req, res) => {
// const { newPassword } = req.body;
// const userId = req.user.id; // Obtener el ID del usuario del token
// // Actualizar la contraseña en la base de datos
// const hashedPassword = bcrypt.hashSync(newPassword, 10);
// await db.updateUserPassword(userId, hashedPassword);
// res.send('Contraseña cambiada exitosamente');
// });
const YOUR_DOMAIN = 'https://partyandgift.vercel.app'; // Reemplaza con la URL de tu aplicación
// Endpoint para crear la sesión de Checkout en Stripe
app.post('/create-checkout-session', async (req, res) => {
const { line_items } = req.body;
try {
const session = await stripe.checkout.sessions.create({
payment_method_types: ['card'],
line_items,
mode: 'payment',
success_url: `${YOUR_DOMAIN}/success`,
cancel_url: `${YOUR_DOMAIN}/cancel`,
});
res.json({ id: session.id });
} catch (error) {
console.error('Error al crear la sesión de Checkout:', error);
res.status(500).send('Error interno del servidor');
}
});
app.get('/success', verifyToken, async (req, res) => {
try {
// Obtener el ID del usuario del token de autenticación
const userId = req.userId;
// 2. Registrar la orden en la tabla "Orders"
const order = await db.crearOrden(userId);
// Enviar una respuesta JSON
res.status(200).json({ message: 'Pago exitoso' });
} catch (error) {
console.error('Error al procesar la orden:', error);
res.status(500).send('Error al procesar la orden');
}
});
});*/

0 comments on commit 08f6ccc

Please sign in to comment.