From 9efcd56f33d71d3de01636c885fc98643c620c73 Mon Sep 17 00:00:00 2001 From: Maxwell <145994855+ping-maxwell@users.noreply.github.com> Date: Fri, 11 Apr 2025 05:13:22 +1000 Subject: [PATCH] fix(stripe): Throw err if passed `referenceId` when no `subscription` authorizeReference` is defined (#2129) * fix(stripe): Throw err if passed `referenceId` when no `subscription.authorizeReference` is defined * fix: typo --- packages/stripe/src/index.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/stripe/src/index.ts b/packages/stripe/src/index.ts index fdc60a2cd0..27a29dbb08 100644 --- a/packages/stripe/src/index.ts +++ b/packages/stripe/src/index.ts @@ -66,6 +66,13 @@ export const stripe = (options: O) => { } const referenceId = ctx.body?.referenceId || ctx.query?.referenceId || session.user.id; + + if (ctx.body?.referenceId && !options.subscription?.authorizeReference) { + logger.error(`Passing referenceId into a subscription action isn't allowed if subscription.authorizeReference isn't defined in your stripe plugin config.`) + throw new APIError("BAD_REQUEST", { + message: "Reference id is not allowed. Read server logs for more details.", + }); + } const isAuthorized = ctx.body?.referenceId ? await options.subscription?.authorizeReference?.({ user: session.user,