Files
2025-08-26 16:53:25 +02:00

25 lines
714 B
TypeScript

import { Dub } from "dub";
export const dub = new Dub({
token: process.env.DUB_API_KEY,
});
export async function getDubDiscountForExternalUserId(externalId: string) {
try {
const customers = await dub.customers.list({
externalId,
includeExpandedFields: true,
});
const first = customers[0];
const couponId =
process.env.NODE_ENV !== "production" && first?.discount?.couponTestId
? first.discount.couponTestId
: first?.discount?.couponId;
return couponId ? { discounts: [{ coupon: couponId }] } : null;
} catch (err) {
console.warn("Skipping Dub discount due to API error", err);
return null; // degrade gracefully; don't block checkout
}
}