dodopayments 2.13.0 → 2.14.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -3
  3. data/README.md +1 -1
  4. data/lib/dodopayments/models/balance_ledger_entry.rb +1 -0
  5. data/lib/dodopayments/models/balance_retrieve_ledger_params.rb +1 -0
  6. data/lib/dodopayments/models/dispute_list_response.rb +27 -1
  7. data/lib/dodopayments/models/entitlements/entitlement_grant.rb +9 -1
  8. data/lib/dodopayments/models/entitlements/grant_list_params.rb +26 -1
  9. data/lib/dodopayments/models/integration_config.rb +28 -1
  10. data/lib/dodopayments/models/integration_config_response.rb +32 -1
  11. data/lib/dodopayments/models/license_key.rb +1 -0
  12. data/lib/dodopayments/models/license_key_list_params.rb +1 -0
  13. data/lib/dodopayments/models/payment.rb +27 -1
  14. data/lib/dodopayments/models/payment_list_response.rb +43 -1
  15. data/lib/dodopayments/models/subscription_update_payment_method_params.rb +21 -1
  16. data/lib/dodopayments/models/theme_config.rb +1 -1
  17. data/lib/dodopayments/resources/entitlements/grants.rb +3 -1
  18. data/lib/dodopayments/version.rb +1 -1
  19. data/rbi/dodopayments/models/balance_ledger_entry.rbi +5 -0
  20. data/rbi/dodopayments/models/balance_retrieve_ledger_params.rbi +5 -0
  21. data/rbi/dodopayments/models/dispute_list_response.rbi +60 -0
  22. data/rbi/dodopayments/models/entitlements/entitlement_grant.rbi +10 -0
  23. data/rbi/dodopayments/models/entitlements/grant_list_params.rbi +89 -0
  24. data/rbi/dodopayments/models/integration_config.rbi +65 -3
  25. data/rbi/dodopayments/models/integration_config_response.rbi +70 -3
  26. data/rbi/dodopayments/models/license_key.rbi +1 -0
  27. data/rbi/dodopayments/models/license_key_list_params.rbi +5 -0
  28. data/rbi/dodopayments/models/payment.rbi +39 -0
  29. data/rbi/dodopayments/models/payment_list_response.rbi +76 -0
  30. data/rbi/dodopayments/models/subscription_update_payment_method_params.rbi +40 -5
  31. data/rbi/dodopayments/models/theme_config.rbi +1 -1
  32. data/rbi/dodopayments/resources/entitlements/grants.rbi +4 -0
  33. data/sig/dodopayments/models/balance_ledger_entry.rbs +2 -0
  34. data/sig/dodopayments/models/balance_retrieve_ledger_params.rbs +2 -0
  35. data/sig/dodopayments/models/dispute_list_response.rbs +17 -0
  36. data/sig/dodopayments/models/entitlements/entitlement_grant.rbs +5 -0
  37. data/sig/dodopayments/models/entitlements/grant_list_params.rbs +34 -0
  38. data/sig/dodopayments/models/integration_config.rbs +19 -3
  39. data/sig/dodopayments/models/integration_config_response.rbs +19 -3
  40. data/sig/dodopayments/models/license_key.rbs +2 -1
  41. data/sig/dodopayments/models/license_key_list_params.rbs +2 -1
  42. data/sig/dodopayments/models/payment.rbs +17 -0
  43. data/sig/dodopayments/models/payment_list_response.rbs +27 -0
  44. data/sig/dodopayments/models/subscription_update_payment_method_params.rbs +19 -4
  45. data/sig/dodopayments/models/theme_config.rbs +1 -1
  46. data/sig/dodopayments/resources/entitlements/grants.rbs +1 -0
  47. metadata +2 -2
@@ -25,6 +25,24 @@ module Dodopayments
25
25
  sig { params(customer_id: String).void }
26
26
  attr_writer :customer_id
27
27
 
28
+ # Filter by integration type
29
+ sig do
30
+ returns(
31
+ T.nilable(
32
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::OrSymbol
33
+ )
34
+ )
35
+ end
36
+ attr_reader :integration_type
37
+
38
+ sig do
39
+ params(
40
+ integration_type:
41
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::OrSymbol
42
+ ).void
43
+ end
44
+ attr_writer :integration_type
45
+
28
46
  # Page number (default 0)
