diff options
| author | Frank <[email protected]> | 2026-04-07 10:08:57 -0400 |
|---|---|---|
| committer | Frank <[email protected]> | 2026-04-07 10:09:00 -0400 |
| commit | 01c5eb679cd0b00cba654b316ef8615d0262c500 (patch) | |
| tree | d2617bfd783804525a1b747beccde5999c2864d4 /packages/console/core | |
| parent | 41612b3dbea7b4e30a5a83678d2526dbeae9b61a (diff) | |
| download | opencode-01c5eb679cd0b00cba654b316ef8615d0262c500.tar.gz opencode-01c5eb679cd0b00cba654b316ef8615d0262c500.zip | |
go: support coupon
Diffstat (limited to 'packages/console/core')
| -rw-r--r-- | packages/console/core/src/billing.ts | 2 | ||||
| -rw-r--r-- | packages/console/core/src/lite.ts | 7 | ||||
| -rw-r--r-- | packages/console/core/sst-env.d.ts | 5 |
3 files changed, 12 insertions, 2 deletions
diff --git a/packages/console/core/src/billing.ts b/packages/console/core/src/billing.ts index 66b980698..9de413e60 100644 --- a/packages/console/core/src/billing.ts +++ b/packages/console/core/src/billing.ts @@ -254,7 +254,7 @@ export namespace Billing { const createSession = () => Billing.stripe().checkout.sessions.create({ mode: "subscription", - discounts: [{ coupon: LiteData.firstMonth50Coupon() }], + discounts: [{ coupon: LiteData.firstMonthCoupon(email!) }], ...(billing.customerID ? { customer: billing.customerID, diff --git a/packages/console/core/src/lite.ts b/packages/console/core/src/lite.ts index 2c4a09f71..3343192c1 100644 --- a/packages/console/core/src/lite.ts +++ b/packages/console/core/src/lite.ts @@ -11,6 +11,11 @@ export namespace LiteData { export const productID = fn(z.void(), () => Resource.ZEN_LITE_PRICE.product) export const priceID = fn(z.void(), () => Resource.ZEN_LITE_PRICE.price) export const priceInr = fn(z.void(), () => Resource.ZEN_LITE_PRICE.priceInr) - export const firstMonth50Coupon = fn(z.void(), () => Resource.ZEN_LITE_PRICE.firstMonth50Coupon) + export const firstMonthCoupon = fn(z.string(), (email) => { + const invitees = Resource.ZEN_LITE_COUPON_FIRST_MONTH_100_INVITEES.value.split(",") + return invitees.includes(email) + ? Resource.ZEN_LITE_PRICE.firstMonth100Coupon + : Resource.ZEN_LITE_PRICE.firstMonth50Coupon + }) export const planName = fn(z.void(), () => "lite") } diff --git a/packages/console/core/sst-env.d.ts b/packages/console/core/sst-env.d.ts index 6b842639a..b77ee3c5b 100644 --- a/packages/console/core/sst-env.d.ts +++ b/packages/console/core/sst-env.d.ts @@ -142,7 +142,12 @@ declare module "sst" { "type": "sst.sst.Secret" "value": string } + "ZEN_LITE_COUPON_FIRST_MONTH_100_INVITEES": { + "type": "sst.sst.Secret" + "value": string + } "ZEN_LITE_PRICE": { + "firstMonth100Coupon": string "firstMonth50Coupon": string "price": string "priceInr": number |
