@dodopayments/convex 0.2.6 → 0.2.7
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/dist/component/lib.js +1 -1
- package/dist/index.cjs +10 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/packages/core/dist/{chunk-7ICTY2GO.js → chunk-BVTJMX2W.js} +13 -2
- package/dist/packages/core/dist/chunk-BVTJMX2W.js.map +1 -0
- package/package.json +7 -3
- package/dist/packages/core/dist/chunk-7ICTY2GO.js.map +0 -1
|
@@ -127,6 +127,13 @@ var checkoutSessionCustomizationSchema = objectType({
|
|
|
127
127
|
}).optional();
|
|
128
128
|
var checkoutSessionFeatureFlagsSchema = objectType({
|
|
129
129
|
allow_currency_selection: booleanType().optional(),
|
|
130
|
+
allow_customer_editing_city: booleanType().optional(),
|
|
131
|
+
allow_customer_editing_country: booleanType().optional(),
|
|
132
|
+
allow_customer_editing_email: booleanType().optional(),
|
|
133
|
+
allow_customer_editing_name: booleanType().optional(),
|
|
134
|
+
allow_customer_editing_state: booleanType().optional(),
|
|
135
|
+
allow_customer_editing_street: booleanType().optional(),
|
|
136
|
+
allow_customer_editing_zipcode: booleanType().optional(),
|
|
130
137
|
allow_discount_code: booleanType().optional(),
|
|
131
138
|
allow_phone_number_collection: booleanType().optional(),
|
|
132
139
|
allow_tax_id: booleanType().optional(),
|
|
@@ -227,7 +234,11 @@ var buildCheckoutUrl = async ({
|
|
|
227
234
|
if (!sessionPayload) {
|
|
228
235
|
throw new Error("sessionPayload is required when type is 'session'");
|
|
229
236
|
}
|
|
230
|
-
const
|
|
237
|
+
const finalPayload = {
|
|
238
|
+
...sessionPayload,
|
|
239
|
+
return_url: sessionPayload.return_url ?? returnUrl
|
|
240
|
+
};
|
|
241
|
+
const session = await createCheckoutSession(finalPayload, {
|
|
231
242
|
bearerToken,
|
|
232
243
|
environment
|
|
233
244
|
});
|
|
@@ -460,4 +471,4 @@ var buildCheckoutUrl = async ({
|
|
|
460
471
|
};
|
|
461
472
|
|
|
462
473
|
export { buildCheckoutUrl, checkoutQuerySchema, checkoutSessionBillingAddressSchema, checkoutSessionCustomerSchema, checkoutSessionCustomizationSchema, checkoutSessionFeatureFlagsSchema, checkoutSessionOnDemandSchema, checkoutSessionPayloadSchema, checkoutSessionProductCartItemSchema, checkoutSessionResponseSchema, checkoutSessionSubscriptionDataSchema, createCheckoutSession, dynamicCheckoutBodySchema, paymentMethodTypeSchema };
|
|
463
|
-
//# sourceMappingURL=chunk-
|
|
474
|
+
//# sourceMappingURL=chunk-BVTJMX2W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-BVTJMX2W.js","sources":["../../../../../core/dist/chunk-BVTJMX2W.js"],"sourcesContent":["// src/checkout/checkout.ts\nimport { z } from \"zod/v3\";\nimport DodoPayments from \"dodopayments\";\nvar checkoutQuerySchema = z.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}).catchall(z.unknown());\nvar dynamicCheckoutBodySchema = z.object({\n // For subscription\n product_id: z.string().optional(),\n quantity: z.number().optional(),\n // For one-time payment\n product_cart: z.array(\n 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.array(\n 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}).catchall(z.unknown());\nvar 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 addons: z.array(\n z.object({\n addon_id: z.string(),\n quantity: z.number().int().nonnegative()\n })\n ).optional(),\n amount: z.number().int().nonnegative(\n \"Amount must be a non-negative integer (for pay-what-you-want products)\"\n ).optional()\n});\nvar checkoutSessionCustomerSchema = z.union([\n z.object({\n email: z.string().email(),\n name: z.string().min(1).optional(),\n phone_number: z.string().optional()\n }),\n z.object({\n customer_id: z.string()\n })\n]).optional();\nvar checkoutSessionBillingAddressSchema = z.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}).optional();\nvar paymentMethodTypeSchema = z.enum([\n \"credit\",\n \"debit\",\n \"upi_collect\",\n \"upi_intent\",\n \"apple_pay\",\n \"cashapp\",\n \"google_pay\",\n \"multibanco\",\n \"bancontact_card\",\n \"eps\",\n \"ideal\",\n \"przelewy24\",\n \"paypal\",\n \"affirm\",\n \"klarna\",\n \"sepa\",\n \"ach\",\n \"amazon_pay\",\n \"afterpay_clearpay\"\n]);\nvar checkoutSessionCustomizationSchema = z.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 force_language: z.string().optional()\n}).optional();\nvar checkoutSessionFeatureFlagsSchema = z.object({\n allow_currency_selection: z.boolean().optional(),\n allow_customer_editing_city: z.boolean().optional(),\n allow_customer_editing_country: z.boolean().optional(),\n allow_customer_editing_email: z.boolean().optional(),\n allow_customer_editing_name: z.boolean().optional(),\n allow_customer_editing_state: z.boolean().optional(),\n allow_customer_editing_street: z.boolean().optional(),\n allow_customer_editing_zipcode: 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}).optional();\nvar checkoutSessionOnDemandSchema = z.object({\n mandate_only: z.boolean(),\n product_price: z.number().int().optional(),\n product_currency: z.string().length(3).optional(),\n product_description: z.string().optional(),\n adaptive_currency_fees_inclusive: z.boolean().optional()\n}).optional();\nvar checkoutSessionSubscriptionDataSchema = z.object({\n trial_period_days: z.number().int().nonnegative().optional(),\n on_demand: checkoutSessionOnDemandSchema\n}).optional();\nvar checkoutSessionPayloadSchema = z.object({\n // Required fields\n product_cart: z.array(checkoutSessionProductCartItemSchema).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.string().length(3, \"Currency must be a 3-letter ISO code\").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 force_3ds: z.boolean().optional()\n});\nvar checkoutSessionResponseSchema = z.object({\n session_id: z.string().min(1, \"Session ID is required\"),\n checkout_url: z.string().url(\"Invalid checkout URL\")\n});\nvar createCheckoutSession = async (payload, config) => {\n const validation = checkoutSessionPayloadSchema.safeParse(payload);\n if (!validation.success) {\n throw new Error(\n `Invalid checkout session payload: ${validation.error.issues.map((issue) => `${issue.path.join(\".\")}: ${issue.message}`).join(\", \")}`\n );\n }\n const dodopayments = new DodoPayments({\n bearerToken: config.bearerToken,\n environment: config.environment\n });\n try {\n const sdkPayload = {\n ...validation.data,\n ...validation.data.billing_address && {\n billing_address: {\n ...validation.data.billing_address,\n country: validation.data.billing_address.country\n }\n }\n };\n const session = await dodopayments.checkoutSessions.create(\n sdkPayload\n );\n const responseValidation = checkoutSessionResponseSchema.safeParse(session);\n if (!responseValidation.success) {\n throw new Error(\n `Invalid checkout session response from API: ${responseValidation.error.issues.map((issue) => `${issue.path.join(\".\")}: ${issue.message}`).join(\", \")}`\n );\n }\n return responseValidation.data;\n } catch (error) {\n if (error instanceof Error) {\n console.error(\"Dodo Payments Checkout Session API Error:\", {\n message: error.message,\n payload: validation.data,\n config: {\n environment: config.environment,\n hasBearerToken: !!config.bearerToken\n }\n });\n throw new Error(`Failed to create checkout session: ${error.message}`);\n }\n console.error(\"Unknown error creating checkout session:\", error);\n throw new Error(\n \"Failed to create checkout session due to an unknown error\"\n );\n }\n};\nvar buildCheckoutUrl = async ({\n queryParams,\n body,\n sessionPayload,\n returnUrl,\n bearerToken,\n environment,\n type = \"static\"\n}) => {\n if (type === \"session\") {\n if (!sessionPayload) {\n throw new Error(\"sessionPayload is required when type is 'session'\");\n }\n const finalPayload = {\n ...sessionPayload,\n return_url: sessionPayload.return_url ?? returnUrl\n };\n const session = await createCheckoutSession(finalPayload, {\n bearerToken,\n environment\n });\n return session.checkout_url;\n }\n const inputData = type === \"dynamic\" ? body : queryParams;\n let parseResult;\n if (type === \"dynamic\") {\n parseResult = dynamicCheckoutBodySchema.safeParse(inputData);\n } else {\n parseResult = checkoutQuerySchema.safeParse(inputData);\n }\n const { success, data, error } = parseResult;\n if (!success) {\n throw new Error(\n `Invalid ${type === \"dynamic\" ? \"body\" : \"query parameters\"}.\n ${error.message}`\n );\n }\n if (type !== \"dynamic\") {\n const {\n productId,\n quantity: quantity2,\n fullName,\n firstName,\n lastName,\n email,\n country,\n addressLine,\n city,\n state,\n zipCode,\n disableFullName,\n disableFirstName,\n disableLastName,\n disableEmail,\n disableCountry,\n disableAddressLine,\n disableCity,\n disableState,\n disableZipCode,\n paymentCurrency,\n showCurrencySelector,\n paymentAmount,\n showDiscounts\n // metadata handled below\n } = data;\n const dodopayments2 = new DodoPayments({\n bearerToken,\n environment\n });\n if (!productId) throw new Error(\"Missing required field: productId\");\n try {\n await dodopayments2.products.retrieve(productId);\n } catch (err) {\n console.error(err);\n throw new Error(\"Product not found\");\n }\n const url = new URL(\n `${environment === \"test_mode\" ? \"https://test.checkout.dodopayments.com\" : \"https://checkout.dodopayments.com\"}/buy/${productId}`\n );\n url.searchParams.set(\"quantity\", quantity2 ? String(quantity2) : \"1\");\n if (returnUrl) url.searchParams.set(\"redirect_url\", returnUrl);\n if (fullName) url.searchParams.set(\"fullName\", String(fullName));\n if (firstName) url.searchParams.set(\"firstName\", String(firstName));\n if (lastName) url.searchParams.set(\"lastName\", String(lastName));\n if (email) url.searchParams.set(\"email\", String(email));\n if (country) url.searchParams.set(\"country\", String(country));\n if (addressLine) url.searchParams.set(\"addressLine\", String(addressLine));\n if (city) url.searchParams.set(\"city\", String(city));\n if (state) url.searchParams.set(\"state\", String(state));\n if (zipCode) url.searchParams.set(\"zipCode\", String(zipCode));\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\") 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\") url.searchParams.set(\"disableCity\", \"true\");\n if (disableState === \"true\") url.searchParams.set(\"disableState\", \"true\");\n if (disableZipCode === \"true\")\n url.searchParams.set(\"disableZipCode\", \"true\");\n if (paymentCurrency)\n url.searchParams.set(\"paymentCurrency\", String(paymentCurrency));\n if (showCurrencySelector)\n url.searchParams.set(\n \"showCurrencySelector\",\n String(showCurrencySelector)\n );\n if (paymentAmount)\n url.searchParams.set(\"paymentAmount\", String(paymentAmount));\n if (showDiscounts)\n url.searchParams.set(\"showDiscounts\", String(showDiscounts));\n for (const [key, value] of Object.entries(queryParams || {})) {\n if (key.startsWith(\"metadata_\") && value && typeof value !== \"object\") {\n url.searchParams.set(key, String(value));\n }\n }\n return url.toString();\n }\n const dyn = data;\n const {\n product_id,\n product_cart,\n quantity,\n billing,\n customer,\n addons,\n metadata,\n allowed_payment_method_types,\n billing_currency,\n discount_code,\n on_demand,\n return_url: bodyReturnUrl,\n show_saved_payment_methods,\n tax_id,\n trial_period_days\n } = dyn;\n const dodopayments = new DodoPayments({\n bearerToken,\n environment\n });\n let isSubscription = false;\n let 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(\n \"Missing required field: product_id or product_cart[0].product_id\"\n );\n let product;\n try {\n product = await dodopayments.products.retrieve(productIdToFetch);\n } catch (err) {\n console.error(err);\n throw new Error(\"Product not found\");\n }\n isSubscription = Boolean(product.is_recurring);\n if (isSubscription && !product_id)\n throw new Error(\"Missing required field: product_id for subscription\");\n if (!billing) throw new Error(\"Missing required field: billing\");\n if (!customer) throw new Error(\"Missing required field: customer\");\n if (isSubscription) {\n const subscriptionPayload = {\n billing,\n customer,\n product_id,\n quantity: quantity ? Number(quantity) : 1\n };\n if (metadata) subscriptionPayload.metadata = metadata;\n if (discount_code) subscriptionPayload.discount_code = discount_code;\n if (addons) subscriptionPayload.addons = addons;\n if (allowed_payment_method_types)\n subscriptionPayload.allowed_payment_method_types = allowed_payment_method_types;\n if (billing_currency)\n subscriptionPayload.billing_currency = billing_currency;\n if (on_demand) subscriptionPayload.on_demand = on_demand;\n subscriptionPayload.payment_link = true;\n if (bodyReturnUrl) {\n subscriptionPayload.return_url = bodyReturnUrl;\n } else if (returnUrl) {\n subscriptionPayload.return_url = returnUrl;\n }\n if (show_saved_payment_methods)\n subscriptionPayload.show_saved_payment_methods = show_saved_payment_methods;\n if (tax_id) subscriptionPayload.tax_id = tax_id;\n if (trial_period_days)\n subscriptionPayload.trial_period_days = trial_period_days;\n let subscription;\n try {\n subscription = await dodopayments.subscriptions.create(subscriptionPayload);\n } catch (err) {\n console.error(\"Error when creating subscription\", err);\n throw new Error(err instanceof Error ? err.message : String(err));\n }\n if (!subscription || !subscription.payment_link) {\n throw new Error(\n \"No payment link returned from Dodo Payments API (subscription). Make sure to set payment_link as true in payload\"\n );\n }\n return subscription.payment_link;\n } else {\n let cart = product_cart;\n if (!cart && product_id) {\n cart = [\n { 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 const paymentPayload = {\n billing,\n customer,\n product_cart: cart\n };\n if (metadata) paymentPayload.metadata = metadata;\n paymentPayload.payment_link = true;\n if (allowed_payment_method_types)\n paymentPayload.allowed_payment_method_types = allowed_payment_method_types;\n if (billing_currency) paymentPayload.billing_currency = billing_currency;\n if (discount_code) paymentPayload.discount_code = discount_code;\n if (bodyReturnUrl) {\n paymentPayload.return_url = bodyReturnUrl;\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) paymentPayload.tax_id = tax_id;\n let payment;\n try {\n payment = await dodopayments.payments.create(paymentPayload);\n } catch (err) {\n console.error(\"Error when creating payment link\", err);\n throw new Error(err instanceof Error ? err.message : String(err));\n }\n if (!payment || !payment.payment_link) {\n throw new Error(\n \"No payment link returned from Dodo Payments API. Make sure to set payment_link as true in payload.\"\n );\n }\n return payment.payment_link;\n }\n};\n\nexport {\n checkoutQuerySchema,\n dynamicCheckoutBodySchema,\n checkoutSessionProductCartItemSchema,\n checkoutSessionCustomerSchema,\n checkoutSessionBillingAddressSchema,\n paymentMethodTypeSchema,\n checkoutSessionCustomizationSchema,\n checkoutSessionFeatureFlagsSchema,\n checkoutSessionOnDemandSchema,\n checkoutSessionSubscriptionDataSchema,\n checkoutSessionPayloadSchema,\n checkoutSessionResponseSchema,\n createCheckoutSession,\n buildCheckoutUrl\n};\n//# sourceMappingURL=chunk-BVTJMX2W.js.map"],"names":["z.object","z.string","z.unknown","z.number","z.array","z.record","z.union","z.enum","z.boolean"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dodopayments/convex",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@dodopayments/core": "^0.3.
|
|
27
|
+
"@dodopayments/core": "^0.3.7"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"convex": "^1.26.0",
|
|
@@ -56,5 +56,9 @@
|
|
|
56
56
|
"type": "module",
|
|
57
57
|
"files": [
|
|
58
58
|
"dist"
|
|
59
|
-
]
|
|
59
|
+
],
|
|
60
|
+
"repository": {
|
|
61
|
+
"type": "git",
|
|
62
|
+
"url": "git+https://github.com/dodopayments/dodo-adapters.git"
|
|
63
|
+
}
|
|
60
64
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-7ICTY2GO.js","sources":["../../../../../core/dist/chunk-7ICTY2GO.js"],"sourcesContent":["// src/checkout/checkout.ts\nimport { z } from \"zod/v3\";\nimport DodoPayments from \"dodopayments\";\nvar checkoutQuerySchema = z.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}).catchall(z.unknown());\nvar dynamicCheckoutBodySchema = z.object({\n // For subscription\n product_id: z.string().optional(),\n quantity: z.number().optional(),\n // For one-time payment\n product_cart: z.array(\n 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.array(\n 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}).catchall(z.unknown());\nvar 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 addons: z.array(\n z.object({\n addon_id: z.string(),\n quantity: z.number().int().nonnegative()\n })\n ).optional(),\n amount: z.number().int().nonnegative(\n \"Amount must be a non-negative integer (for pay-what-you-want products)\"\n ).optional()\n});\nvar checkoutSessionCustomerSchema = z.union([\n z.object({\n email: z.string().email(),\n name: z.string().min(1).optional(),\n phone_number: z.string().optional()\n }),\n z.object({\n customer_id: z.string()\n })\n]).optional();\nvar checkoutSessionBillingAddressSchema = z.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}).optional();\nvar paymentMethodTypeSchema = z.enum([\n \"credit\",\n \"debit\",\n \"upi_collect\",\n \"upi_intent\",\n \"apple_pay\",\n \"cashapp\",\n \"google_pay\",\n \"multibanco\",\n \"bancontact_card\",\n \"eps\",\n \"ideal\",\n \"przelewy24\",\n \"paypal\",\n \"affirm\",\n \"klarna\",\n \"sepa\",\n \"ach\",\n \"amazon_pay\",\n \"afterpay_clearpay\"\n]);\nvar checkoutSessionCustomizationSchema = z.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 force_language: z.string().optional()\n}).optional();\nvar checkoutSessionFeatureFlagsSchema = z.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}).optional();\nvar checkoutSessionOnDemandSchema = z.object({\n mandate_only: z.boolean(),\n product_price: z.number().int().optional(),\n product_currency: z.string().length(3).optional(),\n product_description: z.string().optional(),\n adaptive_currency_fees_inclusive: z.boolean().optional()\n}).optional();\nvar checkoutSessionSubscriptionDataSchema = z.object({\n trial_period_days: z.number().int().nonnegative().optional(),\n on_demand: checkoutSessionOnDemandSchema\n}).optional();\nvar checkoutSessionPayloadSchema = z.object({\n // Required fields\n product_cart: z.array(checkoutSessionProductCartItemSchema).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.string().length(3, \"Currency must be a 3-letter ISO code\").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 force_3ds: z.boolean().optional()\n});\nvar checkoutSessionResponseSchema = z.object({\n session_id: z.string().min(1, \"Session ID is required\"),\n checkout_url: z.string().url(\"Invalid checkout URL\")\n});\nvar createCheckoutSession = async (payload, config) => {\n const validation = checkoutSessionPayloadSchema.safeParse(payload);\n if (!validation.success) {\n throw new Error(\n `Invalid checkout session payload: ${validation.error.issues.map((issue) => `${issue.path.join(\".\")}: ${issue.message}`).join(\", \")}`\n );\n }\n const dodopayments = new DodoPayments({\n bearerToken: config.bearerToken,\n environment: config.environment\n });\n try {\n const sdkPayload = {\n ...validation.data,\n ...validation.data.billing_address && {\n billing_address: {\n ...validation.data.billing_address,\n country: validation.data.billing_address.country\n }\n }\n };\n const session = await dodopayments.checkoutSessions.create(\n sdkPayload\n );\n const responseValidation = checkoutSessionResponseSchema.safeParse(session);\n if (!responseValidation.success) {\n throw new Error(\n `Invalid checkout session response from API: ${responseValidation.error.issues.map((issue) => `${issue.path.join(\".\")}: ${issue.message}`).join(\", \")}`\n );\n }\n return responseValidation.data;\n } catch (error) {\n if (error instanceof Error) {\n console.error(\"Dodo Payments Checkout Session API Error:\", {\n message: error.message,\n payload: validation.data,\n config: {\n environment: config.environment,\n hasBearerToken: !!config.bearerToken\n }\n });\n throw new Error(`Failed to create checkout session: ${error.message}`);\n }\n console.error(\"Unknown error creating checkout session:\", error);\n throw new Error(\n \"Failed to create checkout session due to an unknown error\"\n );\n }\n};\nvar buildCheckoutUrl = async ({\n queryParams,\n body,\n sessionPayload,\n returnUrl,\n bearerToken,\n environment,\n type = \"static\"\n}) => {\n if (type === \"session\") {\n if (!sessionPayload) {\n throw new Error(\"sessionPayload is required when type is 'session'\");\n }\n const session = await createCheckoutSession(sessionPayload, {\n bearerToken,\n environment\n });\n return session.checkout_url;\n }\n const inputData = type === \"dynamic\" ? body : queryParams;\n let parseResult;\n if (type === \"dynamic\") {\n parseResult = dynamicCheckoutBodySchema.safeParse(inputData);\n } else {\n parseResult = checkoutQuerySchema.safeParse(inputData);\n }\n const { success, data, error } = parseResult;\n if (!success) {\n throw new Error(\n `Invalid ${type === \"dynamic\" ? \"body\" : \"query parameters\"}.\n ${error.message}`\n );\n }\n if (type !== \"dynamic\") {\n const {\n productId,\n quantity: quantity2,\n fullName,\n firstName,\n lastName,\n email,\n country,\n addressLine,\n city,\n state,\n zipCode,\n disableFullName,\n disableFirstName,\n disableLastName,\n disableEmail,\n disableCountry,\n disableAddressLine,\n disableCity,\n disableState,\n disableZipCode,\n paymentCurrency,\n showCurrencySelector,\n paymentAmount,\n showDiscounts\n // metadata handled below\n } = data;\n const dodopayments2 = new DodoPayments({\n bearerToken,\n environment\n });\n if (!productId) throw new Error(\"Missing required field: productId\");\n try {\n await dodopayments2.products.retrieve(productId);\n } catch (err) {\n console.error(err);\n throw new Error(\"Product not found\");\n }\n const url = new URL(\n `${environment === \"test_mode\" ? \"https://test.checkout.dodopayments.com\" : \"https://checkout.dodopayments.com\"}/buy/${productId}`\n );\n url.searchParams.set(\"quantity\", quantity2 ? String(quantity2) : \"1\");\n if (returnUrl) url.searchParams.set(\"redirect_url\", returnUrl);\n if (fullName) url.searchParams.set(\"fullName\", String(fullName));\n if (firstName) url.searchParams.set(\"firstName\", String(firstName));\n if (lastName) url.searchParams.set(\"lastName\", String(lastName));\n if (email) url.searchParams.set(\"email\", String(email));\n if (country) url.searchParams.set(\"country\", String(country));\n if (addressLine) url.searchParams.set(\"addressLine\", String(addressLine));\n if (city) url.searchParams.set(\"city\", String(city));\n if (state) url.searchParams.set(\"state\", String(state));\n if (zipCode) url.searchParams.set(\"zipCode\", String(zipCode));\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\") 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\") url.searchParams.set(\"disableCity\", \"true\");\n if (disableState === \"true\") url.searchParams.set(\"disableState\", \"true\");\n if (disableZipCode === \"true\")\n url.searchParams.set(\"disableZipCode\", \"true\");\n if (paymentCurrency)\n url.searchParams.set(\"paymentCurrency\", String(paymentCurrency));\n if (showCurrencySelector)\n url.searchParams.set(\n \"showCurrencySelector\",\n String(showCurrencySelector)\n );\n if (paymentAmount)\n url.searchParams.set(\"paymentAmount\", String(paymentAmount));\n if (showDiscounts)\n url.searchParams.set(\"showDiscounts\", String(showDiscounts));\n for (const [key, value] of Object.entries(queryParams || {})) {\n if (key.startsWith(\"metadata_\") && value && typeof value !== \"object\") {\n url.searchParams.set(key, String(value));\n }\n }\n return url.toString();\n }\n const dyn = data;\n const {\n product_id,\n product_cart,\n quantity,\n billing,\n customer,\n addons,\n metadata,\n allowed_payment_method_types,\n billing_currency,\n discount_code,\n on_demand,\n return_url: bodyReturnUrl,\n show_saved_payment_methods,\n tax_id,\n trial_period_days\n } = dyn;\n const dodopayments = new DodoPayments({\n bearerToken,\n environment\n });\n let isSubscription = false;\n let 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(\n \"Missing required field: product_id or product_cart[0].product_id\"\n );\n let product;\n try {\n product = await dodopayments.products.retrieve(productIdToFetch);\n } catch (err) {\n console.error(err);\n throw new Error(\"Product not found\");\n }\n isSubscription = Boolean(product.is_recurring);\n if (isSubscription && !product_id)\n throw new Error(\"Missing required field: product_id for subscription\");\n if (!billing) throw new Error(\"Missing required field: billing\");\n if (!customer) throw new Error(\"Missing required field: customer\");\n if (isSubscription) {\n const subscriptionPayload = {\n billing,\n customer,\n product_id,\n quantity: quantity ? Number(quantity) : 1\n };\n if (metadata) subscriptionPayload.metadata = metadata;\n if (discount_code) subscriptionPayload.discount_code = discount_code;\n if (addons) subscriptionPayload.addons = addons;\n if (allowed_payment_method_types)\n subscriptionPayload.allowed_payment_method_types = allowed_payment_method_types;\n if (billing_currency)\n subscriptionPayload.billing_currency = billing_currency;\n if (on_demand) subscriptionPayload.on_demand = on_demand;\n subscriptionPayload.payment_link = true;\n if (bodyReturnUrl) {\n subscriptionPayload.return_url = bodyReturnUrl;\n } else if (returnUrl) {\n subscriptionPayload.return_url = returnUrl;\n }\n if (show_saved_payment_methods)\n subscriptionPayload.show_saved_payment_methods = show_saved_payment_methods;\n if (tax_id) subscriptionPayload.tax_id = tax_id;\n if (trial_period_days)\n subscriptionPayload.trial_period_days = trial_period_days;\n let subscription;\n try {\n subscription = await dodopayments.subscriptions.create(subscriptionPayload);\n } catch (err) {\n console.error(\"Error when creating subscription\", err);\n throw new Error(err instanceof Error ? err.message : String(err));\n }\n if (!subscription || !subscription.payment_link) {\n throw new Error(\n \"No payment link returned from Dodo Payments API (subscription). Make sure to set payment_link as true in payload\"\n );\n }\n return subscription.payment_link;\n } else {\n let cart = product_cart;\n if (!cart && product_id) {\n cart = [\n { 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 const paymentPayload = {\n billing,\n customer,\n product_cart: cart\n };\n if (metadata) paymentPayload.metadata = metadata;\n paymentPayload.payment_link = true;\n if (allowed_payment_method_types)\n paymentPayload.allowed_payment_method_types = allowed_payment_method_types;\n if (billing_currency) paymentPayload.billing_currency = billing_currency;\n if (discount_code) paymentPayload.discount_code = discount_code;\n if (bodyReturnUrl) {\n paymentPayload.return_url = bodyReturnUrl;\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) paymentPayload.tax_id = tax_id;\n let payment;\n try {\n payment = await dodopayments.payments.create(paymentPayload);\n } catch (err) {\n console.error(\"Error when creating payment link\", err);\n throw new Error(err instanceof Error ? err.message : String(err));\n }\n if (!payment || !payment.payment_link) {\n throw new Error(\n \"No payment link returned from Dodo Payments API. Make sure to set payment_link as true in payload.\"\n );\n }\n return payment.payment_link;\n }\n};\n\nexport {\n checkoutQuerySchema,\n dynamicCheckoutBodySchema,\n checkoutSessionProductCartItemSchema,\n checkoutSessionCustomerSchema,\n checkoutSessionBillingAddressSchema,\n paymentMethodTypeSchema,\n checkoutSessionCustomizationSchema,\n checkoutSessionFeatureFlagsSchema,\n checkoutSessionOnDemandSchema,\n checkoutSessionSubscriptionDataSchema,\n checkoutSessionPayloadSchema,\n checkoutSessionResponseSchema,\n createCheckoutSession,\n buildCheckoutUrl\n};\n//# sourceMappingURL=chunk-7ICTY2GO.js.map"],"names":["z.object","z.string","z.unknown","z.number","z.array","z.record","z.union","z.enum","z.boolean"],"mappings":"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"}
|