29
47
  sig { returns(T.nilable(Integer)) }
30
48
  attr_reader :page_number
@@ -61,6 +79,8 @@ module Dodopayments
61
79
  params(
62
80
  id: String,
63
81
  customer_id: String,
82
+ integration_type:
83
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::OrSymbol,
64
84
  page_number: Integer,
65
85
  page_size: Integer,
66
86
  status:
@@ -72,6 +92,8 @@ module Dodopayments
72
92
  id:,
73
93
  # Filter by customer ID
74
94
  customer_id: nil,
95
+ # Filter by integration type
96
+ integration_type: nil,
75
97
  # Page number (default 0)
76
98
  page_number: nil,
77
99
  # Page size (default 10, max 100)
@@ -87,6 +109,8 @@ module Dodopayments
87
109
  {
88
110
  id: String,
89
111
  customer_id: String,
112
+ integration_type:
113
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::OrSymbol,
90
114
  page_number: Integer,
91
115
  page_size: Integer,
92
116
  status:
@@ -98,6 +122,71 @@ module Dodopayments
98
122
  def to_hash
99
123
  end
100
124
 
125
+ # Filter by integration type
126
+ module IntegrationType
127
+ extend Dodopayments::Internal::Type::Enum
128
+
129
+ TaggedSymbol =
130
+ T.type_alias do
131
+ T.all(
132
+ Symbol,
133
+ Dodopayments::Entitlements::GrantListParams::IntegrationType
134
+ )
135
+ end
136
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
137
+
138
+ DISCORD =
139
+ T.let(
140
+ :discord,
141
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::TaggedSymbol
142
+ )
143
+ TELEGRAM =
144
+ T.let(
145
+ :telegram,
146
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::TaggedSymbol
147
+ )
148
+ GITHUB =
149
+ T.let(
150
+ :github,
151
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::TaggedSymbol
152
+ )
153
+ FIGMA =
154
+ T.let(
155
+ :figma,
156
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::TaggedSymbol
157
+ )
158
+ FRAMER =
159
+ T.let(
160
+ :framer,
161
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::TaggedSymbol
162
+ )
163
+ NOTION =
164
+ T.let(
165
+ :notion,
166
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::TaggedSymbol
167
+ )
168
+ DIGITAL_FILES =
169
+ T.let(
170
+ :digital_files,
171
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::TaggedSymbol
172
+ )
173
+ LICENSE_KEY =
174
+ T.let(
175
+ :license_key,
176
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::TaggedSymbol
177
+ )
178
+
179
+ sig do
180
+ override.returns(
181
+ T::Array[
182
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::TaggedSymbol
183
+ ]
184
+ )
185
+ end
186
+ def self.values
187
+ end
188
+ end
189
+
101
190
  # Filter by grant status
102
191
  module Status
103
192
  extend Dodopayments::Internal::Type::Enum
@@ -308,12 +308,28 @@ module Dodopayments
308
308
  sig { returns(T.nilable(Dodopayments::TimeInterval::OrSymbol)) }
309
309
  attr_accessor :duration_interval
310
310
 
311
+ # Fulfillment mode: `auto` (default) generates keys automatically; `manual`
312
+ # creates pending grants the merchant fulfills via the
313
+ # `POST /grants/{id}/license-key` endpoint.
314
+ sig do
315
+ returns(
316
+ T.nilable(
317
+ Dodopayments::IntegrationConfig::LicenseKeyConfig::FulfillmentMode::OrSymbol
318
+ )
319
+ )
320
+ end
321
+ attr_accessor :fulfillment_mode
322
+
311
323
  sig do
312
324
  params(
313
325
  activation_message: T.nilable(String),
314
326
  activations_limit: T.nilable(Integer),
315
327
  duration_count: T.nilable(Integer),
316
- duration_interval: T.nilable(Dodopayments::TimeInterval::OrSymbol)
328
+ duration_interval: T.nilable(Dodopayments::TimeInterval::OrSymbol),
329
+ fulfillment_mode:
330
+ T.nilable(
331
+ Dodopayments::IntegrationConfig::LicenseKeyConfig::FulfillmentMode::OrSymbol
332
+ )
317
333
  ).returns(T.attached_class)
318
334
  end
319
335
  def self.new(
@@ -327,7 +343,11 @@ module Dodopayments
327
343
  # keys.
328
344
  duration_count: nil,
329
345
  # Unit of `duration_count`.
330
- duration_interval: nil
346
+ duration_interval: nil,
347
+ # Fulfillment mode: `auto` (default) generates keys automatically; `manual`
348
+ # creates pending grants the merchant fulfills via the
349
+ # `POST /grants/{id}/license-key` endpoint.
350
+ fulfillment_mode: nil
331
351
  )
332
352
  end
333
353
 
@@ -337,12 +357,54 @@ module Dodopayments
337
357
  activation_message: T.nilable(String),
338
358
  activations_limit: T.nilable(Integer),
339
359
  duration_count: T.nilable(Integer),
340
- duration_interval: T.nilable(Dodopayments::TimeInterval::OrSymbol)
360
+ duration_interval:
361
+ T.nilable(Dodopayments::TimeInterval::OrSymbol),
362
+ fulfillment_mode:
363
+ T.nilable(
364
+ Dodopayments::IntegrationConfig::LicenseKeyConfig::FulfillmentMode::OrSymbol
365
+ )
341
366
  }
342
367
  )
