@dodopayments/sveltekit 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -25,13 +25,17 @@ All the examples below assume you're using SvelteKit App Router.
25
25
  ```typescript
26
26
  // src/routes/api/checkout/+server.ts
27
27
  import { Checkout } from "@dodopayments/sveltekit";
28
- import { DODO_PAYMENTS_API_KEY, DODO_PAYMENTS_RETURN_URL, DODO_PAYMENTS_ENVIRONMENT } from '$env/static/private';
28
+ import {
29
+ DODO_PAYMENTS_API_KEY,
30
+ DODO_PAYMENTS_RETURN_URL,
31
+ DODO_PAYMENTS_ENVIRONMENT,
32
+ } from "$env/static/private";
29
33
 
30
34
  const checkoutGetHandler = Checkout({
31
- bearerToken: DODO_PAYMENTS_API_KEY,
32
- returnUrl: DODO_PAYMENTS_RETURN_URL,
33
- environment: environment,
34
- type: "static", // optional, defaults to 'static'
35
+ bearerToken: DODO_PAYMENTS_API_KEY,
36
+ returnUrl: DODO_PAYMENTS_RETURN_URL,
37
+ environment: environment,
38
+ type: "static", // optional, defaults to 'static'
35
39
  });
36
40
  export const GET = checkoutGetHandler.GET;
37
41
  ```
@@ -44,11 +48,15 @@ export const GET = checkoutGetHandler.GET;
44
48
  //
45
49
  // src/routes/api/checkout/+server.ts
46
50
  import { CustomerPortal } from "@dodopayments/sveltekit";
47
- import { DODO_PAYMENTS_API_KEY, DODO_PAYMENTS_RETURN_URL, DODO_PAYMENTS_ENVIRONMENT } from '$env/static/private';
51
+ import {
52
+ DODO_PAYMENTS_API_KEY,
53
+ DODO_PAYMENTS_RETURN_URL,
54
+ DODO_PAYMENTS_ENVIRONMENT,
55
+ } from "$env/static/private";
48
56
 
49
57
  const customerPortalHandler = CustomerPortal({
50
- bearerToken: DODO_PAYMENTS_API_KEY,
51
- environment: environment,
58
+ bearerToken: DODO_PAYMENTS_API_KEY,
59
+ environment: environment,
52
60
  });
53
61
 
54
62
  export const GET = customerPortalHandler.GET;
@@ -69,16 +77,20 @@ Returns 400 if `customer_id` is missing.
69
77
  // src/routes/api/webhook/+server.ts
70
78
  // /api/checkout/+server.ts
71
79
  import { Webhooks } from "@dodopayments/sveltekit";
72
- import { DODO_PAYMENTS_API_KEY, DODO_PAYMENTS_RETURN_URL, DODO_PAYMENTS_ENVIRONMENT, DODO_PAYMENTS_WEBHOOK_KEY } from '$env/static/private';
80
+ import {
81
+ DODO_PAYMENTS_API_KEY,
82
+ DODO_PAYMENTS_RETURN_URL,
83
+ DODO_PAYMENTS_ENVIRONMENT,
84
+ DODO_PAYMENTS_WEBHOOK_KEY,
85
+ } from "$env/static/private";
73
86
 
74
87
  export const POST = Webhooks({
75
- webhookKey: DODO_PAYMENTS_WEBHOOK_KEY,
76
- onPayload: async (payload) => {
77
- //Handle payload here
78
- console.log(payload);
79
- }
88
+ webhookKey: DODO_PAYMENTS_WEBHOOK_KEY,
89
+ onPayload: async (payload) => {
90
+ //Handle payload here
91
+ console.log(payload);
92
+ },
80
93
  });
