Click to Earn Coins
Coins: 0
const express = require('express');
const mongoose = require('mongoose');
const Stripe = require('stripe');
const bodyParser = require('body-parser');
const app = express();
const stripe = Stripe('YOUR_STRIPE_SECRET_KEY'); // Replace with your actual Stripe secret key
app.use(bodyParser.json());
// MongoDB connection
mongoose.connect('mongodb://localhost:27017/moneyGame', { useNewUrlParser: true, useUnifiedTopology: true });
const UserSchema = new mongoose.Schema({
username: String,
coins: Number,
});
const User = mongoose.model('User', UserSchema);
// Cash out route
app.post('/cashout', async (req, res) => {
const { coins } = req.body;
// Assuming 1 coin = $0.01
const amountInCents = coins * 1; // 1 cent per coin
try {
const paymentIntent = await stripe.paymentIntents.create({
amount: amountInCents,
currency: 'usd',
payment_method_types: ['card'], // Simplified, you'd configure the actual payment methods
});
return res.json({ amount: amountInCents / 100 }); // Return amount in dollars
} catch (err) {
console.error(err);
res.status(500).send('Payment Failed');
}
});
// Listen on port 3000
app.listen(3000, () => {
console.log('Server running on http://localhost:3000');
});