343
368
  end
344
369
  def to_hash
345
370
  end
371
+
372
+ # Fulfillment mode: `auto` (default) generates keys automatically; `manual`
373
+ # creates pending grants the merchant fulfills via the
374
+ # `POST /grants/{id}/license-key` endpoint.
375
+ module FulfillmentMode
376
+ extend Dodopayments::Internal::Type::Enum
377
+
378
+ TaggedSymbol =
379
+ T.type_alias do
380
+ T.all(
381
+ Symbol,
382
+ Dodopayments::IntegrationConfig::LicenseKeyConfig::FulfillmentMode
383
+ )
384
+ end
385
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
386
+
387
+ AUTO =
388
+ T.let(
389
+ :auto,
390
+ Dodopayments::IntegrationConfig::LicenseKeyConfig::FulfillmentMode::TaggedSymbol
391
+ )
392
+ MANUAL =
393
+ T.let(
394
+ :manual,
395
+ Dodopayments::IntegrationConfig::LicenseKeyConfig::FulfillmentMode::TaggedSymbol
396
+ )
397
+
398
+ sig do
399
+ override.returns(
400
+ T::Array[
401
+ Dodopayments::IntegrationConfig::LicenseKeyConfig::FulfillmentMode::TaggedSymbol
402
+ ]
403
+ )
404
+ end
405
+ def self.values
406
+ end
407
+ end
346
408
  end
347
409
 
348
410
  sig do
@@ -425,12 +425,30 @@ module Dodopayments
425
425
  sig { returns(T.nilable(Dodopayments::TimeInterval::TaggedSymbol)) }
426
426
  attr_accessor :duration_interval
427
427
 
428
+ # Fulfillment mode:
429
+ #
430
+ # `auto` (default) generate and delivery license keys to customers automatically.
431
+ # `manual` creates pending grants, actual key is provided via the fulfillment API
432
+ # and delivered to the customer when fulfilled.
433
+ sig do
434
+ returns(
435
+ T.nilable(
436
+ Dodopayments::IntegrationConfigResponse::LicenseKeyConfig::FulfillmentMode::TaggedSymbol
437
+ )
438
+ )
439
+ end
440
+ attr_accessor :fulfillment_mode
441
+
428
442
  sig do
429
443
  params(
430
444
  activation_message: T.nilable(String),
431
445
  activations_limit: T.nilable(Integer),
432
446
  duration_count: T.nilable(Integer),
433
- duration_interval: T.nilable(Dodopayments::TimeInterval::OrSymbol)
447
+ duration_interval: T.nilable(Dodopayments::TimeInterval::OrSymbol),
448
+ fulfillment_mode:
449
+ T.nilable(
450
+ Dodopayments::IntegrationConfigResponse::LicenseKeyConfig::FulfillmentMode::OrSymbol
451
+ )
434
452
  ).returns(T.attached_class)
