@dodopayments/better-auth 1.3.2 → 1.3.4

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.
Files changed (59) hide show
  1. package/dist/chunk-52LQJCF4.js +199 -0
  2. package/dist/chunk-52LQJCF4.js.map +1 -0
  3. package/dist/chunk-FBAIEKOL.js +70 -0
  4. package/dist/chunk-FBAIEKOL.js.map +1 -0
  5. package/dist/chunk-PXI4EHZC.js +12 -0
  6. package/dist/chunk-PXI4EHZC.js.map +1 -0
  7. package/dist/chunk-QR7PLJJQ.js +13943 -0
  8. package/dist/chunk-QR7PLJJQ.js.map +1 -0
  9. package/dist/chunk-WIFOXVZ3.js +291 -0
  10. package/dist/chunk-WIFOXVZ3.js.map +1 -0
  11. package/dist/chunk-YK6XO66Y.js +84 -0
  12. package/dist/chunk-YK6XO66Y.js.map +1 -0
  13. package/dist/chunk-Z7VSWPPK.js +181 -0
  14. package/dist/chunk-Z7VSWPPK.js.map +1 -0
  15. package/dist/client.cjs +36 -0
  16. package/dist/client.cjs.map +1 -0
  17. package/dist/client.d.cts +7 -0
  18. package/dist/client.d.ts +7 -5
  19. package/dist/client.js +6 -5
  20. package/dist/client.js.map +1 -0
  21. package/dist/hooks/customer.cjs +14036 -0
  22. package/dist/hooks/customer.cjs.map +1 -0
  23. package/dist/hooks/customer.d.cts +11 -0
  24. package/dist/hooks/customer.d.ts +11 -4
  25. package/dist/hooks/customer.js +9 -62
  26. package/dist/hooks/customer.js.map +1 -0
  27. package/dist/index.cjs +14793 -0
  28. package/dist/index.cjs.map +1 -0
  29. package/dist/index.d.cts +797 -0
  30. package/dist/index.d.ts +205 -196
  31. package/dist/index.js +55 -34
  32. package/dist/index.js.map +1 -0
  33. package/dist/plugins/checkout.cjs +14424 -0
  34. package/dist/plugins/checkout.cjs.map +1 -0
  35. package/dist/plugins/checkout.d.cts +6 -0
  36. package/dist/plugins/checkout.d.ts +6 -548
  37. package/dist/plugins/checkout.js +8 -170
  38. package/dist/plugins/checkout.js.map +1 -0
  39. package/dist/plugins/portal.cjs +14446 -0
  40. package/dist/plugins/portal.cjs.map +1 -0
  41. package/dist/plugins/portal.d.cts +6 -0
  42. package/dist/plugins/portal.d.ts +6 -204
  43. package/dist/plugins/portal.js +8 -171
  44. package/dist/plugins/portal.js.map +1 -0
  45. package/dist/plugins/webhooks.cjs +14046 -0
  46. package/dist/plugins/webhooks.cjs.map +1 -0
  47. package/dist/plugins/webhooks.d.cts +6 -0
  48. package/dist/plugins/webhooks.d.ts +6 -41
  49. package/dist/plugins/webhooks.js +7 -61
  50. package/dist/plugins/webhooks.js.map +1 -0
  51. package/dist/types-CbotWcHh.d.cts +841 -0
  52. package/dist/types-CbotWcHh.d.ts +841 -0
  53. package/dist/types.cjs +19 -0
  54. package/dist/types.cjs.map +1 -0
  55. package/dist/types.d.cts +6 -0
  56. package/dist/types.d.ts +6 -52
  57. package/dist/types.js +1 -1
  58. package/dist/types.js.map +1 -0
  59. package/package.json +5 -10
