payment plan

main
alex 2024-02-17 20:59:02 +01:00
parent e2d6f23676
commit c967496a34
2 changed files with 19 additions and 6 deletions

View File

@ -1,3 +1,5 @@
NODE_ENV=development
NODE_APP_NAME=dev-zeitadler-dashboard-api
HOST=localhost
PORT=50250
@ -12,7 +14,6 @@ DASHBOARD_API_URL=
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
GOOGLE_CALLBACK_URL=your_callback_url
TERMIN_PLANNER_AUTHORIZATION_PASSWORD=your_authorization_password
TERMIN_PLANNER_URL=your_termin_planner_url
@ -25,4 +26,10 @@ RABBITMQ_MAIL_QUEUE=
RECAPTCHA_SECRET_KEY=
CONSTANTS_ACCOUNT_DEMO_DAYS=
CONSTANTS_ACCOUNT_DEMO_DAYS=
LOG_MANAGER_URL=
LOG_MANAGER_INTERVAL=
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_ENDPOINT_SECRET=

View File

@ -1,5 +1,5 @@
import { Request, Response } from "express";
import logger from "../logger/logger";
import logger, { userLogger } from "../logger/logger";
import Stripe from "stripe";
import {
ACCOUNT_STATE,
@ -122,7 +122,6 @@ export async function CreateCheckoutSession(priceId: string, userId: string) {
quantity: 1,
},
],
customer_email: "hello@roese.dev",
mode: "subscription",
success_url: `${DASHBOARD_URL}/checkout/success/{CHECKOUT_SESSION_ID}`,
cancel_url: `${DASHBOARD_URL}/checkout/canceled/{CHECKOUT_SESSION_ID}`,
@ -249,7 +248,7 @@ export async function StripeWebhook(req: Request, res: Response) {
process.env.STRIPE_WEBHOOK_ENDPOINT_SECRET as string
);
} catch (err) {
logger.error("Webhook-Fehler", err);
logger.error("Webhook error", err);
return res.status(400).send(`Webhook Error: ${err}`);
}
@ -295,8 +294,10 @@ export async function StripeWebhook(req: Request, res: Response) {
);
}
}
} else if (event.type === "checkout.session.expired") {
logger.info(`webhook checkout.session.expired: ${event.data}`);
} else {
logger.warn("Ignoring unknown event:", event.type);
logger.warn(`Ignoring unknown event: ${event.type}`);
}
res.sendStatus(200);
@ -322,6 +323,11 @@ export async function GetBillingPortal(req: Request, res: Response) {
});
if (user === null || user.stripe_customer_id === null) {
userLogger.error(
userSession.user_id,
"GetBillingPortal: user not found",
userSession.user_id
);
return res.status(400).send({ err: "invalid request" });
}