435
453
  end
436
454
  def self.new(
@@ -444,7 +462,13 @@ module Dodopayments
444
462
  # keys.
445
463
  duration_count: nil,
446
464
  # Unit of `duration_count`.
447
- duration_interval: nil
465
+ duration_interval: nil,
466
+ # Fulfillment mode:
467
+ #
468
+ # `auto` (default) generate and delivery license keys to customers automatically.
469
+ # `manual` creates pending grants, actual key is provided via the fulfillment API
470
+ # and delivered to the customer when fulfilled.
471
+ fulfillment_mode: nil
448
472
  )
449
473
  end
450
474
 
@@ -455,12 +479,55 @@ module Dodopayments
455
479
  activations_limit: T.nilable(Integer),
456
480
  duration_count: T.nilable(Integer),
457
481
  duration_interval:
458
- T.nilable(Dodopayments::TimeInterval::TaggedSymbol)
482
+ T.nilable(Dodopayments::TimeInterval::TaggedSymbol),
483
+ fulfillment_mode:
484
+ T.nilable(
485
+ Dodopayments::IntegrationConfigResponse::LicenseKeyConfig::FulfillmentMode::TaggedSymbol
486
+ )
459
487
  }
460
488
  )
461
489
  end
462
490
  def to_hash
463
491
  end
492
+
493
+ # Fulfillment mode:
494
+ #
495
+ # `auto` (default) generate and delivery license keys to customers automatically.
496
+ # `manual` creates pending grants, actual key is provided via the fulfillment API
497
+ # and delivered to the customer when fulfilled.
498
+ module FulfillmentMode
499
+ extend Dodopayments::Internal::Type::Enum
500
+
501
+ TaggedSymbol =
502
+ T.type_alias do
503
+ T.all(
504
+ Symbol,
505
+ Dodopayments::IntegrationConfigResponse::LicenseKeyConfig::FulfillmentMode
506
+ )
507
+ end
508
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
509
+
510
+ AUTO =
511
+ T.let(
512
+ :auto,
513
+ Dodopayments::IntegrationConfigResponse::LicenseKeyConfig::FulfillmentMode::TaggedSymbol
514
+ )
515
+ MANUAL =
516
+ T.let(
517
+ :manual,
518
+ Dodopayments::IntegrationConfigResponse::LicenseKeyConfig::FulfillmentMode::TaggedSymbol
519
+ )
520
+
521
+ sig do
522
+ override.returns(
523
+ T::Array[
524
+ Dodopayments::IntegrationConfigResponse::LicenseKeyConfig::FulfillmentMode::TaggedSymbol
525
+ ]
526
+ )
527
+ end
528
+ def self.values
529
+ end
530
+ end
464
531
  end
465
532
 
466
533
  sig do
@@ -144,6 +144,7 @@ module Dodopayments
144
144
 
145
145
  AUTO = T.let(:auto, Dodopayments::LicenseKey::Source::TaggedSymbol)
146
146
  IMPORT = T.let(:import, Dodopayments::LicenseKey::Source::TaggedSymbol)
147
+ MANUAL = T.let(:manual, Dodopayments::LicenseKey::Source::TaggedSymbol)
147
148
 
148
149
  sig do
149
150
  override.returns(
@@ -151,6 +151,11 @@ module Dodopayments
151
151
  :import,
152
152
  Dodopayments::LicenseKeyListParams::Source::TaggedSymbol
153
153
  )
154
+ MANUAL =
155
+ T.let(
156
+ :manual,
157
+ Dodopayments::LicenseKeyListParams::Source::TaggedSymbol
158
+ )
154
159
 
155
160
  sig do