@@ -1,171 +1,9 @@
1
- import { APIError, getSessionFromCtx } from "better-auth/api";
2
- import { createAuthEndpoint } from "better-auth/plugins";
3
- import { z } from "zod/v3";
4
- import { buildCheckoutUrl, checkoutSessionPayloadSchema, dynamicCheckoutBodySchema, } from "@dodopayments/core/checkout";
5
- export const checkout = (checkoutOptions = {}) => (dodopayments) => {
6
- return {
7
- /**
8
- * @deprecated
9
- */
10
- dodoCheckout: createAuthEndpoint("/dodopayments/checkout", {
11
- method: "POST",
12
- body: dynamicCheckoutBodySchema.extend({
13
- slug: z.string().optional(),
14
- referenceId: z.string().optional(),
15
- }),
16
- requireRequest: true,
17
- }, async (ctx) => {
18
- const session = await getSessionFromCtx(ctx);
19
- let dodoPaymentsProductId;
20
- if (ctx.body?.slug) {
21
- const resolvedProducts = typeof checkoutOptions.products === "function"
22
- ? await checkoutOptions.products()
23
- : checkoutOptions.products;
24
- const productId = resolvedProducts?.find((product) => product.slug === ctx.body.slug)?.productId;
25
- if (!productId) {
26
- throw new APIError("BAD_REQUEST", {
27
- message: "Product not found",
28
- });
29
- }
30
- dodoPaymentsProductId = productId;
31
- }
32
- else {
33
- dodoPaymentsProductId = ctx.body.product_id;
34
- }
35
- if (checkoutOptions.authenticatedUsersOnly && !session?.user.id) {
36
- throw new APIError("UNAUTHORIZED", {
37
- message: "You must be logged in to checkout",
38
- });
39
- }
40
- try {
41
- const checkoutUrl = await buildCheckoutUrl({
42
- body: {
43
- ...ctx.body,
44
- product_id: dodoPaymentsProductId,
45
- customer: {
46
- email: session?.user.email,
47
- name: session?.user.name,
48
- ...ctx.body.customer,
49
- },
50
- product_cart: dodoPaymentsProductId
51
- ? [
52
- {
53
- product_id: dodoPaymentsProductId,
54
- quantity: 1,
55
- },
56
- ]
57
- : undefined,
58
- metadata: ctx.body.referenceId
59
- ? {
60
- referenceId: ctx.body.referenceId,
61
- ...ctx.body.metadata,
62
- }
63
- : ctx.body.metadata,
64
- },
65
- bearerToken: dodopayments.bearerToken,
66
- environment: dodopayments.baseURL.includes("test")
67
- ? "test_mode"
68
- : "live_mode",
69
- returnUrl: checkoutOptions.successUrl
70
- ? new URL(checkoutOptions.successUrl, ctx.request?.url).toString()
71
- : undefined,
72
- type: "dynamic",
73
- });
74
- const redirectUrl = new URL(checkoutUrl);
75
- return ctx.json({
76
- url: redirectUrl.toString(),
77
- redirect: true,
78
- });
79
- }
80
- catch (e) {
81
- if (e instanceof Error) {
82
- ctx.context.logger.error(`DodoPayments checkout creation failed. Error: ${e.message}`);
83
- }
84
- throw new APIError("INTERNAL_SERVER_ERROR", {
85
- message: "Checkout creation failed",
86
- });
87
- }
88
- }),
89
- dodoCheckoutSession: createAuthEndpoint("/dodopayments/checkout-session", {
90
- method: "POST",
91
- body: checkoutSessionPayloadSchema
92
- .extend({
93
- slug: z.string().optional(),
94
- referenceId: z.string().optional(),
95
- })
96
- .partial({
97
- product_cart: true,
98
- }),
99
- requireRequest: true,
100
- }, async (ctx) => {
101
- const session = await getSessionFromCtx(ctx);
102
- let dodoPaymentsProductId;
103
- if (ctx.body?.slug) {
104
- const resolvedProducts = typeof checkoutOptions.products === "function"
105
- ? await checkoutOptions.products()
106
- : checkoutOptions.products;
107
- const productId = resolvedProducts?.find((product) => product.slug === ctx.body.slug)?.productId;
108
- if (!productId) {
109
- throw new APIError("BAD_REQUEST", {
110
- message: "Product not found",
111
- });
112
- }
113
- dodoPaymentsProductId = productId;
114
- }
115
- if (checkoutOptions.authenticatedUsersOnly && !session?.user.id) {
116
- throw new APIError("UNAUTHORIZED", {
117
- message: "You must be logged in to checkout",
118
- });
119
- }
120
- // Ensure we have a product_cart
121
- const product_cart = dodoPaymentsProductId
122
- ? [{ product_id: dodoPaymentsProductId, quantity: 1 }]
123
- : ctx.body.product_cart;
124
- if (!product_cart || product_cart.length === 0) {
125
- throw new APIError("BAD_REQUEST", {
126
- message: "Neither product_cart nor slug was provided",
127
- });
128
- }
129
- try {
130
- const checkoutUrl = await buildCheckoutUrl({
131
- sessionPayload: {
132
- ...ctx.body,
133
- product_cart,
134
- customer: {
135
- email: session?.user.email,
136
- name: session?.user.name,
137
- ...ctx.body.customer,
138
- },
139
- metadata: ctx.body.referenceId
140
- ? {
141
- referenceId: ctx.body.referenceId,
142
- ...ctx.body.metadata,
143
- }
144
- : ctx.body.metadata,
145
- return_url: checkoutOptions.successUrl
146
- ? new URL(checkoutOptions.successUrl, ctx.request?.url).toString()
147
- : undefined,
148
- },
149
- bearerToken: dodopayments.bearerToken,
150
- environment: dodopayments.baseURL.includes("test")
151
- ? "test_mode"
152
- : "live_mode",
153
- type: "session",
154
- });
155
- const redirectUrl = new URL(checkoutUrl);
156
- return ctx.json({
157
- url: redirectUrl.toString(),
158
- redirect: true,
159
- });
160
- }
161
- catch (e) {
162
- if (e instanceof Error) {
163
- ctx.context.logger.error(`DodoPayments checkout creation failed. Error: ${e.message}`);
164
- }
165
- throw new APIError("INTERNAL_SERVER_ERROR", {
166
- message: "Checkout session creation failed",
167
- });
168
- }
169
- }),
170
- };
1
+ import {
2
+ checkout
3
+ } from "../chunk-Z7VSWPPK.js";
4
+ import "../chunk-WIFOXVZ3.js";
5
+ import "../chunk-QR7PLJJQ.js";
6
+ export {
7
+ checkout
171
8
  };
9
+ //# sourceMappingURL=checkout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}