dodopayments 1.55.8 → 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 (91) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/client.rb +4 -4
  5. data/lib/dodopayments/internal/type/union.rb +9 -7
  6. data/lib/dodopayments/models/dispute_accepted_webhook_event.rb +76 -0
  7. data/lib/dodopayments/models/dispute_cancelled_webhook_event.rb +76 -0
  8. data/lib/dodopayments/models/dispute_challenged_webhook_event.rb +76 -0
  9. data/lib/dodopayments/models/dispute_expired_webhook_event.rb +76 -0
  10. data/lib/dodopayments/models/dispute_lost_webhook_event.rb +76 -0
  11. data/lib/dodopayments/models/dispute_opened_webhook_event.rb +76 -0
  12. data/lib/dodopayments/models/dispute_won_webhook_event.rb +76 -0
  13. data/lib/dodopayments/models/license_key_created_webhook_event.rb +76 -0
  14. data/lib/dodopayments/models/payment_cancelled_webhook_event.rb +76 -0
  15. data/lib/dodopayments/models/payment_failed_webhook_event.rb +76 -0
  16. data/lib/dodopayments/models/payment_processing_webhook_event.rb +76 -0
  17. data/lib/dodopayments/models/payment_succeeded_webhook_event.rb +76 -0
  18. data/lib/dodopayments/models/refund_failed_webhook_event.rb +76 -0
  19. data/lib/dodopayments/models/refund_succeeded_webhook_event.rb +76 -0
  20. data/lib/dodopayments/models/subscription_active_webhook_event.rb +76 -0
  21. data/lib/dodopayments/models/subscription_cancelled_webhook_event.rb +76 -0
  22. data/lib/dodopayments/models/subscription_expired_webhook_event.rb +76 -0
  23. data/lib/dodopayments/models/subscription_failed_webhook_event.rb +76 -0
  24. data/lib/dodopayments/models/subscription_on_hold_webhook_event.rb +76 -0
  25. data/lib/dodopayments/models/subscription_plan_changed_webhook_event.rb +76 -0
  26. data/lib/dodopayments/models/subscription_renewed_webhook_event.rb +76 -0
  27. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +54 -0
  28. data/lib/dodopayments/models/unwrap_webhook_event.rb +54 -0
  29. data/lib/dodopayments/models/webhook_unsafe_unwrap_params.rb +14 -0
  30. data/lib/dodopayments/models/webhook_unwrap_params.rb +14 -0
  31. data/lib/dodopayments/models.rb +50 -0
  32. data/lib/dodopayments/resources/webhooks.rb +16 -0
  33. data/lib/dodopayments/version.rb +1 -1
  34. data/lib/dodopayments.rb +49 -3
  35. data/rbi/dodopayments/client.rbi +3 -3
  36. data/rbi/dodopayments/models/dispute_accepted_webhook_event.rbi +182 -0
  37. data/rbi/dodopayments/models/dispute_cancelled_webhook_event.rbi +182 -0
  38. data/rbi/dodopayments/models/dispute_challenged_webhook_event.rbi +183 -0
  39. data/rbi/dodopayments/models/dispute_expired_webhook_event.rbi +182 -0
  40. data/rbi/dodopayments/models/dispute_lost_webhook_event.rbi +176 -0
  41. data/rbi/dodopayments/models/dispute_opened_webhook_event.rbi +180 -0
  42. data/rbi/dodopayments/models/dispute_won_webhook_event.rbi +176 -0
  43. data/rbi/dodopayments/models/license_key_created_webhook_event.rbi +183 -0
  44. data/rbi/dodopayments/models/payment_cancelled_webhook_event.rbi +182 -0
  45. data/rbi/dodopayments/models/payment_failed_webhook_event.rbi +180 -0
  46. data/rbi/dodopayments/models/payment_processing_webhook_event.rbi +183 -0
  47. data/rbi/dodopayments/models/payment_succeeded_webhook_event.rbi +182 -0
  48. data/rbi/dodopayments/models/refund_failed_webhook_event.rbi +178 -0
  49. data/rbi/dodopayments/models/refund_succeeded_webhook_event.rbi +182 -0
  50. data/rbi/dodopayments/models/subscription_active_webhook_event.rbi +185 -0
  51. data/rbi/dodopayments/models/subscription_cancelled_webhook_event.rbi +185 -0
  52. data/rbi/dodopayments/models/subscription_expired_webhook_event.rbi +185 -0
  53. data/rbi/dodopayments/models/subscription_failed_webhook_event.rbi +185 -0
  54. data/rbi/dodopayments/models/subscription_on_hold_webhook_event.rbi +185 -0
  55. data/rbi/dodopayments/models/subscription_plan_changed_webhook_event.rbi +189 -0
  56. data/rbi/dodopayments/models/subscription_renewed_webhook_event.rbi +185 -0
  57. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +44 -0
  58. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +42 -0
  59. data/rbi/dodopayments/models/webhook_unsafe_unwrap_params.rbi +32 -0
  60. data/rbi/dodopayments/models/webhook_unwrap_params.rbi +32 -0
  61. data/rbi/dodopayments/models.rbi +65 -0
  62. data/rbi/dodopayments/resources/webhooks.rbi +66 -0
  63. data/sig/dodopayments/client.rbs +2 -2
  64. data/sig/dodopayments/models/dispute_accepted_webhook_event.rbs +76 -0
  65. data/sig/dodopayments/models/dispute_cancelled_webhook_event.rbs +76 -0
  66. data/sig/dodopayments/models/dispute_challenged_webhook_event.rbs +76 -0
  67. data/sig/dodopayments/models/dispute_expired_webhook_event.rbs +76 -0
  68. data/sig/dodopayments/models/dispute_lost_webhook_event.rbs +76 -0
  69. data/sig/dodopayments/models/dispute_opened_webhook_event.rbs +76 -0
  70. data/sig/dodopayments/models/dispute_won_webhook_event.rbs +76 -0
  71. data/sig/dodopayments/models/license_key_created_webhook_event.rbs +76 -0
  72. data/sig/dodopayments/models/payment_cancelled_webhook_event.rbs +76 -0
  73. data/sig/dodopayments/models/payment_failed_webhook_event.rbs +76 -0
  74. data/sig/dodopayments/models/payment_processing_webhook_event.rbs +76 -0
  75. data/sig/dodopayments/models/payment_succeeded_webhook_event.rbs +76 -0
  76. data/sig/dodopayments/models/refund_failed_webhook_event.rbs +76 -0
  77. data/sig/dodopayments/models/refund_succeeded_webhook_event.rbs +76 -0
  78. data/sig/dodopayments/models/subscription_active_webhook_event.rbs +76 -0
  79. data/sig/dodopayments/models/subscription_cancelled_webhook_event.rbs +76 -0
  80. data/sig/dodopayments/models/subscription_expired_webhook_event.rbs +76 -0
  81. data/sig/dodopayments/models/subscription_failed_webhook_event.rbs +76 -0
  82. data/sig/dodopayments/models/subscription_on_hold_webhook_event.rbs +76 -0
  83. data/sig/dodopayments/models/subscription_plan_changed_webhook_event.rbs +76 -0
  84. data/sig/dodopayments/models/subscription_renewed_webhook_event.rbs +76 -0
  85. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +32 -0
  86. data/sig/dodopayments/models/unwrap_webhook_event.rbs +32 -0
  87. data/sig/dodopayments/models/webhook_unsafe_unwrap_params.rbs +15 -0
  88. data/sig/dodopayments/models/webhook_unwrap_params.rbs +15 -0
  89. data/sig/dodopayments/models.rbs +50 -0
  90. data/sig/dodopayments/resources/webhooks.rbs +48 -0
  91. metadata +77 -2
