dodopayments 2.17.2 → 2.18.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.18.0 (2026-02-02)
4
+
5
+ Full Changelog: [v2.17.2...v2.18.0](https://github.com/dodopayments/dodopayments-typescript/compare/v2.17.2...v2.18.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** updated openapi spec for v1.78.1 ([b948d56](https://github.com/dodopayments/dodopayments-typescript/commit/b948d564ffe08c1d44940f7d269f1093283581d9))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * **mcp:** do not fallback on baseUrl if environment env variable is set ([c493aee](https://github.com/dodopayments/dodopayments-typescript/commit/c493aeee0442d011020fd1329c7c71966669c01c))
15
+
3
16
  ## 2.17.2 (2026-01-29)
4
17
 
5
18
  Full Changelog: [v2.17.1...v2.17.2](https://github.com/dodopayments/dodopayments-typescript/compare/v2.17.1...v2.17.2)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dodopayments",
3
- "version": "2.17.2",
3
+ "version": "2.18.0",
4
4
  "description": "The official TypeScript library for the Dodo Payments API",
5
5
  "author": "Dodo Payments <support@dodopayments.com>",
6
6
  "types": "./index.d.ts",
@@ -140,7 +140,7 @@ export declare namespace CheckoutSessionRequest {
140
140
  /**
141
141
  * Type of field determining validation rules
142
142
  */
143
- field_type: 'text' | 'number' | 'email' | 'url' | 'phone' | 'date' | 'datetime' | 'dropdown' | 'boolean';
143
+ field_type: 'text' | 'number' | 'email' | 'url' | 'date' | 'dropdown' | 'boolean';
144
144
  /**
145
145
  * Unique identifier for this field (used as key in responses)
146
146
  */
@@ -183,11 +183,190 @@ export declare namespace CheckoutSessionRequest {
183
183
  */
184
184
  show_order_details?: boolean;
185
185
  /**
186
- * Theme of the page
186
+ * Theme of the page (determines which mode - light/dark/system - to use)
187
187
  *
188
188
  * Default is `System`.
189
189
  */
190
190
  theme?: 'dark' | 'light' | 'system';
191
+ /**
192
+ * Optional custom theme configuration with colors for light and dark modes
193
+ */
194
+ theme_config?: Customization.ThemeConfig | null;
195
+ }
196
+ namespace Customization {
197
+ /**
198
+ * Optional custom theme configuration with colors for light and dark modes
199
+ */
200
+ interface ThemeConfig {
201
+ /**
202
+ * Dark mode color configuration
203
+ */
204
+ dark?: ThemeConfig.Dark | null;
205
+ /**
206
+ * Font size for the checkout UI
207
+ */
208
+ font_size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | null;
209
+ /**
210
+ * Font weight for the checkout UI
211
+ */
212
+ font_weight?: 'normal' | 'medium' | 'bold' | 'extraBold' | null;
213
+ /**
214
+ * Light mode color configuration
215
+ */
216
+ light?: ThemeConfig.Light | null;
217
+ /**
218
+ * Custom text for the pay button (e.g., "Complete Purchase", "Subscribe Now")
219
+ */
220
+ pay_button_text?: string | null;
221
+ /**
222
+ * Border radius for UI elements (e.g., "4px", "0.5rem", "8px")
223
+ */
224
+ radius?: string | null;
225
+ }
226
+ namespace ThemeConfig {
227
+ /**
228
+ * Dark mode color configuration
229
+ */
230
+ interface Dark {
231
+ /**
232
+ * Background primary color
233
+ *
234
+ * Examples: `"#ffffff"`, `"rgb(255, 255, 255)"`, `"white"`
235
+ */
236
+ bg_primary?: string | null;
237
+ /**
238
+ * Background secondary color
239
+ */
240
+ bg_secondary?: string | null;
241
+ /**
242
+ * Border primary color
243
+ */
244
+ border_primary?: string | null;
245
+ /**
246
+ * Border secondary color
247
+ */
248
+ border_secondary?: string | null;
249
+ /**
250
+ * Primary button background color
251
+ */
252
+ button_primary?: string | null;
253
+ /**
254
+ * Primary button hover color
255
+ */
256
+ button_primary_hover?: string | null;
257
+ /**
258
+ * Secondary button background color
259
+ */
260
+ button_secondary?: string | null;
261
+ /**
262
+ * Secondary button hover color
263
+ */
264
+ button_secondary_hover?: string | null;
265
+ /**
266
+ * Primary button text color
267
+ */
268
+ button_text_primary?: string | null;
269
+ /**
270
+ * Secondary button text color
271
+ */
272
+ button_text_secondary?: string | null;
273
+ /**
274
+ * Input focus border color
275
+ */
276
+ input_focus_border?: string | null;
277
+ /**
278
+ * Text error color
279
+ */
280
+ text_error?: string | null;
281
+ /**
282
+ * Text placeholder color
283
+ */
284
+ text_placeholder?: string | null;
285
+ /**
286
+ * Text primary color
287
+ */
288
+ text_primary?: string | null;
289
+ /**
290
+ * Text secondary color
291
+ */
292
+ text_secondary?: string | null;
293
+ /**
294
+ * Text success color
295
+ */
296
+ text_success?: string | null;
297
+ }
298
+ /**
299
+ * Light mode color configuration
300
+ */
301
+ interface Light {
302
+ /**
303
+ * Background primary color
304
+ *
305
+ * Examples: `"#ffffff"`, `"rgb(255, 255, 255)"`, `"white"`
306
+ */
307
+ bg_primary?: string | null;
308
+ /**
309
+ * Background secondary color
310
+ */
311
+ bg_secondary?: string | null;
312
+ /**
313
+ * Border primary color
314
+ */
315
+ border_primary?: string | null;
316
+ /**
317
+ * Border secondary color
318
+ */
319
+ border_secondary?: string | null;
320
+ /**
321
+ * Primary button background color
322
+ */
323
+ button_primary?: string | null;
324
+ /**
325
+ * Primary button hover color
326
+ */
327
+ button_primary_hover?: string | null;
328
+ /**
329
+ * Secondary button background color
330
+ */
331
+ button_secondary?: string | null;
332
+ /**
333
+ * Secondary button hover color
334
+ */
335
+ button_secondary_hover?: string | null;
336
+ /**
337
+ * Primary button text color
338
+ */
339
+ button_text_primary?: string | null;
340
+ /**
341
+ * Secondary button text color
342
+ */
343
+ button_text_secondary?: string | null;
344
+ /**
345
+ * Input focus border color
346
+ */
347
+ input_focus_border?: string | null;
348
+ /**
349
+ * Text error color
350
+ */
351
+ text_error?: string | null;
352
+ /**
353
+ * Text placeholder color
354
+ */
355
+ text_placeholder?: string | null;
356
+ /**
357
+ * Text primary color
358
+ */
359
+ text_primary?: string | null;
360
+ /**
361
+ * Text secondary color
362
+ */
363
+ text_secondary?: string | null;
364
+ /**
365
+ * Text success color
366
+ */
367
+ text_success?: string | null;
368
+ }
369
+ }
191
370
  }
192
371
  interface FeatureFlags {
193
372
  /**
@@ -582,7 +761,7 @@ export declare namespace CheckoutSessionCreateParams {
582
761
  /**
583
762
  * Type of field determining validation rules
584
763
  */
585
- field_type: 'text' | 'number' | 'email' | 'url' | 'phone' | 'date' | 'datetime' | 'dropdown' | 'boolean';
764
+ field_type: 'text' | 'number' | 'email' | 'url' | 'date' | 'dropdown' | 'boolean';
586
765
  /**
587
766
  * Unique identifier for this field (used as key in responses)
588
767
  */
@@ -625,11 +804,190 @@ export declare namespace CheckoutSessionCreateParams {
625
804
  */
626
805
  show_order_details?: boolean;
627
806
  /**
628
- * Theme of the page
807
+ * Theme of the page (determines which mode - light/dark/system - to use)
629
808
  *
630
809
  * Default is `System`.
631
810
  */
632
811
  theme?: 'dark' | 'light' | 'system';
812
+ /**
813
+ * Optional custom theme configuration with colors for light and dark modes
814
+ */
815
+ theme_config?: Customization.ThemeConfig | null;
816
+ }
817
+ namespace Customization {
818
+ /**
819
+ * Optional custom theme configuration with colors for light and dark modes
820
+ */
821
+ interface ThemeConfig {
822
+ /**
823
+ * Dark mode color configuration
824
+ */
825
+ dark?: ThemeConfig.Dark | null;
826
+ /**
827
+ * Font size for the checkout UI
828
+ */
829
+ font_size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | null;
830
+ /**
831
+ * Font weight for the checkout UI
832
+ */
833
+ font_weight?: 'normal' | 'medium' | 'bold' | 'extraBold' | null;
834
+ /**
835
+ * Light mode color configuration
836
+ */
837
+ light?: ThemeConfig.Light | null;
838
+ /**
839
+ * Custom text for the pay button (e.g., "Complete Purchase", "Subscribe Now")
840
+ */
841
+ pay_button_text?: string | null;
842
+ /**
843
+ * Border radius for UI elements (e.g., "4px", "0.5rem", "8px")
844
+ */
845
+ radius?: string | null;
846
+ }
847
+ namespace ThemeConfig {
848
+ /**
849
+ * Dark mode color configuration
850
+ */
851
+ interface Dark {
852
+ /**
853
+ * Background primary color
854
+ *
855
+ * Examples: `"#ffffff"`, `"rgb(255, 255, 255)"`, `"white"`
856
+ */
857
+ bg_primary?: string | null;
858
+ /**
859
+ * Background secondary color
860
+ */
861
+ bg_secondary?: string | null;
862
+ /**
863
+ * Border primary color
864
+ */
865
+ border_primary?: string | null;
866
+ /**
867
+ * Border secondary color
868
+ */
869
+ border_secondary?: string | null;
870
+ /**
871
+ * Primary button background color
872
+ */
873
+ button_primary?: string | null;
874
+ /**
875
+ * Primary button hover color
876
+ */
877
+ button_primary_hover?: string | null;
878
+ /**
879
+ * Secondary button background color
880
+ */
881
+ button_secondary?: string | null;
882
+ /**
883
+ * Secondary button hover color
884
+ */
885
+ button_secondary_hover?: string | null;
886
+ /**
887
+ * Primary button text color
888
+ */
889
+ button_text_primary?: string | null;
890
+ /**
891
+ * Secondary button text color
892
+ */
893
+ button_text_secondary?: string | null;
894
+ /**
895
+ * Input focus border color
896
+ */
897
+ input_focus_border?: string | null;
898
+ /**
899
+ * Text error color
900
+ */
901
+ text_error?: string | null;
902
+ /**
903
+ * Text placeholder color
904
+ */
905
+ text_placeholder?: string | null;
906
+ /**
907
+ * Text primary color
908
+ */
909
+ text_primary?: string | null;
910
+ /**
911
+ * Text secondary color
912
+ */
913
+ text_secondary?: string | null;
914
+ /**
915
+ * Text success color
916
+ */
917
+ text_success?: string | null;
918
+ }
919
+ /**
920
+ * Light mode color configuration
921
+ */
922
+ interface Light {
923
+ /**
924
+ * Background primary color
925
+ *
926
+ * Examples: `"#ffffff"`, `"rgb(255, 255, 255)"`, `"white"`
927
+ */
928
+ bg_primary?: string | null;
929
+ /**
930
+ * Background secondary color
931
+ */
932
+ bg_secondary?: string | null;
933
+ /**
934
+ * Border primary color
935
+ */
936
+ border_primary?: string | null;
937
+ /**
938
+ * Border secondary color
939
+ */
940
+ border_secondary?: string | null;
941
+ /**
942
+ * Primary button background color
943
+ */
944
+ button_primary?: string | null;
945
+ /**
946
+ * Primary button hover color
947
+ */
948
+ button_primary_hover?: string | null;
949
+ /**
950
+ * Secondary button background color
951
+ */
952
+ button_secondary?: string | null;
953
+ /**
954
+ * Secondary button hover color
955
+ */
956
+ button_secondary_hover?: string | null;
957
+ /**
958
+ * Primary button text color
959
+ */
960
+ button_text_primary?: string | null;
961
+ /**
962
+ * Secondary button text color
963
+ */
964
+ button_text_secondary?: string | null;
965
+ /**
966
+ * Input focus border color
967
+ */
968
+ input_focus_border?: string | null;
969
+ /**
970
+ * Text error color
971
+ */
972
+ text_error?: string | null;
973
+ /**
974
+ * Text placeholder color
975
+ */
976
+ text_placeholder?: string | null;
977
+ /**
978
+ * Text primary color
979
+ */
980
+ text_primary?: string | null;
981
+ /**
982
+ * Text secondary color
983
+ */
984
+ text_secondary?: string | null;
985
+ /**
986
+ * Text success color
987
+ */
988
+ text_success?: string | null;
989
+ }
990
+ }
633
991
  }
634
992
  interface FeatureFlags {
635
993
  /**
@@ -817,7 +1175,7 @@ export declare namespace CheckoutSessionPreviewParams {
817
1175
  /**
818
1176
  * Type of field determining validation rules
819
1177
  */
820
- field_type: 'text' | 'number' | 'email' | 'url' | 'phone' | 'date' | 'datetime' | 'dropdown' | 'boolean';
1178
+ field_type: 'text' | 'number' | 'email' | 'url' | 'date' | 'dropdown' | 'boolean';
821
1179
  /**
822
1180
  * Unique identifier for this field (used as key in responses)
823
1181
  */
@@ -860,11 +1218,190 @@ export declare namespace CheckoutSessionPreviewParams {
860
1218
  */
861
1219
  show_order_details?: boolean;
862
1220
  /**
863
- * Theme of the page
1221
+ * Theme of the page (determines which mode - light/dark/system - to use)
864
1222
  *
865
1223
  * Default is `System`.
866
1224
  */
867
1225
  theme?: 'dark' | 'light' | 'system';
1226
+ /**
1227
+ * Optional custom theme configuration with colors for light and dark modes
1228
+ */
1229
+ theme_config?: Customization.ThemeConfig | null;
1230
+ }
1231
+ namespace Customization {
1232
+ /**
1233
+ * Optional custom theme configuration with colors for light and dark modes
1234
+ */
1235
+ interface ThemeConfig {
1236
+ /**
1237
+ * Dark mode color configuration
1238
+ */
1239
+ dark?: ThemeConfig.Dark | null;
1240
+ /**
1241
+ * Font size for the checkout UI
1242
+ */
1243
+ font_size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | null;
1244
+ /**
1245
+ * Font weight for the checkout UI
1246
+ */
1247
+ font_weight?: 'normal' | 'medium' | 'bold' | 'extraBold' | null;
1248
+ /**
1249
+ * Light mode color configuration
1250
+ */
1251
+ light?: ThemeConfig.Light | null;
1252
+ /**
1253
+ * Custom text for the pay button (e.g., "Complete Purchase", "Subscribe Now")
1254
+ */
1255
+ pay_button_text?: string | null;
1256
+ /**
1257
+ * Border radius for UI elements (e.g., "4px", "0.5rem", "8px")
1258
+ */
1259
+ radius?: string | null;
1260
+ }
1261
+ namespace ThemeConfig {
1262
+ /**
1263
+ * Dark mode color configuration
1264
+ */
1265
+ interface Dark {
1266
+ /**
1267
+ * Background primary color
1268
+ *
1269
+ * Examples: `"#ffffff"`, `"rgb(255, 255, 255)"`, `"white"`
1270
+ */
1271
+ bg_primary?: string | null;
1272
+ /**
1273
+ * Background secondary color
1274
+ */
1275
+ bg_secondary?: string | null;
1276
+ /**
1277
+ * Border primary color
1278
+ */
1279
+ border_primary?: string | null;
1280
+ /**
1281
+ * Border secondary color
1282
+ */
1283
+ border_secondary?: string | null;
1284
+ /**
1285
+ * Primary button background color
1286
+ */
1287
+ button_primary?: string | null;
1288
+ /**
1289
+ * Primary button hover color
1290
+ */
1291
+ button_primary_hover?: string | null;
1292
+ /**
1293
+ * Secondary button background color
1294
+ */
1295
+ button_secondary?: string | null;
1296
+ /**
1297
+ * Secondary button hover color
1298
+ */
1299
+ button_secondary_hover?: string | null;
1300
+ /**
1301
+ * Primary button text color
1302
+ */
1303
+ button_text_primary?: string | null;
1304
+ /**
1305
+ * Secondary button text color
1306
+ */
1307
+ button_text_secondary?: string | null;
1308
+ /**
1309
+ * Input focus border color
1310
+ */
1311
+ input_focus_border?: string | null;
1312
+ /**
1313
+ * Text error color
1314
+ */
1315
+ text_error?: string | null;
1316
+ /**
1317
+ * Text placeholder color
1318
+ */
1319
+ text_placeholder?: string | null;
1320
+ /**
1321
+ * Text primary color
1322
+ */
1323
+ text_primary?: string | null;
1324
+ /**
1325
+ * Text secondary color
1326
+ */
1327
+ text_secondary?: string | null;
1328
+ /**
1329
+ * Text success color
1330
+ */
1331
+ text_success?: string | null;
1332
+ }
1333
+ /**
1334
+ * Light mode color configuration
1335
+ */
1336
+ interface Light {
1337
+ /**
1338
+ * Background primary color
1339
+ *
1340
+ * Examples: `"#ffffff"`, `"rgb(255, 255, 255)"`, `"white"`
1341
+ */
1342
+ bg_primary?: string | null;
1343
+ /**
1344
+ * Background secondary color
1345
+ */
1346
+ bg_secondary?: string | null;
1347
+ /**
1348
+ * Border primary color
1349
+ */
1350
+ border_primary?: string | null;
1351
+ /**
1352
+ * Border secondary color
1353
+ */
1354
+ border_secondary?: string | null;
1355
+ /**
1356
+ * Primary button background color
1357
+ */
1358
+ button_primary?: string | null;
1359
+ /**
1360
+ * Primary button hover color
1361
+ */
1362
+ button_primary_hover?: string | null;
1363
+ /**
1364
+ * Secondary button background color
1365
+ */
1366
+ button_secondary?: string | null;
1367
+ /**
1368
+ * Secondary button hover color
1369
+ */
1370
+ button_secondary_hover?: string | null;
1371
+ /**
1372
+ * Primary button text color
1373
+ */
1374
+ button_text_primary?: string | null;
1375
+ /**
1376
+ * Secondary button text color
1377
+ */
1378
+ button_text_secondary?: string | null;
1379
+ /**
1380
+ * Input focus border color
1381
+ */
1382
+ input_focus_border?: string | null;
1383
+ /**
1384
+ * Text error color
1385
+ */
1386
+ text_error?: string | null;
1387
+ /**
1388
+ * Text placeholder color
1389
+ */
1390
+ text_placeholder?: string | null;
1391
+ /**
1392
+ * Text primary color
1393
+ */
1394
+ text_primary?: string | null;
1395
+ /**
1396
+ * Text secondary color
1397
+ */
1398
+ text_secondary?: string | null;
1399
+ /**
1400
+ * Text success color
1401
+ */
1402
+ text_success?: string | null;
1403
+ }
1404
+ }
868
1405
  }
869
1406
  interface FeatureFlags {
870
1407
  /**