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.
@@ -182,7 +182,7 @@ export namespace CheckoutSessionRequest {
182
182
  /**
183
183
  * Type of field determining validation rules
184
184
  */
185
- field_type: 'text' | 'number' | 'email' | 'url' | 'phone' | 'date' | 'datetime' | 'dropdown' | 'boolean';
185
+ field_type: 'text' | 'number' | 'email' | 'url' | 'date' | 'dropdown' | 'boolean';
186
186
 
187
187
  /**
188
188
  * Unique identifier for this field (used as key in responses)
@@ -234,11 +234,229 @@ export namespace CheckoutSessionRequest {
234
234
  show_order_details?: boolean;
235
235
 
236
236
  /**
237
- * Theme of the page
237
+ * Theme of the page (determines which mode - light/dark/system - to use)
238
238
  *
239
239
  * Default is `System`.
240
240
  */
241
241
  theme?: 'dark' | 'light' | 'system';
242
+
243
+ /**
244
+ * Optional custom theme configuration with colors for light and dark modes
245
+ */
246
+ theme_config?: Customization.ThemeConfig | null;
247
+ }
248
+
249
+ export namespace Customization {
250
+ /**
251
+ * Optional custom theme configuration with colors for light and dark modes
252
+ */
253
+ export interface ThemeConfig {
254
+ /**
255
+ * Dark mode color configuration
256
+ */
257
+ dark?: ThemeConfig.Dark | null;
258
+
259
+ /**
260
+ * Font size for the checkout UI
261
+ */
262
+ font_size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | null;
263
+
264
+ /**
265
+ * Font weight for the checkout UI
266
+ */
267
+ font_weight?: 'normal' | 'medium' | 'bold' | 'extraBold' | null;
268
+
269
+ /**
270
+ * Light mode color configuration
271
+ */
272
+ light?: ThemeConfig.Light | null;
273
+
274
+ /**
275
+ * Custom text for the pay button (e.g., "Complete Purchase", "Subscribe Now")
276
+ */
277
+ pay_button_text?: string | null;
278
+
279
+ /**
280
+ * Border radius for UI elements (e.g., "4px", "0.5rem", "8px")
281
+ */
282
+ radius?: string | null;
283
+ }
284
+
285
+ export namespace ThemeConfig {
286
+ /**
287
+ * Dark mode color configuration
288
+ */
289
+ export interface Dark {
290
+ /**
291
+ * Background primary color
292
+ *
293
+ * Examples: `"#ffffff"`, `"rgb(255, 255, 255)"`, `"white"`
294
+ */
295
+ bg_primary?: string | null;
296
+
297
+ /**
298
+ * Background secondary color
299
+ */
300
+ bg_secondary?: string | null;
301
+
302
+ /**
303
+ * Border primary color
304
+ */
305
+ border_primary?: string | null;
306
+
307
+ /**
308
+ * Border secondary color
309
+ */
310
+ border_secondary?: string | null;
311
+
312
+ /**
313
+ * Primary button background color
314
+ */
315
+ button_primary?: string | null;
316
+
317
+ /**
318
+ * Primary button hover color
319
+ */
320
+ button_primary_hover?: string | null;
321
+
322
+ /**
323
+ * Secondary button background color
324
+ */
325
+ button_secondary?: string | null;
326
+
327
+ /**
328
+ * Secondary button hover color
329
+ */
330
+ button_secondary_hover?: string | null;
331
+
332
+ /**
333
+ * Primary button text color
334
+ */
335
+ button_text_primary?: string | null;
336
+
337
+ /**
338
+ * Secondary button text color
339
+ */
340
+ button_text_secondary?: string | null;
341
+
342
+ /**
343
+ * Input focus border color
344
+ */
345
+ input_focus_border?: string | null;
346
+
347
+ /**
348
+ * Text error color
349
+ */
350
+ text_error?: string | null;
351
+
352
+ /**
353
+ * Text placeholder color
354
+ */
355
+ text_placeholder?: string | null;
356
+
357
+ /**
358
+ * Text primary color
359
+ */
360
+ text_primary?: string | null;
361
+
362
+ /**
363
+ * Text secondary color
364
+ */
365
+ text_secondary?: string | null;
366
+
367
+ /**
368
+ * Text success color
369
+ */
370
+ text_success?: string | null;
371
+ }
372
+
373
+ /**
374
+ * Light mode color configuration
375
+ */
376
+ export interface Light {
377
+ /**
378
+ * Background primary color
379
+ *
380
+ * Examples: `"#ffffff"`, `"rgb(255, 255, 255)"`, `"white"`
381
+ */
382
+ bg_primary?: string | null;
383
+
384
+ /**
385
+ * Background secondary color
386
+ */
387
+ bg_secondary?: string | null;
388
+
389
+ /**
390
+ * Border primary color
391
+ */
392
+ border_primary?: string | null;
393
+
394
+ /**
395
+ * Border secondary color
396
+ */
397
+ border_secondary?: string | null;
398
+
399
+ /**
400
+ * Primary button background color
401
+ */
402
+ button_primary?: string | null;
403
+
404
+ /**
405
+ * Primary button hover color
406
+ */
407
+ button_primary_hover?: string | null;
408
+
409
+ /**
410
+ * Secondary button background color
411
+ */
412
+ button_secondary?: string | null;
413
+
414
+ /**
415
+ * Secondary button hover color
416
+ */
417
+ button_secondary_hover?: string | null;
418
+
419
+ /**
420
+ * Primary button text color
421
+ */
422
+ button_text_primary?: string | null;
423
+
424
+ /**
425
+ * Secondary button text color
426
+ */
427
+ button_text_secondary?: string | null;
428
+
429
+ /**
430
+ * Input focus border color
431
+ */
432
+ input_focus_border?: string | null;
433
+
434
+ /**
435
+ * Text error color
436
+ */
437
+ text_error?: string | null;
438
+
439
+ /**
440
+ * Text placeholder color
441
+ */
442
+ text_placeholder?: string | null;
443
+
444
+ /**
445
+ * Text primary color
446
+ */
447
+ text_primary?: string | null;
448
+
449
+ /**
450
+ * Text secondary color
451
+ */
452
+ text_secondary?: string | null;
453
+
454
+ /**
455
+ * Text success color
456
+ */
457
+ text_success?: string | null;
458
+ }
459
+ }
242
460
  }
