dodopayments 2.27.0 → 2.28.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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/internal/type/union.rb +15 -5
  5. data/lib/dodopayments/models/balance_ledger_entry.rb +2 -0
  6. data/lib/dodopayments/models/balance_retrieve_ledger_params.rb +2 -0
  7. data/lib/dodopayments/models/checkout_session_preview_response.rb +10 -1
  8. data/lib/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rb +1 -1
  9. data/lib/dodopayments/models/credit_entitlements/balance_create_ledger_entry_response.rb +21 -1
  10. data/lib/dodopayments/models/credit_entitlements/credit_ledger_entry.rb +2 -7
  11. data/lib/dodopayments/models/customers/email_body.rb +57 -0
  12. data/lib/dodopayments/models/customers/email_failure_code.rb +27 -0
  13. data/lib/dodopayments/models/customers/email_list_params.rb +39 -0
  14. data/lib/dodopayments/models/customers/email_log_item.rb +121 -0
  15. data/lib/dodopayments/models/customers/email_log_status.rb +24 -0
  16. data/lib/dodopayments/models/customers/email_policies.rb +45 -0
  17. data/lib/dodopayments/models/customers/email_retrieve_body_params.rb +28 -0
  18. data/lib/dodopayments/models/price.rb +95 -27
  19. data/lib/dodopayments/models/subscription.rb +10 -1
  20. data/lib/dodopayments/models/subscription_create_response.rb +10 -1
  21. data/lib/dodopayments/models/subscription_list_response.rb +10 -1
  22. data/lib/dodopayments/resources/credit_entitlements/balances.rb +1 -0
  23. data/lib/dodopayments/resources/customers/emails.rb +76 -0
  24. data/lib/dodopayments/resources/customers.rb +4 -0
  25. data/lib/dodopayments/version.rb +1 -1
  26. data/lib/dodopayments.rb +8 -0
  27. data/rbi/dodopayments/models/balance_ledger_entry.rbi +10 -0
  28. data/rbi/dodopayments/models/balance_retrieve_ledger_params.rbi +10 -0
  29. data/rbi/dodopayments/models/checkout_session_preview_response.rbi +10 -0
  30. data/rbi/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rbi +2 -2
  31. data/rbi/dodopayments/models/credit_entitlements/balance_create_ledger_entry_response.rbi +8 -0
  32. data/rbi/dodopayments/models/credit_entitlements/credit_ledger_entry.rbi +2 -6
  33. data/rbi/dodopayments/models/customers/email_body.rbi +88 -0
  34. data/rbi/dodopayments/models/customers/email_failure_code.rbi +70 -0
  35. data/rbi/dodopayments/models/customers/email_list_params.rbi +68 -0
  36. data/rbi/dodopayments/models/customers/email_log_item.rbi +157 -0
  37. data/rbi/dodopayments/models/customers/email_log_status.rbi +46 -0
  38. data/rbi/dodopayments/models/customers/email_policies.rbi +68 -0
  39. data/rbi/dodopayments/models/customers/email_retrieve_body_params.rbi +48 -0
  40. data/rbi/dodopayments/models/price.rbi +124 -25
  41. data/rbi/dodopayments/models/subscription.rbi +10 -0
  42. data/rbi/dodopayments/models/subscription_create_response.rbi +10 -0
  43. data/rbi/dodopayments/models/subscription_list_response.rbi +10 -0
  44. data/rbi/dodopayments/resources/credit_entitlements/balances.rbi +2 -1
  45. data/rbi/dodopayments/resources/customers/emails.rbi +60 -0
  46. data/rbi/dodopayments/resources/customers.rbi +3 -0
  47. data/sig/dodopayments/models/balance_ledger_entry.rbs +4 -0
  48. data/sig/dodopayments/models/balance_retrieve_ledger_params.rbs +4 -0
  49. data/sig/dodopayments/models/checkout_session_preview_response.rbs +5 -0
  50. data/sig/dodopayments/models/credit_entitlements/balance_create_ledger_entry_response.rbs +5 -0
  51. data/sig/dodopayments/models/customers/email_body.rbs +42 -0
  52. data/sig/dodopayments/models/customers/email_failure_code.rbs +30 -0
  53. data/sig/dodopayments/models/customers/email_list_params.rbs +38 -0
  54. data/sig/dodopayments/models/customers/email_log_item.rbs +82 -0
  55. data/sig/dodopayments/models/customers/email_log_status.rbs +20 -0
  56. data/sig/dodopayments/models/customers/email_policies.rbs +37 -0
  57. data/sig/dodopayments/models/customers/email_retrieve_body_params.rbs +30 -0
  58. data/sig/dodopayments/models/price.rbs +52 -17
  59. data/sig/dodopayments/models/subscription.rbs +5 -0
  60. data/sig/dodopayments/models/subscription_create_response.rbs +5 -0
  61. data/sig/dodopayments/models/subscription_list_response.rbs +5 -0
  62. data/sig/dodopayments/resources/customers/emails.rbs +22 -0
  63. data/sig/dodopayments/resources/customers.rbs +2 -0
  64. metadata +26 -2
