dodopayments 2.4.1 → 2.6.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 +4 -4
- data/CHANGELOG.md +29 -0
- data/README.md +1 -1
- data/lib/dodopayments/internal/util.rb +18 -4
- data/lib/dodopayments/models/abandoned_checkout_detected_webhook_event.rb +126 -0
- data/lib/dodopayments/models/abandoned_checkout_recovered_webhook_event.rb +126 -0
- data/lib/dodopayments/models/balance_ledger_entry.rb +2 -0
- data/lib/dodopayments/models/balance_retrieve_ledger_params.rb +2 -0
- data/lib/dodopayments/models/discount.rb +8 -1
- data/lib/dodopayments/models/discount_create_params.rb +9 -1
- data/lib/dodopayments/models/discount_update_params.rb +9 -1
- data/lib/dodopayments/models/dunning_recovered_webhook_event.rb +118 -0
- data/lib/dodopayments/models/dunning_started_webhook_event.rb +118 -0
- data/lib/dodopayments/models/payouts/breakup/detail_download_csv_params.rb +24 -0
- data/lib/dodopayments/models/payouts/breakup/detail_list_params.rb +41 -0
- data/lib/dodopayments/models/payouts/breakup/detail_list_response.rb +94 -0
- data/lib/dodopayments/models/payouts/breakup_retrieve_params.rb +22 -0
- data/lib/dodopayments/models/payouts/breakup_retrieve_response.rb +37 -0
- data/lib/dodopayments/models/subscription_update_params.rb +19 -1
- data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +9 -1
- data/lib/dodopayments/models/unwrap_webhook_event.rb +9 -1
- data/lib/dodopayments/models/webhook_event_type.rb +6 -0
- data/lib/dodopayments/models/webhook_payload.rb +168 -3
- data/lib/dodopayments/models.rb +10 -0
- data/lib/dodopayments/resources/discounts.rb +6 -2
- data/lib/dodopayments/resources/payouts/breakup/details.rb +72 -0
- data/lib/dodopayments/resources/payouts/breakup.rb +43 -0
- data/lib/dodopayments/resources/payouts.rb +4 -0
- data/lib/dodopayments/resources/subscriptions.rb +3 -1
- data/lib/dodopayments/resources/webhooks.rb +2 -2
- data/lib/dodopayments/version.rb +1 -1
- data/lib/dodopayments.rb +11 -0
- data/rbi/dodopayments/internal/util.rbi +8 -0
- data/rbi/dodopayments/models/abandoned_checkout_detected_webhook_event.rbi +271 -0
- data/rbi/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbi +273 -0
- data/rbi/dodopayments/models/balance_ledger_entry.rbi +10 -0
- data/rbi/dodopayments/models/balance_retrieve_ledger_params.rbi +10 -0
- data/rbi/dodopayments/models/discount.rbi +6 -0
- data/rbi/dodopayments/models/discount_create_params.rbi +11 -0
- data/rbi/dodopayments/models/discount_update_params.rbi +8 -0
- data/rbi/dodopayments/models/dunning_recovered_webhook_event.rbi +249 -0
- data/rbi/dodopayments/models/dunning_started_webhook_event.rbi +249 -0
- data/rbi/dodopayments/models/payouts/breakup/detail_download_csv_params.rbi +45 -0
- data/rbi/dodopayments/models/payouts/breakup/detail_list_params.rbi +70 -0
- data/rbi/dodopayments/models/payouts/breakup/detail_list_response.rbi +116 -0
- data/rbi/dodopayments/models/payouts/breakup_retrieve_params.rbi +40 -0
- data/rbi/dodopayments/models/payouts/breakup_retrieve_response.rbi +53 -0
- data/rbi/dodopayments/models/subscription_update_params.rbi +54 -0
- data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +4 -0
- data/rbi/dodopayments/models/unwrap_webhook_event.rbi +4 -0
- data/rbi/dodopayments/models/webhook_event_type.rbi +21 -0
- data/rbi/dodopayments/models/webhook_payload.rbi +400 -4
- data/rbi/dodopayments/models.rbi +13 -0
- data/rbi/dodopayments/resources/discounts.rbi +6 -0
- data/rbi/dodopayments/resources/payouts/breakup/details.rbi +60 -0
- data/rbi/dodopayments/resources/payouts/breakup.rbi +36 -0
- data/rbi/dodopayments/resources/payouts.rbi +3 -0
- data/rbi/dodopayments/resources/subscriptions.rbi +5 -0
- data/rbi/dodopayments/resources/webhooks.rbi +8 -0
- data/sig/dodopayments/internal/util.rbs +4 -0
- data/sig/dodopayments/models/abandoned_checkout_detected_webhook_event.rbs +113 -0
- data/sig/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbs +113 -0
- data/sig/dodopayments/models/balance_ledger_entry.rbs +4 -0
- data/sig/dodopayments/models/balance_retrieve_ledger_params.rbs +4 -0
- data/sig/dodopayments/models/discount.rbs +5 -0
- data/sig/dodopayments/models/discount_create_params.rbs +7 -0
- data/sig/dodopayments/models/discount_update_params.rbs +5 -0
- data/sig/dodopayments/models/dunning_recovered_webhook_event.rbs +110 -0
- data/sig/dodopayments/models/dunning_started_webhook_event.rbs +110 -0
- data/sig/dodopayments/models/payouts/breakup/detail_download_csv_params.rbs +28 -0
- data/sig/dodopayments/models/payouts/breakup/detail_list_params.rbs +40 -0
- data/sig/dodopayments/models/payouts/breakup/detail_list_response.rbs +64 -0
- data/sig/dodopayments/models/payouts/breakup_retrieve_params.rbs +25 -0
- data/sig/dodopayments/models/payouts/breakup_retrieve_response.rbs +23 -0
- data/sig/dodopayments/models/subscription_update_params.rbs +20 -0
- data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +5 -1
- data/sig/dodopayments/models/unwrap_webhook_event.rbs +5 -1
- data/sig/dodopayments/models/webhook_event_type.rbs +12 -0
- data/sig/dodopayments/models/webhook_payload.rbs +165 -0
- data/sig/dodopayments/models.rbs +10 -0
- data/sig/dodopayments/resources/discounts.rbs +2 -0
- data/sig/dodopayments/resources/payouts/breakup/details.rbs +23 -0
- data/sig/dodopayments/resources/payouts/breakup.rbs +16 -0
- data/sig/dodopayments/resources/payouts.rbs +2 -0
- data/sig/dodopayments/resources/subscriptions.rbs +1 -0
- data/sig/dodopayments/resources/webhooks.rbs +10 -2
- metadata +35 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d32cb5b0b3bc5c595dc555bf1c7d347501bb80217035f32f108f2726b5b67aa9
|
|
4
|
+
data.tar.gz: 7d6a36da0c5d1d13efcf9fb8b923890c1b5c7cf99c912d3b97d0fceb70c355ad
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 42ed38d3f7a3aa883ef873b5646407b85adc97c08b56d0216e1f04f0a04d6ea20b5b8fc3fbf2290e14fa30027f939f923fa3abfe22d80244f5f3ec59a1d66222
|
|
7
|
+
data.tar.gz: 6f53f029c8506e8fdeda4989daa2bff8e8c646b16d7ea1568813d779c3eac36ddbf0727fe60233916cdb41a9058da97c065c867707ae5124c28680b43c121671
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.6.0 (2026-04-08)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v2.5.0...v2.6.0](https://github.com/dodopayments/dodopayments-ruby/compare/v2.5.0...v2.6.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** updated openapi spec to v1.94.2 ([6cad8c2](https://github.com/dodopayments/dodopayments-ruby/commit/6cad8c211713ce096110682f4af14b3b82fa3b6d))
|
|
10
|
+
|
|
11
|
+
## 2.5.0 (2026-04-01)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v2.4.1...v2.5.0](https://github.com/dodopayments/dodopayments-ruby/compare/v2.4.1...v2.5.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** updated openapi spec to v1.93.0 ([108653e](https://github.com/dodopayments/dodopayments-ruby/commit/108653eb281d4b33283a7bc9bcaa7ce8434b077b))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* align path encoding with RFC 3986 section 3.3 ([c77867d](https://github.com/dodopayments/dodopayments-ruby/commit/c77867d2f7a352bc7f6ede137e629fa0d6a37808))
|
|
23
|
+
* variable name typo ([93ee38e](https://github.com/dodopayments/dodopayments-ruby/commit/93ee38e03c625a03d6c716c93bae44bdd9682272))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Chores
|
|
27
|
+
|
|
28
|
+
* **ci:** support opting out of skipping builds on metadata-only commits ([440f676](https://github.com/dodopayments/dodopayments-ruby/commit/440f6769cfae73ecd8414c50f35d724ca6c84ce0))
|
|
29
|
+
* **tests:** bump steady to v0.20.1 ([c0ca147](https://github.com/dodopayments/dodopayments-ruby/commit/c0ca147e996ceec20c39b2076153c6084048f9e6))
|
|
30
|
+
* **tests:** bump steady to v0.20.2 ([5d83036](https://github.com/dodopayments/dodopayments-ruby/commit/5d830369abcabf01109bdb3e9c21ea3c2aed894b))
|
|
31
|
+
|
|
3
32
|
## 2.4.1 (2026-03-27)
|
|
4
33
|
|
|
5
34
|
Full Changelog: [v2.4.0...v2.4.1](https://github.com/dodopayments/dodopayments-ruby/compare/v2.4.0...v2.4.1)
|
data/README.md
CHANGED
|
@@ -157,7 +157,7 @@ module Dodopayments
|
|
|
157
157
|
in Hash | nil => coerced
|
|
158
158
|
coerced
|
|
159
159
|
else
|
|
160
|
-
message = "Expected a #{Hash} or #{Dodopayments::Internal::Type::BaseModel}, got #{
|
|
160
|
+
message = "Expected a #{Hash} or #{Dodopayments::Internal::Type::BaseModel}, got #{input.inspect}"
|
|
161
161
|
raise ArgumentError.new(message)
|
|
162
162
|
end
|
|
163
163
|
end
|
|
@@ -237,6 +237,11 @@ module Dodopayments
|
|
|
237
237
|
end
|
|
238
238
|
end
|
|
239
239
|
|
|
240
|
+
# @type [Regexp]
|
|
241
|
+
#
|
|
242
|
+
# https://www.rfc-editor.org/rfc/rfc3986.html#section-3.3
|
|
243
|
+
RFC_3986_NOT_PCHARS = /[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/
|
|
244
|
+
|
|
240
245
|
class << self
|
|
241
246
|
# @api private
|
|
242
247
|
#
|
|
@@ -247,6 +252,15 @@ module Dodopayments
|
|
|
247
252
|
"#{uri.scheme}://#{uri.host}#{":#{uri.port}" unless uri.port == uri.default_port}"
|
|
248
253
|
end
|
|
249
254
|
|
|
255
|
+
# @api private
|
|
256
|
+
#
|
|
257
|
+
# @param path [String, Integer]
|
|
258
|
+
#
|
|
259
|
+
# @return [String]
|
|
260
|
+
def encode_path(path)
|
|
261
|
+
path.to_s.gsub(Dodopayments::Internal::Util::RFC_3986_NOT_PCHARS) { ERB::Util.url_encode(_1) }
|
|
262
|
+
end
|
|
263
|
+
|
|
250
264
|
# @api private
|
|
251
265
|
#
|
|
252
266
|
# @param path [String, Array<String>]
|
|
@@ -259,7 +273,7 @@ module Dodopayments
|
|
|
259
273
|
in []
|
|
260
274
|
""
|
|
261
275
|
in [String => p, *interpolations]
|
|
262
|
-
encoded = interpolations.map {
|
|
276
|
+
encoded = interpolations.map { encode_path(_1) }
|
|
263
277
|
format(p, *encoded)
|
|
264
278
|
end
|
|
265
279
|
end
|
|
@@ -576,10 +590,10 @@ module Dodopayments
|
|
|
576
590
|
|
|
577
591
|
case val
|
|
578
592
|
in Dodopayments::FilePart unless val.filename.nil?
|
|
579
|
-
filename =
|
|
593
|
+
filename = encode_path(val.filename)
|
|
580
594
|
y << "; filename=\"#{filename}\""
|
|
581
595
|
in Pathname | IO
|
|
582
|
-
filename =
|
|
596
|
+
filename = encode_path(::File.basename(val.to_path))
|
|
583
597
|
y << "; filename=\"#{filename}\""
|
|
584
598
|
else
|
|
585
599
|
end
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class AbandonedCheckoutDetectedWebhookEvent < 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
|
+
# Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered
|
|
14
|
+
# events
|
|
15
|
+
#
|
|
16
|
+
# @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data]
|
|
17
|
+
required :data, -> { Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data }
|
|
18
|
+
|
|
19
|
+
# @!attribute timestamp
|
|
20
|
+
# The timestamp of when the event occurred
|
|
21
|
+
#
|
|
22
|
+
# @return [Time]
|
|
23
|
+
required :timestamp, Time
|
|
24
|
+
|
|
25
|
+
# @!attribute type
|
|
26
|
+
# The event type
|
|
27
|
+
#
|
|
28
|
+
# @return [Symbol, Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Type]
|
|
29
|
+
required :type, enum: -> { Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Type }
|
|
30
|
+
|
|
31
|
+
# @!method initialize(business_id:, data:, timestamp:, type:)
|
|
32
|
+
# Some parameter documentations has been truncated, see
|
|
33
|
+
# {Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent} for more details.
|
|
34
|
+
#
|
|
35
|
+
# @param business_id [String] The business identifier
|
|
36
|
+
#
|
|
37
|
+
# @param data [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data] Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered
|
|
38
|
+
#
|
|
39
|
+
# @param timestamp [Time] The timestamp of when the event occurred
|
|
40
|
+
#
|
|
41
|
+
# @param type [Symbol, Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Type] The event type
|
|
42
|
+
|
|
43
|
+
# @see Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent#data
|
|
44
|
+
class Data < Dodopayments::Internal::Type::BaseModel
|
|
45
|
+
# @!attribute abandoned_at
|
|
46
|
+
#
|
|
47
|
+
# @return [Time]
|
|
48
|
+
required :abandoned_at, Time
|
|
49
|
+
|
|
50
|
+
# @!attribute abandonment_reason
|
|
51
|
+
#
|
|
52
|
+
# @return [Symbol, Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::AbandonmentReason]
|
|
53
|
+
required :abandonment_reason,
|
|
54
|
+
enum: -> { Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::AbandonmentReason }
|
|
55
|
+
|
|
56
|
+
# @!attribute customer_id
|
|
57
|
+
#
|
|
58
|
+
# @return [String]
|
|
59
|
+
required :customer_id, String
|
|
60
|
+
|
|
61
|
+
# @!attribute payment_id
|
|
62
|
+
#
|
|
63
|
+
# @return [String]
|
|
64
|
+
required :payment_id, String
|
|
65
|
+
|
|
66
|
+
# @!attribute status
|
|
67
|
+
#
|
|
68
|
+
# @return [Symbol, Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::Status]
|
|
69
|
+
required :status, enum: -> { Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::Status }
|
|
70
|
+
|
|
71
|
+
# @!attribute recovered_payment_id
|
|
72
|
+
#
|
|
73
|
+
# @return [String, nil]
|
|
74
|
+
optional :recovered_payment_id, String, nil?: true
|
|
75
|
+
|
|
76
|
+
# @!method initialize(abandoned_at:, abandonment_reason:, customer_id:, payment_id:, status:, recovered_payment_id: nil)
|
|
77
|
+
# Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered
|
|
78
|
+
# events
|
|
79
|
+
#
|
|
80
|
+
# @param abandoned_at [Time]
|
|
81
|
+
# @param abandonment_reason [Symbol, Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::AbandonmentReason]
|
|
82
|
+
# @param customer_id [String]
|
|
83
|
+
# @param payment_id [String]
|
|
84
|
+
# @param status [Symbol, Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data::Status]
|
|
85
|
+
# @param recovered_payment_id [String, nil]
|
|
86
|
+
|
|
87
|
+
# @see Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data#abandonment_reason
|
|
88
|
+
module AbandonmentReason
|
|
89
|
+
extend Dodopayments::Internal::Type::Enum
|
|
90
|
+
|
|
91
|
+
PAYMENT_FAILED = :payment_failed
|
|
92
|
+
CHECKOUT_INCOMPLETE = :checkout_incomplete
|
|
93
|
+
|
|
94
|
+
# @!method self.values
|
|
95
|
+
# @return [Array<Symbol>]
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# @see Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent::Data#status
|
|
99
|
+
module Status
|
|
100
|
+
extend Dodopayments::Internal::Type::Enum
|
|
101
|
+
|
|
102
|
+
ABANDONED = :abandoned
|
|
103
|
+
RECOVERING = :recovering
|
|
104
|
+
RECOVERED = :recovered
|
|
105
|
+
EXHAUSTED = :exhausted
|
|
106
|
+
OPTED_OUT = :opted_out
|
|
107
|
+
|
|
108
|
+
# @!method self.values
|
|
109
|
+
# @return [Array<Symbol>]
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# The event type
|
|
114
|
+
#
|
|
115
|
+
# @see Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent#type
|
|
116
|
+
module Type
|
|
117
|
+
extend Dodopayments::Internal::Type::Enum
|
|
118
|
+
|
|
119
|
+
ABANDONED_CHECKOUT_DETECTED = :"abandoned_checkout.detected"
|
|
120
|
+
|
|
121
|
+
# @!method self.values
|
|
122
|
+
# @return [Array<Symbol>]
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class AbandonedCheckoutRecoveredWebhookEvent < 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
|
+
# Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered
|
|
14
|
+
# events
|
|
15
|
+
#
|
|
16
|
+
# @return [Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data]
|
|
17
|
+
required :data, -> { Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data }
|
|
18
|
+
|
|
19
|
+
# @!attribute timestamp
|
|
20
|
+
# The timestamp of when the event occurred
|
|
21
|
+
#
|
|
22
|
+
# @return [Time]
|
|
23
|
+
required :timestamp, Time
|
|
24
|
+
|
|
25
|
+
# @!attribute type
|
|
26
|
+
# The event type
|
|
27
|
+
#
|
|
28
|
+
# @return [Symbol, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Type]
|
|
29
|
+
required :type, enum: -> { Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Type }
|
|
30
|
+
|
|
31
|
+
# @!method initialize(business_id:, data:, timestamp:, type:)
|
|
32
|
+
# Some parameter documentations has been truncated, see
|
|
33
|
+
# {Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent} for more details.
|
|
34
|
+
#
|
|
35
|
+
# @param business_id [String] The business identifier
|
|
36
|
+
#
|
|
37
|
+
# @param data [Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data] Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered
|
|
38
|
+
#
|
|
39
|
+
# @param timestamp [Time] The timestamp of when the event occurred
|
|
40
|
+
#
|
|
41
|
+
# @param type [Symbol, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Type] The event type
|
|
42
|
+
|
|
43
|
+
# @see Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent#data
|
|
44
|
+
class Data < Dodopayments::Internal::Type::BaseModel
|
|
45
|
+
# @!attribute abandoned_at
|
|
46
|
+
#
|
|
47
|
+
# @return [Time]
|
|
48
|
+
required :abandoned_at, Time
|
|
49
|
+
|
|
50
|
+
# @!attribute abandonment_reason
|
|
51
|
+
#
|
|
52
|
+
# @return [Symbol, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::AbandonmentReason]
|
|
53
|
+
required :abandonment_reason,
|
|
54
|
+
enum: -> { Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::AbandonmentReason }
|
|
55
|
+
|
|
56
|
+
# @!attribute customer_id
|
|
57
|
+
#
|
|
58
|
+
# @return [String]
|
|
59
|
+
required :customer_id, String
|
|
60
|
+
|
|
61
|
+
# @!attribute payment_id
|
|
62
|
+
#
|
|
63
|
+
# @return [String]
|
|
64
|
+
required :payment_id, String
|
|
65
|
+
|
|
66
|
+
# @!attribute status
|
|
67
|
+
#
|
|
68
|
+
# @return [Symbol, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::Status]
|
|
69
|
+
required :status, enum: -> { Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::Status }
|
|
70
|
+
|
|
71
|
+
# @!attribute recovered_payment_id
|
|
72
|
+
#
|
|
73
|
+
# @return [String, nil]
|
|
74
|
+
optional :recovered_payment_id, String, nil?: true
|
|
75
|
+
|
|
76
|
+
# @!method initialize(abandoned_at:, abandonment_reason:, customer_id:, payment_id:, status:, recovered_payment_id: nil)
|
|
77
|
+
# Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered
|
|
78
|
+
# events
|
|
79
|
+
#
|
|
80
|
+
# @param abandoned_at [Time]
|
|
81
|
+
# @param abandonment_reason [Symbol, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::AbandonmentReason]
|
|
82
|
+
# @param customer_id [String]
|
|
83
|
+
# @param payment_id [String]
|
|
84
|
+
# @param status [Symbol, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data::Status]
|
|
85
|
+
# @param recovered_payment_id [String, nil]
|
|
86
|
+
|
|
87
|
+
# @see Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data#abandonment_reason
|
|
88
|
+
module AbandonmentReason
|
|
89
|
+
extend Dodopayments::Internal::Type::Enum
|
|
90
|
+
|
|
91
|
+
PAYMENT_FAILED = :payment_failed
|
|
92
|
+
CHECKOUT_INCOMPLETE = :checkout_incomplete
|
|
93
|
+
|
|
94
|
+
# @!method self.values
|
|
95
|
+
# @return [Array<Symbol>]
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# @see Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent::Data#status
|
|
99
|
+
module Status
|
|
100
|
+
extend Dodopayments::Internal::Type::Enum
|
|
101
|
+
|
|
102
|
+
ABANDONED = :abandoned
|
|
103
|
+
RECOVERING = :recovering
|
|
104
|
+
RECOVERED = :recovered
|
|
105
|
+
EXHAUSTED = :exhausted
|
|
106
|
+
OPTED_OUT = :opted_out
|
|
107
|
+
|
|
108
|
+
# @!method self.values
|
|
109
|
+
# @return [Array<Symbol>]
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# The event type
|
|
114
|
+
#
|
|
115
|
+
# @see Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent#type
|
|
116
|
+
module Type
|
|
117
|
+
extend Dodopayments::Internal::Type::Enum
|
|
118
|
+
|
|
119
|
+
ABANDONED_CHECKOUT_RECOVERED = :"abandoned_checkout.recovered"
|
|
120
|
+
|
|
121
|
+
# @!method self.values
|
|
122
|
+
# @return [Array<Symbol>]
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
@@ -100,6 +100,8 @@ module Dodopayments
|
|
|
100
100
|
DODO_CREDITS = :dodo_credits
|
|
101
101
|
ADJUSTMENT = :adjustment
|
|
102
102
|
CURRENCY_CONVERSION = :currency_conversion
|
|
103
|
+
ABANDONED_CART_RECOVERY_FEE = :abandoned_cart_recovery_fee
|
|
104
|
+
DUNNING_FEES = :dunning_fees
|
|
103
105
|
|
|
104
106
|
# @!method self.values
|
|
105
107
|
# @return [Array<Symbol>]
|
|
@@ -253,6 +253,8 @@ module Dodopayments
|
|
|
253
253
|
DODO_CREDITS = :dodo_credits
|
|
254
254
|
ADJUSTMENT = :adjustment
|
|
255
255
|
CURRENCY_CONVERSION = :currency_conversion
|
|
256
|
+
ABANDONED_CART_RECOVERY_FEE = :abandoned_cart_recovery_fee
|
|
257
|
+
DUNNING_FEES = :dunning_fees
|
|
256
258
|
|
|
257
259
|
# @!method self.values
|
|
258
260
|
# @return [Array<Symbol>]
|
|
@@ -38,6 +38,11 @@ module Dodopayments
|
|
|
38
38
|
# @return [String]
|
|
39
39
|
required :discount_id, String
|
|
40
40
|
|
|
41
|
+
# @!attribute metadata
|
|
42
|
+
#
|
|
43
|
+
# @return [Hash{Symbol=>String}]
|
|
44
|
+
required :metadata, Dodopayments::Internal::Type::HashOf[String]
|
|
45
|
+
|
|
41
46
|
# @!attribute preserve_on_plan_change
|
|
42
47
|
# Whether this discount should be preserved when a subscription changes plans.
|
|
43
48
|
# Default: false (discount is removed on plan change)
|
|
@@ -89,7 +94,7 @@ module Dodopayments
|
|
|
89
94
|
# @return [Integer, nil]
|
|
90
95
|
optional :usage_limit, Integer, nil?: true
|
|
91
96
|
|
|
92
|
-
# @!method initialize(amount:, business_id:, code:, created_at:, discount_id:, preserve_on_plan_change:, restricted_to:, times_used:, type:, expires_at: nil, name: nil, subscription_cycles: nil, usage_limit: nil)
|
|
97
|
+
# @!method initialize(amount:, business_id:, code:, created_at:, discount_id:, metadata:, preserve_on_plan_change:, restricted_to:, times_used:, type:, expires_at: nil, name: nil, subscription_cycles: nil, usage_limit: nil)
|
|
93
98
|
# Some parameter documentations has been truncated, see
|
|
94
99
|
# {Dodopayments::Models::Discount} for more details.
|
|
95
100
|
#
|
|
@@ -103,6 +108,8 @@ module Dodopayments
|
|
|
103
108
|
#
|
|
104
109
|
# @param discount_id [String] The unique discount ID
|
|
105
110
|
#
|
|
111
|
+
# @param metadata [Hash{Symbol=>String}]
|
|
112
|
+
#
|
|
106
113
|
# @param preserve_on_plan_change [Boolean] Whether this discount should be preserved when a subscription changes plans.
|
|
107
114
|
#
|
|
108
115
|
# @param restricted_to [Array<String>] List of product IDs to which this discount is restricted.
|
|
@@ -41,6 +41,12 @@ module Dodopayments
|
|
|
41
41
|
# @return [Time, nil]
|
|
42
42
|
optional :expires_at, Time, nil?: true
|
|
43
43
|
|
|
44
|
+
# @!attribute metadata
|
|
45
|
+
# Additional metadata for the discount
|
|
46
|
+
#
|
|
47
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
48
|
+
optional :metadata, Dodopayments::Internal::Type::HashOf[String]
|
|
49
|
+
|
|
44
50
|
# @!attribute name
|
|
45
51
|
#
|
|
46
52
|
# @return [String, nil]
|
|
@@ -73,7 +79,7 @@ module Dodopayments
|
|
|
73
79
|
# @return [Integer, nil]
|
|
74
80
|
optional :usage_limit, Integer, nil?: true
|
|
75
81
|
|
|
76
|
-
# @!method initialize(amount:, type:, code: nil, expires_at: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, usage_limit: nil, request_options: {})
|
|
82
|
+
# @!method initialize(amount:, type:, code: nil, expires_at: nil, metadata: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, usage_limit: nil, request_options: {})
|
|
77
83
|
# Some parameter documentations has been truncated, see
|
|
78
84
|
# {Dodopayments::Models::DiscountCreateParams} for more details.
|
|
79
85
|
#
|
|
@@ -85,6 +91,8 @@ module Dodopayments
|
|
|
85
91
|
#
|
|
86
92
|
# @param expires_at [Time, nil] When the discount expires, if ever.
|
|
87
93
|
#
|
|
94
|
+
# @param metadata [Hash{Symbol=>String}] Additional metadata for the discount
|
|
95
|
+
#
|
|
88
96
|
# @param name [String, nil]
|
|
89
97
|
#
|
|
90
98
|
# @param preserve_on_plan_change [Boolean] Whether this discount should be preserved when a subscription changes plans.
|
|
@@ -35,6 +35,12 @@ module Dodopayments
|
|
|
35
35
|
# @return [Time, nil]
|
|
36
36
|
optional :expires_at, Time, nil?: true
|
|
37
37
|
|
|
38
|
+
# @!attribute metadata
|
|
39
|
+
# Additional metadata for the discount
|
|
40
|
+
#
|
|
41
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
42
|
+
optional :metadata, Dodopayments::Internal::Type::HashOf[String], nil?: true
|
|
43
|
+
|
|
38
44
|
# @!attribute name
|
|
39
45
|
#
|
|
40
46
|
# @return [String, nil]
|
|
@@ -73,7 +79,7 @@ module Dodopayments
|
|
|
73
79
|
# @return [Integer, nil]
|
|
74
80
|
optional :usage_limit, Integer, nil?: true
|
|
75
81
|
|
|
76
|
-
# @!method initialize(discount_id:, amount: nil, code: nil, expires_at: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, type: nil, usage_limit: nil, request_options: {})
|
|
82
|
+
# @!method initialize(discount_id:, amount: nil, code: nil, expires_at: nil, metadata: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, type: nil, usage_limit: nil, request_options: {})
|
|
77
83
|
# Some parameter documentations has been truncated, see
|
|
78
84
|
# {Dodopayments::Models::DiscountUpdateParams} for more details.
|
|
79
85
|
#
|
|
@@ -85,6 +91,8 @@ module Dodopayments
|
|
|
85
91
|
#
|
|
86
92
|
# @param expires_at [Time, nil]
|
|
87
93
|
#
|
|
94
|
+
# @param metadata [Hash{Symbol=>String}, nil] Additional metadata for the discount
|
|
95
|
+
#
|
|
88
96
|
# @param name [String, nil]
|
|
89
97
|
#
|
|
90
98
|
# @param preserve_on_plan_change [Boolean, nil] Whether this discount should be preserved when a subscription changes plans.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class DunningRecoveredWebhookEvent < 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
|
+
# Webhook payload for dunning.started and dunning.recovered events
|
|
14
|
+
#
|
|
15
|
+
# @return [Dodopayments::Models::DunningRecoveredWebhookEvent::Data]
|
|
16
|
+
required :data, -> { Dodopayments::DunningRecoveredWebhookEvent::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::DunningRecoveredWebhookEvent::Type]
|
|
28
|
+
required :type, enum: -> { Dodopayments::DunningRecoveredWebhookEvent::Type }
|
|
29
|
+
|
|
30
|
+
# @!method initialize(business_id:, data:, timestamp:, type:)
|
|
31
|
+
# @param business_id [String] The business identifier
|
|
32
|
+
#
|
|
33
|
+
# @param data [Dodopayments::Models::DunningRecoveredWebhookEvent::Data] Webhook payload for dunning.started and dunning.recovered events
|
|
34
|
+
#
|
|
35
|
+
# @param timestamp [Time] The timestamp of when the event occurred
|
|
36
|
+
#
|
|
37
|
+
# @param type [Symbol, Dodopayments::Models::DunningRecoveredWebhookEvent::Type] The event type
|
|
38
|
+
|
|
39
|
+
# @see Dodopayments::Models::DunningRecoveredWebhookEvent#data
|
|
40
|
+
class Data < Dodopayments::Internal::Type::BaseModel
|
|
41
|
+
# @!attribute created_at
|
|
42
|
+
#
|
|
43
|
+
# @return [Time]
|
|
44
|
+
required :created_at, Time
|
|
45
|
+
|
|
46
|
+
# @!attribute customer_id
|
|
47
|
+
#
|
|
48
|
+
# @return [String]
|
|
49
|
+
required :customer_id, String
|
|
50
|
+
|
|
51
|
+
# @!attribute status
|
|
52
|
+
#
|
|
53
|
+
# @return [Symbol, Dodopayments::Models::DunningRecoveredWebhookEvent::Data::Status]
|
|
54
|
+
required :status, enum: -> { Dodopayments::DunningRecoveredWebhookEvent::Data::Status }
|
|
55
|
+
|
|
56
|
+
# @!attribute subscription_id
|
|
57
|
+
#
|
|
58
|
+
# @return [String]
|
|
59
|
+
required :subscription_id, String
|
|
60
|
+
|
|
61
|
+
# @!attribute trigger_state
|
|
62
|
+
#
|
|
63
|
+
# @return [Symbol, Dodopayments::Models::DunningRecoveredWebhookEvent::Data::TriggerState]
|
|
64
|
+
required :trigger_state, enum: -> { Dodopayments::DunningRecoveredWebhookEvent::Data::TriggerState }
|
|
65
|
+
|
|
66
|
+
# @!attribute payment_id
|
|
67
|
+
#
|
|
68
|
+
# @return [String, nil]
|
|
69
|
+
optional :payment_id, String, nil?: true
|
|
70
|
+
|
|
71
|
+
# @!method initialize(created_at:, customer_id:, status:, subscription_id:, trigger_state:, payment_id: nil)
|
|
72
|
+
# Webhook payload for dunning.started and dunning.recovered events
|
|
73
|
+
#
|
|
74
|
+
# @param created_at [Time]
|
|
75
|
+
# @param customer_id [String]
|
|
76
|
+
# @param status [Symbol, Dodopayments::Models::DunningRecoveredWebhookEvent::Data::Status]
|
|
77
|
+
# @param subscription_id [String]
|
|
78
|
+
# @param trigger_state [Symbol, Dodopayments::Models::DunningRecoveredWebhookEvent::Data::TriggerState]
|
|
79
|
+
# @param payment_id [String, nil]
|
|
80
|
+
|
|
81
|
+
# @see Dodopayments::Models::DunningRecoveredWebhookEvent::Data#status
|
|
82
|
+
module Status
|
|
83
|
+
extend Dodopayments::Internal::Type::Enum
|
|
84
|
+
|
|
85
|
+
RECOVERING = :recovering
|
|
86
|
+
RECOVERED = :recovered
|
|
87
|
+
EXHAUSTED = :exhausted
|
|
88
|
+
|
|
89
|
+
# @!method self.values
|
|
90
|
+
# @return [Array<Symbol>]
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# @see Dodopayments::Models::DunningRecoveredWebhookEvent::Data#trigger_state
|
|
94
|
+
module TriggerState
|
|
95
|
+
extend Dodopayments::Internal::Type::Enum
|
|
96
|
+
|
|
97
|
+
ON_HOLD = :on_hold
|
|
98
|
+
CANCELLED = :cancelled
|
|
99
|
+
|
|
100
|
+
# @!method self.values
|
|
101
|
+
# @return [Array<Symbol>]
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# The event type
|
|
106
|
+
#
|
|
107
|
+
# @see Dodopayments::Models::DunningRecoveredWebhookEvent#type
|
|
108
|
+
module Type
|
|
109
|
+
extend Dodopayments::Internal::Type::Enum
|
|
110
|
+
|
|
111
|
+
DUNNING_RECOVERED = :"dunning.recovered"
|
|
112
|
+
|
|
113
|
+
# @!method self.values
|
|
114
|
+
# @return [Array<Symbol>]
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end
|