dodopayments 2.15.0 → 2.16.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a4ea7d48c452e8777b5f086f1698aec16d62a5604d517e6f4e2db6c43a3779f
4
- data.tar.gz: 1925401ebbb432689767cdf2289e4bb0421476d4162f33a4f1b1217bd42c4d14
3
+ metadata.gz: 859b4f352bb368d1c45bcf9c468fc849f3d213e659f93b123ba2fd975fb94e07
4
+ data.tar.gz: 3aa9a93177e74a14f36beb7759c753d2239d8297d5b35264f93555f7fceb891d
5
5
  SHA512:
6
- metadata.gz: '019eba2dfab72df94cd21cbd26ddbe173c393a0908ede430ff1b5bb2c46e0af6125f32c4891aea57baf9d1db90c0345cc584def4fc67dd10967a84e62860b8ee'
7
- data.tar.gz: 65edc24a2753b64e5892da8c6ad3c240062f69188f4acf848c03f3cacc07719f1ac60605744c15cc184354935d971e5a44ef294d15688a4ac67a85f6fbcb3f64
6
+ metadata.gz: a9c9220210e23c46484dc703c1422dd13f95d8f88b48dc2aee7d732f216d75217d118a17f9b2b068bcfe9134be1e3d183243437b20b6858398a29e1b52efb359
7
+ data.tar.gz: 3af74e8fbbb75d8d848a81ad44261b929fb783125626892a96a757da27e9ef7ce53df59375c98125245e025c25272a7834150355000b85b166d0dc971335bfd8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.16.0](https://github.com/dodopayments/dodopayments-ruby/compare/v2.15.0...v2.16.0) (2026-06-13)
4
+
5
+
6
+ ### Features
7
+
8
+ * **spec:** update OpenAPI to 1.105.0 — localized prices ([182e314](https://github.com/dodopayments/dodopayments-ruby/commit/182e31497aff19f43624a0daa471a19e4b560c24))
9
+ * **spec:** update OpenAPI to 1.105.0 — localized prices ([805944a](https://github.com/dodopayments/dodopayments-ruby/commit/805944a87ef7448264953dca7ec6be701c77cb5e))
10
+
3
11
  ## [2.15.0](https://github.com/dodopayments/dodopayments-ruby/compare/v2.14.0...v2.15.0) (2026-06-13)
4
12
 
5
13
 
data/README.md CHANGED
@@ -23,7 +23,7 @@ To use this gem, install via Bundler by adding the following to your application
23
23
  <!-- x-release-please-start-version -->
24
24
 
25
25
  ```ruby
26
- gem "dodopayments", "~> 2.15.0"
26
+ gem "dodopayments", "~> 2.16.0"
27
27
  ```
28
28
 
29
29
  <!-- x-release-please-end -->
@@ -38,7 +38,7 @@ module Dodopayments
38
38
  optional :last_used_at, Time, nil?: true
39
39
 
40
40
  # @!attribute payment_method_type
41
- # All supported payment method types (from Hyperswitch).
41
+ # All supported payment method types.
42
42
  #
43
43
  # Used for disabled-payment-methods filtering and validation.
44
44
  #
@@ -63,7 +63,7 @@ module Dodopayments
63
63
  #
64
64
  # @param last_used_at [Time, nil]
65
65
  #
66
- # @param payment_method_type [Symbol, Dodopayments::Models::PaymentMethodTypes, nil] All supported payment method types (from Hyperswitch).
66
+ # @param payment_method_type [Symbol, Dodopayments::Models::PaymentMethodTypes, nil] All supported payment method types.
67
67
  #
68
68
  # @param recurring_enabled [Boolean, nil]
69
69
 
@@ -55,7 +55,7 @@ module Dodopayments
55
55
 
56
56
  # @!attribute payment_provider
57
57
  # Which processor handled the underlying payment. `stripe` / `adyen` for BYOP
58
- # routes (the merchant's own Hyperswitch connector); `dodo` for everything Dodo
58
+ # routes (the merchant's own payment connector); `dodo` for everything Dodo
59
59
  # processed itself.
60
60
  #
61
61
  # @return [Symbol, Dodopayments::Models::DisputeListResponse::PaymentProvider]
@@ -92,7 +92,7 @@ module Dodopayments
92
92
  # @param is_resolved_by_rdr [Boolean, nil] Whether the dispute was resolved by Rapid Dispute Resolution
93
93
 
94
94
  # Which processor handled the underlying payment. `stripe` / `adyen` for BYOP
95
- # routes (the merchant's own Hyperswitch connector); `dodo` for everything Dodo
95
+ # routes (the merchant's own payment connector); `dodo` for everything Dodo
96
96
  # processed itself.
97
97
  #
98
98
  # @see Dodopayments::Models::DisputeListResponse#payment_provider
@@ -67,7 +67,7 @@ module Dodopayments
67
67
 
68
68
  # @!attribute payment_provider
69
69
  # Which processor handled the underlying payment. `stripe` / `adyen` for BYOP
70
- # routes (the merchant's own Hyperswitch connector); `dodo` for everything Dodo
70
+ # routes (the merchant's own payment connector); `dodo` for everything Dodo
71
71
  # processed itself.
72
72
  #
73
73
  # @return [Symbol, Dodopayments::Models::GetDispute::PaymentProvider]
@@ -124,7 +124,7 @@ module Dodopayments
124
124
  # @param remarks [String, nil] Remarks
125
125
 
126
126
  # Which processor handled the underlying payment. `stripe` / `adyen` for BYOP
127
- # routes (the merchant's own Hyperswitch connector); `dodo` for everything Dodo
127
+ # routes (the merchant's own payment connector); `dodo` for everything Dodo
128
128
  # processed itself.
129
129
  #
130
130
  # @see Dodopayments::Models::GetDispute#payment_provider
@@ -66,8 +66,7 @@ module Dodopayments
66
66
 
67
67
  # @!attribute payment_provider
68
68
  # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
69
- # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
70
- # itself.
69
+ # merchant's own payment connector); `dodo` for everything Dodo processed itself.
71
70
  #
72
71
  # @return [Symbol, Dodopayments::Models::Payment::PaymentProvider]
73
72
  required :payment_provider, enum: -> { Dodopayments::Payment::PaymentProvider }
@@ -344,8 +343,7 @@ module Dodopayments
344
343
  # @param updated_at [Time, nil] Timestamp when the payment was last updated
345
344
 
346
345
  # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
347
- # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
348
- # itself.
346
+ # merchant's own payment connector); `dodo` for everything Dodo processed itself.
349
347
  #
350
348
  # @see Dodopayments::Models::Payment#payment_provider
351
349
  module PaymentProvider
@@ -46,8 +46,7 @@ module Dodopayments
46
46
 
47
47
  # @!attribute payment_provider
48
48
  # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
49
- # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
50
- # itself.
49
+ # merchant's own payment connector); `dodo` for everything Dodo processed itself.
51
50
  #
52
51
  # @return [Symbol, Dodopayments::Models::PaymentListResponse::PaymentProvider]
53
52
  required :payment_provider, enum: -> { Dodopayments::Models::PaymentListResponse::PaymentProvider }
@@ -159,8 +158,7 @@ module Dodopayments
159
158
  # @param subscription_id [String, nil]
160
159
 
161
160
  # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
162
- # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
163
- # itself.
161
+ # merchant's own payment connector); `dodo` for everything Dodo processed itself.
164
162
  #
165
163
  # @see Dodopayments::Models::PaymentListResponse#payment_provider
166
164
  module PaymentProvider
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Dodopayments
4
4
  module Models
5
- # All supported payment method types (from Hyperswitch).
5
+ # All supported payment method types.
6
6
  #
7
7
  # Used for disabled-payment-methods filtering and validation.
8
8
  module PaymentMethodTypes
@@ -98,13 +98,20 @@ module Dodopayments
98
98
  # @return [Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice, Dodopayments::Models::Price::UsageBasedPrice, nil]
99
99
  optional :price_detail, union: -> { Dodopayments::Price }, nil?: true
100
100
 
101
+ # @!attribute pricing_mode
102
+ # Pricing mode for localized pricing. NULL means base-only (no localized rules
103
+ # apply).
104
+ #
105
+ # @return [Symbol, Dodopayments::Models::ProductListResponse::PricingMode, nil]
106
+ optional :pricing_mode, enum: -> { Dodopayments::Models::ProductListResponse::PricingMode }, nil?: true
107
+
101
108
  # @!attribute tax_inclusive
102
109
  # Indicates if the price is tax inclusive
103
110
  #
104
111
  # @return [Boolean, nil]
105
112
  optional :tax_inclusive, Dodopayments::Internal::Type::Boolean, nil?: true
106
113
 
107
- # @!method initialize(business_id:, created_at:, entitlements:, is_recurring:, metadata:, product_id:, tax_category:, updated_at:, currency: nil, description: nil, image: nil, name: nil, price: nil, price_detail: nil, tax_inclusive: nil)
114
+ # @!method initialize(business_id:, created_at:, entitlements:, is_recurring:, metadata:, product_id:, tax_category:, updated_at:, currency: nil, description: nil, image: nil, name: nil, price: nil, price_detail: nil, pricing_mode: nil, tax_inclusive: nil)
108
115
  # Some parameter documentations has been truncated, see
109
116
  # {Dodopayments::Models::ProductListResponse} for more details.
110
117
  #
@@ -136,7 +143,23 @@ module Dodopayments
136
143
  #
137
144
  # @param price_detail [Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice, Dodopayments::Models::Price::UsageBasedPrice, nil] Details of the price
138
145
  #
146
+ # @param pricing_mode [Symbol, Dodopayments::Models::ProductListResponse::PricingMode, nil] Pricing mode for localized pricing. NULL means base-only (no localized rules app
147
+ #
139
148
  # @param tax_inclusive [Boolean, nil] Indicates if the price is tax inclusive
149
+
150
+ # Pricing mode for localized pricing. NULL means base-only (no localized rules
151
+ # apply).
152
+ #
153
+ # @see Dodopayments::Models::ProductListResponse#pricing_mode
154
+ module PricingMode
155
+ extend Dodopayments::Internal::Type::Enum
156
+
157
+ BY_CURRENCY = :by_currency
158
+ BY_COUNTRY = :by_country
159
+
160
+ # @!method self.values
161
+ # @return [Array<Symbol>]
162
+ end
140
163
  end
141
164
  end
142
165
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dodopayments
4
- VERSION = "2.15.0"
4
+ VERSION = "2.16.0"
5
5
  end
@@ -85,7 +85,7 @@ module Dodopayments
85
85
  sig { returns(T.nilable(Time)) }
86
86
  attr_accessor :last_used_at
87
87
 
88
- # All supported payment method types (from Hyperswitch).
88
+ # All supported payment method types.
89
89
  #
90
90
  # Used for disabled-payment-methods filtering and validation.
91
91
  sig do
@@ -116,7 +116,7 @@ module Dodopayments
116
116
  payment_method_id:,
117
117
  card: nil,
118
118
  last_used_at: nil,
119
- # All supported payment method types (from Hyperswitch).
119
+ # All supported payment method types.
120
120
  #
121
121
  # Used for disabled-payment-methods filtering and validation.
122
122
  payment_method_type: nil,
@@ -45,7 +45,7 @@ module Dodopayments
45
45
  attr_accessor :payment_id
46
46
 
47
47
  # Which processor handled the underlying payment. `stripe` / `adyen` for BYOP
48
- # routes (the merchant's own Hyperswitch connector); `dodo` for everything Dodo
48
+ # routes (the merchant's own payment connector); `dodo` for everything Dodo
49
49
  # processed itself.
50
50
  sig do
51
51
  returns(
@@ -92,7 +92,7 @@ module Dodopayments
92
92
  # The unique identifier of the payment associated with the dispute.
93
93
  payment_id:,
94
94
  # Which processor handled the underlying payment. `stripe` / `adyen` for BYOP
95
- # routes (the merchant's own Hyperswitch connector); `dodo` for everything Dodo
95
+ # routes (the merchant's own payment connector); `dodo` for everything Dodo
96
96
  # processed itself.
97
97
  payment_provider:,
98
98
  # Whether the dispute was resolved by Rapid Dispute Resolution
@@ -121,7 +121,7 @@ module Dodopayments
121
121
  end
122
122
 
123
123
  # Which processor handled the underlying payment. `stripe` / `adyen` for BYOP
124
- # routes (the merchant's own Hyperswitch connector); `dodo` for everything Dodo
124
+ # routes (the merchant's own payment connector); `dodo` for everything Dodo
125
125
  # processed itself.
126
126
  module PaymentProvider
127
127
  extend Dodopayments::Internal::Type::Enum
@@ -55,7 +55,7 @@ module Dodopayments
55
55
  attr_accessor :payment_id
56
56
 
57
57
  # Which processor handled the underlying payment. `stripe` / `adyen` for BYOP
58
- # routes (the merchant's own Hyperswitch connector); `dodo` for everything Dodo
58
+ # routes (the merchant's own payment connector); `dodo` for everything Dodo
59
59
  # processed itself.
60
60
  sig { returns(Dodopayments::GetDispute::PaymentProvider::TaggedSymbol) }
61
61
  attr_accessor :payment_provider
@@ -113,7 +113,7 @@ module Dodopayments
113
113
  # The unique identifier of the payment associated with the dispute.
114
114
  payment_id:,
115
115
  # Which processor handled the underlying payment. `stripe` / `adyen` for BYOP
116
- # routes (the merchant's own Hyperswitch connector); `dodo` for everything Dodo
116
+ # routes (the merchant's own payment connector); `dodo` for everything Dodo
117
117
  # processed itself.
118
118
  payment_provider:,
119
119
  # Whether the dispute was resolved by Rapid Dispute Resolution
@@ -150,7 +150,7 @@ module Dodopayments
150
150
  end
151
151
 
152
152
  # Which processor handled the underlying payment. `stripe` / `adyen` for BYOP
153
- # routes (the merchant's own Hyperswitch connector); `dodo` for everything Dodo
153
+ # routes (the merchant's own payment connector); `dodo` for everything Dodo
154
154
  # processed itself.
155
155
  module PaymentProvider
156
156
  extend Dodopayments::Internal::Type::Enum
@@ -57,8 +57,7 @@ module Dodopayments
57
57
  attr_accessor :payment_id
58
58
 
59
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.
60
+ # merchant's own payment connector); `dodo` for everything Dodo processed itself.
62
61
  sig { returns(Dodopayments::Payment::PaymentProvider::TaggedSymbol) }
63
62
  attr_accessor :payment_provider
64
63
 
@@ -256,8 +255,7 @@ module Dodopayments
256
255
  # Unique identifier for the payment
257
256
  payment_id:,
258
257
  # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
259
- # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
260
- # itself.
258
+ # merchant's own payment connector); `dodo` for everything Dodo processed itself.
261
259
  payment_provider:,
262
260
  # List of refunds issued for this payment
263
261
  refunds:,
@@ -385,8 +383,7 @@ module Dodopayments
385
383
  end
386
384
 
387
385
  # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
388
- # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
389
- # itself.
386
+ # merchant's own payment connector); `dodo` for everything Dodo processed itself.
390
387
  module PaymentProvider
391
388
  extend Dodopayments::Internal::Type::Enum
392
389
 
@@ -41,8 +41,7 @@ module Dodopayments
41
41
  attr_accessor :payment_id
42
42
 
43
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.
44
+ # merchant's own payment connector); `dodo` for everything Dodo processed itself.
46
45
  sig do
47
46
  returns(
48
47
  Dodopayments::Models::PaymentListResponse::PaymentProvider::TaggedSymbol
@@ -127,8 +126,7 @@ module Dodopayments
127
126
  metadata:,
128
127
  payment_id:,
129
128
  # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
130
- # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
131
- # itself.
129
+ # merchant's own payment connector); `dodo` for everything Dodo processed itself.
132
130
  payment_provider:,
133
131
  total_amount:,
134
132
  # The last four digits of the card
@@ -184,8 +182,7 @@ module Dodopayments
184
182
  end
185
183
 
186
184
  # Which processor handled this payment. `stripe` / `adyen` for BYOP routes (the
187
- # merchant's own Hyperswitch connector); `dodo` for everything Dodo processed
188
- # itself.
185
+ # merchant's own payment connector); `dodo` for everything Dodo processed itself.
189
186
  module PaymentProvider
190
187
  extend Dodopayments::Internal::Type::Enum
191
188
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Dodopayments
4
4
  module Models
5
- # All supported payment method types (from Hyperswitch).
5
+ # All supported payment method types.
6
6
  #
7
7
  # Used for disabled-payment-methods filtering and validation.
8
8
  module PaymentMethodTypes
@@ -76,6 +76,17 @@ module Dodopayments
76
76
  sig { returns(T.nilable(Dodopayments::Price::Variants)) }
77
77
  attr_accessor :price_detail
78
78
 
79
+ # Pricing mode for localized pricing. NULL means base-only (no localized rules
80
+ # apply).
81
+ sig do
82
+ returns(
83
+ T.nilable(
84
+ Dodopayments::Models::ProductListResponse::PricingMode::TaggedSymbol
85
+ )
86
+ )
87
+ end
88
+ attr_accessor :pricing_mode
89
+
79
90
  # Indicates if the price is tax inclusive
80
91
  sig { returns(T.nilable(T::Boolean)) }
81
92
  attr_accessor :tax_inclusive
@@ -104,6 +115,10 @@ module Dodopayments
104
115
  Dodopayments::Price::UsageBasedPrice::OrHash
105
116
  )
106
117
  ),
118
+ pricing_mode:
119
+ T.nilable(
120
+ Dodopayments::Models::ProductListResponse::PricingMode::OrSymbol
121
+ ),
107
122
  tax_inclusive: T.nilable(T::Boolean)
108
123
  ).returns(T.attached_class)
109
124
  end
@@ -145,6 +160,9 @@ module Dodopayments
145
160
  price: nil,
146
161
  # Details of the price
147
162
  price_detail: nil,
163
+ # Pricing mode for localized pricing. NULL means base-only (no localized rules
164
+ # apply).
165
+ pricing_mode: nil,
148
166
  # Indicates if the price is tax inclusive
149
167
  tax_inclusive: nil
150
168
  )
@@ -167,12 +185,52 @@ module Dodopayments
167
185
  name: T.nilable(String),
168
186
  price: T.nilable(Integer),
169
187
  price_detail: T.nilable(Dodopayments::Price::Variants),
188
+ pricing_mode:
189
+ T.nilable(
190
+ Dodopayments::Models::ProductListResponse::PricingMode::TaggedSymbol
191
+ ),
170
192
  tax_inclusive: T.nilable(T::Boolean)
171
193
  }
172
194
  )
173
195
  end
174
196
  def to_hash
175
197
  end
198
+
199
+ # Pricing mode for localized pricing. NULL means base-only (no localized rules
200
+ # apply).
201
+ module PricingMode
202
+ extend Dodopayments::Internal::Type::Enum
203
+
204
+ TaggedSymbol =
205
+ T.type_alias do
206
+ T.all(
207
+ Symbol,
208
+ Dodopayments::Models::ProductListResponse::PricingMode
209
+ )
210
+ end
211
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
212
+
213
+ BY_CURRENCY =
214
+ T.let(
215
+ :by_currency,
216
+ Dodopayments::Models::ProductListResponse::PricingMode::TaggedSymbol
217
+ )
218
+ BY_COUNTRY =
219
+ T.let(
220
+ :by_country,
221
+ Dodopayments::Models::ProductListResponse::PricingMode::TaggedSymbol
222
+ )
223
+
224
+ sig do
225
+ override.returns(
226
+ T::Array[
227
+ Dodopayments::Models::ProductListResponse::PricingMode::TaggedSymbol
228
+ ]
229
+ )
230
+ end
231
+ def self.values
232
+ end
233
+ end
176
234
  end
177
235
  end
178
236
  end
@@ -16,6 +16,7 @@ module Dodopayments
16
16
  name: String?,
17
17
  price: Integer?,
18
18
  price_detail: Dodopayments::Models::price?,
19
+ pricing_mode: Dodopayments::Models::ProductListResponse::pricing_mode?,
19
20
  tax_inclusive: bool?
20
21
  }
