payment plan
parent
e2d6f23676
commit
c967496a34
11
env.example
11
env.example
|
@ -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=
|
|
@ -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" });
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue