dodopayments 2.4.1 → 2.5.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 +21 -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/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/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/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/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/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/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
|
@@ -167,7 +167,7 @@ module Dodopayments
|
|
|
167
167
|
|
|
168
168
|
# @param payload [String] The raw webhook payload as a string
|
|
169
169
|
#
|
|
170
|
-
# @return [Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
|
|
170
|
+
# @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
|
|
171
171
|
def unsafe_unwrap(payload)
|
|
172
172
|
parsed = JSON.parse(payload, symbolize_names: true)
|
|
173
173
|
Dodopayments::Internal::Type::Converter.coerce(Dodopayments::Models::UnsafeUnwrapWebhookEvent, parsed)
|
|
@@ -179,7 +179,7 @@ module Dodopayments
|
|
|
179
179
|
#
|
|
180
180
|
# @param key [String, nil] The webhook signing key
|
|
181
181
|
#
|
|
182
|
-
# @return [Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
|
|
182
|
+
# @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
|
|
183
183
|
def unwrap(payload, headers:, key: @client.webhook_key)
|
|
184
184
|
if key.nil?
|
|
185
185
|
raise ArgumentError.new("Cannot verify a webhook without a key on either the client's webhook_key or passed in as an argument")
|
data/lib/dodopayments/version.rb
CHANGED
data/lib/dodopayments.rb
CHANGED
|
@@ -63,6 +63,8 @@ require_relative "dodopayments/models/get_dispute"
|
|
|
63
63
|
require_relative "dodopayments/models/refund"
|
|
64
64
|
require_relative "dodopayments/models/subscription"
|
|
65
65
|
require_relative "dodopayments/models/payment"
|
|
66
|
+
require_relative "dodopayments/models/abandoned_checkout_detected_webhook_event"
|
|
67
|
+
require_relative "dodopayments/models/abandoned_checkout_recovered_webhook_event"
|
|
66
68
|
require_relative "dodopayments/models/add_meter_to_price"
|
|
67
69
|
require_relative "dodopayments/models/addon_cart_response_item"
|
|
68
70
|
require_relative "dodopayments/models/addon_create_params"
|
|
@@ -172,6 +174,8 @@ require_relative "dodopayments/models/dispute_retrieve_params"
|
|
|
172
174
|
require_relative "dodopayments/models/dispute_stage"
|
|
173
175
|
require_relative "dodopayments/models/dispute_status"
|
|
174
176
|
require_relative "dodopayments/models/dispute_won_webhook_event"
|
|
177
|
+
require_relative "dodopayments/models/dunning_recovered_webhook_event"
|
|
178
|
+
require_relative "dodopayments/models/dunning_started_webhook_event"
|
|
175
179
|
require_relative "dodopayments/models/event"
|
|
176
180
|
require_relative "dodopayments/models/event_input"
|
|
177
181
|
require_relative "dodopayments/models/filter_operator"
|
|
@@ -223,6 +227,11 @@ require_relative "dodopayments/models/payment_retrieve_params"
|
|
|
223
227
|
require_relative "dodopayments/models/payment_succeeded_webhook_event"
|
|
224
228
|
require_relative "dodopayments/models/payout_list_params"
|
|
225
229
|
require_relative "dodopayments/models/payout_list_response"
|
|
230
|
+
require_relative "dodopayments/models/payouts/breakup/detail_download_csv_params"
|
|
231
|
+
require_relative "dodopayments/models/payouts/breakup/detail_list_params"
|
|
232
|
+
require_relative "dodopayments/models/payouts/breakup/detail_list_response"
|
|
233
|
+
require_relative "dodopayments/models/payouts/breakup_retrieve_params"
|
|
234
|
+
require_relative "dodopayments/models/payouts/breakup_retrieve_response"
|
|
226
235
|
require_relative "dodopayments/models/price"
|
|
227
236
|
require_relative "dodopayments/models/product"
|
|
228
237
|
require_relative "dodopayments/models/product_archive_params"
|
|
@@ -323,6 +332,8 @@ require_relative "dodopayments/resources/meters"
|
|
|
323
332
|
require_relative "dodopayments/resources/misc"
|
|
324
333
|
require_relative "dodopayments/resources/payments"
|
|
325
334
|
require_relative "dodopayments/resources/payouts"
|
|
335
|
+
require_relative "dodopayments/resources/payouts/breakup"
|
|
336
|
+
require_relative "dodopayments/resources/payouts/breakup/details"
|
|
326
337
|
require_relative "dodopayments/resources/products"
|
|
327
338
|
require_relative "dodopayments/resources/products/images"
|
|
328
339
|
require_relative "dodopayments/resources/products/short_links"
|
|
@@ -148,12 +148,20 @@ module Dodopayments
|
|
|
148
148
|
end
|
|
149
149
|
end
|
|
150
150
|
|
|
151
|
+
# https://www.rfc-editor.org/rfc/rfc3986.html#section-3.3
|
|
152
|
+
RFC_3986_NOT_PCHARS = T.let(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/, Regexp)
|
|
153
|
+
|
|
151
154
|
class << self
|
|
152
155
|
# @api private
|
|
153
156
|
sig { params(uri: URI::Generic).returns(String) }
|
|
154
157
|
def uri_origin(uri)
|
|
155
158
|
end
|
|
156
159
|
|
|
160
|
+
# @api private
|
|
161
|
+
sig { params(path: T.any(String, Integer)).returns(String) }
|
|
162
|
+
def encode_path(path)
|
|
163
|
+
end
|
|
164
|
+
|
|
157
165
|
# @api private
|
|
158
166
|
sig { params(path: T.any(String, T::Array[String])).returns(String) }
|
|
159
167
|
def interpolate_path(path)
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class AbandonedCheckoutDetectedWebhookEvent < Dodopayments::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent,
|
|
10
|
+
Dodopayments::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The business identifier
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :business_id
|
|
17
|
+
|
|
18
|
+
# Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered
|
|
19
|
+
# events
|
|
20
|
+
sig { returns(Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data) }
|
|
21
|
+
attr_reader :data
|
|
22
|
+
|
|
23
|
+
sig do
|
|
24
|
+
params(
|
|
25
|
+
data:
|
|
26
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::OrHash
|
|
27
|
+
).void
|
|
28
|
+
end
|
|
29
|
+
attr_writer :data
|
|
30
|
+
|
|
31
|
+
# The timestamp of when the event occurred
|
|
32
|
+
sig { returns(Time) }
|
|
33
|
+
attr_accessor :timestamp
|
|
34
|
+
|
|
35
|
+
# The event type
|
|
36
|
+
sig do
|
|
37
|
+
returns(
|
|
38
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Type::TaggedSymbol
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
attr_accessor :type
|
|
42
|
+
|
|
43
|
+
sig do
|
|
44
|
+
params(
|
|
45
|
+
business_id: String,
|
|
46
|
+
data:
|
|
47
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::OrHash,
|
|
48
|
+
timestamp: Time,
|
|
49
|
+
type:
|
|
50
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Type::OrSymbol
|
|
51
|
+
).returns(T.attached_class)
|
|
52
|
+
end
|
|
53
|
+
def self.new(
|
|
54
|
+
# The business identifier
|
|
55
|
+
business_id:,
|
|
56
|
+
# Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered
|
|
57
|
+
# events
|
|
58
|
+
data:,
|
|
59
|
+
# The timestamp of when the event occurred
|
|
60
|
+
timestamp:,
|
|
61
|
+
# The event type
|
|
62
|
+
type:
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
sig do
|
|
67
|
+
override.returns(
|
|
68
|
+
{
|
|
69
|
+
business_id: String,
|
|
70
|
+
data: Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data,
|
|
71
|
+
timestamp: Time,
|
|
72
|
+
type:
|
|
73
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Type::TaggedSymbol
|
|
74
|
+
}
|
|
75
|
+
)
|
|
76
|
+
end
|
|
77
|
+
def to_hash
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
class Data < Dodopayments::Internal::Type::BaseModel
|
|
81
|
+
OrHash =
|
|
82
|
+
T.type_alias do
|
|
83
|
+
T.any(
|
|
84
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data,
|
|
85
|
+
Dodopayments::Internal::AnyHash
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
sig { returns(Time) }
|
|
90
|
+
attr_accessor :abandoned_at
|
|
91
|
+
|
|
92
|
+
sig do
|
|
93
|
+
returns(
|
|
94
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::AbandonmentReason::TaggedSymbol
|
|
95
|
+
)
|
|
96
|
+
end
|
|
97
|
+
attr_accessor :abandonment_reason
|
|
98
|
+
|
|
99
|
+
sig { returns(String) }
|
|
100
|
+
attr_accessor :customer_id
|
|
101
|
+
|
|
102
|
+
sig { returns(String) }
|
|
103
|
+
attr_accessor :payment_id
|
|
104
|
+
|
|
105
|
+
sig do
|
|
106
|
+
returns(
|
|
107
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::Status::TaggedSymbol
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
attr_accessor :status
|
|
111
|
+
|
|
112
|
+
sig { returns(T.nilable(String)) }
|
|
113
|
+
attr_accessor :recovered_payment_id
|
|
114
|
+
|
|
115
|
+
# Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered
|
|
116
|
+
# events
|
|
117
|
+
sig do
|
|
118
|
+
params(
|
|
119
|
+
abandoned_at: Time,
|
|
120
|
+
abandonment_reason:
|
|
121
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::AbandonmentReason::OrSymbol,
|
|
122
|
+
customer_id: String,
|
|
123
|
+
payment_id: String,
|
|
124
|
+
status:
|
|
125
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::Status::OrSymbol,
|
|
126
|
+
recovered_payment_id: T.nilable(String)
|
|
127
|
+
).returns(T.attached_class)
|
|
128
|
+
end
|
|
129
|
+
def self.new(
|
|
130
|
+
abandoned_at:,
|
|
131
|
+
abandonment_reason:,
|
|
132
|
+
customer_id:,
|
|
133
|
+
payment_id:,
|
|
134
|
+
status:,
|
|
135
|
+
recovered_payment_id: nil
|
|
136
|
+
)
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
sig do
|
|
140
|
+
override.returns(
|
|
141
|
+
{
|
|
142
|
+
abandoned_at: Time,
|
|
143
|
+
abandonment_reason:
|
|
144
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::AbandonmentReason::TaggedSymbol,
|
|
145
|
+
customer_id: String,
|
|
146
|
+
payment_id: String,
|
|
147
|
+
status:
|
|
148
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::Status::TaggedSymbol,
|
|
149
|
+
recovered_payment_id: T.nilable(String)
|
|
150
|
+
}
|
|
151
|
+
)
|
|
152
|
+
end
|
|
153
|
+
def to_hash
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
module AbandonmentReason
|
|
157
|
+
extend Dodopayments::Internal::Type::Enum
|
|
158
|
+
|
|
159
|
+
TaggedSymbol =
|
|
160
|
+
T.type_alias do
|
|
161
|
+
T.all(
|
|
162
|
+
Symbol,
|
|
163
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::AbandonmentReason
|
|
164
|
+
)
|
|
165
|
+
end
|
|
166
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
167
|
+
|
|
168
|
+
PAYMENT_FAILED =
|
|
169
|
+
T.let(
|
|
170
|
+
:payment_failed,
|
|
171
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::AbandonmentReason::TaggedSymbol
|
|
172
|
+
)
|
|
173
|
+
CHECKOUT_INCOMPLETE =
|
|
174
|
+
T.let(
|
|
175
|
+
:checkout_incomplete,
|
|
176
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::AbandonmentReason::TaggedSymbol
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
sig do
|
|
180
|
+
override.returns(
|
|
181
|
+
T::Array[
|
|
182
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::AbandonmentReason::TaggedSymbol
|
|
183
|
+
]
|
|
184
|
+
)
|
|
185
|
+
end
|
|
186
|
+
def self.values
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
module Status
|
|
191
|
+
extend Dodopayments::Internal::Type::Enum
|
|
192
|
+
|
|
193
|
+
TaggedSymbol =
|
|
194
|
+
T.type_alias do
|
|
195
|
+
T.all(
|
|
196
|
+
Symbol,
|
|
197
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::Status
|
|
198
|
+
)
|
|
199
|
+
end
|
|
200
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
201
|
+
|
|
202
|
+
ABANDONED =
|
|
203
|
+
T.let(
|
|
204
|
+
:abandoned,
|
|
205
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::Status::TaggedSymbol
|
|
206
|
+
)
|
|
207
|
+
RECOVERING =
|
|
208
|
+
T.let(
|
|
209
|
+
:recovering,
|
|
210
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::Status::TaggedSymbol
|
|
211
|
+
)
|
|
212
|
+
RECOVERED =
|
|
213
|
+
T.let(
|
|
214
|
+
:recovered,
|
|
215
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::Status::TaggedSymbol
|
|
216
|
+
)
|
|
217
|
+
EXHAUSTED =
|
|
218
|
+
T.let(
|
|
219
|
+
:exhausted,
|
|
220
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::Status::TaggedSymbol
|
|
221
|
+
)
|
|
222
|
+
OPTED_OUT =
|
|
223
|
+
T.let(
|
|
224
|
+
:opted_out,
|
|
225
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::Status::TaggedSymbol
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
sig do
|
|
229
|
+
override.returns(
|
|
230
|
+
T::Array[
|
|
231
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Data::Status::TaggedSymbol
|
|
232
|
+
]
|
|
233
|
+
)
|
|
234
|
+
end
|
|
235
|
+
def self.values
|
|
236
|
+
end
|
|
237
|
+
end
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
# The event type
|
|
241
|
+
module Type
|
|
242
|
+
extend Dodopayments::Internal::Type::Enum
|
|
243
|
+
|
|
244
|
+
TaggedSymbol =
|
|
245
|
+
T.type_alias do
|
|
246
|
+
T.all(
|
|
247
|
+
Symbol,
|
|
248
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Type
|
|
249
|
+
)
|
|
250
|
+
end
|
|
251
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
252
|
+
|
|
253
|
+
ABANDONED_CHECKOUT_DETECTED =
|
|
254
|
+
T.let(
|
|
255
|
+
:"abandoned_checkout.detected",
|
|
256
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Type::TaggedSymbol
|
|
257
|
+
)
|
|
258
|
+
|
|
259
|
+
sig do
|
|
260
|
+
override.returns(
|
|
261
|
+
T::Array[
|
|
262
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent::Type::TaggedSymbol
|
|
263
|
+
]
|
|
264
|
+
)
|
|
265
|
+
end
|
|
266
|
+
def self.values
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
end
|
|
270
|
+
end
|
|
271
|
+
end
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class AbandonedCheckoutRecoveredWebhookEvent < Dodopayments::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent,
|
|
10
|
+
Dodopayments::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The business identifier
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :business_id
|
|
17
|
+
|
|
18
|
+
# Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered
|
|
19
|
+
# events
|
|
20
|
+
sig do
|
|
21
|
+
returns(Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data)
|
|
22
|
+
end
|
|
23
|
+
attr_reader :data
|
|
24
|
+
|
|
25
|
+
sig do
|
|
26
|
+
params(
|
|
27
|
+
data:
|
|
28
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::OrHash
|
|
29
|
+
).void
|
|
30
|
+
end
|
|
31
|
+
attr_writer :data
|
|
32
|
+
|
|
33
|
+
# The timestamp of when the event occurred
|
|
34
|
+
sig { returns(Time) }
|
|
35
|
+
attr_accessor :timestamp
|
|
36
|
+
|
|
37
|
+
# The event type
|
|
38
|
+
sig do
|
|
39
|
+
returns(
|
|
40
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Type::TaggedSymbol
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
attr_accessor :type
|
|
44
|
+
|
|
45
|
+
sig do
|
|
46
|
+
params(
|
|
47
|
+
business_id: String,
|
|
48
|
+
data:
|
|
49
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::OrHash,
|
|
50
|
+
timestamp: Time,
|
|
51
|
+
type:
|
|
52
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Type::OrSymbol
|
|
53
|
+
).returns(T.attached_class)
|
|
54
|
+
end
|
|
55
|
+
def self.new(
|
|
56
|
+
# The business identifier
|
|
57
|
+
business_id:,
|
|
58
|
+
# Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered
|
|
59
|
+
# events
|
|
60
|
+
data:,
|
|
61
|
+
# The timestamp of when the event occurred
|
|
62
|
+
timestamp:,
|
|
63
|
+
# The event type
|
|
64
|
+
type:
|
|
65
|
+
)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
sig do
|
|
69
|
+
override.returns(
|
|
70
|
+
{
|
|
71
|
+
business_id: String,
|
|
72
|
+
data: Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data,
|
|
73
|
+
timestamp: Time,
|
|
74
|
+
type:
|
|
75
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Type::TaggedSymbol
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
def to_hash
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
class Data < Dodopayments::Internal::Type::BaseModel
|
|
83
|
+
OrHash =
|
|
84
|
+
T.type_alias do
|
|
85
|
+
T.any(
|
|
86
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data,
|
|
87
|
+
Dodopayments::Internal::AnyHash
|
|
88
|
+
)
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
sig { returns(Time) }
|
|
92
|
+
attr_accessor :abandoned_at
|
|
93
|
+
|
|
94
|
+
sig do
|
|
95
|
+
returns(
|
|
96
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::AbandonmentReason::TaggedSymbol
|
|
97
|
+
)
|
|
98
|
+
end
|
|
99
|
+
attr_accessor :abandonment_reason
|
|
100
|
+
|
|
101
|
+
sig { returns(String) }
|
|
102
|
+
attr_accessor :customer_id
|
|
103
|
+
|
|
104
|
+
sig { returns(String) }
|
|
105
|
+
attr_accessor :payment_id
|
|
106
|
+
|
|
107
|
+
sig do
|
|
108
|
+
returns(
|
|
109
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::Status::TaggedSymbol
|
|
110
|
+
)
|
|
111
|
+
end
|
|
112
|
+
attr_accessor :status
|
|
113
|
+
|
|
114
|
+
sig { returns(T.nilable(String)) }
|
|
115
|
+
attr_accessor :recovered_payment_id
|
|
116
|
+
|
|
117
|
+
# Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered
|
|
118
|
+
# events
|
|
119
|
+
sig do
|
|
120
|
+
params(
|
|
121
|
+
abandoned_at: Time,
|
|
122
|
+
abandonment_reason:
|
|
123
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::AbandonmentReason::OrSymbol,
|
|
124
|
+
customer_id: String,
|
|
125
|
+
payment_id: String,
|
|
126
|
+
status:
|
|
127
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::Status::OrSymbol,
|
|
128
|
+
recovered_payment_id: T.nilable(String)
|
|
129
|
+
).returns(T.attached_class)
|
|
130
|
+
end
|
|
131
|
+
def self.new(
|
|
132
|
+
abandoned_at:,
|
|
133
|
+
abandonment_reason:,
|
|
134
|
+
customer_id:,
|
|
135
|
+
payment_id:,
|
|
136
|
+
status:,
|
|
137
|
+
recovered_payment_id: nil
|
|
138
|
+
)
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
sig do
|
|
142
|
+
override.returns(
|
|
143
|
+
{
|
|
144
|
+
abandoned_at: Time,
|
|
145
|
+
abandonment_reason:
|
|
146
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::AbandonmentReason::TaggedSymbol,
|
|
147
|
+
customer_id: String,
|
|
148
|
+
payment_id: String,
|
|
149
|
+
status:
|
|
150
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::Status::TaggedSymbol,
|
|
151
|
+
recovered_payment_id: T.nilable(String)
|
|
152
|
+
}
|
|
153
|
+
)
|
|
154
|
+
end
|
|
155
|
+
def to_hash
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
module AbandonmentReason
|
|
159
|
+
extend Dodopayments::Internal::Type::Enum
|
|
160
|
+
|
|
161
|
+
TaggedSymbol =
|
|
162
|
+
T.type_alias do
|
|
163
|
+
T.all(
|
|
164
|
+
Symbol,
|
|
165
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::AbandonmentReason
|
|
166
|
+
)
|
|
167
|
+
end
|
|
168
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
169
|
+
|
|
170
|
+
PAYMENT_FAILED =
|
|
171
|
+
T.let(
|
|
172
|
+
:payment_failed,
|
|
173
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::AbandonmentReason::TaggedSymbol
|
|
174
|
+
)
|
|
175
|
+
CHECKOUT_INCOMPLETE =
|
|
176
|
+
T.let(
|
|
177
|
+
:checkout_incomplete,
|
|
178
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::AbandonmentReason::TaggedSymbol
|
|
179
|
+
)
|
|
180
|
+
|
|
181
|
+
sig do
|
|
182
|
+
override.returns(
|
|
183
|
+
T::Array[
|
|
184
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::AbandonmentReason::TaggedSymbol
|
|
185
|
+
]
|
|
186
|
+
)
|
|
187
|
+
end
|
|
188
|
+
def self.values
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
module Status
|
|
193
|
+
extend Dodopayments::Internal::Type::Enum
|
|
194
|
+
|
|
195
|
+
TaggedSymbol =
|
|
196
|
+
T.type_alias do
|
|
197
|
+
T.all(
|
|
198
|
+
Symbol,
|
|
199
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::Status
|
|
200
|
+
)
|
|
201
|
+
end
|
|
202
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
203
|
+
|
|
204
|
+
ABANDONED =
|
|
205
|
+
T.let(
|
|
206
|
+
:abandoned,
|
|
207
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::Status::TaggedSymbol
|
|
208
|
+
)
|
|
209
|
+
RECOVERING =
|
|
210
|
+
T.let(
|
|
211
|
+
:recovering,
|
|
212
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::Status::TaggedSymbol
|
|
213
|
+
)
|
|
214
|
+
RECOVERED =
|
|
215
|
+
T.let(
|
|
216
|
+
:recovered,
|
|
217
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::Status::TaggedSymbol
|
|
218
|
+
)
|
|
219
|
+
EXHAUSTED =
|
|
220
|
+
T.let(
|
|
221
|
+
:exhausted,
|
|
222
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::Status::TaggedSymbol
|
|
223
|
+
)
|
|
224
|
+
OPTED_OUT =
|
|
225
|
+
T.let(
|
|
226
|
+
:opted_out,
|
|
227
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::Status::TaggedSymbol
|
|
228
|
+
)
|
|
229
|
+
|
|
230
|
+
sig do
|
|
231
|
+
override.returns(
|
|
232
|
+
T::Array[
|
|
233
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Data::Status::TaggedSymbol
|
|
234
|
+
]
|
|
235
|
+
)
|
|
236
|
+
end
|
|
237
|
+
def self.values
|
|
238
|
+
end
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# The event type
|
|
243
|
+
module Type
|
|
244
|
+
extend Dodopayments::Internal::Type::Enum
|
|
245
|
+
|
|
246
|
+
TaggedSymbol =
|
|
247
|
+
T.type_alias do
|
|
248
|
+
T.all(
|
|
249
|
+
Symbol,
|
|
250
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Type
|
|
251
|
+
)
|
|
252
|
+
end
|
|
253
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
254
|
+
|
|
255
|
+
ABANDONED_CHECKOUT_RECOVERED =
|
|
256
|
+
T.let(
|
|
257
|
+
:"abandoned_checkout.recovered",
|
|
258
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Type::TaggedSymbol
|
|
259
|
+
)
|
|
260
|
+
|
|
261
|
+
sig do
|
|
262
|
+
override.returns(
|
|
263
|
+
T::Array[
|
|
264
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent::Type::TaggedSymbol
|
|
265
|
+
]
|
|
266
|
+
)
|
|
267
|
+
end
|
|
268
|
+
def self.values
|
|
269
|
+
end
|
|
270
|
+
end
|
|
271
|
+
end
|
|
272
|
+
end
|
|
273
|
+
end
|
|
@@ -197,6 +197,16 @@ module Dodopayments
|
|
|
197
197
|
:currency_conversion,
|
|
198
198
|
Dodopayments::BalanceLedgerEntry::EventType::TaggedSymbol
|
|
199
199
|
)
|
|
200
|
+
ABANDONED_CART_RECOVERY_FEE =
|
|
201
|
+
T.let(
|
|
202
|
+
:abandoned_cart_recovery_fee,
|
|
203
|
+
Dodopayments::BalanceLedgerEntry::EventType::TaggedSymbol
|
|
204
|
+
)
|
|
205
|
+
DUNNING_FEES =
|
|
206
|
+
T.let(
|
|
207
|
+
:dunning_fees,
|
|
208
|
+
Dodopayments::BalanceLedgerEntry::EventType::TaggedSymbol
|
|
209
|
+
)
|
|
200
210
|
|
|
201
211
|
sig do
|
|
202
212
|
override.returns(
|
|
@@ -995,6 +995,16 @@ module Dodopayments
|
|
|
995
995
|
:currency_conversion,
|
|
996
996
|
Dodopayments::BalanceRetrieveLedgerParams::EventType::TaggedSymbol
|
|
997
997
|
)
|
|
998
|
+
ABANDONED_CART_RECOVERY_FEE =
|
|
999
|
+
T.let(
|
|
1000
|
+
:abandoned_cart_recovery_fee,
|
|
1001
|
+
Dodopayments::BalanceRetrieveLedgerParams::EventType::TaggedSymbol
|
|
1002
|
+
)
|
|
1003
|
+
DUNNING_FEES =
|
|
1004
|
+
T.let(
|
|
1005
|
+
:dunning_fees,
|
|
1006
|
+
Dodopayments::BalanceRetrieveLedgerParams::EventType::TaggedSymbol
|
|
1007
|
+
)
|
|
998
1008
|
|
|
999
1009
|
sig do
|
|
1000
1010
|
override.returns(
|