dodopayments 2.26.0 → 2.28.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 (205) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/client.rb +4 -0
  5. data/lib/dodopayments/internal/type/union.rb +15 -5
  6. data/lib/dodopayments/models/balance_ledger_entry.rb +9 -1
  7. data/lib/dodopayments/models/balance_retrieve_ledger_params.rb +2 -0
  8. data/lib/dodopayments/models/blocklist/block_by_customer_id.rb +18 -0
  9. data/lib/dodopayments/models/blocklist/block_by_email.rb +18 -0
  10. data/lib/dodopayments/models/blocklist/block_identifier.rb +21 -0
  11. data/lib/dodopayments/models/blocklist/blocked_customer.rb +128 -0
  12. data/lib/dodopayments/models/blocklist/blocked_customer_source.rb +22 -0
  13. data/lib/dodopayments/models/blocklist/create_blocked_customer_request.rb +66 -0
  14. data/lib/dodopayments/models/blocklist/customer_create_params.rb +16 -0
  15. data/lib/dodopayments/models/blocklist/customer_delete_params.rb +22 -0
  16. data/lib/dodopayments/models/blocklist/customer_list_params.rb +64 -0
  17. data/lib/dodopayments/models/blocklist/customer_retrieve_params.rb +22 -0
  18. data/lib/dodopayments/models/blocklist/customers/blocked_customer_note.rb +44 -0
  19. data/lib/dodopayments/models/blocklist/customers/note_create_params.rb +24 -0
  20. data/lib/dodopayments/models/blocklist/customers/note_request.rb +19 -0
  21. data/lib/dodopayments/models/blocklist/customers/note_update_params.rb +30 -0
  22. data/lib/dodopayments/models/checkout_session_preview_response.rb +10 -1
  23. data/lib/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rb +1 -1
  24. data/lib/dodopayments/models/credit_entitlements/balance_create_ledger_entry_response.rb +21 -1
  25. data/lib/dodopayments/models/credit_entitlements/credit_ledger_entry.rb +2 -7
  26. data/lib/dodopayments/models/customer.rb +22 -1
  27. data/lib/dodopayments/models/customers/email_body.rb +57 -0
  28. data/lib/dodopayments/models/customers/email_failure_code.rb +27 -0
  29. data/lib/dodopayments/models/customers/email_list_params.rb +39 -0
  30. data/lib/dodopayments/models/customers/email_log_item.rb +121 -0
  31. data/lib/dodopayments/models/customers/email_log_status.rb +24 -0
  32. data/lib/dodopayments/models/customers/email_policies.rb +45 -0
  33. data/lib/dodopayments/models/customers/email_retrieve_body_params.rb +28 -0
  34. data/lib/dodopayments/models/dunning_recovered_webhook_event.rb +1 -0
  35. data/lib/dodopayments/models/dunning_started_webhook_event.rb +1 -0
  36. data/lib/dodopayments/models/manual_retry.rb +76 -0
  37. data/lib/dodopayments/models/manual_retry_state.rb +50 -0
  38. data/lib/dodopayments/models/payment_retrieve_retry_state_params.rb +20 -0
  39. data/lib/dodopayments/models/payment_retry_params.rb +20 -0
  40. data/lib/dodopayments/models/price.rb +95 -27
  41. data/lib/dodopayments/models/subscription.rb +10 -1
  42. data/lib/dodopayments/models/subscription_active_webhook_event.rb +32 -4
  43. data/lib/dodopayments/models/subscription_cancelled_webhook_event.rb +33 -4
  44. data/lib/dodopayments/models/subscription_create_response.rb +10 -1
  45. data/lib/dodopayments/models/subscription_expired_webhook_event.rb +32 -4
  46. data/lib/dodopayments/models/subscription_failed_webhook_event.rb +32 -4
  47. data/lib/dodopayments/models/subscription_list_params.rb +1 -0
  48. data/lib/dodopayments/models/subscription_list_response.rb +10 -1
  49. data/lib/dodopayments/models/subscription_on_hold_webhook_event.rb +32 -4
  50. data/lib/dodopayments/models/subscription_past_due_webhook_event.rb +68 -0
  51. data/lib/dodopayments/models/subscription_paused_webhook_event.rb +32 -4
  52. data/lib/dodopayments/models/subscription_plan_changed_webhook_event.rb +33 -4
  53. data/lib/dodopayments/models/subscription_renewed_webhook_event.rb +32 -4
  54. data/lib/dodopayments/models/subscription_status.rb +1 -0
  55. data/lib/dodopayments/models/subscription_unpaused_webhook_event.rb +32 -4
  56. data/lib/dodopayments/models/subscription_update_params.rb +1 -0
  57. data/lib/dodopayments/models/subscription_update_payment_method_webhook_event.rb +34 -4
  58. data/lib/dodopayments/models/subscription_updated_webhook_event.rb +32 -4
  59. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +3 -1
  60. data/lib/dodopayments/models/unwrap_webhook_event.rb +3 -1
  61. data/lib/dodopayments/models/webhook_event_type.rb +1 -0
  62. data/lib/dodopayments/models/webhook_payload.rb +19 -1
  63. data/lib/dodopayments/models.rb +12 -0
  64. data/lib/dodopayments/resources/blocklist/customers/notes.rb +68 -0
  65. data/lib/dodopayments/resources/blocklist/customers.rb +107 -0
  66. data/lib/dodopayments/resources/blocklist.rb +18 -0
  67. data/lib/dodopayments/resources/credit_entitlements/balances.rb +1 -0
  68. data/lib/dodopayments/resources/customers/emails.rb +76 -0
  69. data/lib/dodopayments/resources/customers.rb +4 -0
  70. data/lib/dodopayments/resources/payments.rb +36 -0
  71. data/lib/dodopayments/resources/webhooks.rb +2 -2
  72. data/lib/dodopayments/version.rb +1 -1
  73. data/lib/dodopayments.rb +31 -1
  74. data/rbi/dodopayments/client.rbi +3 -0
  75. data/rbi/dodopayments/models/balance_ledger_entry.rbi +16 -0
  76. data/rbi/dodopayments/models/balance_retrieve_ledger_params.rbi +10 -0
  77. data/rbi/dodopayments/models/blocklist/block_by_customer_id.rbi +32 -0
  78. data/rbi/dodopayments/models/blocklist/block_by_email.rbi +32 -0
  79. data/rbi/dodopayments/models/blocklist/block_identifier.rbi +30 -0
  80. data/rbi/dodopayments/models/blocklist/blocked_customer.rbi +161 -0
  81. data/rbi/dodopayments/models/blocklist/blocked_customer_source.rbi +55 -0
  82. data/rbi/dodopayments/models/blocklist/create_blocked_customer_request.rbi +143 -0
  83. data/rbi/dodopayments/models/blocklist/customer_create_params.rbi +34 -0
  84. data/rbi/dodopayments/models/blocklist/customer_delete_params.rbi +40 -0
  85. data/rbi/dodopayments/models/blocklist/customer_list_params.rbi +88 -0
  86. data/rbi/dodopayments/models/blocklist/customer_retrieve_params.rbi +40 -0
  87. data/rbi/dodopayments/models/blocklist/customers/blocked_customer_note.rbi +66 -0
  88. data/rbi/dodopayments/models/blocklist/customers/note_create_params.rbi +45 -0
  89. data/rbi/dodopayments/models/blocklist/customers/note_request.rbi +30 -0
  90. data/rbi/dodopayments/models/blocklist/customers/note_update_params.rbi +50 -0
  91. data/rbi/dodopayments/models/checkout_session_preview_response.rbi +10 -0
  92. data/rbi/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rbi +2 -2
  93. data/rbi/dodopayments/models/credit_entitlements/balance_create_ledger_entry_response.rbi +8 -0
  94. data/rbi/dodopayments/models/credit_entitlements/credit_ledger_entry.rbi +2 -6
  95. data/rbi/dodopayments/models/customer.rbi +20 -0
  96. data/rbi/dodopayments/models/customers/email_body.rbi +88 -0
  97. data/rbi/dodopayments/models/customers/email_failure_code.rbi +70 -0
  98. data/rbi/dodopayments/models/customers/email_list_params.rbi +68 -0
  99. data/rbi/dodopayments/models/customers/email_log_item.rbi +157 -0
  100. data/rbi/dodopayments/models/customers/email_log_status.rbi +46 -0
  101. data/rbi/dodopayments/models/customers/email_policies.rbi +68 -0
  102. data/rbi/dodopayments/models/customers/email_retrieve_body_params.rbi +48 -0
  103. data/rbi/dodopayments/models/dunning_recovered_webhook_event.rbi +5 -0
  104. data/rbi/dodopayments/models/dunning_started_webhook_event.rbi +5 -0
  105. data/rbi/dodopayments/models/manual_retry.rbi +93 -0
  106. data/rbi/dodopayments/models/manual_retry_state.rbi +65 -0
  107. data/rbi/dodopayments/models/payment_retrieve_retry_state_params.rbi +38 -0
  108. data/rbi/dodopayments/models/payment_retry_params.rbi +38 -0
  109. data/rbi/dodopayments/models/price.rbi +124 -25
  110. data/rbi/dodopayments/models/subscription.rbi +10 -0
  111. data/rbi/dodopayments/models/subscription_active_webhook_event.rbi +53 -6
  112. data/rbi/dodopayments/models/subscription_cancelled_webhook_event.rbi +53 -6
  113. data/rbi/dodopayments/models/subscription_create_response.rbi +10 -0
  114. data/rbi/dodopayments/models/subscription_expired_webhook_event.rbi +53 -6
  115. data/rbi/dodopayments/models/subscription_failed_webhook_event.rbi +53 -6
  116. data/rbi/dodopayments/models/subscription_list_params.rbi +5 -0
  117. data/rbi/dodopayments/models/subscription_list_response.rbi +10 -0
  118. data/rbi/dodopayments/models/subscription_on_hold_webhook_event.rbi +53 -6
  119. data/rbi/dodopayments/models/subscription_past_due_webhook_event.rbi +114 -0
  120. data/rbi/dodopayments/models/subscription_paused_webhook_event.rbi +53 -6
  121. data/rbi/dodopayments/models/subscription_plan_changed_webhook_event.rbi +53 -6
  122. data/rbi/dodopayments/models/subscription_renewed_webhook_event.rbi +53 -6
  123. data/rbi/dodopayments/models/subscription_status.rbi +2 -0
  124. data/rbi/dodopayments/models/subscription_unpaused_webhook_event.rbi +53 -6
  125. data/rbi/dodopayments/models/subscription_update_params.rbi +5 -0
  126. data/rbi/dodopayments/models/subscription_update_payment_method_webhook_event.rbi +58 -6
  127. data/rbi/dodopayments/models/subscription_updated_webhook_event.rbi +53 -6
  128. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +1 -0
  129. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +1 -0
  130. data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
  131. data/rbi/dodopayments/models/webhook_payload.rbi +37 -3
  132. data/rbi/dodopayments/models.rbi +14 -0
  133. data/rbi/dodopayments/resources/blocklist/customers/notes.rbi +50 -0
  134. data/rbi/dodopayments/resources/blocklist/customers.rbi +88 -0
  135. data/rbi/dodopayments/resources/blocklist.rbi +15 -0
  136. data/rbi/dodopayments/resources/credit_entitlements/balances.rbi +2 -1
  137. data/rbi/dodopayments/resources/customers/emails.rbi +60 -0
  138. data/rbi/dodopayments/resources/customers.rbi +3 -0
  139. data/rbi/dodopayments/resources/payments.rbi +26 -0
  140. data/rbi/dodopayments/resources/webhooks.rbi +2 -0
  141. data/sig/dodopayments/client.rbs +2 -0
  142. data/sig/dodopayments/models/balance_ledger_entry.rbs +9 -0
  143. data/sig/dodopayments/models/balance_retrieve_ledger_params.rbs +4 -0
  144. data/sig/dodopayments/models/blocklist/block_by_customer_id.rbs +15 -0
  145. data/sig/dodopayments/models/blocklist/block_by_email.rbs +15 -0
  146. data/sig/dodopayments/models/blocklist/block_identifier.rbs +15 -0
  147. data/sig/dodopayments/models/blocklist/blocked_customer.rbs +87 -0
  148. data/sig/dodopayments/models/blocklist/blocked_customer_source.rbs +20 -0
  149. data/sig/dodopayments/models/blocklist/create_blocked_customer_request.rbs +71 -0
  150. data/sig/dodopayments/models/blocklist/customer_create_params.rbs +17 -0
  151. data/sig/dodopayments/models/blocklist/customer_delete_params.rbs +25 -0
  152. data/sig/dodopayments/models/blocklist/customer_list_params.rbs +53 -0
  153. data/sig/dodopayments/models/blocklist/customer_retrieve_params.rbs +25 -0
  154. data/sig/dodopayments/models/blocklist/customers/blocked_customer_note.rbs +44 -0
  155. data/sig/dodopayments/models/blocklist/customers/note_create_params.rbs +30 -0
  156. data/sig/dodopayments/models/blocklist/customers/note_request.rbs +17 -0
  157. data/sig/dodopayments/models/blocklist/customers/note_update_params.rbs +36 -0
  158. data/sig/dodopayments/models/checkout_session_preview_response.rbs +5 -0
  159. data/sig/dodopayments/models/credit_entitlements/balance_create_ledger_entry_response.rbs +5 -0
  160. data/sig/dodopayments/models/customer.rbs +10 -0
  161. data/sig/dodopayments/models/customers/email_body.rbs +42 -0
  162. data/sig/dodopayments/models/customers/email_failure_code.rbs +30 -0
  163. data/sig/dodopayments/models/customers/email_list_params.rbs +38 -0
  164. data/sig/dodopayments/models/customers/email_log_item.rbs +82 -0
  165. data/sig/dodopayments/models/customers/email_log_status.rbs +20 -0
  166. data/sig/dodopayments/models/customers/email_policies.rbs +37 -0
  167. data/sig/dodopayments/models/customers/email_retrieve_body_params.rbs +30 -0
  168. data/sig/dodopayments/models/dunning_recovered_webhook_event.rbs +2 -1
  169. data/sig/dodopayments/models/dunning_started_webhook_event.rbs +2 -1
  170. data/sig/dodopayments/models/manual_retry.rbs +55 -0
  171. data/sig/dodopayments/models/manual_retry_state.rbs +40 -0
  172. data/sig/dodopayments/models/payment_retrieve_retry_state_params.rbs +23 -0
  173. data/sig/dodopayments/models/payment_retry_params.rbs +23 -0
  174. data/sig/dodopayments/models/price.rbs +52 -17
  175. data/sig/dodopayments/models/subscription.rbs +5 -0
  176. data/sig/dodopayments/models/subscription_active_webhook_event.rbs +16 -4
  177. data/sig/dodopayments/models/subscription_cancelled_webhook_event.rbs +16 -4
  178. data/sig/dodopayments/models/subscription_create_response.rbs +5 -0
  179. data/sig/dodopayments/models/subscription_expired_webhook_event.rbs +16 -4
  180. data/sig/dodopayments/models/subscription_failed_webhook_event.rbs +16 -4
  181. data/sig/dodopayments/models/subscription_list_params.rbs +2 -0
  182. data/sig/dodopayments/models/subscription_list_response.rbs +5 -0
  183. data/sig/dodopayments/models/subscription_on_hold_webhook_event.rbs +16 -4
  184. data/sig/dodopayments/models/subscription_past_due_webhook_event.rbs +47 -0
  185. data/sig/dodopayments/models/subscription_paused_webhook_event.rbs +16 -4
  186. data/sig/dodopayments/models/subscription_plan_changed_webhook_event.rbs +16 -4
  187. data/sig/dodopayments/models/subscription_renewed_webhook_event.rbs +16 -4
  188. data/sig/dodopayments/models/subscription_status.rbs +9 -1
  189. data/sig/dodopayments/models/subscription_unpaused_webhook_event.rbs +16 -4
  190. data/sig/dodopayments/models/subscription_update_params.rbs +2 -0
  191. data/sig/dodopayments/models/subscription_update_payment_method_webhook_event.rbs +16 -4
  192. data/sig/dodopayments/models/subscription_updated_webhook_event.rbs +16 -4
  193. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +1 -0
  194. data/sig/dodopayments/models/unwrap_webhook_event.rbs +1 -0
  195. data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
  196. data/sig/dodopayments/models/webhook_payload.rbs +16 -4
  197. data/sig/dodopayments/models.rbs +12 -0
  198. data/sig/dodopayments/resources/blocklist/customers/notes.rbs +24 -0
  199. data/sig/dodopayments/resources/blocklist/customers.rbs +36 -0
  200. data/sig/dodopayments/resources/blocklist.rbs +9 -0
  201. data/sig/dodopayments/resources/customers/emails.rbs +22 -0
  202. data/sig/dodopayments/resources/customers.rbs +2 -0
  203. data/sig/dodopayments/resources/payments.rbs +10 -0
  204. data/sig/dodopayments/resources/webhooks.rbs +2 -0
  205. metadata +92 -2
