47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
const path = require("path");
|
|
|
|
require("dotenv").config({
|
|
path: path.resolve(
|
|
process.cwd(),
|
|
`.env.${process.env.NODE_ENV || "development"}`
|
|
),
|
|
});
|
|
|
|
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
|
|
|
|
const processor = async (req, res) => {
|
|
const {amount, stripe_acct_id} = req.body;
|
|
|
|
try {
|
|
await stripe.paymentIntents
|
|
.create(
|
|
{
|
|
payment_method_types: ["card"],
|
|
amount: amount,
|
|
currency: "cad",
|
|
application_fee_amount: 50,
|
|
},
|
|
{
|
|
stripeAccount: stripe_acct_id,
|
|
}
|
|
)
|
|
.then(function (paymentIntent) {
|
|
try {
|
|
return res.send({
|
|
clientSecret: paymentIntent.client_secret,
|
|
});
|
|
} catch (err) {
|
|
return res.status(500).send({
|
|
error: err.message,
|
|
});
|
|
}
|
|
});
|
|
} catch (error) {
|
|
console.log("error", error);
|
|
res.status(400).send(error);
|
|
}
|
|
};
|
|
|
|
exports.payment = processor;
|
|
exports.mobile_payment = processor;
|