81
-
82
94
  ```
83
95
 
84
96
  ---
@@ -1,5 +1,5 @@
1
- import { type RequestHandler } from '@sveltejs/kit';
2
- import { type CheckoutHandlerConfig } from '@dodopayments/core/checkout';
1
+ import { type RequestHandler } from "@sveltejs/kit";
2
+ import { type CheckoutHandlerConfig } from "@dodopayments/core/checkout";
3
3
  export declare const Checkout: (config: CheckoutHandlerConfig) => {
4
4
  GET: RequestHandler;
5
5
  POST: RequestHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/checkout/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAEL,KAAK,qBAAqB,EAG3B,MAAM,6BAA6B,CAAC;AAErC,eAAO,MAAM,QAAQ,GAAI,QAAQ,qBAAqB;;;CA+DrD,CAAC"}
1
+ {"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/checkout/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAEL,KAAK,qBAAqB,EAG3B,MAAM,6BAA6B,CAAC;AAErC,eAAO,MAAM,QAAQ,GAAI,QAAQ,qBAAqB;;;CAuErD,CAAC"}
@@ -1,7 +1,7 @@
1
- import { type RequestHandler } from '@sveltejs/kit';
2
- import { ClientOptions } from 'dodopayments';
3
- export type CustomerPortalConfig = Pick<ClientOptions, 'environment' | 'bearerToken'>;
4
- export declare const CustomerPortal: ({ bearerToken, environment }: CustomerPortalConfig) => {
1
+ import { type RequestHandler } from "@sveltejs/kit";
2
+ import { ClientOptions } from "dodopayments";
3
+ export type CustomerPortalConfig = Pick<ClientOptions, "environment" | "bearerToken">;
4
+ export declare const CustomerPortal: ({ bearerToken, environment, }: CustomerPortalConfig) => {
5
5
  GET: RequestHandler;
6
6
  };
7
7
  //# sourceMappingURL=customer-portal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"customer-portal.d.ts","sourceRoot":"","sources":["../../src/customer-portal/customer-portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAErE,OAAqB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC;AAEtF,eAAO,MAAM,cAAc,GAAI,8BAA8B,oBAAoB;;CAqChF,CAAC"}
1
+ {"version":3,"file":"customer-portal.d.ts","sourceRoot":"","sources":["../../src/customer-portal/customer-portal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAErE,OAAqB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,aAAa,EACb,aAAa,GAAG,aAAa,CAC9B,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,+BAG5B,oBAAoB;;CAwCtB,CAAC"}
package/dist/index.cjs CHANGED
@@ -1918,7 +1918,7 @@ var checkoutQuerySchema = zod.z.object({
1918
1918
  showDiscounts: zod.z.string().optional(),
1919
1919
  // Metadata (allow any key starting with metadata_)
1920
1920
  // We'll handle metadata separately in the handler
1921
- });
1921
+ }).catchall(zod.z.unknown());
1922
1922
  // Add Zod schema for dynamic checkout body
1923
1923
  var dynamicCheckoutBodySchema = zod.z
1924
1924
  .object({
@@ -2202,16 +2202,16 @@ const Checkout = (config) => {
2202
2202
  const searchParams = event.url.searchParams;
2203
2203
  const queryParams = Object.fromEntries(searchParams);
2204
2204
  if (!queryParams.productId) {
2205
- throw error(400, 'Please provide productId query parameter');
2205
+ throw error(400, "Please provide productId query parameter");
2206
2206
  }
2207
- const { success, data, error: zodError } = checkoutQuerySchema.safeParse(queryParams);
2207
+ const { success, data, error: zodError, } = checkoutQuerySchema.safeParse(queryParams);
2208
2208
  if (!success) {
2209
- if (zodError.errors.some((e) => e.path.toString() === 'productId')) {
2210
- throw error(400, 'Please provide productId query parameter');
2209
+ if (zodError.errors.some((e) => e.path.toString() === "productId")) {
2210
+ throw error(400, "Please provide productId query parameter");
2211
2211
  }
2212
2212
  throw error(400, `Invalid query parameters.\n ${zodError.message}`);
2213
2213
  }
2214
- let urlStr = '';
2214
+ let urlStr = "";
2215
2215
  try {
2216
2216
  urlStr = await buildCheckoutUrl({ queryParams: data, ...config });
2217
2217
  }
@@ -2229,13 +2229,13 @@ const Checkout = (config) => {
2229
2229
  body = await event.request.json();
2230
2230
  }
2231
2231
  catch (e) {
2232
- throw error(400, 'Invalid JSON body');
2232
+ throw error(400, "Invalid JSON body");
2233
2233
  }
2234
- const { success, data, error: zodError } = dynamicCheckoutBodySchema.safeParse(body);
2234
+ const { success, data, error: zodError, } = dynamicCheckoutBodySchema.safeParse(body);
2235
2235
  if (!success) {
2236
2236
  throw error(400, `Invalid request body.\n ${zodError.message}`);
2237
2237
  }
2238
- let urlStr = '';
2238
+ let urlStr = "";
2239
2239
  try {
2240
2240
  urlStr = await buildCheckoutUrl({ body: data, ...config });
2241
2241
  }
@@ -3685,17 +3685,17 @@ const Webhooks = ({ webhookKey, ...eventHandlers }) => {
3685
3685
  };
3686
3686
  };
3687
3687
 
3688
- const CustomerPortal = ({ bearerToken, environment }) => {
3688
+ const CustomerPortal = ({ bearerToken, environment, }) => {
3689
3689
  const getHandler = async (event) => {
3690
3690
  const searchParams = event.url.searchParams;
3691
- const customerId = searchParams.get('customer_id');
3691
+ const customerId = searchParams.get("customer_id");
3692
3692
  const params = { send_email: false };
3693
- const sendEmail = searchParams.get('send_email');
3694
- if (sendEmail === 'true') {
3693
+ const sendEmail = searchParams.get("send_email");
3694
+ if (sendEmail === "true") {
3695
3695
  params.send_email = true;
3696
3696
  }
3697
3697
  if (!customerId) {
3698
- throw error(400, 'Missing customerId in query parameters');
3698
+ throw error(400, "Missing customerId in query parameters");
3699
3699
  }
3700
3700
  const dodopayments = new DodoPayments({
3701
3701
  bearerToken,
@@ -3709,7 +3709,7 @@ const CustomerPortal = ({ bearerToken, environment }) => {
3709
3709
  });
3710
3710
  }
3711
3711
  catch (err) {
3712
- console.error('Error creating customer portal session:', err);
3712
+ console.error("Error creating customer portal session:", err);
3713
3713
  throw error(500, `Failed to create customer portal session: ${err.message}`);
3714
3714
  }
3715
3715
  };