var express = require("@runkit/runkit/express-endpoint/1.0.0");
var app = express(exports);
var stripe = require("stripe")(process.env.STRIPE_SECRET_KEY);
var bodyParser = require('body-parser');
var cors = require('cors')
app.use(bodyParser.json());
app.use(cors())
app.post("/charge", (req, res) => {
createCharge(req.body)
.then((response) => {
res.json(response);
})
.catch((err) => {
res.status(500).send(err.message);
});
})
var createCharge = (body) => {
return new Promise((resolve, reject) => {
if (!body.stripeToken) {
reject(new Error('No stripeToken provided'));
} else if (!body.amount) {
reject(new Error('No amount provided'));
} else {
var stripeToken = body.stripeToken;
var amount = body.amount;
stripe.charges.create({
card: stripeToken,
currency: 'usd',
amount: amount
},
(err, charge) => {
if (err) {
reject(err);
} else {
resolve(charge);
}
});
}
});
}