@@ -0,0 +1,161 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ module Blocklist
6
+ class BlockedCustomer < Dodopayments::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Dodopayments::Blocklist::BlockedCustomer,
11
+ Dodopayments::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ sig { returns(Time) }
19
+ attr_accessor :created_at
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :customer_email
23
+
24
+ sig { returns(String) }
25
+ attr_accessor :customer_id
26
+
27
+ sig { returns(String) }
28
+ attr_accessor :customer_name
29
+
30
+ # Customer id or email that the merchant supplied.
31
+ sig { returns(String) }
32
+ attr_accessor :identifier
33
+
34
+ # Where a block came from. `Api` marks an API-key caller, which carries no
35
+ # dashboard actor. The other values name the screen the merchant used.
36
+ sig do
37
+ returns(Dodopayments::Blocklist::BlockedCustomerSource::TaggedSymbol)
38
+ end
39
+ attr_accessor :source
40
+
41
+ # Dashboard user who blocked the customer. `null` for an API-key caller.
42
+ sig { returns(T.nilable(String)) }
43
+ attr_accessor :blocked_by_email
44
+
45
+ # Subscriptions this block cancelled. Present on the create response only.
46
+ sig { returns(T.nilable(T::Array[String])) }
47
+ attr_accessor :cancelled_subscription_ids
48
+
49
+ # Activity log. Present on the detail response only.
50
+ sig do
51
+ returns(
52
+ T.nilable(
53
+ T::Array[Dodopayments::Blocklist::Customers::BlockedCustomerNote]
54
+ )
55
+ )
56
+ end
57
+ attr_accessor :notes
58
+
59
+ sig { returns(T.nilable(String)) }
60
+ attr_accessor :reason
61
+
62
+ # Subscriptions this block left live, because the cancel failed or the inline
63
+ # batch filled up. Repeat the create call to continue; the block itself is already
64
+ # in force.
65
+ sig { returns(T.nilable(T::Array[String])) }
66
+ attr_accessor :remaining_subscription_ids
67
+
68
+ # False when the block left live subscriptions behind, including the case where
69
+ # the sweep could not list them and `remaining_subscription_ids` is therefore
70
+ # unknown. Repeat the create call until it reads true.
71
+ sig { returns(T.nilable(T::Boolean)) }
72
+ attr_accessor :subscriptions_swept
73
+
74
+ sig { returns(T.nilable(Time)) }
75
+ attr_accessor :unblocked_at
76
+
77
+ sig do
78
+ params(
79
+ id: String,
80
+ created_at: Time,
81
+ customer_email: String,
82
+ customer_id: String,
83
+ customer_name: String,
84
+ identifier: String,
85
+ source: Dodopayments::Blocklist::BlockedCustomerSource::OrSymbol,
86
+ blocked_by_email: T.nilable(String),
87
+ cancelled_subscription_ids: T.nilable(T::Array[String]),
88
+ notes:
89
+ T.nilable(
90
+ T::Array[
91
+ Dodopayments::Blocklist::Customers::BlockedCustomerNote::OrHash
92
+ ]
93
+ ),
94
+ reason: T.nilable(String),
95
+ remaining_subscription_ids: T.nilable(T::Array[String]),
96
+ subscriptions_swept: T.nilable(T::Boolean),
97
+ unblocked_at: T.nilable(Time)
98
+ ).returns(T.attached_class)
99
+ end
100
+ def self.new(
101
+ id:,
102
+ created_at:,
103
+ customer_email:,
104
+ customer_id:,
105
+ customer_name:,
106
+ # Customer id or email that the merchant supplied.
107
+ identifier:,
108
+ # Where a block came from. `Api` marks an API-key caller, which carries no
109
+ # dashboard actor. The other values name the screen the merchant used.
110
+ source:,
111
+ # Dashboard user who blocked the customer. `null` for an API-key caller.
112
+ blocked_by_email: nil,
113
+ # Subscriptions this block cancelled. Present on the create response only.
114
+ cancelled_subscription_ids: nil,
115
+ # Activity log. Present on the detail response only.
116
+ notes: nil,
117
+ reason: nil,
118
+ # Subscriptions this block left live, because the cancel failed or the inline
119
+ # batch filled up. Repeat the create call to continue; the block itself is already
120
+ # in force.
121
+ remaining_subscription_ids: nil,
122
+ # False when the block left live subscriptions behind, including the case where
123
+ # the sweep could not list them and `remaining_subscription_ids` is therefore
124
+ # unknown. Repeat the create call until it reads true.
125
+ subscriptions_swept: nil,
126
+ unblocked_at: nil
127
+ )
128
+ end
129
+
130
+ sig do
131
+ override.returns(
132
+ {
133
+ id: String,
134
+ created_at: Time,
135
+ customer_email: String,
136
+ customer_id: String,
137
+ customer_name: String,
138
+ identifier: String,
139
+ source:
140
+ Dodopayments::Blocklist::BlockedCustomerSource::TaggedSymbol,
141
+ blocked_by_email: T.nilable(String),
142
+ cancelled_subscription_ids: T.nilable(T::Array[String]),
143
+ notes:
144
+ T.nilable(
145
+ T::Array[
146
+ Dodopayments::Blocklist::Customers::BlockedCustomerNote
147
+ ]
148
+ ),
149
+ reason: T.nilable(String),
150
+ remaining_subscription_ids: T.nilable(T::Array[String]),
151
+ subscriptions_swept: T.nilable(T::Boolean),
152
+ unblocked_at: T.nilable(Time)
153
+ }
154
+ )
155
+ end
156
+ def to_hash
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
@@ -0,0 +1,55 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ module Blocklist
6
+ # Where a block came from. `Api` marks an API-key caller, which carries no
7
+ # dashboard actor. The other values name the screen the merchant used.
8
+ module BlockedCustomerSource
9
+ extend Dodopayments::Internal::Type::Enum
10
+
11
+ TaggedSymbol =
12
+ T.type_alias do
13
+ T.all(Symbol, Dodopayments::Blocklist::BlockedCustomerSource)
14
+ end
15
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
16
+
17
+ BLOCKLIST_PAGE =
18
+ T.let(
19
+ :blocklist_page,
20
+ Dodopayments::Blocklist::BlockedCustomerSource::TaggedSymbol
21
+ )
22
+ CUSTOMER_PAGE =
23
+ T.let(
24
+ :customer_page,
25
+ Dodopayments::Blocklist::BlockedCustomerSource::TaggedSymbol
26
+ )
27
+ PAYMENT_PAGE =
28
+ T.let(
29
+ :payment_page,
30
+ Dodopayments::Blocklist::BlockedCustomerSource::TaggedSymbol
31
+ )
32
+ DISPUTE_PAGE =
33
+ T.let(
34
+ :dispute_page,
35
+ Dodopayments::Blocklist::BlockedCustomerSource::TaggedSymbol
36
+ )
37
+ API =
38
+ T.let(
39
+ :api,
40
+ Dodopayments::Blocklist::BlockedCustomerSource::TaggedSymbol
41
+ )
42
+
43
+ sig do
44
+ override.returns(
45
+ T::Array[
46
+ Dodopayments::Blocklist::BlockedCustomerSource::TaggedSymbol
47
+ ]
48
+ )
49
+ end
50
+ def self.values
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,143 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ module Blocklist
6
+ module CreateBlockedCustomerRequest
7
+ extend Dodopayments::Internal::Type::Union
8
+
9
+ Variants =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::Blocklist::CreateBlockedCustomerRequest::BlocklistCustomersBlockByCustomerID,
13
+ Dodopayments::Blocklist::CreateBlockedCustomerRequest::BlocklistCustomersBlockByEmail
14
+ )
15
+ end
16
+
17
+ class BlocklistCustomersBlockByCustomerID < Dodopayments::Models::Blocklist::BlockByCustomerID
18
+ OrHash =
19
+ T.type_alias do
20
+ T.any(
21
+ Dodopayments::Blocklist::CreateBlockedCustomerRequest::BlocklistCustomersBlockByCustomerID,
22
+ Dodopayments::Internal::AnyHash
23
+ )
24
+ end
25
+
26
+ # Why the merchant blocked this customer. The entry page shows it.
27
+ sig { returns(T.nilable(String)) }
28
+ attr_accessor :reason
29
+
30
+ # Screen the merchant blocked from. Ignored for an API-key caller, whose entry
31
+ # always records `api`. A dashboard caller that omits it records `blocklist_page`.
32
+ sig do
33
+ returns(
34
+ T.nilable(
35
+ Dodopayments::Blocklist::BlockedCustomerSource::OrSymbol
36
+ )
37
+ )
38
+ end
39
+ attr_accessor :source
40
+
41
+ sig do
42
+ params(
43
+ reason: T.nilable(String),
44
+ source:
45
+ T.nilable(
46
+ Dodopayments::Blocklist::BlockedCustomerSource::OrSymbol
47
+ )
48
+ ).returns(T.attached_class)
49
+ end
50
+ def self.new(
51
+ # Why the merchant blocked this customer. The entry page shows it.
52
+ reason: nil,
53
+ # Screen the merchant blocked from. Ignored for an API-key caller, whose entry
54
+ # always records `api`. A dashboard caller that omits it records `blocklist_page`.
55
+ source: nil
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ reason: T.nilable(String),
63
+ source:
64
+ T.nilable(
65
+ Dodopayments::Blocklist::BlockedCustomerSource::OrSymbol
66
+ )
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+
74
+ class BlocklistCustomersBlockByEmail < Dodopayments::Models::Blocklist::BlockByEmail
75
+ OrHash =
76
+ T.type_alias do
77
+ T.any(
78
+ Dodopayments::Blocklist::CreateBlockedCustomerRequest::BlocklistCustomersBlockByEmail,
79
+ Dodopayments::Internal::AnyHash
80
+ )
81
+ end
82
+
83
+ # Why the merchant blocked this customer. The entry page shows it.
84
+ sig { returns(T.nilable(String)) }
85
+ attr_accessor :reason
86
+
87
+ # Screen the merchant blocked from. Ignored for an API-key caller, whose entry
88
+ # always records `api`. A dashboard caller that omits it records `blocklist_page`.
89
+ sig do
90
+ returns(
91
+ T.nilable(
92
+ Dodopayments::Blocklist::BlockedCustomerSource::OrSymbol
93
+ )
94
+ )
95
+ end
96
+ attr_accessor :source
97
+
98
+ sig do
99
+ params(
100
+ reason: T.nilable(String),
101
+ source:
102
+ T.nilable(
103
+ Dodopayments::Blocklist::BlockedCustomerSource::OrSymbol
104
+ )
105
+ ).returns(T.attached_class)
106
+ end
107
+ def self.new(
108
+ # Why the merchant blocked this customer. The entry page shows it.
109
+ reason: nil,
110
+ # Screen the merchant blocked from. Ignored for an API-key caller, whose entry
111
+ # always records `api`. A dashboard caller that omits it records `blocklist_page`.
112
+ source: nil
113
+ )
114
+ end
115
+
116
+ sig do
117
+ override.returns(
118
+ {
119
+ reason: T.nilable(String),
120
+ source:
121
+ T.nilable(
122
+ Dodopayments::Blocklist::BlockedCustomerSource::OrSymbol
123
+ )
124
+ }
125
+ )
126
+ end
127
+ def to_hash
128
+ end
129
+ end
130
+
131
+ sig do
132
+ override.returns(
133
+ T::Array[
134
+ Dodopayments::Blocklist::CreateBlockedCustomerRequest::Variants
135
+ ]
136
+ )
137
+ end
138
+ def self.variants
139
+ end
140
+ end
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ module Blocklist
6
+ class CustomerCreateParams < 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::Blocklist::CustomerCreateParams,
14
+ Dodopayments::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig do
19
+ params(request_options: Dodopayments::RequestOptions::OrHash).returns(
20
+ T.attached_class
21
+ )
22
+ end
23
+ def self.new(request_options: {})
24
+ end
25
+
26
+ sig do
27
+ override.returns({ request_options: Dodopayments::RequestOptions })
28
+ end
29
+ def to_hash
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ module Blocklist
6
+ class CustomerDeleteParams < 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::Blocklist::CustomerDeleteParams,
14
+ Dodopayments::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :entry_id
20
+
21
+ sig do
22
+ params(
23
+ entry_id: String,
24
+ request_options: Dodopayments::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(entry_id:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ { entry_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,88 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ module Blocklist
6
+ class CustomerListParams < 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::Blocklist::CustomerListParams,
14
+ Dodopayments::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Filter by the dashboard user who blocked the customer.
19
+ sig { returns(T.nilable(String)) }
20
+ attr_accessor :blocked_by_email
21
+
22
+ # Blocked on or after this time.
23
+ sig { returns(T.nilable(Time)) }
24
+ attr_accessor :created_at_gte
25
+
26
+ # Blocked on or before this time.
27
+ sig { returns(T.nilable(Time)) }
28
+ attr_accessor :created_at_lte
29
+
30
+ # Partial, case-insensitive match on the email and on the customer id.
31
+ sig { returns(T.nilable(String)) }
32
+ attr_accessor :identifier
33
+
34
+ # Page number. Default 0.
35
+ sig { returns(T.nilable(Integer)) }
36
+ attr_accessor :page_number
37
+
38
+ # Page size. Default 10, maximum 100.
39
+ sig { returns(T.nilable(Integer)) }
40
+ attr_accessor :page_size
41
+
42
+ sig do
43
+ params(
44
+ blocked_by_email: T.nilable(String),
45
+ created_at_gte: T.nilable(Time),
46
+ created_at_lte: T.nilable(Time),
47
+ identifier: T.nilable(String),
48
+ page_number: T.nilable(Integer),
49
+ page_size: T.nilable(Integer),
50
+ request_options: Dodopayments::RequestOptions::OrHash
51
+ ).returns(T.attached_class)
52
+ end
53
+ def self.new(
54
+ # Filter by the dashboard user who blocked the customer.
55
+ blocked_by_email: nil,
56
+ # Blocked on or after this time.
57
+ created_at_gte: nil,
58
+ # Blocked on or before this time.
59
+ created_at_lte: nil,
60
+ # Partial, case-insensitive match on the email and on the customer id.
61
+ identifier: nil,
62
+ # Page number. Default 0.
63
+ page_number: nil,
64
+ # Page size. Default 10, maximum 100.
65
+ page_size: nil,
66
+ request_options: {}
67
+ )
68
+ end
69
+
70
+ sig do
71
+ override.returns(
72
+ {
73
+ blocked_by_email: T.nilable(String),
74
+ created_at_gte: T.nilable(Time),
75
+ created_at_lte: T.nilable(Time),
76
+ identifier: T.nilable(String),
77
+ page_number: T.nilable(Integer),
78
+ page_size: T.nilable(Integer),
79
+ request_options: Dodopayments::RequestOptions
80
+ }
81
+ )
82
+ end
83
+ def to_hash
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ module Blocklist
6
+ class CustomerRetrieveParams < 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::Blocklist::CustomerRetrieveParams,
14
+ Dodopayments::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :entry_id
20
+
21
+ sig do
22
+ params(
23
+ entry_id: String,
24
+ request_options: Dodopayments::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(entry_id:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ { entry_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,66 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ module Blocklist
6
+ module Customers
7
+ class BlockedCustomerNote < Dodopayments::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ Dodopayments::Blocklist::Customers::BlockedCustomerNote,
12
+ Dodopayments::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig { returns(String) }
17
+ attr_accessor :id
18
+
19
+ sig { returns(Time) }
20
+ attr_accessor :created_at
21
+
22
+ sig { returns(String) }
23
+ attr_accessor :note
24
+
25
+ sig { returns(T.nilable(String)) }
26
+ attr_accessor :author_email
27
+
28
+ sig { returns(T.nilable(Time)) }
29
+ attr_accessor :updated_at
30
+
31
+ sig do
32
+ params(
33
+ id: String,
34
+ created_at: Time,
35
+ note: String,
36
+ author_email: T.nilable(String),
37
+ updated_at: T.nilable(Time)
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ id:,
42
+ created_at:,
43
+ note:,
44
+ author_email: nil,
45
+ updated_at: nil
46
+ )
47
+ end
48
+
49
+ sig do
50
+ override.returns(
51
+ {
52
+ id: String,
53
+ created_at: Time,
54
+ note: String,
55
+ author_email: T.nilable(String),
56
+ updated_at: T.nilable(Time)
57
+ }
58
+ )
59
+ end
60
+ def to_hash
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,45 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ module Blocklist
6
+ module Customers
7
+ class NoteCreateParams < Dodopayments::Models::Blocklist::Customers::NoteRequest
8
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
9
+ include Dodopayments::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ Dodopayments::Blocklist::Customers::NoteCreateParams,
15
+ Dodopayments::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :entry_id
21
+
22
+ sig do
23
+ params(
24
+ entry_id: String,
25
+ request_options: Dodopayments::RequestOptions::OrHash
26
+ ).returns(T.attached_class)
27
+ end
28
+ def self.new(entry_id:, request_options: {})
29
+ end
30
+
31
+ sig do
32
+ override.returns(
33
+ {
34
+ entry_id: String,
35
+ request_options: Dodopayments::RequestOptions
36
+ }
37
+ )
38
+ end
39
+ def to_hash
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ module Blocklist
6
+ module Customers
7
+ class NoteRequest < Dodopayments::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ Dodopayments::Blocklist::Customers::NoteRequest,
12
+ Dodopayments::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig { returns(String) }
17
+ attr_accessor :note
18
+
19
+ sig { params(note: String).returns(T.attached_class) }
20
+ def self.new(note:)
21
+ end
22
+
23
+ sig { override.returns({ note: String }) }
24
+ def to_hash
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end