diff --git a/apps/web/components/booking/BookingListItem.tsx b/apps/web/components/booking/BookingListItem.tsx
index 0e098f6a2f..4baccf7a35 100644
--- a/apps/web/components/booking/BookingListItem.tsx
+++ b/apps/web/components/booking/BookingListItem.tsx
@@ -282,6 +282,11 @@ function BookingListItem(booking: BookingItemProps) {
{t("pending_payment")}
)}
+ {booking.paid && (
+
+ {t("paid")}
+
+ )}
{recurringDates !== undefined && (
diff --git a/packages/features/ee/payments/api/webhook.ts b/packages/features/ee/payments/api/webhook.ts
index 7dc18d2225..f8bbecb4e2 100644
--- a/packages/features/ee/payments/api/webhook.ts
+++ b/packages/features/ee/payments/api/webhook.ts
@@ -65,7 +65,10 @@ async function handlePaymentSuccess(event: Stripe.Event) {
if (!booking) throw new HttpCode({ statusCode: 204, message: "No booking found" });
- const eventTypeSelect = Prisma.validator
()({ recurringEvent: true });
+ const eventTypeSelect = Prisma.validator()({
+ recurringEvent: true,
+ requiresConfirmation: true,
+ });
const eventTypeData = Prisma.validator()({ select: eventTypeSelect });
type EventTypeRaw = Prisma.EventTypeGetPayload;
let eventTypeRaw: EventTypeRaw | null = null;
@@ -130,6 +133,10 @@ async function handlePaymentSuccess(event: Stripe.Event) {
bookingData.references = { create: scheduleResult.referencesToCreate };
}
+ if (eventTypeRaw?.requiresConfirmation) {
+ delete bookingData.status;
+ }
+
const paymentUpdate = prisma.payment.update({
where: {
id: payment.id,
diff --git a/packages/trpc/server/routers/viewer/eventTypes.tsx b/packages/trpc/server/routers/viewer/eventTypes.tsx
index adbd402252..9c27ba1aa6 100644
--- a/packages/trpc/server/routers/viewer/eventTypes.tsx
+++ b/packages/trpc/server/routers/viewer/eventTypes.tsx
@@ -504,7 +504,8 @@ export const eventTypesRouter = router({
};
}
- if (input?.price) {
+ if (input?.price || input.metadata?.apps?.stripe?.price) {
+ data.price = input.price || input.metadata?.apps?.stripe?.price;
const paymentCredential = await ctx.prisma.credential.findFirst({
where: {
userId: ctx.user.id,