@@ -0,0 +1,183 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class LicenseKeyCreatedWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::LicenseKeyCreatedWebhookEvent,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The business identifier
15
+ sig { returns(String) }
16
+ attr_accessor :business_id
17
+
18
+ # Event-specific data
19
+ sig { returns(Dodopayments::LicenseKeyCreatedWebhookEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(
24
+ data: Dodopayments::LicenseKeyCreatedWebhookEvent::Data::OrHash
25
+ ).void
26
+ end
27
+ attr_writer :data
28
+
29
+ # The timestamp of when the event occurred
30
+ sig { returns(Time) }
31
+ attr_accessor :timestamp
32
+
33
+ # The event type
34
+ sig do
35
+ returns(Dodopayments::LicenseKeyCreatedWebhookEvent::Type::TaggedSymbol)
36
+ end
37
+ attr_accessor :type
38
+
39
+ sig do
40
+ params(
41
+ business_id: String,
42
+ data: Dodopayments::LicenseKeyCreatedWebhookEvent::Data::OrHash,
43
+ timestamp: Time,
44
+ type: Dodopayments::LicenseKeyCreatedWebhookEvent::Type::OrSymbol
45
+ ).returns(T.attached_class)
46
+ end
47
+ def self.new(
48
+ # The business identifier
49
+ business_id:,
50
+ # Event-specific data
51
+ data:,
52
+ # The timestamp of when the event occurred
53
+ timestamp:,
54
+ # The event type
55
+ type:
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ business_id: String,
63
+ data: Dodopayments::LicenseKeyCreatedWebhookEvent::Data,
64
+ timestamp: Time,
65
+ type:
66
+ Dodopayments::LicenseKeyCreatedWebhookEvent::Type::TaggedSymbol
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+
73
+ class Data < Dodopayments::Models::LicenseKey
74
+ OrHash =
75
+ T.type_alias do
76
+ T.any(
77
+ Dodopayments::LicenseKeyCreatedWebhookEvent::Data,
78
+ Dodopayments::Internal::AnyHash
79
+ )
80
+ end
81
+
82
+ # The type of payload in the data field
83
+ sig do
84
+ returns(
85
+ T.nilable(
86
+ Dodopayments::LicenseKeyCreatedWebhookEvent::Data::PayloadType::TaggedSymbol
87
+ )
88
+ )
89
+ end
90
+ attr_reader :payload_type
91
+
92
+ sig do
93
+ params(
94
+ payload_type:
95
+ Dodopayments::LicenseKeyCreatedWebhookEvent::Data::PayloadType::OrSymbol
96
+ ).void
97
+ end
98
+ attr_writer :payload_type
99
+
100
+ # Event-specific data
101
+ sig do
102
+ params(
103
+ payload_type:
104
+ Dodopayments::LicenseKeyCreatedWebhookEvent::Data::PayloadType::OrSymbol
105
+ ).returns(T.attached_class)
106
+ end
107
+ def self.new(
108
+ # The type of payload in the data field
109
+ payload_type: nil
110
+ )
111
+ end
112
+
113
+ sig do
114
+ override.returns(
115
+ {
116
+ payload_type:
117
+ Dodopayments::LicenseKeyCreatedWebhookEvent::Data::PayloadType::TaggedSymbol
118
+ }
119
+ )
120
+ end
121
+ def to_hash
122
+ end
123
+
124
+ # The type of payload in the data field
125
+ module PayloadType
126
+ extend Dodopayments::Internal::Type::Enum
127
+
128
+ TaggedSymbol =
129
+ T.type_alias do
130
+ T.all(
131
+ Symbol,
132
+ Dodopayments::LicenseKeyCreatedWebhookEvent::Data::PayloadType
133
+ )
134
+ end
135
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
136
+
137
+ LICENSE_KEY =
138
+ T.let(
139
+ :LicenseKey,
140
+ Dodopayments::LicenseKeyCreatedWebhookEvent::Data::PayloadType::TaggedSymbol
141
+ )
142
+
143
+ sig do
144
+ override.returns(
145
+ T::Array[
146
+ Dodopayments::LicenseKeyCreatedWebhookEvent::Data::PayloadType::TaggedSymbol
147
+ ]
148
+ )
149
+ end
150
+ def self.values
151
+ end
152
+ end
153
+ end
154
+
155
+ # The event type
156
+ module Type
157
+ extend Dodopayments::Internal::Type::Enum
158
+
159
+ TaggedSymbol =
160
+ T.type_alias do
161
+ T.all(Symbol, Dodopayments::LicenseKeyCreatedWebhookEvent::Type)
162
+ end
163
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
164
+
165
+ LICENSE_KEY_CREATED =
166
+ T.let(
167
+ :"license_key.created",
168
+ Dodopayments::LicenseKeyCreatedWebhookEvent::Type::TaggedSymbol
169
+ )
170
+
171
+ sig do
172
+ override.returns(
173
+ T::Array[
174
+ Dodopayments::LicenseKeyCreatedWebhookEvent::Type::TaggedSymbol
175
+ ]
176
+ )
177
+ end
178
+ def self.values
179
+ end
180
+ end
181
+ end
182
+ end
183
+ end
@@ -0,0 +1,182 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class PaymentCancelledWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::PaymentCancelledWebhookEvent,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The business identifier
15
+ sig { returns(String) }
16
+ attr_accessor :business_id
17
+
18
+ # Event-specific data
19
+ sig { returns(Dodopayments::PaymentCancelledWebhookEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(
24
+ data: Dodopayments::PaymentCancelledWebhookEvent::Data::OrHash
25
+ ).void
26
+ end
27
+ attr_writer :data
28
+
29
+ # The timestamp of when the event occurred
30
+ sig { returns(Time) }
31
+ attr_accessor :timestamp
32
+
33
+ # The event type
34
+ sig do
35
+ returns(Dodopayments::PaymentCancelledWebhookEvent::Type::TaggedSymbol)
36
+ end
37
+ attr_accessor :type
38
+
39
+ sig do
40
+ params(
41
+ business_id: String,
42
+ data: Dodopayments::PaymentCancelledWebhookEvent::Data::OrHash,
43
+ timestamp: Time,
44
+ type: Dodopayments::PaymentCancelledWebhookEvent::Type::OrSymbol
45
+ ).returns(T.attached_class)
46
+ end
47
+ def self.new(
48
+ # The business identifier
49
+ business_id:,
50
+ # Event-specific data
51
+ data:,
52
+ # The timestamp of when the event occurred
53
+ timestamp:,
54
+ # The event type
55
+ type:
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ business_id: String,
63
+ data: Dodopayments::PaymentCancelledWebhookEvent::Data,
64
+ timestamp: Time,
65
+ type: Dodopayments::PaymentCancelledWebhookEvent::Type::TaggedSymbol
66
+ }
67
+ )
68
+ end
69
+ def to_hash
70
+ end
71
+
72
+ class Data < Dodopayments::Models::Payment
73
+ OrHash =
74
+ T.type_alias do
75
+ T.any(
76
+ Dodopayments::PaymentCancelledWebhookEvent::Data,
77
+ Dodopayments::Internal::AnyHash
78
+ )
79
+ end
80
+
81
+ # The type of payload in the data field
82
+ sig do
83
+ returns(
84
+ T.nilable(
85
+ Dodopayments::PaymentCancelledWebhookEvent::Data::PayloadType::TaggedSymbol
86
+ )
87
+ )
88
+ end
89
+ attr_reader :payload_type
90
+
91
+ sig do
92
+ params(
93
+ payload_type:
94
+ Dodopayments::PaymentCancelledWebhookEvent::Data::PayloadType::OrSymbol
95
+ ).void
96
+ end
97
+ attr_writer :payload_type
98
+
99
+ # Event-specific data
100
+ sig do
101
+ params(
102
+ payload_type:
103
+ Dodopayments::PaymentCancelledWebhookEvent::Data::PayloadType::OrSymbol
104
+ ).returns(T.attached_class)
105
+ end
106
+ def self.new(
107
+ # The type of payload in the data field
108
+ payload_type: nil
109
+ )
110
+ end
111
+
112
+ sig do
113
+ override.returns(
114
+ {
115
+ payload_type:
116
+ Dodopayments::PaymentCancelledWebhookEvent::Data::PayloadType::TaggedSymbol
117
+ }
118
+ )
119
+ end
120
+ def to_hash
121
+ end
122
+
123
+ # The type of payload in the data field
124
+ module PayloadType
125
+ extend Dodopayments::Internal::Type::Enum
126
+
127
+ TaggedSymbol =
128
+ T.type_alias do
129
+ T.all(
130
+ Symbol,
131
+ Dodopayments::PaymentCancelledWebhookEvent::Data::PayloadType
132
+ )
133
+ end
134
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
135
+
136
+ PAYMENT =
137
+ T.let(
138
+ :Payment,
139
+ Dodopayments::PaymentCancelledWebhookEvent::Data::PayloadType::TaggedSymbol
140
+ )
141
+
142
+ sig do
143
+ override.returns(
144
+ T::Array[
145
+ Dodopayments::PaymentCancelledWebhookEvent::Data::PayloadType::TaggedSymbol
146
+ ]
147
+ )
148
+ end
149
+ def self.values
150
+ end
151
+ end
152
+ end
153
+
154
+ # The event type
155
+ module Type
156
+ extend Dodopayments::Internal::Type::Enum
157
+
158
+ TaggedSymbol =
159
+ T.type_alias do
160
+ T.all(Symbol, Dodopayments::PaymentCancelledWebhookEvent::Type)
161
+ end
162
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
163
+
164
+ PAYMENT_CANCELLED =
165
+ T.let(
166
+ :"payment.cancelled",
167
+ Dodopayments::PaymentCancelledWebhookEvent::Type::TaggedSymbol
168
+ )
169
+
170
+ sig do
171
+ override.returns(
172
+ T::Array[
173
+ Dodopayments::PaymentCancelledWebhookEvent::Type::TaggedSymbol
174
+ ]
175
+ )
176
+ end
177
+ def self.values
178
+ end
179
+ end
180
+ end
181
+ end
182
+ end
@@ -0,0 +1,180 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class PaymentFailedWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::PaymentFailedWebhookEvent,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The business identifier
15
+ sig { returns(String) }
16
+ attr_accessor :business_id
17
+
18
+ # Event-specific data
19
+ sig { returns(Dodopayments::PaymentFailedWebhookEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(data: Dodopayments::PaymentFailedWebhookEvent::Data::OrHash).void
24
+ end
25
+ attr_writer :data
26
+
27
+ # The timestamp of when the event occurred
28
+ sig { returns(Time) }
29
+ attr_accessor :timestamp
30
+
31
+ # The event type
32
+ sig do
33
+ returns(Dodopayments::PaymentFailedWebhookEvent::Type::TaggedSymbol)
34
+ end
35
+ attr_accessor :type
36
+
37
+ sig do
38
+ params(
39
+ business_id: String,
40
+ data: Dodopayments::PaymentFailedWebhookEvent::Data::OrHash,
41
+ timestamp: Time,
42
+ type: Dodopayments::PaymentFailedWebhookEvent::Type::OrSymbol
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ # The business identifier
47
+ business_id:,
48
+ # Event-specific data
49
+ data:,
50
+ # The timestamp of when the event occurred
51
+ timestamp:,
52
+ # The event type
53
+ type:
54
+ )
55
+ end
56
+
57
+ sig do
58
+ override.returns(
59
+ {
60
+ business_id: String,
61
+ data: Dodopayments::PaymentFailedWebhookEvent::Data,
62
+ timestamp: Time,
63
+ type: Dodopayments::PaymentFailedWebhookEvent::Type::TaggedSymbol
64
+ }
65
+ )
66
+ end
67
+ def to_hash
68
+ end
69
+
70
+ class Data < Dodopayments::Models::Payment
71
+ OrHash =
72
+ T.type_alias do
73
+ T.any(
74
+ Dodopayments::PaymentFailedWebhookEvent::Data,
75
+ Dodopayments::Internal::AnyHash
76
+ )
77
+ end
78
+
79
+ # The type of payload in the data field
80
+ sig do
81
+ returns(
82
+ T.nilable(
83
+ Dodopayments::PaymentFailedWebhookEvent::Data::PayloadType::TaggedSymbol
84
+ )
85
+ )
86
+ end
87
+ attr_reader :payload_type
88
+
89
+ sig do
90
+ params(
91
+ payload_type:
92
+ Dodopayments::PaymentFailedWebhookEvent::Data::PayloadType::OrSymbol
93
+ ).void
94
+ end
95
+ attr_writer :payload_type
96
+
97
+ # Event-specific data
98
+ sig do
99
+ params(
100
+ payload_type:
101
+ Dodopayments::PaymentFailedWebhookEvent::Data::PayloadType::OrSymbol
102
+ ).returns(T.attached_class)
103
+ end
104
+ def self.new(
105
+ # The type of payload in the data field
106
+ payload_type: nil
107
+ )
108
+ end
109
+
110
+ sig do
111
+ override.returns(
112
+ {
113
+ payload_type:
114
+ Dodopayments::PaymentFailedWebhookEvent::Data::PayloadType::TaggedSymbol
115
+ }
116
+ )
117
+ end
118
+ def to_hash
119
+ end
120
+
121
+ # The type of payload in the data field
122
+ module PayloadType
123
+ extend Dodopayments::Internal::Type::Enum
124
+
125
+ TaggedSymbol =
126
+ T.type_alias do
127
+ T.all(
128
+ Symbol,
129
+ Dodopayments::PaymentFailedWebhookEvent::Data::PayloadType
130
+ )
131
+ end
132
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
133
+
134
+ PAYMENT =
135
+ T.let(
136
+ :Payment,
137
+ Dodopayments::PaymentFailedWebhookEvent::Data::PayloadType::TaggedSymbol
138
+ )
139
+
140
+ sig do
141
+ override.returns(
142
+ T::Array[
143
+ Dodopayments::PaymentFailedWebhookEvent::Data::PayloadType::TaggedSymbol
144
+ ]
145
+ )
146
+ end
147
+ def self.values
148
+ end
149
+ end
150
+ end
151
+
152
+ # The event type
153
+ module Type
154
+ extend Dodopayments::Internal::Type::Enum
155
+
156
+ TaggedSymbol =
157
+ T.type_alias do
158
+ T.all(Symbol, Dodopayments::PaymentFailedWebhookEvent::Type)
159
+ end
160
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
161
+
162
+ PAYMENT_FAILED =
163
+ T.let(
164
+ :"payment.failed",
165
+ Dodopayments::PaymentFailedWebhookEvent::Type::TaggedSymbol
166
+ )
167
+
168
+ sig do
169
+ override.returns(
170
+ T::Array[
171
+ Dodopayments::PaymentFailedWebhookEvent::Type::TaggedSymbol
172
+ ]
173
+ )
174
+ end
175
+ def self.values
176
+ end
177
+ end
178
+ end
179
+ end
180
+ end
@@ -0,0 +1,183 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class PaymentProcessingWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::PaymentProcessingWebhookEvent,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The business identifier
15
+ sig { returns(String) }
16
+ attr_accessor :business_id
17
+
18
+ # Event-specific data
19
+ sig { returns(Dodopayments::PaymentProcessingWebhookEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(
24
+ data: Dodopayments::PaymentProcessingWebhookEvent::Data::OrHash
25
+ ).void
26
+ end
27
+ attr_writer :data
28
+
29
+ # The timestamp of when the event occurred
30
+ sig { returns(Time) }
31
+ attr_accessor :timestamp
32
+
33
+ # The event type
34
+ sig do
35
+ returns(Dodopayments::PaymentProcessingWebhookEvent::Type::TaggedSymbol)
36
+ end
37
+ attr_accessor :type
38
+
39
+ sig do
40
+ params(
41
+ business_id: String,
42
+ data: Dodopayments::PaymentProcessingWebhookEvent::Data::OrHash,
43
+ timestamp: Time,
44
+ type: Dodopayments::PaymentProcessingWebhookEvent::Type::OrSymbol
45
+ ).returns(T.attached_class)
46
+ end
47
+ def self.new(
48
+ # The business identifier
49
+ business_id:,
50
+ # Event-specific data
51
+ data:,
52
+ # The timestamp of when the event occurred
53
+ timestamp:,
54
+ # The event type
55
+ type:
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ business_id: String,
63
+ data: Dodopayments::PaymentProcessingWebhookEvent::Data,
64
+ timestamp: Time,
65
+ type:
66
+ Dodopayments::PaymentProcessingWebhookEvent::Type::TaggedSymbol
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+
73
+ class Data < Dodopayments::Models::Payment
74
+ OrHash =
75
+ T.type_alias do
76
+ T.any(
77
+ Dodopayments::PaymentProcessingWebhookEvent::Data,
78
+ Dodopayments::Internal::AnyHash
79
+ )
80
+ end
81
+
82
+ # The type of payload in the data field
83
+ sig do
84
+ returns(
85
+ T.nilable(
86
+ Dodopayments::PaymentProcessingWebhookEvent::Data::PayloadType::TaggedSymbol
87
+ )
88
+ )
89
+ end
90
+ attr_reader :payload_type
91
+
92
+ sig do
93
+ params(
94
+ payload_type:
95
+ Dodopayments::PaymentProcessingWebhookEvent::Data::PayloadType::OrSymbol
96
+ ).void
97
+ end
98
+ attr_writer :payload_type
99
+
100
+ # Event-specific data
101
+ sig do
102
+ params(
103
+ payload_type:
104
+ Dodopayments::PaymentProcessingWebhookEvent::Data::PayloadType::OrSymbol
105
+ ).returns(T.attached_class)
106
+ end
107
+ def self.new(
108
+ # The type of payload in the data field
109
+ payload_type: nil
110
+ )
111
+ end
112
+
113
+ sig do
114
+ override.returns(
115
+ {
116
+ payload_type:
117
+ Dodopayments::PaymentProcessingWebhookEvent::Data::PayloadType::TaggedSymbol
118
+ }
119
+ )
120
+ end
121
+ def to_hash
122
+ end
123
+
124
+ # The type of payload in the data field
125
+ module PayloadType
126
+ extend Dodopayments::Internal::Type::Enum
127
+
128
+ TaggedSymbol =
129
+ T.type_alias do
130
+ T.all(
131
+ Symbol,
132
+ Dodopayments::PaymentProcessingWebhookEvent::Data::PayloadType
133
+ )
134
+ end
135
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
136
+
137
+ PAYMENT =
138
+ T.let(
139
+ :Payment,
140
+ Dodopayments::PaymentProcessingWebhookEvent::Data::PayloadType::TaggedSymbol
141
+ )
142
+
143
+ sig do
144
+ override.returns(
145
+ T::Array[
146
+ Dodopayments::PaymentProcessingWebhookEvent::Data::PayloadType::TaggedSymbol
147
+ ]
148
+ )
149
+ end
150
+ def self.values
151
+ end
152
+ end
153
+ end
154
+
155
+ # The event type
156
+ module Type
157
+ extend Dodopayments::Internal::Type::Enum
158
+
159
+ TaggedSymbol =
160
+ T.type_alias do
161
+ T.all(Symbol, Dodopayments::PaymentProcessingWebhookEvent::Type)
162
+ end
163
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
164
+
165
+ PAYMENT_PROCESSING =
166
+ T.let(
167
+ :"payment.processing",
168
+ Dodopayments::PaymentProcessingWebhookEvent::Type::TaggedSymbol
169
+ )
170
+
171
+ sig do
172
+ override.returns(
173
+ T::Array[
174
+ Dodopayments::PaymentProcessingWebhookEvent::Type::TaggedSymbol
175
+ ]
176
+ )
177
+ end
178
+ def self.values
179
+ end
180
+ end
181
+ end
182
+ end
183
+ end