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
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
module Payouts
|
|
6
|
+
module Breakup
|
|
7
|
+
class DetailListResponse < Dodopayments::Internal::Type::BaseModel
|
|
8
|
+
OrHash =
|
|
9
|
+
T.type_alias do
|
|
10
|
+
T.any(
|
|
11
|
+
Dodopayments::Models::Payouts::Breakup::DetailListResponse,
|
|
12
|
+
Dodopayments::Internal::AnyHash
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Unique identifier of the balance ledger entry.
|
|
17
|
+
sig { returns(String) }
|
|
18
|
+
attr_accessor :id
|
|
19
|
+
|
|
20
|
+
# Timestamp when this entry was created.
|
|
21
|
+
sig { returns(Time) }
|
|
22
|
+
attr_accessor :created_at
|
|
23
|
+
|
|
24
|
+
# The type of balance ledger event (e.g., "payment", "refund", "dispute",
|
|
25
|
+
# "payment_fees").
|
|
26
|
+
sig { returns(String) }
|
|
27
|
+
attr_accessor :event_type
|
|
28
|
+
|
|
29
|
+
# Original amount in the original currency (in smallest currency unit, e.g.,
|
|
30
|
+
# cents).
|
|
31
|
+
sig { returns(Integer) }
|
|
32
|
+
attr_accessor :original_amount
|
|
33
|
+
|
|
34
|
+
# Original currency as ISO 4217 code (e.g., "USD", "EUR").
|
|
35
|
+
sig { returns(String) }
|
|
36
|
+
attr_accessor :original_currency
|
|
37
|
+
|
|
38
|
+
# Amount in the payout's currency (in smallest currency unit). Uses cumulative
|
|
39
|
+
# rounding to ensure sum matches payout total exactly.
|
|
40
|
+
sig { returns(Integer) }
|
|
41
|
+
attr_accessor :payout_currency_amount
|
|
42
|
+
|
|
43
|
+
# USD equivalent of the original amount (in cents).
|
|
44
|
+
sig { returns(Integer) }
|
|
45
|
+
attr_accessor :usd_equivalent_amount
|
|
46
|
+
|
|
47
|
+
# Human-readable description of the transaction.
|
|
48
|
+
sig { returns(T.nilable(String)) }
|
|
49
|
+
attr_accessor :description
|
|
50
|
+
|
|
51
|
+
# ID of the related object (e.g., payment ID, refund ID) if applicable.
|
|
52
|
+
sig { returns(T.nilable(String)) }
|
|
53
|
+
attr_accessor :reference_object_id
|
|
54
|
+
|
|
55
|
+
# Individual balance ledger entry for a payout, with amounts pro-rated into the
|
|
56
|
+
# payout's currency.
|
|
57
|
+
sig do
|
|
58
|
+
params(
|
|
59
|
+
id: String,
|
|
60
|
+
created_at: Time,
|
|
61
|
+
event_type: String,
|
|
62
|
+
original_amount: Integer,
|
|
63
|
+
original_currency: String,
|
|
64
|
+
payout_currency_amount: Integer,
|
|
65
|
+
usd_equivalent_amount: Integer,
|
|
66
|
+
description: T.nilable(String),
|
|
67
|
+
reference_object_id: T.nilable(String)
|
|
68
|
+
).returns(T.attached_class)
|
|
69
|
+
end
|
|
70
|
+
def self.new(
|
|
71
|
+
# Unique identifier of the balance ledger entry.
|
|
72
|
+
id:,
|
|
73
|
+
# Timestamp when this entry was created.
|
|
74
|
+
created_at:,
|
|
75
|
+
# The type of balance ledger event (e.g., "payment", "refund", "dispute",
|
|
76
|
+
# "payment_fees").
|
|
77
|
+
event_type:,
|
|
78
|
+
# Original amount in the original currency (in smallest currency unit, e.g.,
|
|
79
|
+
# cents).
|
|
80
|
+
original_amount:,
|
|
81
|
+
# Original currency as ISO 4217 code (e.g., "USD", "EUR").
|
|
82
|
+
original_currency:,
|
|
83
|
+
# Amount in the payout's currency (in smallest currency unit). Uses cumulative
|
|
84
|
+
# rounding to ensure sum matches payout total exactly.
|
|
85
|
+
payout_currency_amount:,
|
|
86
|
+
# USD equivalent of the original amount (in cents).
|
|
87
|
+
usd_equivalent_amount:,
|
|
88
|
+
# Human-readable description of the transaction.
|
|
89
|
+
description: nil,
|
|
90
|
+
# ID of the related object (e.g., payment ID, refund ID) if applicable.
|
|
91
|
+
reference_object_id: nil
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
sig do
|
|
96
|
+
override.returns(
|
|
97
|
+
{
|
|
98
|
+
id: String,
|
|
99
|
+
created_at: Time,
|
|
100
|
+
event_type: String,
|
|
101
|
+
original_amount: Integer,
|
|
102
|
+
original_currency: String,
|
|
103
|
+
payout_currency_amount: Integer,
|
|
104
|
+
usd_equivalent_amount: Integer,
|
|
105
|
+
description: T.nilable(String),
|
|
106
|
+
reference_object_id: T.nilable(String)
|
|
107
|
+
}
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
def to_hash
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
module Payouts
|
|
6
|
+
class BreakupRetrieveParams < Dodopayments::Internal::Type::BaseModel
|
|
7
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Dodopayments::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Dodopayments::Payouts::BreakupRetrieveParams,
|
|
14
|
+
Dodopayments::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :payout_id
|
|
20
|
+
|
|
21
|
+
sig do
|
|
22
|
+
params(
|
|
23
|
+
payout_id: String,
|
|
24
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
|
25
|
+
).returns(T.attached_class)
|
|
26
|
+
end
|
|
27
|
+
def self.new(payout_id:, request_options: {})
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
override.returns(
|
|
32
|
+
{ payout_id: String, request_options: Dodopayments::RequestOptions }
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
def to_hash
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
module Payouts
|
|
6
|
+
class BreakupRetrieveResponseItem < Dodopayments::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
Dodopayments::Models::Payouts::BreakupRetrieveResponseItem,
|
|
11
|
+
Dodopayments::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# The type of balance ledger event (e.g., "payment", "refund", "dispute",
|
|
16
|
+
# "payment_fees").
|
|
17
|
+
sig { returns(String) }
|
|
18
|
+
attr_accessor :event_type
|
|
19
|
+
|
|
20
|
+
# Total amount for this event type in the payout's currency (in smallest currency
|
|
21
|
+
# unit, e.g., cents).
|
|
22
|
+
sig { returns(Integer) }
|
|
23
|
+
attr_accessor :total
|
|
24
|
+
|
|
25
|
+
# Payout breakup aggregated by event type, with amounts in the payout's currency.
|
|
26
|
+
sig do
|
|
27
|
+
params(event_type: String, total: Integer).returns(T.attached_class)
|
|
28
|
+
end
|
|
29
|
+
def self.new(
|
|
30
|
+
# The type of balance ledger event (e.g., "payment", "refund", "dispute",
|
|
31
|
+
# "payment_fees").
|
|
32
|
+
event_type:,
|
|
33
|
+
# Total amount for this event type in the payout's currency (in smallest currency
|
|
34
|
+
# unit, e.g., cents).
|
|
35
|
+
total:
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
sig { override.returns({ event_type: String, total: Integer }) }
|
|
40
|
+
def to_hash
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
BreakupRetrieveResponse =
|
|
45
|
+
T.let(
|
|
46
|
+
Dodopayments::Internal::Type::ArrayOf[
|
|
47
|
+
Dodopayments::Models::Payouts::BreakupRetrieveResponseItem
|
|
48
|
+
],
|
|
49
|
+
Dodopayments::Internal::Type::Converter
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -29,6 +29,15 @@ module Dodopayments
|
|
|
29
29
|
sig { returns(T.nilable(T::Boolean)) }
|
|
30
30
|
attr_accessor :cancel_at_next_billing_date
|
|
31
31
|
|
|
32
|
+
sig do
|
|
33
|
+
returns(
|
|
34
|
+
T.nilable(
|
|
35
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::OrSymbol
|
|
36
|
+
)
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
attr_accessor :cancel_reason
|
|
40
|
+
|
|
32
41
|
# Update credit entitlement cart settings
|
|
33
42
|
sig do
|
|
34
43
|
returns(
|
|
@@ -78,6 +87,10 @@ module Dodopayments
|
|
|
78
87
|
subscription_id: String,
|
|
79
88
|
billing: T.nilable(Dodopayments::BillingAddress::OrHash),
|
|
80
89
|
cancel_at_next_billing_date: T.nilable(T::Boolean),
|
|
90
|
+
cancel_reason:
|
|
91
|
+
T.nilable(
|
|
92
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::OrSymbol
|
|
93
|
+
),
|
|
81
94
|
credit_entitlement_cart:
|
|
82
95
|
T.nilable(
|
|
83
96
|
T::Array[
|
|
@@ -101,6 +114,7 @@ module Dodopayments
|
|
|
101
114
|
billing: nil,
|
|
102
115
|
# When set, the subscription will remain active until the end of billing period
|
|
103
116
|
cancel_at_next_billing_date: nil,
|
|
117
|
+
cancel_reason: nil,
|
|
104
118
|
# Update credit entitlement cart settings
|
|
105
119
|
credit_entitlement_cart: nil,
|
|
106
120
|
customer_name: nil,
|
|
@@ -119,6 +133,10 @@ module Dodopayments
|
|
|
119
133
|
subscription_id: String,
|
|
120
134
|
billing: T.nilable(Dodopayments::BillingAddress),
|
|
121
135
|
cancel_at_next_billing_date: T.nilable(T::Boolean),
|
|
136
|
+
cancel_reason:
|
|
137
|
+
T.nilable(
|
|
138
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::OrSymbol
|
|
139
|
+
),
|
|
122
140
|
credit_entitlement_cart:
|
|
123
141
|
T.nilable(
|
|
124
142
|
T::Array[
|
|
@@ -141,6 +159,42 @@ module Dodopayments
|
|
|
141
159
|
def to_hash
|
|
142
160
|
end
|
|
143
161
|
|
|
162
|
+
module CancelReason
|
|
163
|
+
extend Dodopayments::Internal::Type::Enum
|
|
164
|
+
|
|
165
|
+
TaggedSymbol =
|
|
166
|
+
T.type_alias do
|
|
167
|
+
T.all(Symbol, Dodopayments::SubscriptionUpdateParams::CancelReason)
|
|
168
|
+
end
|
|
169
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
170
|
+
|
|
171
|
+
CANCELLED_BY_CUSTOMER =
|
|
172
|
+
T.let(
|
|
173
|
+
:cancelled_by_customer,
|
|
174
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::TaggedSymbol
|
|
175
|
+
)
|
|
176
|
+
CANCELLED_BY_MERCHANT =
|
|
177
|
+
T.let(
|
|
178
|
+
:cancelled_by_merchant,
|
|
179
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::TaggedSymbol
|
|
180
|
+
)
|
|
181
|
+
CANCELLED_BY_MERCHANT_SEND_DUNNING =
|
|
182
|
+
T.let(
|
|
183
|
+
:cancelled_by_merchant_send_dunning,
|
|
184
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::TaggedSymbol
|
|
185
|
+
)
|
|
186
|
+
|
|
187
|
+
sig do
|
|
188
|
+
override.returns(
|
|
189
|
+
T::Array[
|
|
190
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::TaggedSymbol
|
|
191
|
+
]
|
|
192
|
+
)
|
|
193
|
+
end
|
|
194
|
+
def self.values
|
|
195
|
+
end
|
|
196
|
+
end
|
|
197
|
+
|
|
144
198
|
class CreditEntitlementCart < Dodopayments::Internal::Type::BaseModel
|
|
145
199
|
OrHash =
|
|
146
200
|
T.type_alias do
|
|
@@ -8,6 +8,8 @@ module Dodopayments
|
|
|
8
8
|
Variants =
|
|
9
9
|
T.type_alias do
|
|
10
10
|
T.any(
|
|
11
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent,
|
|
12
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent,
|
|
11
13
|
Dodopayments::CreditAddedWebhookEvent,
|
|
12
14
|
Dodopayments::CreditBalanceLowWebhookEvent,
|
|
13
15
|
Dodopayments::CreditDeductedWebhookEvent,
|
|
@@ -23,6 +25,8 @@ module Dodopayments
|
|
|
23
25
|
Dodopayments::DisputeLostWebhookEvent,
|
|
24
26
|
Dodopayments::DisputeOpenedWebhookEvent,
|
|
25
27
|
Dodopayments::DisputeWonWebhookEvent,
|
|
28
|
+
Dodopayments::DunningRecoveredWebhookEvent,
|
|
29
|
+
Dodopayments::DunningStartedWebhookEvent,
|
|
26
30
|
Dodopayments::LicenseKeyCreatedWebhookEvent,
|
|
27
31
|
Dodopayments::PaymentCancelledWebhookEvent,
|
|
28
32
|
Dodopayments::PaymentFailedWebhookEvent,
|
|
@@ -8,6 +8,8 @@ module Dodopayments
|
|
|
8
8
|
Variants =
|
|
9
9
|
T.type_alias do
|
|
10
10
|
T.any(
|
|
11
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent,
|
|
12
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent,
|
|
11
13
|
Dodopayments::CreditAddedWebhookEvent,
|
|
12
14
|
Dodopayments::CreditBalanceLowWebhookEvent,
|
|
13
15
|
Dodopayments::CreditDeductedWebhookEvent,
|
|
@@ -23,6 +25,8 @@ module Dodopayments
|
|
|
23
25
|
Dodopayments::DisputeLostWebhookEvent,
|
|
24
26
|
Dodopayments::DisputeOpenedWebhookEvent,
|
|
25
27
|
Dodopayments::DisputeWonWebhookEvent,
|
|
28
|
+
Dodopayments::DunningRecoveredWebhookEvent,
|
|
29
|
+
Dodopayments::DunningStartedWebhookEvent,
|
|
26
30
|
Dodopayments::LicenseKeyCreatedWebhookEvent,
|
|
27
31
|
Dodopayments::PaymentCancelledWebhookEvent,
|
|
28
32
|
Dodopayments::PaymentFailedWebhookEvent,
|
|
@@ -143,6 +143,27 @@ module Dodopayments
|
|
|
143
143
|
:"credit.balance_low",
|
|
144
144
|
Dodopayments::WebhookEventType::TaggedSymbol
|
|
145
145
|
)
|
|
146
|
+
ABANDONED_CHECKOUT_DETECTED =
|
|
147
|
+
T.let(
|
|
148
|
+
:"abandoned_checkout.detected",
|
|
149
|
+
Dodopayments::WebhookEventType::TaggedSymbol
|
|
150
|
+
)
|
|
151
|
+
ABANDONED_CHECKOUT_RECOVERED =
|
|
152
|
+
T.let(
|
|
153
|
+
:"abandoned_checkout.recovered",
|
|
154
|
+
Dodopayments::WebhookEventType::TaggedSymbol
|
|
155
|
+
)
|
|
156
|
+
DUNNING_STARTED =
|
|
157
|
+
T.let(:"dunning.started", Dodopayments::WebhookEventType::TaggedSymbol)
|
|
158
|
+
DUNNING_RECOVERED =
|
|
159
|
+
T.let(
|
|
160
|
+
:"dunning.recovered",
|
|
161
|
+
Dodopayments::WebhookEventType::TaggedSymbol
|
|
162
|
+
)
|
|
163
|
+
ACR_EMAIL =
|
|
164
|
+
T.let(:"acr.email", Dodopayments::WebhookEventType::TaggedSymbol)
|
|
165
|
+
DUNNING_EMAIL =
|
|
166
|
+
T.let(:"dunning.email", Dodopayments::WebhookEventType::TaggedSymbol)
|
|
146
167
|
|
|
147
168
|
sig do
|
|
148
169
|
override.returns(T::Array[Dodopayments::WebhookEventType::TaggedSymbol])
|