243
461
 
244
462
  export interface FeatureFlags {
@@ -734,7 +952,7 @@ export namespace CheckoutSessionCreateParams {
734
952
  /**
735
953
  * Type of field determining validation rules
736
954
  */
737
- field_type: 'text' | 'number' | 'email' | 'url' | 'phone' | 'date' | 'datetime' | 'dropdown' | 'boolean';
955
+ field_type: 'text' | 'number' | 'email' | 'url' | 'date' | 'dropdown' | 'boolean';
738
956
 
739
957
  /**
740
958
  * Unique identifier for this field (used as key in responses)
@@ -786,11 +1004,229 @@ export namespace CheckoutSessionCreateParams {
786
1004
  show_order_details?: boolean;
787
1005
 
788
1006
  /**
789
- * Theme of the page
1007
+ * Theme of the page (determines which mode - light/dark/system - to use)
790
1008
  *
791
1009
  * Default is `System`.
792
1010
  */
793
1011
  theme?: 'dark' | 'light' | 'system';
1012
+
1013
+ /**
1014
+ * Optional custom theme configuration with colors for light and dark modes
1015
+ */
1016
+ theme_config?: Customization.ThemeConfig | null;
1017
+ }
1018
+
1019
+ export namespace Customization {
1020
+ /**
1021
+ * Optional custom theme configuration with colors for light and dark modes
1022
+ */
1023
+ export interface ThemeConfig {
1024
+ /**
1025
+ * Dark mode color configuration
1026
+ */
1027
+ dark?: ThemeConfig.Dark | null;
1028
+
1029
+ /**
1030
+ * Font size for the checkout UI
1031
+ */
1032
+ font_size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | null;
1033
+
1034
+ /**
1035
+ * Font weight for the checkout UI
1036
+ */
1037
+ font_weight?: 'normal' | 'medium' | 'bold' | 'extraBold' | null;
1038
+
1039
+ /**
1040
+ * Light mode color configuration
1041
+ */
1042
+ light?: ThemeConfig.Light | null;
1043
+
1044
+ /**
1045
+ * Custom text for the pay button (e.g., "Complete Purchase", "Subscribe Now")
1046
+ */
1047
+ pay_button_text?: string | null;
1048
+
1049
+ /**
1050
+ * Border radius for UI elements (e.g., "4px", "0.5rem", "8px")
1051
+ */
1052
+ radius?: string | null;
1053
+ }
1054
+
1055
+ export namespace ThemeConfig {
1056
+ /**
1057
+ * Dark mode color configuration
1058
+ */
1059
+ export interface Dark {
1060
+ /**
1061
+ * Background primary color
1062
+ *
1063
+ * Examples: `"#ffffff"`, `"rgb(255, 255, 255)"`, `"white"`
1064
+ */
1065
+ bg_primary?: string | null;
1066
+
1067
+ /**
1068
+ * Background secondary color
1069
+ */
1070
+ bg_secondary?: string | null;
1071
+
1072
+ /**
1073
+ * Border primary color
1074
+ */
1075
+ border_primary?: string | null;
1076
+
1077
+ /**
1078
+ * Border secondary color
1079
+ */
1080
+ border_secondary?: string | null;
1081
+
1082
+ /**
1083
+ * Primary button background color
1084
+ */
1085
+ button_primary?: string | null;
1086
+
1087
+ /**
1088
+ * Primary button hover color
1089
+ */
1090
+ button_primary_hover?: string | null;
1091
+
1092
+ /**
1093
+ * Secondary button background color
1094
+ */
1095
+ button_secondary?: string | null;
1096
+
1097
+ /**
1098
+ * Secondary button hover color
1099
+ */
1100
+ button_secondary_hover?: string | null;
1101
+
1102
+ /**
1103
+ * Primary button text color
1104
+ */
1105
+ button_text_primary?: string | null;
1106
+
1107
+ /**
1108
+ * Secondary button text color
1109
+ */
1110
+ button_text_secondary?: string | null;
1111
+
1112
+ /**
1113
+ * Input focus border color
1114
+ */
1115
+ input_focus_border?: string | null;
1116
+
1117
+ /**
1118
+ * Text error color
1119
+ */
1120
+ text_error?: string | null;
1121
+
1122
+ /**
1123
+ * Text placeholder color
1124
+ */
1125
+ text_placeholder?: string | null;
1126
+
1127
+ /**
1128
+ * Text primary color
1129
+ */
1130
+ text_primary?: string | null;
1131
+
1132
+ /**
1133
+ * Text secondary color
1134
+ */
1135
+ text_secondary?: string | null;
1136
+
1137
+ /**
1138
+ * Text success color
1139
+ */
1140
+ text_success?: string | null;
1141
+ }
1142
+
1143
+ /**
1144
+ * Light mode color configuration
1145
+ */
1146
+ export interface Light {
1147
+ /**
1148
+ * Background primary color
1149
+ *
1150
+ * Examples: `"#ffffff"`, `"rgb(255, 255, 255)"`, `"white"`
1151
+ */
1152
+ bg_primary?: string | null;
1153
+
1154
+ /**
1155
+ * Background secondary color
1156
+ */
1157
+ bg_secondary?: string | null;
1158
+
1159
+ /**
1160
+ * Border primary color
1161
+ */
1162
+ border_primary?: string | null;
1163
+
1164
+ /**
1165
+ * Border secondary color
1166
+ */
1167
+ border_secondary?: string | null;
1168
+
1169
+ /**
1170
+ * Primary button background color
1171
+ */
1172
+ button_primary?: string | null;
1173
+
1174
+ /**
1175
+ * Primary button hover color
1176
+ */
1177
+ button_primary_hover?: string | null;
1178
+
1179
+ /**
1180
+ * Secondary button background color
1181
+ */
1182
+ button_secondary?: string | null;
1183
+
1184
+ /**
1185
+ * Secondary button hover color
1186
+ */
1187
+ button_secondary_hover?: string | null;
1188
+
1189
+ /**
1190
+ * Primary button text color
1191
+ */
1192
+ button_text_primary?: string | null;
1193
+
1194
+ /**
1195
+ * Secondary button text color
1196
+ */
1197
+ button_text_secondary?: string | null;
1198
+
1199
+ /**
1200
+ * Input focus border color
1201
+ */
1202
+ input_focus_border?: string | null;
1203
+
1204
+ /**
1205
+ * Text error color
1206
+ */
1207
+ text_error?: string | null;
1208
+
1209
+ /**
1210
+ * Text placeholder color
1211
+ */
1212
+ text_placeholder?: string | null;
1213
+
1214
+ /**
1215
+ * Text primary color
1216
+ */
1217
+ text_primary?: string | null;
1218
+
1219
+ /**
1220
+ * Text secondary color
1221
+ */
1222
+ text_secondary?: string | null;
1223
+
1224
+ /**
1225
+ * Text success color
1226
+ */
1227
+ text_success?: string | null;
1228
+ }
1229
+ }
794
1230
  }
795
1231
 
796
1232
  export interface FeatureFlags {
@@ -1020,7 +1456,7 @@ export namespace CheckoutSessionPreviewParams {
1020
1456
  /**
1021
1457
  * Type of field determining validation rules
1022
1458
  */
1023
- field_type: 'text' | 'number' | 'email' | 'url' | 'phone' | 'date' | 'datetime' | 'dropdown' | 'boolean';
1459
+ field_type: 'text' | 'number' | 'email' | 'url' | 'date' | 'dropdown' | 'boolean';
1024
1460
 
1025
1461
  /**
1026
1462
  * Unique identifier for this field (used as key in responses)
@@ -1072,11 +1508,229 @@ export namespace CheckoutSessionPreviewParams {
1072
1508
  show_order_details?: boolean;
1073
1509
 
1074
1510
  /**
1075
- * Theme of the page
1511
+ * Theme of the page (determines which mode - light/dark/system - to use)
1076
1512
  *
1077
1513
  * Default is `System`.
1078
1514
  */
1079
1515
  theme?: 'dark' | 'light' | 'system';
1516
+
1517
+ /**
1518
+ * Optional custom theme configuration with colors for light and dark modes
1519
+ */
1520
+ theme_config?: Customization.ThemeConfig | null;
1521
+ }
1522
+
1523
+ export namespace Customization {
1524
+ /**
1525
+ * Optional custom theme configuration with colors for light and dark modes
1526
+ */
1527
+ export interface ThemeConfig {
1528
+ /**
1529
+ * Dark mode color configuration
1530
+ */
1531
+ dark?: ThemeConfig.Dark | null;
1532
+
1533
+ /**
1534
+ * Font size for the checkout UI
1535
+ */
1536
+ font_size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | null;
1537
+
1538
+ /**
1539
+ * Font weight for the checkout UI
1540
+ */
1541
+ font_weight?: 'normal' | 'medium' | 'bold' | 'extraBold' | null;
1542
+
1543
+ /**
1544
+ * Light mode color configuration
1545
+ */
1546
+ light?: ThemeConfig.Light | null;
1547
+
1548
+ /**
1549
+ * Custom text for the pay button (e.g., "Complete Purchase", "Subscribe Now")
1550
+ */
1551
+ pay_button_text?: string | null;
1552
+
1553
+ /**
1554
+ * Border radius for UI elements (e.g., "4px", "0.5rem", "8px")
1555
+ */
1556
+ radius?: string | null;
1557
+ }
1558
+
1559
+ export namespace ThemeConfig {
1560
+ /**
1561
+ * Dark mode color configuration
1562
+ */
1563
+ export interface Dark {
1564
+ /**
1565
+ * Background primary color
1566
+ *
1567
+ * Examples: `"#ffffff"`, `"rgb(255, 255, 255)"`, `"white"`
1568
+ */
1569
+ bg_primary?: string | null;
1570
+
1571
+ /**
1572
+ * Background secondary color
1573
+ */
1574
+ bg_secondary?: string | null;
1575
+
1576
+ /**
1577
+ * Border primary color
1578
+ */
1579
+ border_primary?: string | null;
1580
+
1581
+ /**
1582
+ * Border secondary color
1583
+ */
1584
+ border_secondary?: string | null;
1585
+
1586
+ /**
1587
+ * Primary button background color
1588
+ */
1589
+ button_primary?: string | null;
1590
+
1591
+ /**
1592
+ * Primary button hover color
1593
+ */
1594
+ button_primary_hover?: string | null;
1595
+
1596
+ /**
1597
+ * Secondary button background color
1598
+ */
1599
+ button_secondary?: string | null;
1600
+
1601
+ /**
1602
+ * Secondary button hover color
1603
+ */
1604
+ button_secondary_hover?: string | null;
1605
+
1606
+ /**
1607
+ * Primary button text color
1608
+ */
1609
+ button_text_primary?: string | null;
1610
+
1611
+ /**
1612
+ * Secondary button text color
1613
+ */
1614
+ button_text_secondary?: string | null;
1615
+
1616
+ /**
1617
+ * Input focus border color
1618
+ */
1619
+ input_focus_border?: string | null;
1620
+
1621
+ /**
1622
+ * Text error color
1623
+ */
1624
+ text_error?: string | null;
1625
+
1626
+ /**
1627
+ * Text placeholder color
1628
+ */
1629
+ text_placeholder?: string | null;
1630
+
1631
+ /**
1632
+ * Text primary color
1633
+ */
1634
+ text_primary?: string | null;
1635
+
1636
+ /**
1637
+ * Text secondary color
1638
+ */
1639
+ text_secondary?: string | null;
1640
+
1641
+ /**
1642
+ * Text success color
1643
+ */
1644
+ text_success?: string | null;
1645
+ }
1646
+
1647
+ /**
1648
+ * Light mode color configuration
1649
+ */
1650
+ export interface Light {
1651
+ /**
1652
+ * Background primary color
1653
+ *
1654
+ * Examples: `"#ffffff"`, `"rgb(255, 255, 255)"`, `"white"`
1655
+ */
1656
+ bg_primary?: string | null;
1657
+
1658
+ /**
1659
+ * Background secondary color
1660
+ */
1661
+ bg_secondary?: string | null;
1662
+
1663
+ /**
1664
+ * Border primary color
1665
+ */
1666
+ border_primary?: string | null;
1667
+
1668
+ /**
1669
+ * Border secondary color
1670
+ */
1671
+ border_secondary?: string | null;
1672
+
1673
+ /**
1674
+ * Primary button background color
1675
+ */
1676
+ button_primary?: string | null;
1677
+
1678
+ /**
1679
+ * Primary button hover color
1680
+ */
1681
+ button_primary_hover?: string | null;
1682
+
1683
+ /**
1684
+ * Secondary button background color
1685
+ */
1686
+ button_secondary?: string | null;
1687
+
1688
+ /**
1689
+ * Secondary button hover color
1690
+ */
1691
+ button_secondary_hover?: string | null;
1692
+
1693
+ /**
1694
+ * Primary button text color
1695
+ */
1696
+ button_text_primary?: string | null;
1697
+
1698
+ /**
1699
+ * Secondary button text color
1700
+ */
1701
+ button_text_secondary?: string | null;
1702
+
1703
+ /**
1704
+ * Input focus border color
1705
+ */
1706
+ input_focus_border?: string | null;
1707
+
1708
+ /**
1709
+ * Text error color
1710
+ */
1711
+ text_error?: string | null;
1712
+
1713
+ /**
1714
+ * Text placeholder color
1715
+ */
1716
+ text_placeholder?: string | null;
1717
+
1718
+ /**
1719
+ * Text primary color
1720
+ */
1721
+ text_primary?: string | null;
1722
+
1723
+ /**
1724
+ * Text secondary color
1725
+ */
1726
+ text_secondary?: string | null;
1727
+
1728
+ /**
1729
+ * Text success color
1730
+ */
1731
+ text_success?: string | null;
1732
+ }
1733
+ }
1080
1734
  }
1081
1735
 
1082
1736
  export interface FeatureFlags {
@@ -34,7 +34,12 @@ export type WebhookEventType =
34
34
  | 'subscription.expired'
35
35
  | 'subscription.plan_changed'
36
36
  | 'subscription.updated'
37
- | 'license_key.created';
37
+ | 'license_key.created'
38
+ | 'payout.not_initiated'
39
+ | 'payout.on_hold'
40
+ | 'payout.in_progress'
41
+ | 'payout.failed'
42
+ | 'payout.success';
38
43
 
39
44
  export interface WebhookPayload {
40
45
  business_id: string;