more on stripe

This commit is contained in:
adueck 2022-10-13 19:19:22 +05:00
parent f82173ee07
commit bcf8946740
3 changed files with 37 additions and 28 deletions

View File

@ -42,7 +42,12 @@ const authRouter = (passport: PassportStatic) => {
if (!req.isAuthenticated()) {
return res.redirect("/");
}
res.render("user", { user: req.user, error: null, removeProviderOption: canRemoveOneOutsideProvider(req.user) });
res.render("user", {
user: req.user,
error: null,
removeProviderOption: canRemoveOneOutsideProvider(req.user),
upgrade: req.query.upgrade,
});
});
router.post("/user", async (req, res, next) => {

View File

@ -25,21 +25,19 @@ paymentRouter.post("/create-checkout-session", async (req, res, next) => {
lookup_keys: [req.body.lookup_key],
expand: ['data.product'],
});
console.log(prices);
const session = await stripe.checkout.sessions.create({
billing_address_collection: 'auto',
line_items: [
{
price: prices.data[0].id,
// For metered billing, do not pass quantity
quantity: 1,
price: prices.data[0].id,
// For metered billing, do not pass quantity
quantity: 1,
},
],
mode: 'subscription',
// TODO ADD URLS
success_url: `https://account.lingdocs.com/`,
cancel_url: `https://account.lingdocs.com/`,
success_url: `https://account.lingdocs.com/user?upgrade=success`,
cancel_url: `https://account.lingdocs.com/user`,
});
if (!session.url) {
return next("error creating session url");

View File

@ -52,11 +52,18 @@
</div>
</form>
<h5>Account Level: <%= user.level.charAt(0).toUpperCase() + user.level.slice(1) %></h5>
<% if (upgrade === "success") { %>
<p>🎉 Subscription started. Thank you for your purchase! 🎉</p>
<% } %>
<% if (user.level === "basic") { %>
<% if (user.upgradeToStudentRequest === "waiting") { %>
<p>Wating for upgrade approval</p>
<% } else { %>
<button class="btn btn-sm btn-secondary" id="upgrade-request-button" onclick="handleRequestUpgrade()">Request Upgrade</button>
<% } %>
<% if (user.tester) { %>
<form action="/payment/create-checkout-session" method="POST">
<input type="hidden" name="lookup_key" value="student-yearly" />
<button class="btn btn-sm btn-secondary" id="checkout-and-portal-button" type="submit">Upgrade Account</button>
</form>
<% } %>
<% } %>
<% if (user.email) { %>
@ -173,24 +180,23 @@
console.error(e);
}
}
function handleRequestUpgrade() {
console.log("got here");
const btn = document.getElementById("upgrade-request-button");
btn.innerHTML = "Sending...";
fetch("/api/user/upgradeToStudentRequest", {
method: "POST",
}).then((res) => res.json()).then((res) => {
console.log(res);
if (res.ok) {
btn.innerHTML = "Upgrade request sent";
} else {
btn.innerHTML = "Error requesting upgrade";
}
}).catch((e) => {
console.error(e);
btn.innerHTML = "Error requesting upgrade";
});
}
// function handleRequestUpgrade() {
// const btn = document.getElementById("upgrade-request-button");
// btn.innerHTML = "Sending...";
// fetch("/api/user/upgradeToStudentRequest", {
// method: "POST",
// }).then((res) => res.json()).then((res) => {
// console.log(res);
// if (res.ok) {
// btn.innerHTML = "Upgrade request sent";
// } else {
// btn.innerHTML = "Error requesting upgrade";
// }
// }).catch((e) => {
// console.error(e);
// btn.innerHTML = "Error requesting upgrade";
// });
// }
function clearPasswordForm() {
document.getElementById("oldPassword").value = "";
document.getElementById("password").value = "";