Fixes error when user cancels stripe integration (#813)
* Fixes customer portal return ur * Attempt to fix portal CSRF issue * Fixes CSRF issue with Stripe redirect * Fixes error when user cancels stripe integration
This commit is contained in:
parent
f8a4f81991
commit
7a8ad8381e
1 changed files with 8 additions and 1 deletions
|
@ -1,5 +1,6 @@
|
||||||
import { Prisma } from "@prisma/client";
|
import { Prisma } from "@prisma/client";
|
||||||
import type { NextApiRequest, NextApiResponse } from "next";
|
import type { NextApiRequest, NextApiResponse } from "next";
|
||||||
|
import { stringify } from "querystring";
|
||||||
|
|
||||||
import stripe, { StripeData } from "@ee/lib/stripe/server";
|
import stripe, { StripeData } from "@ee/lib/stripe/server";
|
||||||
|
|
||||||
|
@ -7,7 +8,7 @@ import { getSession } from "@lib/auth";
|
||||||
import prisma from "@lib/prisma";
|
import prisma from "@lib/prisma";
|
||||||
|
|
||||||
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
|
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
|
||||||
const { code } = req.query;
|
const { code, error, error_description } = req.query;
|
||||||
// Check that user is authenticated
|
// Check that user is authenticated
|
||||||
const session = await getSession({ req: req });
|
const session = await getSession({ req: req });
|
||||||
|
|
||||||
|
@ -16,6 +17,12 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (error) {
|
||||||
|
const query = stringify({ error, error_description });
|
||||||
|
res.redirect("/integrations?" + query);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const response = await stripe.oauth.token({
|
const response = await stripe.oauth.token({
|
||||||
grant_type: "authorization_code",
|
grant_type: "authorization_code",
|
||||||
code: code.toString(),
|
code: code.toString(),
|
||||||
|
|
Loading…
Reference in a new issue