@@ -0,0 +1,30 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Customers
4
+ type email_failure_code =
5
+ :mailbox_not_found
6
+ | :address_rejected
7
+ | :address_suppressed
8
+ | :mailbox_full
9
+ | :temporary_failure
10
+ | :message_too_large
11
+ | :marked_as_spam
12
+ | :send_failed
13
+
14
+ module EmailFailureCode
15
+ extend Dodopayments::Internal::Type::Enum
16
+
17
+ MAILBOX_NOT_FOUND: :mailbox_not_found
18
+ ADDRESS_REJECTED: :address_rejected
19
+ ADDRESS_SUPPRESSED: :address_suppressed
20
+ MAILBOX_FULL: :mailbox_full
21
+ TEMPORARY_FAILURE: :temporary_failure
22
+ MESSAGE_TOO_LARGE: :message_too_large
23
+ MARKED_AS_SPAM: :marked_as_spam
24
+ SEND_FAILED: :send_failed
25
+
26
+ def self?.values: -> ::Array[Dodopayments::Models::Customers::email_failure_code]
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,38 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Customers
4
+ type email_list_params =
5
+ { customer_id: String, page_number: Integer, page_size: Integer }
6
+ & Dodopayments::Internal::Type::request_parameters
7
+
8
+ class EmailListParams < Dodopayments::Internal::Type::BaseModel
9
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
10
+ include Dodopayments::Internal::Type::RequestParameters
11
+
12
+ attr_accessor customer_id: String
13
+
14
+ attr_reader page_number: Integer?
15
+
16
+ def page_number=: (Integer) -> Integer
17
+
18
+ attr_reader page_size: Integer?
19
+
20
+ def page_size=: (Integer) -> Integer
21
+
22
+ def initialize: (
23
+ customer_id: String,
24
+ ?page_number: Integer,
25
+ ?page_size: Integer,
26
+ ?request_options: Dodopayments::request_opts
27
+ ) -> void
28
+
29
+ def to_hash: -> {
30
+ customer_id: String,
31
+ page_number: Integer,
32
+ page_size: Integer,
33
+ request_options: Dodopayments::RequestOptions
34
+ }
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,82 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Customers
4
+ type email_log_item =
5
+ {
6
+ category: String,
7
+ created_at: Time,
8
+ email_log_id: String,
9
+ email_type: String,
10
+ has_preview: bool,
11
+ policies: Dodopayments::Customers::EmailPolicies,
12
+ status: Dodopayments::Models::Customers::email_log_status,
13
+ failure_code: Dodopayments::Models::Customers::email_failure_code?,
14
+ failure_reason: String?,
15
+ from: String?,
16
+ intended_recipient: String?,
17
+ recipient: String?,
18
+ subject: String?
19
+ }
20
+
21
+ class EmailLogItem < Dodopayments::Internal::Type::BaseModel
22
+ attr_accessor category: String
23
+
24
+ attr_accessor created_at: Time
25
+
26
+ attr_accessor email_log_id: String
27
+
28
+ attr_accessor email_type: String
29
+
30
+ attr_accessor has_preview: bool
31
+
32
+ attr_accessor policies: Dodopayments::Customers::EmailPolicies
33
+
34
+ attr_accessor status: Dodopayments::Models::Customers::email_log_status
35
+
36
+ attr_accessor failure_code: Dodopayments::Models::Customers::email_failure_code?
37
+
38
+ attr_accessor failure_reason: String?
39
+
40
+ attr_accessor from: String?
41
+
42
+ attr_accessor intended_recipient: String?
43
+
44
+ attr_accessor recipient: String?
45
+
46
+ attr_accessor subject: String?
47
+
48
+ def initialize: (
49
+ category: String,
50
+ created_at: Time,
51
+ email_log_id: String,
52
+ email_type: String,
53
+ has_preview: bool,
54
+ policies: Dodopayments::Customers::EmailPolicies,
55
+ status: Dodopayments::Models::Customers::email_log_status,
56
+ ?failure_code: Dodopayments::Models::Customers::email_failure_code?,
57
+ ?failure_reason: String?,
58
+ ?from: String?,
59
+ ?intended_recipient: String?,
60
+ ?recipient: String?,
61
+ ?subject: String?
62
+ ) -> void
63
+
64
+ def to_hash: -> {
65
+ category: String,
66
+ created_at: Time,
67
+ email_log_id: String,
68
+ email_type: String,
69
+ has_preview: bool,
70
+ policies: Dodopayments::Customers::EmailPolicies,
71
+ status: Dodopayments::Models::Customers::email_log_status,
72
+ failure_code: Dodopayments::Models::Customers::email_failure_code?,
73
+ failure_reason: String?,
74
+ from: String?,
75
+ intended_recipient: String?,
76
+ recipient: String?,
77
+ subject: String?
78
+ }
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,20 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Customers
4
+ type email_log_status =
5
+ :sent | :delivered | :failed | :complained | :blocked
6
+
7
+ module EmailLogStatus
8
+ extend Dodopayments::Internal::Type::Enum
9
+
10
+ SENT: :sent
11
+ DELIVERED: :delivered
12
+ FAILED: :failed
13
+ COMPLAINED: :complained
14
+ BLOCKED: :blocked
15
+
16
+ def self?.values: -> ::Array[Dodopayments::Models::Customers::email_log_status]
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,37 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Customers
4
+ type email_policies =
5
+ {
6
+ requires_different_address: bool,
7
+ resend_allowed: bool,
8
+ resends_remaining: Integer,
9
+ retry_allowed: bool
10
+ }
11
+
12
+ class EmailPolicies < Dodopayments::Internal::Type::BaseModel
13
+ attr_accessor requires_different_address: bool
14
+
15
+ attr_accessor resend_allowed: bool
16
+
17
+ attr_accessor resends_remaining: Integer
18
+
19
+ attr_accessor retry_allowed: bool
20
+
21
+ def initialize: (
22
+ requires_different_address: bool,
23
+ resend_allowed: bool,
24
+ resends_remaining: Integer,
25
+ retry_allowed: bool
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ requires_different_address: bool,
30
+ resend_allowed: bool,
31
+ resends_remaining: Integer,
32
+ retry_allowed: bool
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,30 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Customers
4
+ type email_retrieve_body_params =
5
+ { customer_id: String, email_log_id: String }
6
+ & Dodopayments::Internal::Type::request_parameters
7
+
8
+ class EmailRetrieveBodyParams < Dodopayments::Internal::Type::BaseModel
9
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
10
+ include Dodopayments::Internal::Type::RequestParameters
11
+
12
+ attr_accessor customer_id: String
13
+
14
+ attr_accessor email_log_id: String
15
+
16
+ def initialize: (
17
+ customer_id: String,
18
+ email_log_id: String,
19
+ ?request_options: Dodopayments::request_opts
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ customer_id: String,
24
+ email_log_id: String,
25
+ request_options: Dodopayments::RequestOptions
26
+ }
27
+ end
28
+ end
29
+ end
30
+ end
@@ -11,9 +11,10 @@ module Dodopayments
11
11
  type one_time_price =
12
12
  {
13
13
  currency: Dodopayments::Models::currency,
14
- discount: Integer,
15
14
  price: Integer,
16
15
  type: :one_time_price,
16
+ discount: Integer,
17
+ discount_bps: Integer?,
17
18
  pay_what_you_want: bool,
18
19
  purchasing_power_parity: bool,
19
20
  suggested_price: Integer?,
@@ -23,12 +24,16 @@ module Dodopayments
23
24
  class OneTimePrice < Dodopayments::Internal::Type::BaseModel
24
25
  attr_accessor currency: Dodopayments::Models::currency
25
26
 
26
- attr_accessor discount: Integer
27
-
28
27
  attr_accessor price: Integer
29
28
 
30
29
  attr_accessor type: :one_time_price
31
30
 
31
+ attr_reader discount: Integer?
32
+
33
+ def discount=: (Integer) -> Integer
34
+
35
+ attr_accessor discount_bps: Integer?
36
+
32
37
  attr_reader pay_what_you_want: bool?
33
38
 
34
39
  def pay_what_you_want=: (bool) -> bool
@@ -43,8 +48,9 @@ module Dodopayments
43
48
 
44
49
  def initialize: (
45
50
  currency: Dodopayments::Models::currency,
46
- discount: Integer,
47
51
  price: Integer,
52
+ ?discount: Integer,
53
+ ?discount_bps: Integer?,
48
54
  ?pay_what_you_want: bool,
49
55
  ?purchasing_power_parity: bool,
50
56
  ?suggested_price: Integer?,
@@ -54,9 +60,10 @@ module Dodopayments
54
60
 
55
61
  def to_hash: -> {
56
62
  currency: Dodopayments::Models::currency,
57
- discount: Integer,
58
63
  price: Integer,
59
64
  type: :one_time_price,
65
+ discount: Integer,
66
+ discount_bps: Integer?,
60
67
  pay_what_you_want: bool,
61
68
  purchasing_power_parity: bool,
62
69
  suggested_price: Integer?,
@@ -67,25 +74,26 @@ module Dodopayments
67
74
  type recurring_price =
68
75
  {
69
76
  currency: Dodopayments::Models::currency,
70
- discount: Integer,
71
77
  payment_frequency_count: Integer,
72
78
  payment_frequency_interval: Dodopayments::Models::time_interval,
73
79
  price: Integer,
74
80
  subscription_period_count: Integer,
75
81
  subscription_period_interval: Dodopayments::Models::time_interval,
76
82
  type: :recurring_price,
83
+ discount: Integer,
84
+ discount_bps: Integer?,
77
85
  purchasing_power_parity: bool,
78
86
  tax_inclusive: bool?,
79
87
  trial_amount: Integer?,
80
88
  trial_apply_discounts: bool?,
81
- trial_period_days: Integer
89
+ trial_payment_method_optional: bool,
90
+ trial_period_days: Integer,
91
+ zero_amount_payment_method_optional: bool
82
92
  }
83
93
 
84
94
  class RecurringPrice < Dodopayments::Internal::Type::BaseModel
85
95
  attr_accessor currency: Dodopayments::Models::currency
86
96
 
87
- attr_accessor discount: Integer
88
-
89
97
  attr_accessor payment_frequency_count: Integer
90
98
 
91
99
  attr_accessor payment_frequency_interval: Dodopayments::Models::time_interval
@@ -98,6 +106,12 @@ module Dodopayments
98
106
 
99
107
  attr_accessor type: :recurring_price
100
108
 
109
+ attr_reader discount: Integer?
110
+
111
+ def discount=: (Integer) -> Integer
112
+
113
+ attr_accessor discount_bps: Integer?
114
+
101
115
  attr_reader purchasing_power_parity: bool?
102
116
 
103
117
  def purchasing_power_parity=: (bool) -> bool
@@ -108,53 +122,68 @@ module Dodopayments
108
122
 
109
123
  attr_accessor trial_apply_discounts: bool?
110
124
 
125
+ attr_reader trial_payment_method_optional: bool?
126
+
127
+ def trial_payment_method_optional=: (bool) -> bool
128
+
111
129
  attr_reader trial_period_days: Integer?
112
130
 
113
131
  def trial_period_days=: (Integer) -> Integer
114
132
 
133
+ attr_reader zero_amount_payment_method_optional: bool?
134
+
135
+ def zero_amount_payment_method_optional=: (bool) -> bool
136
+
115
137
  def initialize: (
116
138
  currency: Dodopayments::Models::currency,
117
- discount: Integer,
118
139
  payment_frequency_count: Integer,
119
140
  payment_frequency_interval: Dodopayments::Models::time_interval,
120
141
  price: Integer,
121
142
  subscription_period_count: Integer,
122
143
  subscription_period_interval: Dodopayments::Models::time_interval,
144
+ ?discount: Integer,
145
+ ?discount_bps: Integer?,
123
146
  ?purchasing_power_parity: bool,
124
147
  ?tax_inclusive: bool?,
125
148
  ?trial_amount: Integer?,
126
149
  ?trial_apply_discounts: bool?,
150
+ ?trial_payment_method_optional: bool,
127
151
  ?trial_period_days: Integer,
152
+ ?zero_amount_payment_method_optional: bool,
128
153
  ?type: :recurring_price
129
154
  ) -> void
130
155
 
131
156
  def to_hash: -> {
132
157
  currency: Dodopayments::Models::currency,
133
- discount: Integer,
134
158
  payment_frequency_count: Integer,
135
159
  payment_frequency_interval: Dodopayments::Models::time_interval,
136
160
  price: Integer,
137
161
  subscription_period_count: Integer,
138
162
  subscription_period_interval: Dodopayments::Models::time_interval,
139
163
  type: :recurring_price,
164
+ discount: Integer,
165
+ discount_bps: Integer?,
140
166
  purchasing_power_parity: bool,
141
167
  tax_inclusive: bool?,
142
168
  trial_amount: Integer?,
143
169
  trial_apply_discounts: bool?,
144
- trial_period_days: Integer
170
+ trial_payment_method_optional: bool,
171
+ trial_period_days: Integer,
172
+ zero_amount_payment_method_optional: bool
145
173
  }
146
174
  end
147
175
 
148
176
  type usage_based_price =
149
177
  {
150
178
  currency: Dodopayments::Models::currency,
151
- discount: Integer,
152
179
  fixed_price: Integer,
153
180
  payment_frequency_count: Integer,
154
181
  payment_frequency_interval: Dodopayments::Models::time_interval,
155
182
  subscription_period_count: Integer,
156
183
  subscription_period_interval: Dodopayments::Models::time_interval,
157
184
  type: :usage_based_price,
185
+ discount: Integer,
186
+ discount_bps: Integer?,
158
187
  meters: ::Array[Dodopayments::AddMeterToPrice]?,
159
188
  purchasing_power_parity: bool,
160
189
  tax_inclusive: bool?
@@ -163,8 +192,6 @@ module Dodopayments
163
192
  class UsageBasedPrice < Dodopayments::Internal::Type::BaseModel
164
193
  attr_accessor currency: Dodopayments::Models::currency
165
194
 
166
- attr_accessor discount: Integer
167
-
168
195
  attr_accessor fixed_price: Integer
169
196
 
170
197
  attr_accessor payment_frequency_count: Integer
@@ -177,6 +204,12 @@ module Dodopayments
177
204
 
178
205
  attr_accessor type: :usage_based_price
179
206
 
207
+ attr_reader discount: Integer?
208
+
209
+ def discount=: (Integer) -> Integer
210
+
211
+ attr_accessor discount_bps: Integer?
212
+
180
213
  attr_accessor meters: ::Array[Dodopayments::AddMeterToPrice]?
181
214
 
182
215
  attr_reader purchasing_power_parity: bool?
@@ -187,12 +220,13 @@ module Dodopayments
187
220
 
188
221
  def initialize: (
189
222
  currency: Dodopayments::Models::currency,
190
- discount: Integer,
191
223
  fixed_price: Integer,
192
224
  payment_frequency_count: Integer,
193
225
  payment_frequency_interval: Dodopayments::Models::time_interval,
194
226
  subscription_period_count: Integer,
195
227
  subscription_period_interval: Dodopayments::Models::time_interval,
228
+ ?discount: Integer,
229
+ ?discount_bps: Integer?,
196
230
  ?meters: ::Array[Dodopayments::AddMeterToPrice]?,
197
231
  ?purchasing_power_parity: bool,
198
232
  ?tax_inclusive: bool?,
@@ -201,13 +235,14 @@ module Dodopayments
201
235
 
202
236
  def to_hash: -> {
203
237
  currency: Dodopayments::Models::currency,
204
- discount: Integer,
205
238
  fixed_price: Integer,
206
239
  payment_frequency_count: Integer,
207
240
  payment_frequency_interval: Dodopayments::Models::time_interval,
208
241
  subscription_period_count: Integer,
209
242
  subscription_period_interval: Dodopayments::Models::time_interval,
210
243
  type: :usage_based_price,
244
+ discount: Integer,
245
+ discount_bps: Integer?,
211
246
  meters: ::Array[Dodopayments::AddMeterToPrice]?,
212
247
  purchasing_power_parity: bool,
213
248
  tax_inclusive: bool?
@@ -10,6 +10,7 @@ module Dodopayments
10
10
  credit_entitlement_cart: ::Array[Dodopayments::CreditEntitlementCartResponse],
11
11
  currency: Dodopayments::Models::currency,
12
12
  customer: Dodopayments::CustomerLimitedDetails,
13
+ has_payment_method: bool,
13
14
  metadata: Dodopayments::Models::metadata,
14
15
  meter_credit_entitlement_cart: ::Array[Dodopayments::MeterCreditEntitlementCartResponse],
15
16
  meters: ::Array[Dodopayments::MeterCartResponseItem],
@@ -60,6 +61,8 @@ module Dodopayments
60
61
 
61
62
  attr_accessor customer: Dodopayments::CustomerLimitedDetails
62
63
 
64
+ attr_accessor has_payment_method: bool
65
+
63
66
  attr_accessor metadata: Dodopayments::Models::metadata
64
67
 
65
68
  attr_accessor meter_credit_entitlement_cart: ::Array[Dodopayments::MeterCreditEntitlementCartResponse]
@@ -131,6 +134,7 @@ module Dodopayments
131
134
  credit_entitlement_cart: ::Array[Dodopayments::CreditEntitlementCartResponse],
132
135
  currency: Dodopayments::Models::currency,
133
136
  customer: Dodopayments::CustomerLimitedDetails,
137
+ has_payment_method: bool,
134
138
  metadata: Dodopayments::Models::metadata,
135
139
  meter_credit_entitlement_cart: ::Array[Dodopayments::MeterCreditEntitlementCartResponse],
136
140
  meters: ::Array[Dodopayments::MeterCartResponseItem],
@@ -173,6 +177,7 @@ module Dodopayments
173
177
  credit_entitlement_cart: ::Array[Dodopayments::CreditEntitlementCartResponse],
174
178
  currency: Dodopayments::Models::currency,
175
179
  customer: Dodopayments::CustomerLimitedDetails,
180
+ has_payment_method: bool,
176
181
  metadata: Dodopayments::Models::metadata,
177
182
  meter_credit_entitlement_cart: ::Array[Dodopayments::MeterCreditEntitlementCartResponse],
178
183
  meters: ::Array[Dodopayments::MeterCartResponseItem],
@@ -6,6 +6,7 @@ module Dodopayments
6
6
  customer: Dodopayments::CustomerLimitedDetails,
7
7
  metadata: Dodopayments::Models::metadata,
8
8
  payment_id: String,
9
+ payment_method_required: bool,
9
10
  recurring_pre_tax_amount: Integer,
10
11
  subscription_id: String,
11
12
  client_secret: String?,
@@ -26,6 +27,8 @@ module Dodopayments
26
27
 
27
28
  attr_accessor payment_id: String
28
29
 
30
+ attr_accessor payment_method_required: bool
31
+
29
32
  attr_accessor recurring_pre_tax_amount: Integer
30
33
 
31
34
  attr_accessor subscription_id: String
@@ -49,6 +52,7 @@ module Dodopayments
49
52
  customer: Dodopayments::CustomerLimitedDetails,
50
53
  metadata: Dodopayments::Models::metadata,
51
54
  payment_id: String,
55
+ payment_method_required: bool,
52
56
  recurring_pre_tax_amount: Integer,
53
57
  subscription_id: String,
54
58
  ?client_secret: String?,
@@ -65,6 +69,7 @@ module Dodopayments
65
69
  customer: Dodopayments::CustomerLimitedDetails,
66
70
  metadata: Dodopayments::Models::metadata,
67
71
  payment_id: String,
72
+ payment_method_required: bool,
68
73
  recurring_pre_tax_amount: Integer,
69
74
  subscription_id: String,
70
75
  client_secret: String?,
@@ -8,6 +8,7 @@ module Dodopayments
8
8
  currency: Dodopayments::Models::currency,
9
9
  customer: Dodopayments::CustomerLimitedDetails,
10
10
  discounts: ::Array[Dodopayments::Models::SubscriptionListResponse::Discount],
11
+ has_payment_method: bool,
11
12
  metadata: Dodopayments::Models::metadata,
12
13
  next_billing_date: Time,
13
14
  on_demand: bool,
@@ -48,6 +49,8 @@ module Dodopayments
48
49
 
49
50
  attr_accessor discounts: ::Array[Dodopayments::Models::SubscriptionListResponse::Discount]
50
51
 
52
+ attr_accessor has_payment_method: bool
53
+
51
54
  attr_accessor metadata: Dodopayments::Models::metadata
52
55
 
53
56
  attr_accessor next_billing_date: Time
@@ -105,6 +108,7 @@ module Dodopayments
105
108
  currency: Dodopayments::Models::currency,
106
109
  customer: Dodopayments::CustomerLimitedDetails,
107
110
  discounts: ::Array[Dodopayments::Models::SubscriptionListResponse::Discount],
111
+ has_payment_method: bool,
108
112
  metadata: Dodopayments::Models::metadata,
109
113
  next_billing_date: Time,
110
114
  on_demand: bool,
@@ -139,6 +143,7 @@ module Dodopayments
139
143
  currency: Dodopayments::Models::currency,
140
144
  customer: Dodopayments::CustomerLimitedDetails,
141
145
  discounts: ::Array[Dodopayments::Models::SubscriptionListResponse::Discount],
146
+ has_payment_method: bool,
142
147
  metadata: Dodopayments::Models::metadata,
143
148
  next_billing_date: Time,
144
149
  on_demand: bool,
@@ -0,0 +1,22 @@
1
+ module Dodopayments
2
+ module Resources
3
+ class Customers
4
+ class Emails
5
+ def list: (
6
+ String customer_id,
7
+ ?page_number: Integer,
8
+ ?page_size: Integer,
9
+ ?request_options: Dodopayments::request_opts
10
+ ) -> Dodopayments::Internal::DefaultPageNumberPagination[Dodopayments::Customers::EmailLogItem]
11
+
12
+ def retrieve_body: (
13
+ String email_log_id,
14
+ customer_id: String,
15
+ ?request_options: Dodopayments::request_opts
16
+ ) -> Dodopayments::Customers::EmailBody
17
+
18
+ def initialize: (client: Dodopayments::Client) -> void
19
+ end
20
+ end
21
+ end
22
+ end
@@ -5,6 +5,8 @@ module Dodopayments
5
5
 
6
6
  attr_reader wallets: Dodopayments::Resources::Customers::Wallets
7
7
 
8
+ attr_reader emails: Dodopayments::Resources::Customers::Emails
9
+
8
10
  def create: (
9
11
  email: String,
10
12
  name: String,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dodopayments
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.27.0
4
+ version: 2.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dodo Payments
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-01 00:00:00.000000000 Z
11
+ date: 2026-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -192,6 +192,13 @@ files:
192
192
  - lib/dodopayments/models/customer_update_params.rb
193
193
  - lib/dodopayments/models/customers/customer_portal_create_params.rb
194
194
  - lib/dodopayments/models/customers/customer_wallet.rb
195
+ - lib/dodopayments/models/customers/email_body.rb
196
+ - lib/dodopayments/models/customers/email_failure_code.rb
197
+ - lib/dodopayments/models/customers/email_list_params.rb
198
+ - lib/dodopayments/models/customers/email_log_item.rb
199
+ - lib/dodopayments/models/customers/email_log_status.rb
200
+ - lib/dodopayments/models/customers/email_policies.rb
201
+ - lib/dodopayments/models/customers/email_retrieve_body_params.rb
195
202
  - lib/dodopayments/models/customers/wallet_list_params.rb
196
203
  - lib/dodopayments/models/customers/wallet_list_response.rb
197
204
  - lib/dodopayments/models/customers/wallets/customer_wallet_transaction.rb
@@ -449,6 +456,7 @@ files:
449
456
  - lib/dodopayments/resources/credit_entitlements/balances.rb
450
457
  - lib/dodopayments/resources/customers.rb
451
458
  - lib/dodopayments/resources/customers/customer_portal.rb
459
+ - lib/dodopayments/resources/customers/emails.rb
452
460
  - lib/dodopayments/resources/customers/wallets.rb
453
461
  - lib/dodopayments/resources/customers/wallets/ledger_entries.rb
454
462
  - lib/dodopayments/resources/discounts.rb
@@ -610,6 +618,13 @@ files:
610
618
  - rbi/dodopayments/models/customer_update_params.rbi
611
619
  - rbi/dodopayments/models/customers/customer_portal_create_params.rbi
612
620
  - rbi/dodopayments/models/customers/customer_wallet.rbi
621
+ - rbi/dodopayments/models/customers/email_body.rbi
622
+ - rbi/dodopayments/models/customers/email_failure_code.rbi
623
+ - rbi/dodopayments/models/customers/email_list_params.rbi
624
+ - rbi/dodopayments/models/customers/email_log_item.rbi
625
+ - rbi/dodopayments/models/customers/email_log_status.rbi
626
+ - rbi/dodopayments/models/customers/email_policies.rbi
627
+ - rbi/dodopayments/models/customers/email_retrieve_body_params.rbi
613
628
  - rbi/dodopayments/models/customers/wallet_list_params.rbi
614
629
  - rbi/dodopayments/models/customers/wallet_list_response.rbi
615
630
  - rbi/dodopayments/models/customers/wallets/customer_wallet_transaction.rbi
@@ -867,6 +882,7 @@ files:
867
882
  - rbi/dodopayments/resources/credit_entitlements/balances.rbi
868
883
  - rbi/dodopayments/resources/customers.rbi
869
884
  - rbi/dodopayments/resources/customers/customer_portal.rbi
885
+ - rbi/dodopayments/resources/customers/emails.rbi
870
886
  - rbi/dodopayments/resources/customers/wallets.rbi
871
887
  - rbi/dodopayments/resources/customers/wallets/ledger_entries.rbi
872
888
  - rbi/dodopayments/resources/discounts.rbi
@@ -1027,6 +1043,13 @@ files:
1027
1043
  - sig/dodopayments/models/customer_update_params.rbs
1028
1044
  - sig/dodopayments/models/customers/customer_portal_create_params.rbs
1029
1045
  - sig/dodopayments/models/customers/customer_wallet.rbs
1046
+ - sig/dodopayments/models/customers/email_body.rbs
1047
+ - sig/dodopayments/models/customers/email_failure_code.rbs
1048
+ - sig/dodopayments/models/customers/email_list_params.rbs
1049
+ - sig/dodopayments/models/customers/email_log_item.rbs
1050
+ - sig/dodopayments/models/customers/email_log_status.rbs
1051
+ - sig/dodopayments/models/customers/email_policies.rbs
1052
+ - sig/dodopayments/models/customers/email_retrieve_body_params.rbs
1030
1053
  - sig/dodopayments/models/customers/wallet_list_params.rbs
1031
1054
  - sig/dodopayments/models/customers/wallet_list_response.rbs
1032
1055
  - sig/dodopayments/models/customers/wallets/customer_wallet_transaction.rbs
@@ -1284,6 +1307,7 @@ files:
1284
1307
  - sig/dodopayments/resources/credit_entitlements/balances.rbs
1285
1308
  - sig/dodopayments/resources/customers.rbs
1286
1309
  - sig/dodopayments/resources/customers/customer_portal.rbs
1310
+ - sig/dodopayments/resources/customers/emails.rbs
1287
1311
  - sig/dodopayments/resources/customers/wallets.rbs
1288
1312
  - sig/dodopayments/resources/customers/wallets/ledger_entries.rbs
1289
1313
  - sig/dodopayments/resources/discounts.rbs