156
161
  override.returns(
@@ -56,6 +56,12 @@ module Dodopayments
56
56
  sig { returns(String) }
57
57
  attr_accessor :payment_id
58
58
 
59
+ # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
60
+ # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
61
+ # itself.
62
+ sig { returns(Dodopayments::Payment::PaymentProvider::TaggedSymbol) }
63
+ attr_accessor :payment_provider
64
+
59
65
  # List of refunds issued for this payment
60
66
  sig { returns(T::Array[Dodopayments::RefundListItem]) }
61
67
  attr_accessor :refunds
@@ -193,6 +199,7 @@ module Dodopayments
193
199
  disputes: T::Array[Dodopayments::Dispute::OrHash],
194
200
  metadata: T::Hash[Symbol, String],
195
201
  payment_id: String,
202
+ payment_provider: Dodopayments::Payment::PaymentProvider::OrSymbol,
196
203
  refunds: T::Array[Dodopayments::RefundListItem::OrHash],
197
204
  retry_attempt: Integer,
198
205
  settlement_amount: Integer,
@@ -246,6 +253,10 @@ module Dodopayments
246
253
  metadata:,
247
254
  # Unique identifier for the payment
248
255
  payment_id:,
256
+ # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
257
+ # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
258
+ # itself.
259
+ payment_provider:,
249
260
  # List of refunds issued for this payment
250
261
  refunds:,
251
262
  # Retry attempt number for subscription renewal payments. `0` for the original
@@ -329,6 +340,8 @@ module Dodopayments
329
340
  disputes: T::Array[Dodopayments::Dispute],
330
341
  metadata: T::Hash[Symbol, String],
331
342
  payment_id: String,
343
+ payment_provider:
344
+ Dodopayments::Payment::PaymentProvider::TaggedSymbol,
332
345
  refunds: T::Array[Dodopayments::RefundListItem],
333
346
  retry_attempt: Integer,
334
347
  settlement_amount: Integer,
@@ -367,6 +380,32 @@ module Dodopayments
367
380
  def to_hash
368
381
  end
369
382
 
383
+ # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
384
+ # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
385
+ # itself.
386
+ module PaymentProvider
387
+ extend Dodopayments::Internal::Type::Enum
388
+
389
+ TaggedSymbol =
390
+ T.type_alias { T.all(Symbol, Dodopayments::Payment::PaymentProvider) }
391
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
392
+
393
+ STRIPE =
394
+ T.let(:stripe, Dodopayments::Payment::PaymentProvider::TaggedSymbol)
395
+ ADYEN =
396
+ T.let(:adyen, Dodopayments::Payment::PaymentProvider::TaggedSymbol)
397
+ DODO =
398
+ T.let(:dodo, Dodopayments::Payment::PaymentProvider::TaggedSymbol)
399
+
400
+ sig do
401
+ override.returns(
402
+ T::Array[Dodopayments::Payment::PaymentProvider::TaggedSymbol]
403
+ )
404
+ end
405
+ def self.values
406
+ end
407
+ end
408
+
370
409
  class ProductCart < Dodopayments::Internal::Type::BaseModel
371
410
  OrHash =
372
411
  T.type_alias do
@@ -40,9 +40,27 @@ module Dodopayments
40
40
  sig { returns(String) }
41
41
  attr_accessor :payment_id
42
42
 
43
+ # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
44
+ # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
45
+ # itself.
46
+ sig do
47
+ returns(
48
+ Dodopayments::Models::PaymentListResponse::PaymentProvider::TaggedSymbol
49
+ )
50
+ end
51
+ attr_accessor :payment_provider
52
+
43
53
  sig { returns(Integer) }
44
54
  attr_accessor :total_amount
45
55
 
56
+ # The last four digits of the card
57
+ sig { returns(T.nilable(String)) }
58
+ attr_accessor :card_last_four
59
+
60
+ # Card network like VISA, MASTERCARD etc.
61
+ sig { returns(T.nilable(String)) }
62
+ attr_accessor :card_network
63
+
46
64
  # The most recent dispute status for this payment. None if no disputes exist.
47
65
  sig { returns(T.nilable(Dodopayments::DisputeStatus::TaggedSymbol)) }
48
66
  attr_accessor :dispute_status
@@ -84,7 +102,11 @@ module Dodopayments
84
102
  has_license_key: T::Boolean,
85
103
  metadata: T::Hash[Symbol, String],
86
104
  payment_id: String,
105
+ payment_provider:
106
+ Dodopayments::Models::PaymentListResponse::PaymentProvider::OrSymbol,
87
107
  total_amount: Integer,
108
+ card_last_four: T.nilable(String),
109
+ card_network: T.nilable(String),
88
110
  dispute_status: T.nilable(Dodopayments::DisputeStatus::OrSymbol),
89
111
  invoice_id: T.nilable(String),
90
112
  invoice_url: T.nilable(String),
@@ -104,7 +126,15 @@ module Dodopayments
104
126
  has_license_key:,
105
127
  metadata:,
106
128
  payment_id:,
129
+ # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
130
+ # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
131
+ # itself.
132
+ payment_provider:,
107
133
  total_amount:,
134
+ # The last four digits of the card
135
+ card_last_four: nil,
136
+ # Card network like VISA, MASTERCARD etc.
137
+ card_network: nil,
108
138
  # The most recent dispute status for this payment. None if no disputes exist.
109
139
  dispute_status: nil,
110
140
  # Invoice ID for this payment. Uses India-specific invoice ID if available.
@@ -132,7 +162,11 @@ module Dodopayments
132
162
  has_license_key: T::Boolean,
133
163
  metadata: T::Hash[Symbol, String],
134
164
  payment_id: String,
165
+ payment_provider:
166
+ Dodopayments::Models::PaymentListResponse::PaymentProvider::TaggedSymbol,
135
167
  total_amount: Integer,
168
+ card_last_four: T.nilable(String),
169
+ card_network: T.nilable(String),
136
170
  dispute_status:
137
171
  T.nilable(Dodopayments::DisputeStatus::TaggedSymbol),
138
172
  invoice_id: T.nilable(String),
@@ -148,6 +182,48 @@ module Dodopayments
148
182
  end
149
183
  def to_hash
150
184
  end
185
+
186
+ # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
187
+ # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
188
+ # itself.
189
+ module PaymentProvider
190
+ extend Dodopayments::Internal::Type::Enum
191
+
192
+ TaggedSymbol =
193
+ T.type_alias do
194
+ T.all(
195
+ Symbol,
196
+ Dodopayments::Models::PaymentListResponse::PaymentProvider
197
+ )
198
+ end
199
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
200
+
201
+ STRIPE =
202
+ T.let(
203
+ :stripe,
204
+ Dodopayments::Models::PaymentListResponse::PaymentProvider::TaggedSymbol
205
+ )
206
+ ADYEN =
207
+ T.let(
208
+ :adyen,
209
+ Dodopayments::Models::PaymentListResponse::PaymentProvider::TaggedSymbol
210
+ )
211
+ DODO =
212
+ T.let(
213
+ :dodo,
214
+ Dodopayments::Models::PaymentListResponse::PaymentProvider::TaggedSymbol
215
+ )
216
+
217
+ sig do
218
+ override.returns(
219
+ T::Array[
220
+ Dodopayments::Models::PaymentListResponse::PaymentProvider::TaggedSymbol
221
+ ]
222
+ )
223
+ end
224
+ def self.values
225
+ end
226
+ end
151
227
  end
152
228
  end
153
229
  end
@@ -80,19 +80,54 @@ module Dodopayments
80
80
  sig { returns(Symbol) }
81
81
  attr_accessor :type
82
82
 
83
+ # List of payment methods allowed during checkout.
84
+ #
85
+ # Customers will **never** see payment methods that are **not** in this list.
86
+ # However, adding a method here **does not guarantee** customers will see it.
87
+ # Availability still depends on other factors (e.g., customer location, merchant
88
+ # settings).
89
+ sig do
90
+ returns(
91
+ T.nilable(T::Array[Dodopayments::PaymentMethodTypes::OrSymbol])
92
+ )
93
+ end
94
+ attr_accessor :allowed_payment_method_types
95
+
83
96
  sig { returns(T.nilable(String)) }
84
97
  attr_accessor :return_url
85
98
 
86
99
  sig do
87
- params(return_url: T.nilable(String), type: Symbol).returns(
88
- T.attached_class
89
- )
100
+ params(
101
+ allowed_payment_method_types:
102
+ T.nilable(T::Array[Dodopayments::PaymentMethodTypes::OrSymbol]),
103
+ return_url: T.nilable(String),
104
+ type: Symbol
105
+ ).returns(T.attached_class)
90
106
  end
91
- def self.new(return_url: nil, type: :new)
107
+ def self.new(
108
+ # List of payment methods allowed during checkout.
109
+ #
110
+ # Customers will **never** see payment methods that are **not** in this list.
111
+ # However, adding a method here **does not guarantee** customers will see it.
112
+ # Availability still depends on other factors (e.g., customer location, merchant
113
+ # settings).
114
+ allowed_payment_method_types: nil,
115
+ return_url: nil,
116
+ type: :new
117
+ )
92
118
  end
93
119
 
94
120
  sig do
95
- override.returns({ type: Symbol, return_url: T.nilable(String) })
121
+ override.returns(
122
+ {
123
+ type: Symbol,
124
+ allowed_payment_method_types:
125
+ T.nilable(
126
+ T::Array[Dodopayments::PaymentMethodTypes::OrSymbol]
127
+ ),
128
+ return_url: T.nilable(String)
129
+ }
130
+ )
96
131
  end
97
132
  def to_hash
98
133
  end
@@ -121,7 +121,7 @@ module Dodopayments
121
121
  MD = T.let(:md, Dodopayments::ThemeConfig::FontSize::TaggedSymbol)
122
122
  LG = T.let(:lg, Dodopayments::ThemeConfig::FontSize::TaggedSymbol)
123
123
  XL = T.let(:xl, Dodopayments::ThemeConfig::FontSize::TaggedSymbol)
124
- FONT_SIZE_2XL =
124
+ SIZE2_XL =
125
125
  T.let(:"2xl", Dodopayments::ThemeConfig::FontSize::TaggedSymbol)
126
126
 
127
127
  sig do
@@ -9,6 +9,8 @@ module Dodopayments
9
9
  params(
10
10
  id: String,
11
11
  customer_id: String,
12
+ integration_type:
13
+ Dodopayments::Entitlements::GrantListParams::IntegrationType::OrSymbol,
12
14
  page_number: Integer,
13
15
  page_size: Integer,
14
16
  status:
@@ -25,6 +27,8 @@ module Dodopayments
25
27
  id,
26
28
  # Filter by customer ID
27
29
  customer_id: nil,
30
+ # Filter by integration type
31
+ integration_type: nil,
28
32
  # Page number (default 0)
29
33
  page_number: nil,
30
34
  # Page size (default 10, max 100)
@@ -93,6 +93,7 @@ module Dodopayments
93
93
  | :abandoned_cart_recovery_fee
94
94
  | :dunning_fees
95
95
  | :payment_retry_fee
96
+ | :byop_fee
96
97
 
97
98
  module EventType
98
99
  extend Dodopayments::Internal::Type::Enum
@@ -118,6 +119,7 @@ module Dodopayments
118
119
  ABANDONED_CART_RECOVERY_FEE: :abandoned_cart_recovery_fee
119
120
  DUNNING_FEES: :dunning_fees
120
121
  PAYMENT_RETRY_FEE: :payment_retry_fee
122
+ BYOP_FEE: :byop_fee
121
123
 
122
124
  def self?.values: -> ::Array[Dodopayments::Models::BalanceLedgerEntry::event_type]
123
125
  end
@@ -398,6 +398,7 @@ module Dodopayments
398
398
  | :abandoned_cart_recovery_fee
399
399
  | :dunning_fees
400
400
  | :payment_retry_fee
401
+ | :byop_fee
401
402
 
402
403
  module EventType
403
404
  extend Dodopayments::Internal::Type::Enum
@@ -423,6 +424,7 @@ module Dodopayments
423
424
  ABANDONED_CART_RECOVERY_FEE: :abandoned_cart_recovery_fee
424
425
  DUNNING_FEES: :dunning_fees
425
426
  PAYMENT_RETRY_FEE: :payment_retry_fee
427
+ BYOP_FEE: :byop_fee
426
428
 
427
429
  def self?.values: -> ::Array[Dodopayments::Models::BalanceRetrieveLedgerParams::event_type]
428
430
  end