@dodopayments/convex 0.2.3 → 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/README.md +85 -87
- package/dist/client/index.d.ts +14 -7
- package/dist/component/lib.d.ts +19 -3
- package/dist/component/lib.js +20 -4
- package/dist/component/lib.js.map +1 -1
- package/dist/index.cjs +11 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +15 -8
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/node_modules/zod/v3/types.js +2 -2
- package/dist/node_modules/zod/v3/types.js.map +1 -1
- package/dist/packages/core/dist/{chunk-YWHOVR2R.js → chunk-BVTJMX2W.js} +59 -17
- package/dist/packages/core/dist/chunk-BVTJMX2W.js.map +1 -0
- package/package.json +8 -4
- package/dist/packages/core/dist/chunk-YWHOVR2R.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
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';
|
|
2
|
+
import { object as objectType, string as stringType, unknown as unknownType, record as recordType, array as arrayType, number as numberType, union as unionType, enum as enumType, boolean as booleanType } from '../../../node_modules/zod/v3/types.js';
|
|
3
3
|
|
|
4
4
|
// src/checkout/checkout.ts
|
|
5
5
|
var checkoutQuerySchema = objectType({
|
|
@@ -70,13 +70,27 @@ var dynamicCheckoutBodySchema = objectType({
|
|
|
70
70
|
}).catchall(unknownType());
|
|
71
71
|
var checkoutSessionProductCartItemSchema = objectType({
|
|
72
72
|
product_id: stringType().min(1, "Product ID is required"),
|
|
73
|
-
quantity: numberType().int().positive("Quantity must be a positive integer")
|
|
73
|
+
quantity: numberType().int().positive("Quantity must be a positive integer"),
|
|
74
|
+
addons: arrayType(
|
|
75
|
+
objectType({
|
|
76
|
+
addon_id: stringType(),
|
|
77
|
+
quantity: numberType().int().nonnegative()
|
|
78
|
+
})
|
|
79
|
+
).optional(),
|
|
80
|
+
amount: numberType().int().nonnegative(
|
|
81
|
+
"Amount must be a non-negative integer (for pay-what-you-want products)"
|
|
82
|
+
).optional()
|
|
74
83
|
});
|
|
75
|
-
var checkoutSessionCustomerSchema =
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
84
|
+
var checkoutSessionCustomerSchema = unionType([
|
|
85
|
+
objectType({
|
|
86
|
+
email: stringType().email(),
|
|
87
|
+
name: stringType().min(1).optional(),
|
|
88
|
+
phone_number: stringType().optional()
|
|
89
|
+
}),
|
|
90
|
+
objectType({
|
|
91
|
+
customer_id: stringType()
|
|
92
|
+
})
|
|
93
|
+
]).optional();
|
|
80
94
|
var checkoutSessionBillingAddressSchema = objectType({
|
|
81
95
|
street: stringType().optional(),
|
|
82
96
|
city: stringType().optional(),
|
|
@@ -90,28 +104,51 @@ var paymentMethodTypeSchema = enumType([
|
|
|
90
104
|
"upi_collect",
|
|
91
105
|
"upi_intent",
|
|
92
106
|
"apple_pay",
|
|
107
|
+
"cashapp",
|
|
93
108
|
"google_pay",
|
|
94
|
-
"
|
|
95
|
-
"
|
|
109
|
+
"multibanco",
|
|
110
|
+
"bancontact_card",
|
|
111
|
+
"eps",
|
|
112
|
+
"ideal",
|
|
113
|
+
"przelewy24",
|
|
114
|
+
"paypal",
|
|
96
115
|
"affirm",
|
|
97
|
-
"
|
|
116
|
+
"klarna",
|
|
98
117
|
"sepa",
|
|
99
|
-
"ach"
|
|
118
|
+
"ach",
|
|
119
|
+
"amazon_pay",
|
|
120
|
+
"afterpay_clearpay"
|
|
100
121
|
]);
|
|
101
122
|
var checkoutSessionCustomizationSchema = objectType({
|
|
102
123
|
theme: enumType(["light", "dark", "system"]).optional(),
|
|
103
124
|
show_order_details: booleanType().optional(),
|
|
104
|
-
show_on_demand_tag: booleanType().optional()
|
|
125
|
+
show_on_demand_tag: booleanType().optional(),
|
|
126
|
+
force_language: stringType().optional()
|
|
105
127
|
}).optional();
|
|
106
128
|
var checkoutSessionFeatureFlagsSchema = objectType({
|
|
107
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(),
|
|
108
137
|
allow_discount_code: booleanType().optional(),
|
|
109
138
|
allow_phone_number_collection: booleanType().optional(),
|
|
110
139
|
allow_tax_id: booleanType().optional(),
|
|
111
140
|
always_create_new_customer: booleanType().optional()
|
|
112
141
|
}).optional();
|
|
142
|
+
var checkoutSessionOnDemandSchema = objectType({
|
|
143
|
+
mandate_only: booleanType(),
|
|
144
|
+
product_price: numberType().int().optional(),
|
|
145
|
+
product_currency: stringType().length(3).optional(),
|
|
146
|
+
product_description: stringType().optional(),
|
|
147
|
+
adaptive_currency_fees_inclusive: booleanType().optional()
|
|
148
|
+
}).optional();
|
|
113
149
|
var checkoutSessionSubscriptionDataSchema = objectType({
|
|
114
|
-
trial_period_days: numberType().int().nonnegative().optional()
|
|
150
|
+
trial_period_days: numberType().int().nonnegative().optional(),
|
|
151
|
+
on_demand: checkoutSessionOnDemandSchema
|
|
115
152
|
}).optional();
|
|
116
153
|
var checkoutSessionPayloadSchema = objectType({
|
|
117
154
|
// Required fields
|
|
@@ -128,7 +165,8 @@ var checkoutSessionPayloadSchema = objectType({
|
|
|
128
165
|
metadata: recordType(stringType(), stringType()).optional(),
|
|
129
166
|
customization: checkoutSessionCustomizationSchema,
|
|
130
167
|
feature_flags: checkoutSessionFeatureFlagsSchema,
|
|
131
|
-
subscription_data: checkoutSessionSubscriptionDataSchema
|
|
168
|
+
subscription_data: checkoutSessionSubscriptionDataSchema,
|
|
169
|
+
force_3ds: booleanType().optional()
|
|
132
170
|
});
|
|
133
171
|
var checkoutSessionResponseSchema = objectType({
|
|
134
172
|
session_id: stringType().min(1, "Session ID is required"),
|
|
@@ -196,7 +234,11 @@ var buildCheckoutUrl = async ({
|
|
|
196
234
|
if (!sessionPayload) {
|
|
197
235
|
throw new Error("sessionPayload is required when type is 'session'");
|
|
198
236
|
}
|
|
199
|
-
const
|
|
237
|
+
const finalPayload = {
|
|
238
|
+
...sessionPayload,
|
|
239
|
+
return_url: sessionPayload.return_url ?? returnUrl
|
|
240
|
+
};
|
|
241
|
+
const session = await createCheckoutSession(finalPayload, {
|
|
200
242
|
bearerToken,
|
|
201
243
|
environment
|
|
202
244
|
});
|
|
@@ -428,5 +470,5 @@ var buildCheckoutUrl = async ({
|
|
|
428
470
|
}
|
|
429
471
|
};
|
|
430
472
|
|
|
431
|
-
export { buildCheckoutUrl, checkoutQuerySchema, checkoutSessionBillingAddressSchema, checkoutSessionCustomerSchema, checkoutSessionCustomizationSchema, checkoutSessionFeatureFlagsSchema, checkoutSessionPayloadSchema, checkoutSessionProductCartItemSchema, checkoutSessionResponseSchema, checkoutSessionSubscriptionDataSchema, createCheckoutSession, dynamicCheckoutBodySchema, paymentMethodTypeSchema };
|
|
432
|
-
//# sourceMappingURL=chunk-
|
|
473
|
+
export { buildCheckoutUrl, checkoutQuerySchema, checkoutSessionBillingAddressSchema, checkoutSessionCustomerSchema, checkoutSessionCustomizationSchema, checkoutSessionFeatureFlagsSchema, checkoutSessionOnDemandSchema, checkoutSessionPayloadSchema, checkoutSessionProductCartItemSchema, checkoutSessionResponseSchema, checkoutSessionSubscriptionDataSchema, createCheckoutSession, dynamicCheckoutBodySchema, paymentMethodTypeSchema };
|
|
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,10 +24,10 @@
|
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@dodopayments/core": "^0.3.
|
|
28
|
-
"convex": "^1.26.0"
|
|
27
|
+
"@dodopayments/core": "^0.3.7"
|
|
29
28
|
},
|
|
30
29
|
"peerDependencies": {
|
|
30
|
+
"convex": "^1.26.0",
|
|
31
31
|
"zod": "^3.25.0 || ^4.0.0"
|
|
32
32
|
},
|
|
33
33
|
"keywords": [
|
|
@@ -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-YWHOVR2R.js","sources":["../../../../../core/dist/chunk-YWHOVR2R.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});\nvar checkoutSessionCustomerSchema = z.object({\n email: z.string().email().optional(),\n name: z.string().min(1).optional(),\n phone_number: z.string().optional()\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 \"google_pay\",\n \"amazon_pay\",\n \"klarna\",\n \"affirm\",\n \"afterpay_clearpay\",\n \"sepa\",\n \"ach\"\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}).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 checkoutSessionSubscriptionDataSchema = z.object({\n trial_period_days: z.number().int().nonnegative().optional()\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});\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 checkoutSessionSubscriptionDataSchema,\n checkoutSessionPayloadSchema,\n checkoutSessionResponseSchema,\n createCheckoutSession,\n buildCheckoutUrl\n};\n//# sourceMappingURL=chunk-YWHOVR2R.js.map"],"names":["z.object","z.string","z.unknown","z.number","z.array","z.record","z.enum","z.boolean"],"mappings":"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"}
|