dodopayments 1.55.7 → 1.56.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 (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/client.rb +4 -4
  5. data/lib/dodopayments/internal/transport/pooled_net_requester.rb +30 -24
  6. data/lib/dodopayments/internal/type/union.rb +9 -7
  7. data/lib/dodopayments/models/dispute_accepted_webhook_event.rb +76 -0
  8. data/lib/dodopayments/models/dispute_cancelled_webhook_event.rb +76 -0
  9. data/lib/dodopayments/models/dispute_challenged_webhook_event.rb +76 -0
  10. data/lib/dodopayments/models/dispute_expired_webhook_event.rb +76 -0
  11. data/lib/dodopayments/models/dispute_lost_webhook_event.rb +76 -0
  12. data/lib/dodopayments/models/dispute_opened_webhook_event.rb +76 -0
  13. data/lib/dodopayments/models/dispute_won_webhook_event.rb +76 -0
  14. data/lib/dodopayments/models/license_key_created_webhook_event.rb +76 -0
  15. data/lib/dodopayments/models/payment_cancelled_webhook_event.rb +76 -0
  16. data/lib/dodopayments/models/payment_failed_webhook_event.rb +76 -0
  17. data/lib/dodopayments/models/payment_processing_webhook_event.rb +76 -0
  18. data/lib/dodopayments/models/payment_succeeded_webhook_event.rb +76 -0
  19. data/lib/dodopayments/models/refund_failed_webhook_event.rb +76 -0
  20. data/lib/dodopayments/models/refund_succeeded_webhook_event.rb +76 -0
  21. data/lib/dodopayments/models/subscription_active_webhook_event.rb +76 -0
  22. data/lib/dodopayments/models/subscription_cancelled_webhook_event.rb +76 -0
  23. data/lib/dodopayments/models/subscription_expired_webhook_event.rb +76 -0
  24. data/lib/dodopayments/models/subscription_failed_webhook_event.rb +76 -0
  25. data/lib/dodopayments/models/subscription_on_hold_webhook_event.rb +76 -0
  26. data/lib/dodopayments/models/subscription_plan_changed_webhook_event.rb +76 -0
  27. data/lib/dodopayments/models/subscription_renewed_webhook_event.rb +76 -0
  28. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +54 -0
  29. data/lib/dodopayments/models/unwrap_webhook_event.rb +54 -0
  30. data/lib/dodopayments/models/webhook_unsafe_unwrap_params.rb +14 -0
  31. data/lib/dodopayments/models/webhook_unwrap_params.rb +14 -0
  32. data/lib/dodopayments/models.rb +50 -0
  33. data/lib/dodopayments/resources/webhooks.rb +16 -0
  34. data/lib/dodopayments/version.rb +1 -1
  35. data/lib/dodopayments.rb +49 -3
  36. data/rbi/dodopayments/client.rbi +3 -3
  37. data/rbi/dodopayments/models/dispute_accepted_webhook_event.rbi +182 -0
  38. data/rbi/dodopayments/models/dispute_cancelled_webhook_event.rbi +182 -0
  39. data/rbi/dodopayments/models/dispute_challenged_webhook_event.rbi +183 -0
  40. data/rbi/dodopayments/models/dispute_expired_webhook_event.rbi +182 -0
  41. data/rbi/dodopayments/models/dispute_lost_webhook_event.rbi +176 -0
  42. data/rbi/dodopayments/models/dispute_opened_webhook_event.rbi +180 -0
  43. data/rbi/dodopayments/models/dispute_won_webhook_event.rbi +176 -0
  44. data/rbi/dodopayments/models/license_key_created_webhook_event.rbi +183 -0
  45. data/rbi/dodopayments/models/payment_cancelled_webhook_event.rbi +182 -0
  46. data/rbi/dodopayments/models/payment_failed_webhook_event.rbi +180 -0
  47. data/rbi/dodopayments/models/payment_processing_webhook_event.rbi +183 -0
  48. data/rbi/dodopayments/models/payment_succeeded_webhook_event.rbi +182 -0
  49. data/rbi/dodopayments/models/refund_failed_webhook_event.rbi +178 -0
  50. data/rbi/dodopayments/models/refund_succeeded_webhook_event.rbi +182 -0
  51. data/rbi/dodopayments/models/subscription_active_webhook_event.rbi +185 -0
  52. data/rbi/dodopayments/models/subscription_cancelled_webhook_event.rbi +185 -0
  53. data/rbi/dodopayments/models/subscription_expired_webhook_event.rbi +185 -0
  54. data/rbi/dodopayments/models/subscription_failed_webhook_event.rbi +185 -0
  55. data/rbi/dodopayments/models/subscription_on_hold_webhook_event.rbi +185 -0
  56. data/rbi/dodopayments/models/subscription_plan_changed_webhook_event.rbi +189 -0
  57. data/rbi/dodopayments/models/subscription_renewed_webhook_event.rbi +185 -0
  58. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +44 -0
  59. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +42 -0
  60. data/rbi/dodopayments/models/webhook_unsafe_unwrap_params.rbi +32 -0
  61. data/rbi/dodopayments/models/webhook_unwrap_params.rbi +32 -0
  62. data/rbi/dodopayments/models.rbi +65 -0
  63. data/rbi/dodopayments/resources/webhooks.rbi +66 -0
  64. data/sig/dodopayments/client.rbs +2 -2
  65. data/sig/dodopayments/models/dispute_accepted_webhook_event.rbs +76 -0
  66. data/sig/dodopayments/models/dispute_cancelled_webhook_event.rbs +76 -0
  67. data/sig/dodopayments/models/dispute_challenged_webhook_event.rbs +76 -0
  68. data/sig/dodopayments/models/dispute_expired_webhook_event.rbs +76 -0
  69. data/sig/dodopayments/models/dispute_lost_webhook_event.rbs +76 -0
  70. data/sig/dodopayments/models/dispute_opened_webhook_event.rbs +76 -0
  71. data/sig/dodopayments/models/dispute_won_webhook_event.rbs +76 -0
  72. data/sig/dodopayments/models/license_key_created_webhook_event.rbs +76 -0
  73. data/sig/dodopayments/models/payment_cancelled_webhook_event.rbs +76 -0
  74. data/sig/dodopayments/models/payment_failed_webhook_event.rbs +76 -0
  75. data/sig/dodopayments/models/payment_processing_webhook_event.rbs +76 -0
  76. data/sig/dodopayments/models/payment_succeeded_webhook_event.rbs +76 -0
  77. data/sig/dodopayments/models/refund_failed_webhook_event.rbs +76 -0
  78. data/sig/dodopayments/models/refund_succeeded_webhook_event.rbs +76 -0
  79. data/sig/dodopayments/models/subscription_active_webhook_event.rbs +76 -0
  80. data/sig/dodopayments/models/subscription_cancelled_webhook_event.rbs +76 -0
  81. data/sig/dodopayments/models/subscription_expired_webhook_event.rbs +76 -0
  82. data/sig/dodopayments/models/subscription_failed_webhook_event.rbs +76 -0
  83. data/sig/dodopayments/models/subscription_on_hold_webhook_event.rbs +76 -0
  84. data/sig/dodopayments/models/subscription_plan_changed_webhook_event.rbs +76 -0
  85. data/sig/dodopayments/models/subscription_renewed_webhook_event.rbs +76 -0
  86. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +32 -0
  87. data/sig/dodopayments/models/unwrap_webhook_event.rbs +32 -0
  88. data/sig/dodopayments/models/webhook_unsafe_unwrap_params.rbs +15 -0
  89. data/sig/dodopayments/models/webhook_unwrap_params.rbs +15 -0
  90. data/sig/dodopayments/models.rbs +50 -0
  91. data/sig/dodopayments/resources/webhooks.rbs +48 -0
  92. metadata +77 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 527ad5aeb2718d8afaa8ae3837961c0ed70bc42216cfaf907b9cf9991ab96173
4
- data.tar.gz: a38f8279d3110c349c5ca3ea8dd8250c85041d19ffbd0ac7d999a5c01eb32c11
3
+ metadata.gz: ce3e5943f7a051da09468b89769723b9a1ec3c8e985572676ac5ccbf1b9d6ad4
4
+ data.tar.gz: 244eb00a4c80ec77cf6aaffe5dea51207b4ebecf2afc310a26791f9471dcf997
5
5
  SHA512:
6
- metadata.gz: 3335d1888e20925cc00b3f18e8bfc95f6a981837429ef7189746bd95243410bf8ba05f125163ef7a5075c480fe1d33e9626a8db1e67e163531a7f3dfde9f46f0
7
- data.tar.gz: b79506359e274395e1b26ddf11185a829904526e92403aa4646654323ebf08c39740a0a6a70c11f20850e51cb912659011b3068a7b2e403357af4a2aeb105982
6
+ metadata.gz: a5ce6a84b5bf1224822d61c145e43ff3061bfbb5c8b7e8193e7ee929e94bf968e0129db2320c08862b49d21f2a2e53be13b0ace6f484d27b0b287d111a60f667
7
+ data.tar.gz: 78ff2e68c238a62dc345a945ac0f0c36123043cc36a83dccbc78143d6d5ac71667334b5af3d981203d8425e79162daede453b00f0d40c8e8ab58a830e8e99b3e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.56.0 (2025-10-25)
4
+
5
+ Full Changelog: [v1.55.8...v1.56.0](https://github.com/dodopayments/dodopayments-ruby/compare/v1.55.8...v1.56.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** added unwrap functions for webhooks ([3aab01b](https://github.com/dodopayments/dodopayments-ruby/commit/3aab01bd934c029ae0d533b2b28aec933f1c58bf))
10
+
11
+ ## 1.55.8 (2025-10-24)
12
+
13
+ Full Changelog: [v1.55.7...v1.55.8](https://github.com/dodopayments/dodopayments-ruby/compare/v1.55.7...v1.55.8)
14
+
15
+ ### Features
16
+
17
+ * handle thread interrupts in the core HTTP client ([704ad81](https://github.com/dodopayments/dodopayments-ruby/commit/704ad81101e265fcf099bc397643a650476672ce))
18
+
3
19
  ## 1.55.7 (2025-10-17)
4
20
 
5
21
  Full Changelog: [v1.54.0...v1.55.7](https://github.com/dodopayments/dodopayments-ruby/compare/v1.54.0...v1.55.7)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "dodopayments", "~> 1.55.7"
20
+ gem "dodopayments", "~> 1.56.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -57,9 +57,6 @@ module Dodopayments
57
57
  # @return [Dodopayments::Resources::Payouts]
58
58
  attr_reader :payouts
59
59
 
60
- # @return [Dodopayments::Resources::WebhookEvents]
61
- attr_reader :webhook_events
62
-
63
60
  # @return [Dodopayments::Resources::Products]
64
61
  attr_reader :products
65
62
 
@@ -78,6 +75,9 @@ module Dodopayments
78
75
  # @return [Dodopayments::Resources::Webhooks]
79
76
  attr_reader :webhooks
80
77
 
78
+ # @return [Dodopayments::Resources::WebhookEvents]
79
+ attr_reader :webhook_events
80
+
81
81
  # @return [Dodopayments::Resources::UsageEvents]
82
82
  attr_reader :usage_events
83
83
 
@@ -153,13 +153,13 @@ module Dodopayments
153
153
  @refunds = Dodopayments::Resources::Refunds.new(client: self)
154
154
  @disputes = Dodopayments::Resources::Disputes.new(client: self)
155
155
  @payouts = Dodopayments::Resources::Payouts.new(client: self)
156
- @webhook_events = Dodopayments::Resources::WebhookEvents.new(client: self)
157
156
  @products = Dodopayments::Resources::Products.new(client: self)
158
157
  @misc = Dodopayments::Resources::Misc.new(client: self)
159
158
  @discounts = Dodopayments::Resources::Discounts.new(client: self)
160
159
  @addons = Dodopayments::Resources::Addons.new(client: self)
161
160
  @brands = Dodopayments::Resources::Brands.new(client: self)
162
161
  @webhooks = Dodopayments::Resources::Webhooks.new(client: self)
162
+ @webhook_events = Dodopayments::Resources::WebhookEvents.new(client: self)
163
163
  @usage_events = Dodopayments::Resources::UsageEvents.new(client: self)
164
164
  @meters = Dodopayments::Resources::Meters.new(client: self)
165
165
  end
@@ -128,40 +128,48 @@ module Dodopayments
128
128
  url, deadline = request.fetch_values(:url, :deadline)
129
129
 
130
130
  req = nil
131
- eof = false
132
131
  finished = false
133
- closing = nil
134
132
 
135
133
  # rubocop:disable Metrics/BlockLength
136
134
  enum = Enumerator.new do |y|
137
135
  next if finished
138
136
 
139
137
  with_pool(url, deadline: deadline) do |conn|
140
- req, closing = self.class.build_request(request) do
141
- self.class.calibrate_socket_timeout(conn, deadline)
142
- end
143
-
144
- self.class.calibrate_socket_timeout(conn, deadline)
145
- unless conn.started?
146
- conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
147
- conn.start
148
- end
138
+ eof = false
139
+ closing = nil
140
+ ::Thread.handle_interrupt(Object => :never) do
141
+ ::Thread.handle_interrupt(Object => :immediate) do
142
+ req, closing = self.class.build_request(request) do
143
+ self.class.calibrate_socket_timeout(conn, deadline)
144
+ end
149
145
 
150
- self.class.calibrate_socket_timeout(conn, deadline)
151
- conn.request(req) do |rsp|
152
- y << [req, rsp]
153
- break if finished
154
-
155
- rsp.read_body do |bytes|
156
- y << bytes.force_encoding(Encoding::BINARY)
157
- break if finished
146
+ self.class.calibrate_socket_timeout(conn, deadline)
147
+ unless conn.started?
148
+ conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
149
+ conn.start
150
+ end
158
151
 
159
152
  self.class.calibrate_socket_timeout(conn, deadline)
153
+ conn.request(req) do |rsp|
154
+ y << [req, rsp]
155
+ break if finished
156
+
157
+ rsp.read_body do |bytes|
158
+ y << bytes.force_encoding(Encoding::BINARY)
159
+ break if finished
160
+
161
+ self.class.calibrate_socket_timeout(conn, deadline)
162
+ end
163
+ eof = true
164
+ end
165
+ end
166
+ ensure
167
+ begin
168
+ conn.finish if !eof && conn&.started?
169
+ ensure
170
+ closing&.call
160
171
  end
161
- eof = true
162
172
  end
163
- ensure
164
- conn.finish if !eof && conn&.started?
165
173
  end
166
174
  rescue Timeout::Error
167
175
  raise Dodopayments::Errors::APITimeoutError.new(url: url, request: req)
@@ -174,8 +182,6 @@ module Dodopayments
174
182
  body = Dodopayments::Internal::Util.fused_enum(enum, external: true) do
175
183
  finished = true
176
184
  loop { enum.next }
177
- ensure
178
- closing&.call
179
185
  end
180
186
  [Integer(response.code), response, body]
181
187
  end
@@ -6,14 +6,16 @@ module Dodopayments
6
6
  # @api private
7
7
  #
8
8
  # @example
9
- # # `customer_request` is a `Dodopayments::CustomerRequest`
10
- # case customer_request
11
- # when Dodopayments::AttachExistingCustomer
12
- # puts(customer_request.customer_id)
13
- # when Dodopayments::NewCustomer
14
- # puts(customer_request.email)
9
+ # # `unsafe_unwrap_webhook_event` is a `Dodopayments::UnsafeUnwrapWebhookEvent`
10
+ # case unsafe_unwrap_webhook_event
11
+ # when Dodopayments::DisputeAcceptedWebhookEvent
12
+ # puts(unsafe_unwrap_webhook_event.business_id)
13
+ # when Dodopayments::DisputeCancelledWebhookEvent
14
+ # puts(unsafe_unwrap_webhook_event.data)
15
+ # when Dodopayments::DisputeChallengedWebhookEvent
16
+ # puts(unsafe_unwrap_webhook_event.timestamp)
15
17
  # else
16
- # puts(customer_request)
18
+ # puts(unsafe_unwrap_webhook_event)
17
19
  # end
18
20
  module Union
19
21
  include Dodopayments::Internal::Type::Converter
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class DisputeAcceptedWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ # @!attribute business_id
7
+ # The business identifier
8
+ #
9
+ # @return [String]
10
+ required :business_id, String
11
+
12
+ # @!attribute data
13
+ # Event-specific data
14
+ #
15
+ # @return [Dodopayments::Models::DisputeAcceptedWebhookEvent::Data]
16
+ required :data, -> { Dodopayments::DisputeAcceptedWebhookEvent::Data }
17
+
18
+ # @!attribute timestamp
19
+ # The timestamp of when the event occurred
20
+ #
21
+ # @return [Time]
22
+ required :timestamp, Time
23
+
24
+ # @!attribute type
25
+ # The event type
26
+ #
27
+ # @return [Symbol, Dodopayments::Models::DisputeAcceptedWebhookEvent::Type]
28
+ required :type, enum: -> { Dodopayments::DisputeAcceptedWebhookEvent::Type }
29
+
30
+ # @!method initialize(business_id:, data:, timestamp:, type:)
31
+ # @param business_id [String] The business identifier
32
+ #
33
+ # @param data [Dodopayments::Models::DisputeAcceptedWebhookEvent::Data] Event-specific data
34
+ #
35
+ # @param timestamp [Time] The timestamp of when the event occurred
36
+ #
37
+ # @param type [Symbol, Dodopayments::Models::DisputeAcceptedWebhookEvent::Type] The event type
38
+
39
+ # @see Dodopayments::Models::DisputeAcceptedWebhookEvent#data
40
+ class Data < Dodopayments::Models::Dispute
41
+ # @!attribute payload_type
42
+ # The type of payload in the data field
43
+ #
44
+ # @return [Symbol, Dodopayments::Models::DisputeAcceptedWebhookEvent::Data::PayloadType, nil]
45
+ optional :payload_type, enum: -> { Dodopayments::DisputeAcceptedWebhookEvent::Data::PayloadType }
46
+
47
+ # @!method initialize(payload_type: nil)
48
+ # Event-specific data
49
+ #
50
+ # @param payload_type [Symbol, Dodopayments::Models::DisputeAcceptedWebhookEvent::Data::PayloadType] The type of payload in the data field
51
+
52
+ # The type of payload in the data field
53
+ module PayloadType
54
+ extend Dodopayments::Internal::Type::Enum
55
+
56
+ DISPUTE = :Dispute
57
+
58
+ # @!method self.values
59
+ # @return [Array<Symbol>]
60
+ end
61
+ end
62
+
63
+ # The event type
64
+ #
65
+ # @see Dodopayments::Models::DisputeAcceptedWebhookEvent#type
66
+ module Type
67
+ extend Dodopayments::Internal::Type::Enum
68
+
69
+ DISPUTE_ACCEPTED = :"dispute.accepted"
70
+
71
+ # @!method self.values
72
+ # @return [Array<Symbol>]
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class DisputeCancelledWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ # @!attribute business_id
7
+ # The business identifier
8
+ #
9
+ # @return [String]
10
+ required :business_id, String
11
+
12
+ # @!attribute data
13
+ # Event-specific data
14
+ #
15
+ # @return [Dodopayments::Models::DisputeCancelledWebhookEvent::Data]
16
+ required :data, -> { Dodopayments::DisputeCancelledWebhookEvent::Data }
17
+
18
+ # @!attribute timestamp
19
+ # The timestamp of when the event occurred
20
+ #
21
+ # @return [Time]
22
+ required :timestamp, Time
23
+
24
+ # @!attribute type
25
+ # The event type
26
+ #
27
+ # @return [Symbol, Dodopayments::Models::DisputeCancelledWebhookEvent::Type]
28
+ required :type, enum: -> { Dodopayments::DisputeCancelledWebhookEvent::Type }
29
+
30
+ # @!method initialize(business_id:, data:, timestamp:, type:)
31
+ # @param business_id [String] The business identifier
32
+ #
33
+ # @param data [Dodopayments::Models::DisputeCancelledWebhookEvent::Data] Event-specific data
34
+ #
35
+ # @param timestamp [Time] The timestamp of when the event occurred
36
+ #
37
+ # @param type [Symbol, Dodopayments::Models::DisputeCancelledWebhookEvent::Type] The event type
38
+
39
+ # @see Dodopayments::Models::DisputeCancelledWebhookEvent#data
40
+ class Data < Dodopayments::Models::Dispute
41
+ # @!attribute payload_type
42
+ # The type of payload in the data field
43
+ #
44
+ # @return [Symbol, Dodopayments::Models::DisputeCancelledWebhookEvent::Data::PayloadType, nil]
45
+ optional :payload_type, enum: -> { Dodopayments::DisputeCancelledWebhookEvent::Data::PayloadType }
46
+
47
+ # @!method initialize(payload_type: nil)
48
+ # Event-specific data
49
+ #
50
+ # @param payload_type [Symbol, Dodopayments::Models::DisputeCancelledWebhookEvent::Data::PayloadType] The type of payload in the data field
51
+
52
+ # The type of payload in the data field
53
+ module PayloadType
54
+ extend Dodopayments::Internal::Type::Enum
55
+
56
+ DISPUTE = :Dispute
57
+
58
+ # @!method self.values
59
+ # @return [Array<Symbol>]
60
+ end
61
+ end
62
+
63
+ # The event type
64
+ #
65
+ # @see Dodopayments::Models::DisputeCancelledWebhookEvent#type
66
+ module Type
67
+ extend Dodopayments::Internal::Type::Enum
68
+
69
+ DISPUTE_CANCELLED = :"dispute.cancelled"
70
+
71
+ # @!method self.values
72
+ # @return [Array<Symbol>]
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class DisputeChallengedWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ # @!attribute business_id
7
+ # The business identifier
8
+ #
9
+ # @return [String]
10
+ required :business_id, String
11
+
12
+ # @!attribute data
13
+ # Event-specific data
14
+ #
15
+ # @return [Dodopayments::Models::DisputeChallengedWebhookEvent::Data]
16
+ required :data, -> { Dodopayments::DisputeChallengedWebhookEvent::Data }
17
+
18
+ # @!attribute timestamp
19
+ # The timestamp of when the event occurred
20
+ #
21
+ # @return [Time]
22
+ required :timestamp, Time
23
+
24
+ # @!attribute type
25
+ # The event type
26
+ #
27
+ # @return [Symbol, Dodopayments::Models::DisputeChallengedWebhookEvent::Type]
28
+ required :type, enum: -> { Dodopayments::DisputeChallengedWebhookEvent::Type }
29
+
30
+ # @!method initialize(business_id:, data:, timestamp:, type:)
31
+ # @param business_id [String] The business identifier
32
+ #
33
+ # @param data [Dodopayments::Models::DisputeChallengedWebhookEvent::Data] Event-specific data
34
+ #
35
+ # @param timestamp [Time] The timestamp of when the event occurred
36
+ #
37
+ # @param type [Symbol, Dodopayments::Models::DisputeChallengedWebhookEvent::Type] The event type
38
+
39
+ # @see Dodopayments::Models::DisputeChallengedWebhookEvent#data
40
+ class Data < Dodopayments::Models::Dispute
41
+ # @!attribute payload_type
42
+ # The type of payload in the data field
43
+ #
44
+ # @return [Symbol, Dodopayments::Models::DisputeChallengedWebhookEvent::Data::PayloadType, nil]
45
+ optional :payload_type, enum: -> { Dodopayments::DisputeChallengedWebhookEvent::Data::PayloadType }
46
+
47
+ # @!method initialize(payload_type: nil)
48
+ # Event-specific data
49
+ #
50
+ # @param payload_type [Symbol, Dodopayments::Models::DisputeChallengedWebhookEvent::Data::PayloadType] The type of payload in the data field
51
+
52
+ # The type of payload in the data field
53
+ module PayloadType
54
+ extend Dodopayments::Internal::Type::Enum
55
+
56
+ DISPUTE = :Dispute
57
+
58
+ # @!method self.values
59
+ # @return [Array<Symbol>]
60
+ end
61
+ end
62
+
63
+ # The event type
64
+ #
65
+ # @see Dodopayments::Models::DisputeChallengedWebhookEvent#type
66
+ module Type
67
+ extend Dodopayments::Internal::Type::Enum
68
+
69
+ DISPUTE_CHALLENGED = :"dispute.challenged"
70
+
71
+ # @!method self.values
72
+ # @return [Array<Symbol>]
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class DisputeExpiredWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ # @!attribute business_id
7
+ # The business identifier
8
+ #
9
+ # @return [String]
10
+ required :business_id, String
11
+
12
+ # @!attribute data
13
+ # Event-specific data
14
+ #
15
+ # @return [Dodopayments::Models::DisputeExpiredWebhookEvent::Data]
16
+ required :data, -> { Dodopayments::DisputeExpiredWebhookEvent::Data }
17
+
18
+ # @!attribute timestamp
19
+ # The timestamp of when the event occurred
20
+ #
21
+ # @return [Time]
22
+ required :timestamp, Time
23
+
24
+ # @!attribute type
25
+ # The event type
26
+ #
27
+ # @return [Symbol, Dodopayments::Models::DisputeExpiredWebhookEvent::Type]
28
+ required :type, enum: -> { Dodopayments::DisputeExpiredWebhookEvent::Type }
29
+
30
+ # @!method initialize(business_id:, data:, timestamp:, type:)
31
+ # @param business_id [String] The business identifier
32
+ #
33
+ # @param data [Dodopayments::Models::DisputeExpiredWebhookEvent::Data] Event-specific data
34
+ #
35
+ # @param timestamp [Time] The timestamp of when the event occurred
36
+ #
37
+ # @param type [Symbol, Dodopayments::Models::DisputeExpiredWebhookEvent::Type] The event type
38
+
39
+ # @see Dodopayments::Models::DisputeExpiredWebhookEvent#data
40
+ class Data < Dodopayments::Models::Dispute
41
+ # @!attribute payload_type
42
+ # The type of payload in the data field
43
+ #
44
+ # @return [Symbol, Dodopayments::Models::DisputeExpiredWebhookEvent::Data::PayloadType, nil]
45
+ optional :payload_type, enum: -> { Dodopayments::DisputeExpiredWebhookEvent::Data::PayloadType }
46
+
47
+ # @!method initialize(payload_type: nil)
48
+ # Event-specific data
49
+ #
50
+ # @param payload_type [Symbol, Dodopayments::Models::DisputeExpiredWebhookEvent::Data::PayloadType] The type of payload in the data field
51
+
52
+ # The type of payload in the data field
53
+ module PayloadType
54
+ extend Dodopayments::Internal::Type::Enum
55
+
56
+ DISPUTE = :Dispute
57
+
58
+ # @!method self.values
59
+ # @return [Array<Symbol>]
60
+ end
61
+ end
62
+
63
+ # The event type
64
+ #
65
+ # @see Dodopayments::Models::DisputeExpiredWebhookEvent#type
66
+ module Type
67
+ extend Dodopayments::Internal::Type::Enum
68
+
69
+ DISPUTE_EXPIRED = :"dispute.expired"
70
+
71
+ # @!method self.values
72
+ # @return [Array<Symbol>]
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class DisputeLostWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ # @!attribute business_id
7
+ # The business identifier
8
+ #
9
+ # @return [String]
10
+ required :business_id, String
11
+
12
+ # @!attribute data
13
+ # Event-specific data
14
+ #
15
+ # @return [Dodopayments::Models::DisputeLostWebhookEvent::Data]
16
+ required :data, -> { Dodopayments::DisputeLostWebhookEvent::Data }
17
+
18
+ # @!attribute timestamp
19
+ # The timestamp of when the event occurred
20
+ #
21
+ # @return [Time]
22
+ required :timestamp, Time
23
+
24
+ # @!attribute type
25
+ # The event type
26
+ #
27
+ # @return [Symbol, Dodopayments::Models::DisputeLostWebhookEvent::Type]
28
+ required :type, enum: -> { Dodopayments::DisputeLostWebhookEvent::Type }
29
+
30
+ # @!method initialize(business_id:, data:, timestamp:, type:)
31
+ # @param business_id [String] The business identifier
32
+ #
33
+ # @param data [Dodopayments::Models::DisputeLostWebhookEvent::Data] Event-specific data
34
+ #
35
+ # @param timestamp [Time] The timestamp of when the event occurred
36
+ #
37
+ # @param type [Symbol, Dodopayments::Models::DisputeLostWebhookEvent::Type] The event type
38
+
39
+ # @see Dodopayments::Models::DisputeLostWebhookEvent#data
40
+ class Data < Dodopayments::Models::Dispute
41
+ # @!attribute payload_type
42
+ # The type of payload in the data field
43
+ #
44
+ # @return [Symbol, Dodopayments::Models::DisputeLostWebhookEvent::Data::PayloadType, nil]
45
+ optional :payload_type, enum: -> { Dodopayments::DisputeLostWebhookEvent::Data::PayloadType }
46
+
47
+ # @!method initialize(payload_type: nil)
48
+ # Event-specific data
49
+ #
50
+ # @param payload_type [Symbol, Dodopayments::Models::DisputeLostWebhookEvent::Data::PayloadType] The type of payload in the data field
51
+
52
+ # The type of payload in the data field
53
+ module PayloadType
54
+ extend Dodopayments::Internal::Type::Enum
55
+
56
+ DISPUTE = :Dispute
57
+
58
+ # @!method self.values
59
+ # @return [Array<Symbol>]
60
+ end
61
+ end
62
+
63
+ # The event type
64
+ #
65
+ # @see Dodopayments::Models::DisputeLostWebhookEvent#type
66
+ module Type
67
+ extend Dodopayments::Internal::Type::Enum
68
+
69
+ DISPUTE_LOST = :"dispute.lost"
70
+
71
+ # @!method self.values
72
+ # @return [Array<Symbol>]
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class DisputeOpenedWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ # @!attribute business_id
7
+ # The business identifier
8
+ #
9
+ # @return [String]
10
+ required :business_id, String
11
+
12
+ # @!attribute data
13
+ # Event-specific data
14
+ #
15
+ # @return [Dodopayments::Models::DisputeOpenedWebhookEvent::Data]
16
+ required :data, -> { Dodopayments::DisputeOpenedWebhookEvent::Data }
17
+
18
+ # @!attribute timestamp
19
+ # The timestamp of when the event occurred
20
+ #
21
+ # @return [Time]
22
+ required :timestamp, Time
23
+
24
+ # @!attribute type
25
+ # The event type
26
+ #
27
+ # @return [Symbol, Dodopayments::Models::DisputeOpenedWebhookEvent::Type]
28
+ required :type, enum: -> { Dodopayments::DisputeOpenedWebhookEvent::Type }
29
+
30
+ # @!method initialize(business_id:, data:, timestamp:, type:)
31
+ # @param business_id [String] The business identifier
32
+ #
33
+ # @param data [Dodopayments::Models::DisputeOpenedWebhookEvent::Data] Event-specific data
34
+ #
35
+ # @param timestamp [Time] The timestamp of when the event occurred
36
+ #
37
+ # @param type [Symbol, Dodopayments::Models::DisputeOpenedWebhookEvent::Type] The event type
38
+
39
+ # @see Dodopayments::Models::DisputeOpenedWebhookEvent#data
40
+ class Data < Dodopayments::Models::Dispute
41
+ # @!attribute payload_type
42
+ # The type of payload in the data field
43
+ #
44
+ # @return [Symbol, Dodopayments::Models::DisputeOpenedWebhookEvent::Data::PayloadType, nil]
45
+ optional :payload_type, enum: -> { Dodopayments::DisputeOpenedWebhookEvent::Data::PayloadType }
46
+
47
+ # @!method initialize(payload_type: nil)
48
+ # Event-specific data
49
+ #
50
+ # @param payload_type [Symbol, Dodopayments::Models::DisputeOpenedWebhookEvent::Data::PayloadType] The type of payload in the data field
51
+
52
+ # The type of payload in the data field
53
+ module PayloadType
54
+ extend Dodopayments::Internal::Type::Enum
55
+
56
+ DISPUTE = :Dispute
57
+
58
+ # @!method self.values
59
+ # @return [Array<Symbol>]
60
+ end
61
+ end
62
+
63
+ # The event type
64
+ #
65
+ # @see Dodopayments::Models::DisputeOpenedWebhookEvent#type
66
+ module Type
67
+ extend Dodopayments::Internal::Type::Enum
68
+
69
+ DISPUTE_OPENED = :"dispute.opened"
70
+
71
+ # @!method self.values
72
+ # @return [Array<Symbol>]
73
+ end
74
+ end
75
+ end
76
+ end