21
22
 
@@ -48,6 +49,8 @@ module Dodopayments
48
49
 
49
50
  attr_accessor price_detail: Dodopayments::Models::price?
50
51
 
52
+ attr_accessor pricing_mode: Dodopayments::Models::ProductListResponse::pricing_mode?
53
+
51
54
  attr_accessor tax_inclusive: bool?
52
55
 
53
56
  def initialize: (
@@ -65,6 +68,7 @@ module Dodopayments
65
68
  ?name: String?,
66
69
  ?price: Integer?,
67
70
  ?price_detail: Dodopayments::Models::price?,
71
+ ?pricing_mode: Dodopayments::Models::ProductListResponse::pricing_mode?,
68
72
  ?tax_inclusive: bool?
69
73
  ) -> void
70
74
 
@@ -83,8 +87,20 @@ module Dodopayments
83
87
  name: String?,
84
88
  price: Integer?,
85
89
  price_detail: Dodopayments::Models::price?,
90
+ pricing_mode: Dodopayments::Models::ProductListResponse::pricing_mode?,
86
91
  tax_inclusive: bool?
87
92
  }
93
+
94
+ type pricing_mode = :by_currency | :by_country
95
+
96
+ module PricingMode
97
+ extend Dodopayments::Internal::Type::Enum
98
+
99
+ BY_CURRENCY: :by_currency
100
+ BY_COUNTRY: :by_country
101
+
102
+ def self?.values: -> ::Array[Dodopayments::Models::ProductListResponse::pricing_mode]
103
+ end
88
104
  end
89
105
  end
90
106
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dodopayments
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.15.0
4
+ version: 2.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dodo Payments