@dodopayments/convex 0.2.1 → 0.2.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.
@@ -1,5 +1,5 @@
1
- import { z } from 'zod';
2
1
  import DodoPayments from 'dodopayments';
2
+ import { object as objectType, string as stringType, unknown as unknownType, record as recordType, array as arrayType, number as numberType, enum as enumType, boolean as booleanType } from '../../../../node_modules/zod/v3/types.js';
3
3
 
4
4
  var __assign = (undefined && undefined.__assign) || function () {
5
5
  __assign = Object.assign || function(t) {
@@ -48,105 +48,99 @@ var __generator = (undefined && undefined.__generator) || function (thisArg, bod
48
48
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
49
49
  }
50
50
  };
51
- var checkoutQuerySchema = z
52
- .object({
53
- productId: z.string(),
54
- quantity: z.string().optional(),
51
+ var checkoutQuerySchema = objectType({
52
+ productId: stringType(),
53
+ quantity: stringType().optional(),
55
54
  // Customer fields
56
- fullName: z.string().optional(),
57
- firstName: z.string().optional(),
58
- lastName: z.string().optional(),
59
- email: z.string().optional(),
60
- country: z.string().optional(),
61
- addressLine: z.string().optional(),
62
- city: z.string().optional(),
63
- state: z.string().optional(),
64
- zipCode: z.string().optional(),
55
+ fullName: stringType().optional(),
56
+ firstName: stringType().optional(),
57
+ lastName: stringType().optional(),
58
+ email: stringType().optional(),
59
+ country: stringType().optional(),
60
+ addressLine: stringType().optional(),
61
+ city: stringType().optional(),
62
+ state: stringType().optional(),
63
+ zipCode: stringType().optional(),
65
64
  // Disable flags
66
- disableFullName: z.string().optional(),
67
- disableFirstName: z.string().optional(),
68
- disableLastName: z.string().optional(),
69
- disableEmail: z.string().optional(),
70
- disableCountry: z.string().optional(),
71
- disableAddressLine: z.string().optional(),
72
- disableCity: z.string().optional(),
73
- disableState: z.string().optional(),
74
- disableZipCode: z.string().optional(),
65
+ disableFullName: stringType().optional(),
66
+ disableFirstName: stringType().optional(),
67
+ disableLastName: stringType().optional(),
68
+ disableEmail: stringType().optional(),
69
+ disableCountry: stringType().optional(),
70
+ disableAddressLine: stringType().optional(),
71
+ disableCity: stringType().optional(),
72
+ disableState: stringType().optional(),
73
+ disableZipCode: stringType().optional(),
75
74
  // Advanced controls
76
- paymentCurrency: z.string().optional(),
77
- showCurrencySelector: z.string().optional(),
78
- paymentAmount: z.string().optional(),
79
- showDiscounts: z.string().optional(),
75
+ paymentCurrency: stringType().optional(),
76
+ showCurrencySelector: stringType().optional(),
77
+ paymentAmount: stringType().optional(),
78
+ showDiscounts: stringType().optional(),
80
79
  // Metadata (allow any key starting with metadata_)
81
80
  // We'll handle metadata separately in the handler
82
81
  })
83
- .catchall(z.unknown());
82
+ .catchall(unknownType());
84
83
  // Add Zod schema for dynamic checkout body
85
- var dynamicCheckoutBodySchema = z
86
- .object({
84
+ var dynamicCheckoutBodySchema = objectType({
87
85
  // For subscription
88
- product_id: z.string().optional(),
89
- quantity: z.number().optional(),
86
+ product_id: stringType().optional(),
87
+ quantity: numberType().optional(),
90
88
  // For one-time payment
91
- product_cart: z
92
- .array(z.object({
93
- product_id: z.string(),
94
- quantity: z.number(),
89
+ product_cart: arrayType(objectType({
90
+ product_id: stringType(),
91
+ quantity: numberType(),
95
92
  }))
96
93
  .optional(),
97
94
  // Common fields
98
- billing: z.object({
99
- city: z.string(),
100
- country: z.string(),
101
- state: z.string(),
102
- street: z.string(),
103
- zipcode: z.string(),
95
+ billing: objectType({
96
+ city: stringType(),
97
+ country: stringType(),
98
+ state: stringType(),
99
+ street: stringType(),
100
+ zipcode: stringType(),
104
101
  }),
105
- customer: z.object({
106
- customer_id: z.string().optional(),
107
- email: z.string().optional(),
108
- name: z.string().optional(),
102
+ customer: objectType({
103
+ customer_id: stringType().optional(),
104
+ email: stringType().optional(),
105
+ name: stringType().optional(),
109
106
  }),
110
- discount_id: z.string().optional(),
111
- addons: z
112
- .array(z.object({
113
- addon_id: z.string(),
114
- quantity: z.number(),
107
+ discount_id: stringType().optional(),
108
+ addons: arrayType(objectType({
109
+ addon_id: stringType(),
110
+ quantity: numberType(),
115
111
  }))
116
112
  .optional(),
117
- metadata: z.record(z.string(), z.string()).optional(),
118
- currency: z.string().optional(),
113
+ metadata: recordType(stringType(), stringType()).optional(),
114
+ currency: stringType().optional(),
119
115
  // Allow any additional fields (for future compatibility)
120
116
  })
121
- .catchall(z.unknown());
117
+ .catchall(unknownType());
122
118
  // ========================================
123
119
  // CHECKOUT SESSIONS SCHEMAS & TYPES
124
120
  // ========================================
125
121
  // Product cart item schema for checkout sessions
126
- var checkoutSessionProductCartItemSchema = z.object({
127
- product_id: z.string().min(1, "Product ID is required"),
128
- quantity: z.number().int().positive("Quantity must be a positive integer"),
122
+ var checkoutSessionProductCartItemSchema = objectType({
123
+ product_id: stringType().min(1, "Product ID is required"),
124
+ quantity: numberType().int().positive("Quantity must be a positive integer"),
129
125
  });
130
126
  // Customer information schema for checkout sessions
131
- var checkoutSessionCustomerSchema = z
132
- .object({
133
- email: z.string().email().optional(),
134
- name: z.string().min(1).optional(),
135
- phone_number: z.string().optional(),
127
+ var checkoutSessionCustomerSchema = objectType({
128
+ email: stringType().email().optional(),
129
+ name: stringType().min(1).optional(),
130
+ phone_number: stringType().optional(),
136
131
  })
137
132
  .optional();
138
133
  // Billing address schema for checkout sessions
139
- var checkoutSessionBillingAddressSchema = z
140
- .object({
141
- street: z.string().optional(),
142
- city: z.string().optional(),
143
- state: z.string().optional(),
144
- country: z.string().length(2, "Country must be a 2-letter ISO code"),
145
- zipcode: z.string().optional(),
134
+ var checkoutSessionBillingAddressSchema = objectType({
135
+ street: stringType().optional(),
136
+ city: stringType().optional(),
137
+ state: stringType().optional(),
138
+ country: stringType().length(2, "Country must be a 2-letter ISO code"),
139
+ zipcode: stringType().optional(),
146
140
  })
147
141
  .optional();
148
142
  // Payment method types enum based on Dodo Payments documentation
149
- var paymentMethodTypeSchema = z.enum([
143
+ var paymentMethodTypeSchema = enumType([
150
144
  "credit",
151
145
  "debit",
152
146
  "upi_collect",
@@ -161,56 +155,51 @@ var paymentMethodTypeSchema = z.enum([
161
155
  "ach",
162
156
  ]);
163
157
  // Customization options schema
164
- var checkoutSessionCustomizationSchema = z
165
- .object({
166
- theme: z.enum(["light", "dark", "system"]).optional(),
167
- show_order_details: z.boolean().optional(),
168
- show_on_demand_tag: z.boolean().optional(),
158
+ var checkoutSessionCustomizationSchema = objectType({
159
+ theme: enumType(["light", "dark", "system"]).optional(),
160
+ show_order_details: booleanType().optional(),
161
+ show_on_demand_tag: booleanType().optional(),
169
162
  })
170
163
  .optional();
171
164
  // Feature flags schema
172
- var checkoutSessionFeatureFlagsSchema = z
173
- .object({
174
- allow_currency_selection: z.boolean().optional(),
175
- allow_discount_code: z.boolean().optional(),
176
- allow_phone_number_collection: z.boolean().optional(),
177
- allow_tax_id: z.boolean().optional(),
178
- always_create_new_customer: z.boolean().optional(),
165
+ var checkoutSessionFeatureFlagsSchema = objectType({
166
+ allow_currency_selection: booleanType().optional(),
167
+ allow_discount_code: booleanType().optional(),
168
+ allow_phone_number_collection: booleanType().optional(),
169
+ allow_tax_id: booleanType().optional(),
170
+ always_create_new_customer: booleanType().optional(),
179
171
  })
180
172
  .optional();
181
173
  // Subscription data schema
182
- var checkoutSessionSubscriptionDataSchema = z
183
- .object({
184
- trial_period_days: z.number().int().nonnegative().optional(),
174
+ var checkoutSessionSubscriptionDataSchema = objectType({
175
+ trial_period_days: numberType().int().nonnegative().optional(),
185
176
  })
186
177
  .optional();
187
178
  // Main checkout session payload schema
188
- var checkoutSessionPayloadSchema = z.object({
179
+ var checkoutSessionPayloadSchema = objectType({
189
180
  // Required fields
190
- product_cart: z
191
- .array(checkoutSessionProductCartItemSchema)
181
+ product_cart: arrayType(checkoutSessionProductCartItemSchema)
192
182
  .min(1, "At least one product is required"),
193
183
  // Optional fields
194
184
  customer: checkoutSessionCustomerSchema,
195
185
  billing_address: checkoutSessionBillingAddressSchema,
196
- return_url: z.string().url().optional(),
197
- allowed_payment_method_types: z.array(paymentMethodTypeSchema).optional(),
198
- billing_currency: z
199
- .string()
186
+ return_url: stringType().url().optional(),
187
+ allowed_payment_method_types: arrayType(paymentMethodTypeSchema).optional(),
188
+ billing_currency: stringType()
200
189
  .length(3, "Currency must be a 3-letter ISO code")
201
190
  .optional(),
202
- show_saved_payment_methods: z.boolean().optional(),
203
- confirm: z.boolean().optional(),
204
- discount_code: z.string().optional(),
205
- metadata: z.record(z.string(), z.string()).optional(),
191
+ show_saved_payment_methods: booleanType().optional(),
192
+ confirm: booleanType().optional(),
193
+ discount_code: stringType().optional(),
194
+ metadata: recordType(stringType(), stringType()).optional(),
206
195
  customization: checkoutSessionCustomizationSchema,
207
196
  feature_flags: checkoutSessionFeatureFlagsSchema,
208
197
  subscription_data: checkoutSessionSubscriptionDataSchema,
209
198
  });
210
199
  // Checkout session response schema
211
- var checkoutSessionResponseSchema = z.object({
212
- session_id: z.string().min(1, "Session ID is required"),
213
- checkout_url: z.string().url("Invalid checkout URL"),
200
+ var checkoutSessionResponseSchema = objectType({
201
+ session_id: stringType().min(1, "Session ID is required"),
202
+ checkout_url: stringType().url("Invalid checkout URL"),
214
203
  });
215
204
  /**
216
205
  * Creates a new Dodo Payments Checkout Session using the modern /checkouts endpoint.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout.js","sources":["../../../../../../core/dist/checkout/checkout.js"],"sourcesContent":["var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { z } from \"zod/v3\";\nimport DodoPayments from \"dodopayments\";\nexport var checkoutQuerySchema = z\n .object({\n productId: z.string(),\n quantity: z.string().optional(),\n // Customer fields\n fullName: z.string().optional(),\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n email: z.string().optional(),\n country: z.string().optional(),\n addressLine: z.string().optional(),\n city: z.string().optional(),\n state: z.string().optional(),\n zipCode: z.string().optional(),\n // Disable flags\n disableFullName: z.string().optional(),\n disableFirstName: z.string().optional(),\n disableLastName: z.string().optional(),\n disableEmail: z.string().optional(),\n disableCountry: z.string().optional(),\n disableAddressLine: z.string().optional(),\n disableCity: z.string().optional(),\n disableState: z.string().optional(),\n disableZipCode: z.string().optional(),\n // Advanced controls\n paymentCurrency: z.string().optional(),\n showCurrencySelector: z.string().optional(),\n paymentAmount: z.string().optional(),\n showDiscounts: z.string().optional(),\n // Metadata (allow any key starting with metadata_)\n // We'll handle metadata separately in the handler\n})\n .catchall(z.unknown());\n// Add Zod schema for dynamic checkout body\nexport var dynamicCheckoutBodySchema = z\n .object({\n // For subscription\n product_id: z.string().optional(),\n quantity: z.number().optional(),\n // For one-time payment\n product_cart: z\n .array(z.object({\n product_id: z.string(),\n quantity: z.number(),\n }))\n .optional(),\n // Common fields\n billing: z.object({\n city: z.string(),\n country: z.string(),\n state: z.string(),\n street: z.string(),\n zipcode: z.string(),\n }),\n customer: z.object({\n customer_id: z.string().optional(),\n email: z.string().optional(),\n name: z.string().optional(),\n }),\n discount_id: z.string().optional(),\n addons: z\n .array(z.object({\n addon_id: z.string(),\n quantity: z.number(),\n }))\n .optional(),\n metadata: z.record(z.string(), z.string()).optional(),\n currency: z.string().optional(),\n // Allow any additional fields (for future compatibility)\n})\n .catchall(z.unknown());\n// ========================================\n// CHECKOUT SESSIONS SCHEMAS & TYPES\n// ========================================\n// Product cart item schema for checkout sessions\nexport var checkoutSessionProductCartItemSchema = z.object({\n product_id: z.string().min(1, \"Product ID is required\"),\n quantity: z.number().int().positive(\"Quantity must be a positive integer\"),\n});\n// Customer information schema for checkout sessions\nexport var checkoutSessionCustomerSchema = z\n .object({\n email: z.string().email().optional(),\n name: z.string().min(1).optional(),\n phone_number: z.string().optional(),\n})\n .optional();\n// Billing address schema for checkout sessions\nexport var checkoutSessionBillingAddressSchema = z\n .object({\n street: z.string().optional(),\n city: z.string().optional(),\n state: z.string().optional(),\n country: z.string().length(2, \"Country must be a 2-letter ISO code\"),\n zipcode: z.string().optional(),\n})\n .optional();\n// Payment method types enum based on Dodo Payments documentation\nexport var paymentMethodTypeSchema = z.enum([\n \"credit\",\n \"debit\",\n \"upi_collect\",\n \"upi_intent\",\n \"apple_pay\",\n \"google_pay\",\n \"amazon_pay\",\n \"klarna\",\n \"affirm\",\n \"afterpay_clearpay\",\n \"sepa\",\n \"ach\",\n]);\n// Customization options schema\nexport var checkoutSessionCustomizationSchema = z\n .object({\n theme: z.enum([\"light\", \"dark\", \"system\"]).optional(),\n show_order_details: z.boolean().optional(),\n show_on_demand_tag: z.boolean().optional(),\n})\n .optional();\n// Feature flags schema\nexport var checkoutSessionFeatureFlagsSchema = z\n .object({\n allow_currency_selection: z.boolean().optional(),\n allow_discount_code: z.boolean().optional(),\n allow_phone_number_collection: z.boolean().optional(),\n allow_tax_id: z.boolean().optional(),\n always_create_new_customer: z.boolean().optional(),\n})\n .optional();\n// Subscription data schema\nexport var checkoutSessionSubscriptionDataSchema = z\n .object({\n trial_period_days: z.number().int().nonnegative().optional(),\n})\n .optional();\n// Main checkout session payload schema\nexport var checkoutSessionPayloadSchema = z.object({\n // Required fields\n product_cart: z\n .array(checkoutSessionProductCartItemSchema)\n .min(1, \"At least one product is required\"),\n // Optional fields\n customer: checkoutSessionCustomerSchema,\n billing_address: checkoutSessionBillingAddressSchema,\n return_url: z.string().url().optional(),\n allowed_payment_method_types: z.array(paymentMethodTypeSchema).optional(),\n billing_currency: z\n .string()\n .length(3, \"Currency must be a 3-letter ISO code\")\n .optional(),\n show_saved_payment_methods: z.boolean().optional(),\n confirm: z.boolean().optional(),\n discount_code: z.string().optional(),\n metadata: z.record(z.string(), z.string()).optional(),\n customization: checkoutSessionCustomizationSchema,\n feature_flags: checkoutSessionFeatureFlagsSchema,\n subscription_data: checkoutSessionSubscriptionDataSchema,\n});\n// Checkout session response schema\nexport var checkoutSessionResponseSchema = z.object({\n session_id: z.string().min(1, \"Session ID is required\"),\n checkout_url: z.string().url(\"Invalid checkout URL\"),\n});\n/**\n * Creates a new Dodo Payments Checkout Session using the modern /checkouts endpoint.\n * This function provides a clean, type-safe interface to the Checkout Sessions API.\n *\n * @param payload - The checkout session data, validated against CheckoutSessionPayloadSchema\n * @param config - Dodo Payments client configuration (bearerToken, environment)\n * @returns Promise<CheckoutSessionResponse> - The checkout session with session_id and checkout_url\n *\n * @throws {Error} When payload validation fails or API request fails\n *\n * @example\n * ```typescript\n * const session = await createCheckoutSession({\n * product_cart: [{ product_id: 'prod_123', quantity: 1 }],\n * customer: { email: 'customer@example.com' },\n * return_url: 'https://yoursite.com/success'\n * }, {\n * bearerToken: process.env.DODO_PAYMENTS_API_KEY,\n * environment: 'test_mode'\n * });\n *\n * ```\n */\nexport var createCheckoutSession = function (payload, config) { return __awaiter(void 0, void 0, void 0, function () {\n var validation, dodopayments, sdkPayload, session, responseValidation, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n validation = checkoutSessionPayloadSchema.safeParse(payload);\n if (!validation.success) {\n throw new Error(\"Invalid checkout session payload: \".concat(validation.error.issues\n .map(function (issue) { return \"\".concat(issue.path.join(\".\"), \": \").concat(issue.message); })\n .join(\", \")));\n }\n dodopayments = new DodoPayments({\n bearerToken: config.bearerToken,\n environment: config.environment,\n });\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n sdkPayload = __assign(__assign({}, validation.data), (validation.data.billing_address && {\n billing_address: __assign(__assign({}, validation.data.billing_address), { country: validation.data.billing_address.country }),\n }));\n return [4 /*yield*/, dodopayments.checkoutSessions.create(sdkPayload)];\n case 2:\n session = _a.sent();\n responseValidation = checkoutSessionResponseSchema.safeParse(session);\n if (!responseValidation.success) {\n throw new Error(\"Invalid checkout session response from API: \".concat(responseValidation.error.issues\n .map(function (issue) { return \"\".concat(issue.path.join(\".\"), \": \").concat(issue.message); })\n .join(\", \")));\n }\n return [2 /*return*/, responseValidation.data];\n case 3:\n error_1 = _a.sent();\n if (error_1 instanceof Error) {\n console.error(\"Dodo Payments Checkout Session API Error:\", {\n message: error_1.message,\n payload: validation.data,\n config: {\n environment: config.environment,\n hasBearerToken: !!config.bearerToken,\n },\n });\n // Re-throw with a more user-friendly message\n throw new Error(\"Failed to create checkout session: \".concat(error_1.message));\n }\n // Handle non-Error objects\n console.error(\"Unknown error creating checkout session:\", error_1);\n throw new Error(\"Failed to create checkout session due to an unknown error\");\n case 4: return [2 /*return*/];\n }\n });\n}); };\nexport var buildCheckoutUrl = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {\n var session, inputData, parseResult, success, data, error, _c, productId, quantity_1, fullName, firstName, lastName, email, country, addressLine, city, state, zipCode, disableFullName, disableFirstName, disableLastName, disableEmail, disableCountry, disableAddressLine, disableCity, disableState, disableZipCode, paymentCurrency, showCurrencySelector, paymentAmount, showDiscounts, dodopayments_1, err_1, url, _i, _d, _e, key, value, dyn, product_id, product_cart, quantity, billing, customer, addons, metadata, allowed_payment_method_types, billing_currency, discount_code, on_demand, bodyReturnUrl, show_saved_payment_methods, tax_id, trial_period_days, dodopayments, isSubscription, productIdToFetch, product, err_2, subscriptionPayload, subscription, err_3, cart, paymentPayload, payment, err_4;\n var queryParams = _b.queryParams, body = _b.body, sessionPayload = _b.sessionPayload, returnUrl = _b.returnUrl, bearerToken = _b.bearerToken, environment = _b.environment, _f = _b.type, type = _f === void 0 ? \"static\" : _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n if (!(type === \"session\")) return [3 /*break*/, 2];\n if (!sessionPayload) {\n throw new Error(\"sessionPayload is required when type is 'session'\");\n }\n return [4 /*yield*/, createCheckoutSession(sessionPayload, {\n bearerToken: bearerToken,\n environment: environment,\n })];\n case 1:\n session = _g.sent();\n return [2 /*return*/, session.checkout_url];\n case 2:\n inputData = type === \"dynamic\" ? body : queryParams;\n if (type === \"dynamic\") {\n parseResult = dynamicCheckoutBodySchema.safeParse(inputData);\n }\n else {\n parseResult = checkoutQuerySchema.safeParse(inputData);\n }\n success = parseResult.success, data = parseResult.data, error = parseResult.error;\n if (!success) {\n throw new Error(\"Invalid \".concat(type === \"dynamic\" ? \"body\" : \"query parameters\", \".\\n \").concat(error.message));\n }\n if (!(type !== \"dynamic\")) return [3 /*break*/, 7];\n _c = data, productId = _c.productId, quantity_1 = _c.quantity, fullName = _c.fullName, firstName = _c.firstName, lastName = _c.lastName, email = _c.email, country = _c.country, addressLine = _c.addressLine, city = _c.city, state = _c.state, zipCode = _c.zipCode, disableFullName = _c.disableFullName, disableFirstName = _c.disableFirstName, disableLastName = _c.disableLastName, disableEmail = _c.disableEmail, disableCountry = _c.disableCountry, disableAddressLine = _c.disableAddressLine, disableCity = _c.disableCity, disableState = _c.disableState, disableZipCode = _c.disableZipCode, paymentCurrency = _c.paymentCurrency, showCurrencySelector = _c.showCurrencySelector, paymentAmount = _c.paymentAmount, showDiscounts = _c.showDiscounts;\n dodopayments_1 = new DodoPayments({\n bearerToken: bearerToken,\n environment: environment,\n });\n // Check that the product exists for this merchant\n if (!productId)\n throw new Error(\"Missing required field: productId\");\n _g.label = 3;\n case 3:\n _g.trys.push([3, 5, , 6]);\n return [4 /*yield*/, dodopayments_1.products.retrieve(productId)];\n case 4:\n _g.sent();\n return [3 /*break*/, 6];\n case 5:\n err_1 = _g.sent();\n console.error(err_1);\n throw new Error(\"Product not found\");\n case 6:\n url = new URL(\"\".concat(environment === \"test_mode\" ? \"https://test.checkout.dodopayments.com\" : \"https://checkout.dodopayments.com\", \"/buy/\").concat(productId));\n url.searchParams.set(\"quantity\", quantity_1 ? String(quantity_1) : \"1\");\n if (returnUrl)\n url.searchParams.set(\"redirect_url\", returnUrl);\n // Customer/billing fields\n if (fullName)\n url.searchParams.set(\"fullName\", String(fullName));\n if (firstName)\n url.searchParams.set(\"firstName\", String(firstName));\n if (lastName)\n url.searchParams.set(\"lastName\", String(lastName));\n if (email)\n url.searchParams.set(\"email\", String(email));\n if (country)\n url.searchParams.set(\"country\", String(country));\n if (addressLine)\n url.searchParams.set(\"addressLine\", String(addressLine));\n if (city)\n url.searchParams.set(\"city\", String(city));\n if (state)\n url.searchParams.set(\"state\", String(state));\n if (zipCode)\n url.searchParams.set(\"zipCode\", String(zipCode));\n // Disable flags (must be set to 'true' to disable)\n if (disableFullName === \"true\")\n url.searchParams.set(\"disableFullName\", \"true\");\n if (disableFirstName === \"true\")\n url.searchParams.set(\"disableFirstName\", \"true\");\n if (disableLastName === \"true\")\n url.searchParams.set(\"disableLastName\", \"true\");\n if (disableEmail === \"true\")\n url.searchParams.set(\"disableEmail\", \"true\");\n if (disableCountry === \"true\")\n url.searchParams.set(\"disableCountry\", \"true\");\n if (disableAddressLine === \"true\")\n url.searchParams.set(\"disableAddressLine\", \"true\");\n if (disableCity === \"true\")\n url.searchParams.set(\"disableCity\", \"true\");\n if (disableState === \"true\")\n url.searchParams.set(\"disableState\", \"true\");\n if (disableZipCode === \"true\")\n url.searchParams.set(\"disableZipCode\", \"true\");\n // Advanced controls\n if (paymentCurrency)\n url.searchParams.set(\"paymentCurrency\", String(paymentCurrency));\n if (showCurrencySelector)\n url.searchParams.set(\"showCurrencySelector\", String(showCurrencySelector));\n if (paymentAmount)\n url.searchParams.set(\"paymentAmount\", String(paymentAmount));\n if (showDiscounts)\n url.searchParams.set(\"showDiscounts\", String(showDiscounts));\n // Metadata: add all query params starting with metadata_\n for (_i = 0, _d = Object.entries(queryParams || {}); _i < _d.length; _i++) {\n _e = _d[_i], key = _e[0], value = _e[1];\n if (key.startsWith(\"metadata_\") && value && typeof value !== \"object\") {\n url.searchParams.set(key, String(value));\n }\n }\n return [2 /*return*/, url.toString()];\n case 7:\n dyn = data;\n product_id = dyn.product_id, product_cart = dyn.product_cart, quantity = dyn.quantity, billing = dyn.billing, customer = dyn.customer, addons = dyn.addons, metadata = dyn.metadata, allowed_payment_method_types = dyn.allowed_payment_method_types, billing_currency = dyn.billing_currency, discount_code = dyn.discount_code, on_demand = dyn.on_demand, bodyReturnUrl = dyn.return_url, show_saved_payment_methods = dyn.show_saved_payment_methods, tax_id = dyn.tax_id, trial_period_days = dyn.trial_period_days;\n dodopayments = new DodoPayments({\n bearerToken: bearerToken,\n environment: environment,\n });\n isSubscription = false;\n productIdToFetch = product_id;\n if (!product_id && product_cart && product_cart.length > 0) {\n productIdToFetch = product_cart[0].product_id;\n }\n if (!productIdToFetch)\n throw new Error(\"Missing required field: product_id or product_cart[0].product_id\");\n _g.label = 8;\n case 8:\n _g.trys.push([8, 10, , 11]);\n return [4 /*yield*/, dodopayments.products.retrieve(productIdToFetch)];\n case 9:\n product = _g.sent();\n return [3 /*break*/, 11];\n case 10:\n err_2 = _g.sent();\n console.error(err_2);\n throw new Error(\"Product not found\");\n case 11:\n isSubscription = Boolean(product.is_recurring);\n // Required field validation\n if (isSubscription && !product_id)\n throw new Error(\"Missing required field: product_id for subscription\");\n if (!billing)\n throw new Error(\"Missing required field: billing\");\n if (!customer)\n throw new Error(\"Missing required field: customer\");\n if (!isSubscription) return [3 /*break*/, 16];\n subscriptionPayload = {\n billing: billing,\n customer: customer,\n product_id: product_id,\n quantity: quantity ? Number(quantity) : 1,\n };\n if (metadata)\n subscriptionPayload.metadata = metadata;\n if (discount_code)\n subscriptionPayload.discount_code = discount_code;\n if (addons)\n subscriptionPayload.addons = addons;\n if (allowed_payment_method_types)\n subscriptionPayload.allowed_payment_method_types =\n allowed_payment_method_types;\n if (billing_currency)\n subscriptionPayload.billing_currency = billing_currency;\n if (on_demand)\n subscriptionPayload.on_demand = on_demand;\n subscriptionPayload.payment_link = true;\n // Use bodyReturnUrl if present, otherwise use top-level returnUrl\n if (bodyReturnUrl) {\n subscriptionPayload.return_url = bodyReturnUrl;\n }\n else if (returnUrl) {\n subscriptionPayload.return_url = returnUrl;\n }\n if (show_saved_payment_methods)\n subscriptionPayload.show_saved_payment_methods =\n show_saved_payment_methods;\n if (tax_id)\n subscriptionPayload.tax_id = tax_id;\n if (trial_period_days)\n subscriptionPayload.trial_period_days = trial_period_days;\n subscription = void 0;\n _g.label = 12;\n case 12:\n _g.trys.push([12, 14, , 15]);\n return [4 /*yield*/, dodopayments.subscriptions.create(subscriptionPayload)];\n case 13:\n subscription =\n _g.sent();\n return [3 /*break*/, 15];\n case 14:\n err_3 = _g.sent();\n console.error(\"Error when creating subscription\", err_3);\n throw new Error(err_3 instanceof Error ? err_3.message : String(err_3));\n case 15:\n if (!subscription || !subscription.payment_link) {\n throw new Error(\"No payment link returned from Dodo Payments API (subscription). Make sure to set payment_link as true in payload\");\n }\n return [2 /*return*/, subscription.payment_link];\n case 16:\n cart = product_cart;\n if (!cart && product_id) {\n cart = [\n { product_id: product_id, quantity: quantity ? Number(quantity) : 1 },\n ];\n }\n if (!cart || cart.length === 0)\n throw new Error(\"Missing required field: product_cart or product_id\");\n paymentPayload = {\n billing: billing,\n customer: customer,\n product_cart: cart,\n };\n if (metadata)\n paymentPayload.metadata = metadata;\n paymentPayload.payment_link = true;\n if (allowed_payment_method_types)\n paymentPayload.allowed_payment_method_types =\n allowed_payment_method_types;\n if (billing_currency)\n paymentPayload.billing_currency = billing_currency;\n if (discount_code)\n paymentPayload.discount_code = discount_code;\n // Use bodyReturnUrl if present, otherwise use top-level returnUrl\n if (bodyReturnUrl) {\n paymentPayload.return_url = bodyReturnUrl;\n }\n else if (returnUrl) {\n paymentPayload.return_url = returnUrl;\n }\n if (show_saved_payment_methods)\n paymentPayload.show_saved_payment_methods = show_saved_payment_methods;\n if (tax_id)\n paymentPayload.tax_id = tax_id;\n payment = void 0;\n _g.label = 17;\n case 17:\n _g.trys.push([17, 19, , 20]);\n return [4 /*yield*/, dodopayments.payments.create(paymentPayload)];\n case 18:\n payment = _g.sent();\n return [3 /*break*/, 20];\n case 19:\n err_4 = _g.sent();\n console.error(\"Error when creating payment link\", err_4);\n throw new Error(err_4 instanceof Error ? err_4.message : String(err_4));\n case 20:\n if (!payment || !payment.payment_link) {\n throw new Error(\"No payment link returned from Dodo Payments API. Make sure to set payment_link as true in payload.\");\n }\n return [2 /*return*/, payment.payment_link];\n }\n });\n}); };\n"],"names":["this","z\n .object","z.string","z.unknown","z.number","z\n .array","z.object","z.record","z.enum","z.boolean","z.array","z\n .string"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dodopayments/convex",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -24,11 +24,11 @@
24
24
  }
25
25
  },
26
26
  "dependencies": {
27
- "@dodopayments/core": "^0.3.0",
27
+ "@dodopayments/core": "^0.3.1",
28
28
  "convex": "^1.26.0"
29
29
  },
30
30
  "peerDependencies": {
31
- "zod": "^3.23.8"
31
+ "zod": "^3.25.0 || ^4.0.0"
32
32
  },
33
33
  "keywords": [
34
34
  "payments",
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkout.js","sources":["../../../../../core/dist/checkout/checkout.js"],"sourcesContent":["var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { z } from \"zod\";\nimport DodoPayments from \"dodopayments\";\nexport var checkoutQuerySchema = z\n .object({\n productId: z.string(),\n quantity: z.string().optional(),\n // Customer fields\n fullName: z.string().optional(),\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n email: z.string().optional(),\n country: z.string().optional(),\n addressLine: z.string().optional(),\n city: z.string().optional(),\n state: z.string().optional(),\n zipCode: z.string().optional(),\n // Disable flags\n disableFullName: z.string().optional(),\n disableFirstName: z.string().optional(),\n disableLastName: z.string().optional(),\n disableEmail: z.string().optional(),\n disableCountry: z.string().optional(),\n disableAddressLine: z.string().optional(),\n disableCity: z.string().optional(),\n disableState: z.string().optional(),\n disableZipCode: z.string().optional(),\n // Advanced controls\n paymentCurrency: z.string().optional(),\n showCurrencySelector: z.string().optional(),\n paymentAmount: z.string().optional(),\n showDiscounts: z.string().optional(),\n // Metadata (allow any key starting with metadata_)\n // We'll handle metadata separately in the handler\n})\n .catchall(z.unknown());\n// Add Zod schema for dynamic checkout body\nexport var dynamicCheckoutBodySchema = z\n .object({\n // For subscription\n product_id: z.string().optional(),\n quantity: z.number().optional(),\n // For one-time payment\n product_cart: z\n .array(z.object({\n product_id: z.string(),\n quantity: z.number(),\n }))\n .optional(),\n // Common fields\n billing: z.object({\n city: z.string(),\n country: z.string(),\n state: z.string(),\n street: z.string(),\n zipcode: z.string(),\n }),\n customer: z.object({\n customer_id: z.string().optional(),\n email: z.string().optional(),\n name: z.string().optional(),\n }),\n discount_id: z.string().optional(),\n addons: z\n .array(z.object({\n addon_id: z.string(),\n quantity: z.number(),\n }))\n .optional(),\n metadata: z.record(z.string(), z.string()).optional(),\n currency: z.string().optional(),\n // Allow any additional fields (for future compatibility)\n})\n .catchall(z.unknown());\n// ========================================\n// CHECKOUT SESSIONS SCHEMAS & TYPES\n// ========================================\n// Product cart item schema for checkout sessions\nexport var checkoutSessionProductCartItemSchema = z.object({\n product_id: z.string().min(1, \"Product ID is required\"),\n quantity: z.number().int().positive(\"Quantity must be a positive integer\"),\n});\n// Customer information schema for checkout sessions\nexport var checkoutSessionCustomerSchema = z\n .object({\n email: z.string().email().optional(),\n name: z.string().min(1).optional(),\n phone_number: z.string().optional(),\n})\n .optional();\n// Billing address schema for checkout sessions\nexport var checkoutSessionBillingAddressSchema = z\n .object({\n street: z.string().optional(),\n city: z.string().optional(),\n state: z.string().optional(),\n country: z.string().length(2, \"Country must be a 2-letter ISO code\"),\n zipcode: z.string().optional(),\n})\n .optional();\n// Payment method types enum based on Dodo Payments documentation\nexport var paymentMethodTypeSchema = z.enum([\n \"credit\",\n \"debit\",\n \"upi_collect\",\n \"upi_intent\",\n \"apple_pay\",\n \"google_pay\",\n \"amazon_pay\",\n \"klarna\",\n \"affirm\",\n \"afterpay_clearpay\",\n \"sepa\",\n \"ach\",\n]);\n// Customization options schema\nexport var checkoutSessionCustomizationSchema = z\n .object({\n theme: z.enum([\"light\", \"dark\", \"system\"]).optional(),\n show_order_details: z.boolean().optional(),\n show_on_demand_tag: z.boolean().optional(),\n})\n .optional();\n// Feature flags schema\nexport var checkoutSessionFeatureFlagsSchema = z\n .object({\n allow_currency_selection: z.boolean().optional(),\n allow_discount_code: z.boolean().optional(),\n allow_phone_number_collection: z.boolean().optional(),\n allow_tax_id: z.boolean().optional(),\n always_create_new_customer: z.boolean().optional(),\n})\n .optional();\n// Subscription data schema\nexport var checkoutSessionSubscriptionDataSchema = z\n .object({\n trial_period_days: z.number().int().nonnegative().optional(),\n})\n .optional();\n// Main checkout session payload schema\nexport var checkoutSessionPayloadSchema = z.object({\n // Required fields\n product_cart: z\n .array(checkoutSessionProductCartItemSchema)\n .min(1, \"At least one product is required\"),\n // Optional fields\n customer: checkoutSessionCustomerSchema,\n billing_address: checkoutSessionBillingAddressSchema,\n return_url: z.string().url().optional(),\n allowed_payment_method_types: z.array(paymentMethodTypeSchema).optional(),\n billing_currency: z\n .string()\n .length(3, \"Currency must be a 3-letter ISO code\")\n .optional(),\n show_saved_payment_methods: z.boolean().optional(),\n confirm: z.boolean().optional(),\n discount_code: z.string().optional(),\n metadata: z.record(z.string(), z.string()).optional(),\n customization: checkoutSessionCustomizationSchema,\n feature_flags: checkoutSessionFeatureFlagsSchema,\n subscription_data: checkoutSessionSubscriptionDataSchema,\n});\n// Checkout session response schema\nexport var checkoutSessionResponseSchema = z.object({\n session_id: z.string().min(1, \"Session ID is required\"),\n checkout_url: z.string().url(\"Invalid checkout URL\"),\n});\n/**\n * Creates a new Dodo Payments Checkout Session using the modern /checkouts endpoint.\n * This function provides a clean, type-safe interface to the Checkout Sessions API.\n *\n * @param payload - The checkout session data, validated against CheckoutSessionPayloadSchema\n * @param config - Dodo Payments client configuration (bearerToken, environment)\n * @returns Promise<CheckoutSessionResponse> - The checkout session with session_id and checkout_url\n *\n * @throws {Error} When payload validation fails or API request fails\n *\n * @example\n * ```typescript\n * const session = await createCheckoutSession({\n * product_cart: [{ product_id: 'prod_123', quantity: 1 }],\n * customer: { email: 'customer@example.com' },\n * return_url: 'https://yoursite.com/success'\n * }, {\n * bearerToken: process.env.DODO_PAYMENTS_API_KEY,\n * environment: 'test_mode'\n * });\n *\n * ```\n */\nexport var createCheckoutSession = function (payload, config) { return __awaiter(void 0, void 0, void 0, function () {\n var validation, dodopayments, sdkPayload, session, responseValidation, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n validation = checkoutSessionPayloadSchema.safeParse(payload);\n if (!validation.success) {\n throw new Error(\"Invalid checkout session payload: \".concat(validation.error.issues\n .map(function (issue) { return \"\".concat(issue.path.join(\".\"), \": \").concat(issue.message); })\n .join(\", \")));\n }\n dodopayments = new DodoPayments({\n bearerToken: config.bearerToken,\n environment: config.environment,\n });\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n sdkPayload = __assign(__assign({}, validation.data), (validation.data.billing_address && {\n billing_address: __assign(__assign({}, validation.data.billing_address), { country: validation.data.billing_address.country }),\n }));\n return [4 /*yield*/, dodopayments.checkoutSessions.create(sdkPayload)];\n case 2:\n session = _a.sent();\n responseValidation = checkoutSessionResponseSchema.safeParse(session);\n if (!responseValidation.success) {\n throw new Error(\"Invalid checkout session response from API: \".concat(responseValidation.error.issues\n .map(function (issue) { return \"\".concat(issue.path.join(\".\"), \": \").concat(issue.message); })\n .join(\", \")));\n }\n return [2 /*return*/, responseValidation.data];\n case 3:\n error_1 = _a.sent();\n if (error_1 instanceof Error) {\n console.error(\"Dodo Payments Checkout Session API Error:\", {\n message: error_1.message,\n payload: validation.data,\n config: {\n environment: config.environment,\n hasBearerToken: !!config.bearerToken,\n },\n });\n // Re-throw with a more user-friendly message\n throw new Error(\"Failed to create checkout session: \".concat(error_1.message));\n }\n // Handle non-Error objects\n console.error(\"Unknown error creating checkout session:\", error_1);\n throw new Error(\"Failed to create checkout session due to an unknown error\");\n case 4: return [2 /*return*/];\n }\n });\n}); };\nexport var buildCheckoutUrl = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {\n var session, inputData, parseResult, success, data, error, _c, productId, quantity_1, fullName, firstName, lastName, email, country, addressLine, city, state, zipCode, disableFullName, disableFirstName, disableLastName, disableEmail, disableCountry, disableAddressLine, disableCity, disableState, disableZipCode, paymentCurrency, showCurrencySelector, paymentAmount, showDiscounts, dodopayments_1, err_1, url, _i, _d, _e, key, value, dyn, product_id, product_cart, quantity, billing, customer, addons, metadata, allowed_payment_method_types, billing_currency, discount_code, on_demand, bodyReturnUrl, show_saved_payment_methods, tax_id, trial_period_days, dodopayments, isSubscription, productIdToFetch, product, err_2, subscriptionPayload, subscription, err_3, cart, paymentPayload, payment, err_4;\n var queryParams = _b.queryParams, body = _b.body, sessionPayload = _b.sessionPayload, returnUrl = _b.returnUrl, bearerToken = _b.bearerToken, environment = _b.environment, _f = _b.type, type = _f === void 0 ? \"static\" : _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n if (!(type === \"session\")) return [3 /*break*/, 2];\n if (!sessionPayload) {\n throw new Error(\"sessionPayload is required when type is 'session'\");\n }\n return [4 /*yield*/, createCheckoutSession(sessionPayload, {\n bearerToken: bearerToken,\n environment: environment,\n })];\n case 1:\n session = _g.sent();\n return [2 /*return*/, session.checkout_url];\n case 2:\n inputData = type === \"dynamic\" ? body : queryParams;\n if (type === \"dynamic\") {\n parseResult = dynamicCheckoutBodySchema.safeParse(inputData);\n }\n else {\n parseResult = checkoutQuerySchema.safeParse(inputData);\n }\n success = parseResult.success, data = parseResult.data, error = parseResult.error;\n if (!success) {\n throw new Error(\"Invalid \".concat(type === \"dynamic\" ? \"body\" : \"query parameters\", \".\\n \").concat(error.message));\n }\n if (!(type !== \"dynamic\")) return [3 /*break*/, 7];\n _c = data, productId = _c.productId, quantity_1 = _c.quantity, fullName = _c.fullName, firstName = _c.firstName, lastName = _c.lastName, email = _c.email, country = _c.country, addressLine = _c.addressLine, city = _c.city, state = _c.state, zipCode = _c.zipCode, disableFullName = _c.disableFullName, disableFirstName = _c.disableFirstName, disableLastName = _c.disableLastName, disableEmail = _c.disableEmail, disableCountry = _c.disableCountry, disableAddressLine = _c.disableAddressLine, disableCity = _c.disableCity, disableState = _c.disableState, disableZipCode = _c.disableZipCode, paymentCurrency = _c.paymentCurrency, showCurrencySelector = _c.showCurrencySelector, paymentAmount = _c.paymentAmount, showDiscounts = _c.showDiscounts;\n dodopayments_1 = new DodoPayments({\n bearerToken: bearerToken,\n environment: environment,\n });\n // Check that the product exists for this merchant\n if (!productId)\n throw new Error(\"Missing required field: productId\");\n _g.label = 3;\n case 3:\n _g.trys.push([3, 5, , 6]);\n return [4 /*yield*/, dodopayments_1.products.retrieve(productId)];\n case 4:\n _g.sent();\n return [3 /*break*/, 6];\n case 5:\n err_1 = _g.sent();\n console.error(err_1);\n throw new Error(\"Product not found\");\n case 6:\n url = new URL(\"\".concat(environment === \"test_mode\" ? \"https://test.checkout.dodopayments.com\" : \"https://checkout.dodopayments.com\", \"/buy/\").concat(productId));\n url.searchParams.set(\"quantity\", quantity_1 ? String(quantity_1) : \"1\");\n if (returnUrl)\n url.searchParams.set(\"redirect_url\", returnUrl);\n // Customer/billing fields\n if (fullName)\n url.searchParams.set(\"fullName\", String(fullName));\n if (firstName)\n url.searchParams.set(\"firstName\", String(firstName));\n if (lastName)\n url.searchParams.set(\"lastName\", String(lastName));\n if (email)\n url.searchParams.set(\"email\", String(email));\n if (country)\n url.searchParams.set(\"country\", String(country));\n if (addressLine)\n url.searchParams.set(\"addressLine\", String(addressLine));\n if (city)\n url.searchParams.set(\"city\", String(city));\n if (state)\n url.searchParams.set(\"state\", String(state));\n if (zipCode)\n url.searchParams.set(\"zipCode\", String(zipCode));\n // Disable flags (must be set to 'true' to disable)\n if (disableFullName === \"true\")\n url.searchParams.set(\"disableFullName\", \"true\");\n if (disableFirstName === \"true\")\n url.searchParams.set(\"disableFirstName\", \"true\");\n if (disableLastName === \"true\")\n url.searchParams.set(\"disableLastName\", \"true\");\n if (disableEmail === \"true\")\n url.searchParams.set(\"disableEmail\", \"true\");\n if (disableCountry === \"true\")\n url.searchParams.set(\"disableCountry\", \"true\");\n if (disableAddressLine === \"true\")\n url.searchParams.set(\"disableAddressLine\", \"true\");\n if (disableCity === \"true\")\n url.searchParams.set(\"disableCity\", \"true\");\n if (disableState === \"true\")\n url.searchParams.set(\"disableState\", \"true\");\n if (disableZipCode === \"true\")\n url.searchParams.set(\"disableZipCode\", \"true\");\n // Advanced controls\n if (paymentCurrency)\n url.searchParams.set(\"paymentCurrency\", String(paymentCurrency));\n if (showCurrencySelector)\n url.searchParams.set(\"showCurrencySelector\", String(showCurrencySelector));\n if (paymentAmount)\n url.searchParams.set(\"paymentAmount\", String(paymentAmount));\n if (showDiscounts)\n url.searchParams.set(\"showDiscounts\", String(showDiscounts));\n // Metadata: add all query params starting with metadata_\n for (_i = 0, _d = Object.entries(queryParams || {}); _i < _d.length; _i++) {\n _e = _d[_i], key = _e[0], value = _e[1];\n if (key.startsWith(\"metadata_\") && value && typeof value !== \"object\") {\n url.searchParams.set(key, String(value));\n }\n }\n return [2 /*return*/, url.toString()];\n case 7:\n dyn = data;\n product_id = dyn.product_id, product_cart = dyn.product_cart, quantity = dyn.quantity, billing = dyn.billing, customer = dyn.customer, addons = dyn.addons, metadata = dyn.metadata, allowed_payment_method_types = dyn.allowed_payment_method_types, billing_currency = dyn.billing_currency, discount_code = dyn.discount_code, on_demand = dyn.on_demand, bodyReturnUrl = dyn.return_url, show_saved_payment_methods = dyn.show_saved_payment_methods, tax_id = dyn.tax_id, trial_period_days = dyn.trial_period_days;\n dodopayments = new DodoPayments({\n bearerToken: bearerToken,\n environment: environment,\n });\n isSubscription = false;\n productIdToFetch = product_id;\n if (!product_id && product_cart && product_cart.length > 0) {\n productIdToFetch = product_cart[0].product_id;\n }\n if (!productIdToFetch)\n throw new Error(\"Missing required field: product_id or product_cart[0].product_id\");\n _g.label = 8;\n case 8:\n _g.trys.push([8, 10, , 11]);\n return [4 /*yield*/, dodopayments.products.retrieve(productIdToFetch)];\n case 9:\n product = _g.sent();\n return [3 /*break*/, 11];\n case 10:\n err_2 = _g.sent();\n console.error(err_2);\n throw new Error(\"Product not found\");\n case 11:\n isSubscription = Boolean(product.is_recurring);\n // Required field validation\n if (isSubscription && !product_id)\n throw new Error(\"Missing required field: product_id for subscription\");\n if (!billing)\n throw new Error(\"Missing required field: billing\");\n if (!customer)\n throw new Error(\"Missing required field: customer\");\n if (!isSubscription) return [3 /*break*/, 16];\n subscriptionPayload = {\n billing: billing,\n customer: customer,\n product_id: product_id,\n quantity: quantity ? Number(quantity) : 1,\n };\n if (metadata)\n subscriptionPayload.metadata = metadata;\n if (discount_code)\n subscriptionPayload.discount_code = discount_code;\n if (addons)\n subscriptionPayload.addons = addons;\n if (allowed_payment_method_types)\n subscriptionPayload.allowed_payment_method_types =\n allowed_payment_method_types;\n if (billing_currency)\n subscriptionPayload.billing_currency = billing_currency;\n if (on_demand)\n subscriptionPayload.on_demand = on_demand;\n subscriptionPayload.payment_link = true;\n // Use bodyReturnUrl if present, otherwise use top-level returnUrl\n if (bodyReturnUrl) {\n subscriptionPayload.return_url = bodyReturnUrl;\n }\n else if (returnUrl) {\n subscriptionPayload.return_url = returnUrl;\n }\n if (show_saved_payment_methods)\n subscriptionPayload.show_saved_payment_methods =\n show_saved_payment_methods;\n if (tax_id)\n subscriptionPayload.tax_id = tax_id;\n if (trial_period_days)\n subscriptionPayload.trial_period_days = trial_period_days;\n subscription = void 0;\n _g.label = 12;\n case 12:\n _g.trys.push([12, 14, , 15]);\n return [4 /*yield*/, dodopayments.subscriptions.create(subscriptionPayload)];\n case 13:\n subscription =\n _g.sent();\n return [3 /*break*/, 15];\n case 14:\n err_3 = _g.sent();\n console.error(\"Error when creating subscription\", err_3);\n throw new Error(err_3 instanceof Error ? err_3.message : String(err_3));\n case 15:\n if (!subscription || !subscription.payment_link) {\n throw new Error(\"No payment link returned from Dodo Payments API (subscription). Make sure to set payment_link as true in payload\");\n }\n return [2 /*return*/, subscription.payment_link];\n case 16:\n cart = product_cart;\n if (!cart && product_id) {\n cart = [\n { product_id: product_id, quantity: quantity ? Number(quantity) : 1 },\n ];\n }\n if (!cart || cart.length === 0)\n throw new Error(\"Missing required field: product_cart or product_id\");\n paymentPayload = {\n billing: billing,\n customer: customer,\n product_cart: cart,\n };\n if (metadata)\n paymentPayload.metadata = metadata;\n paymentPayload.payment_link = true;\n if (allowed_payment_method_types)\n paymentPayload.allowed_payment_method_types =\n allowed_payment_method_types;\n if (billing_currency)\n paymentPayload.billing_currency = billing_currency;\n if (discount_code)\n paymentPayload.discount_code = discount_code;\n // Use bodyReturnUrl if present, otherwise use top-level returnUrl\n if (bodyReturnUrl) {\n paymentPayload.return_url = bodyReturnUrl;\n }\n else if (returnUrl) {\n paymentPayload.return_url = returnUrl;\n }\n if (show_saved_payment_methods)\n paymentPayload.show_saved_payment_methods = show_saved_payment_methods;\n if (tax_id)\n paymentPayload.tax_id = tax_id;\n payment = void 0;\n _g.label = 17;\n case 17:\n _g.trys.push([17, 19, , 20]);\n return [4 /*yield*/, dodopayments.payments.create(paymentPayload)];\n case 18:\n payment = _g.sent();\n return [3 /*break*/, 20];\n case 19:\n err_4 = _g.sent();\n console.error(\"Error when creating payment link\", err_4);\n throw new Error(err_4 instanceof Error ? err_4.message : String(err_4));\n case 20:\n if (!payment || !payment.payment_link) {\n throw new Error(\"No payment link returned from Dodo Payments API. Make sure to set payment_link as true in payload.\");\n }\n return [2 /*return*/, payment.payment_link];\n }\n });\n}); };\n"],"names":["this"],"mappings":"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"}