stigg 0.1.0.pre.alpha.1

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 (230) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +45 -0
  4. data/README.md +233 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/stigg/client.rb +72 -0
  7. data/lib/stigg/errors.rb +228 -0
  8. data/lib/stigg/file_part.rb +58 -0
  9. data/lib/stigg/internal/my_cursor_id_page.rb +82 -0
  10. data/lib/stigg/internal/transport/base_client.rb +570 -0
  11. data/lib/stigg/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/stigg/internal/type/array_of.rb +168 -0
  13. data/lib/stigg/internal/type/base_model.rb +529 -0
  14. data/lib/stigg/internal/type/base_page.rb +55 -0
  15. data/lib/stigg/internal/type/boolean.rb +77 -0
  16. data/lib/stigg/internal/type/converter.rb +327 -0
  17. data/lib/stigg/internal/type/enum.rb +131 -0
  18. data/lib/stigg/internal/type/file_input.rb +110 -0
  19. data/lib/stigg/internal/type/hash_of.rb +188 -0
  20. data/lib/stigg/internal/type/request_parameters.rb +42 -0
  21. data/lib/stigg/internal/type/union.rb +237 -0
  22. data/lib/stigg/internal/type/unknown.rb +81 -0
  23. data/lib/stigg/internal/util.rb +920 -0
  24. data/lib/stigg/internal.rb +20 -0
  25. data/lib/stigg/models/v1/coupon_create_params.rb +221 -0
  26. data/lib/stigg/models/v1/coupon_create_response.rb +317 -0
  27. data/lib/stigg/models/v1/coupon_list_params.rb +40 -0
  28. data/lib/stigg/models/v1/coupon_list_response.rb +324 -0
  29. data/lib/stigg/models/v1/coupon_retrieve_params.rb +16 -0
  30. data/lib/stigg/models/v1/coupon_retrieve_response.rb +317 -0
  31. data/lib/stigg/models/v1/customer_archive_params.rb +16 -0
  32. data/lib/stigg/models/v1/customer_create_params.rb +185 -0
  33. data/lib/stigg/models/v1/customer_list_params.rb +40 -0
  34. data/lib/stigg/models/v1/customer_list_response.rb +223 -0
  35. data/lib/stigg/models/v1/customer_response.rb +216 -0
  36. data/lib/stigg/models/v1/customer_retrieve_params.rb +16 -0
  37. data/lib/stigg/models/v1/customer_unarchive_params.rb +16 -0
  38. data/lib/stigg/models/v1/customer_update_params.rb +107 -0
  39. data/lib/stigg/models/v1/customers/payment_method_attach_params.rb +197 -0
  40. data/lib/stigg/models/v1/customers/payment_method_detach_params.rb +18 -0
  41. data/lib/stigg/models/v1/customers/promotional_create_params.rb +294 -0
  42. data/lib/stigg/models/v1/customers/promotional_create_response.rb +268 -0
  43. data/lib/stigg/models/v1/customers/promotional_revoke_params.rb +24 -0
  44. data/lib/stigg/models/v1/customers/promotional_revoke_response.rb +268 -0
  45. data/lib/stigg/models/v1/customers/usage_retrieve_params.rb +56 -0
  46. data/lib/stigg/models/v1/customers/usage_retrieve_response.rb +145 -0
  47. data/lib/stigg/models/v1/subscription_create_params.rb +214 -0
  48. data/lib/stigg/models/v1/subscription_create_response.rb +338 -0
  49. data/lib/stigg/models/v1/subscription_delegate_params.rb +24 -0
  50. data/lib/stigg/models/v1/subscription_delegate_response.rb +274 -0
  51. data/lib/stigg/models/v1/subscription_list_params.rb +60 -0
  52. data/lib/stigg/models/v1/subscription_list_response.rb +281 -0
  53. data/lib/stigg/models/v1/subscription_migrate_params.rb +37 -0
  54. data/lib/stigg/models/v1/subscription_migrate_response.rb +274 -0
  55. data/lib/stigg/models/v1/subscription_preview_params.rb +644 -0
  56. data/lib/stigg/models/v1/subscription_preview_response.rb +431 -0
  57. data/lib/stigg/models/v1/subscription_retrieve_params.rb +16 -0
  58. data/lib/stigg/models/v1/subscription_retrieve_response.rb +274 -0
  59. data/lib/stigg/models/v1/subscription_transfer_params.rb +28 -0
  60. data/lib/stigg/models/v1/subscription_transfer_response.rb +274 -0
  61. data/lib/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_params.rb +18 -0
  62. data/lib/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rb +32 -0
  63. data/lib/stigg/models/v1/subscriptions/future_update_cancel_schedule_params.rb +18 -0
  64. data/lib/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rb +32 -0
  65. data/lib/stigg/models/v1_create_event_params.rb +87 -0
  66. data/lib/stigg/models/v1_create_event_response.rb +16 -0
  67. data/lib/stigg/models/v1_create_usage_params.rb +96 -0
  68. data/lib/stigg/models/v1_create_usage_response.rb +112 -0
  69. data/lib/stigg/models.rb +47 -0
  70. data/lib/stigg/request_options.rb +77 -0
  71. data/lib/stigg/resources/v1/coupons.rb +95 -0
  72. data/lib/stigg/resources/v1/customers/payment_method.rb +67 -0
  73. data/lib/stigg/resources/v1/customers/promotional.rb +69 -0
  74. data/lib/stigg/resources/v1/customers/usage.rb +59 -0
  75. data/lib/stigg/resources/v1/customers.rb +177 -0
  76. data/lib/stigg/resources/v1/subscriptions/future_update.rb +56 -0
  77. data/lib/stigg/resources/v1/subscriptions.rb +241 -0
  78. data/lib/stigg/resources/v1.rb +70 -0
  79. data/lib/stigg/version.rb +5 -0
  80. data/lib/stigg.rb +108 -0
  81. data/manifest.yaml +17 -0
  82. data/rbi/stigg/client.rbi +49 -0
  83. data/rbi/stigg/errors.rbi +205 -0
  84. data/rbi/stigg/file_part.rbi +37 -0
  85. data/rbi/stigg/internal/my_cursor_id_page.rbi +19 -0
  86. data/rbi/stigg/internal/transport/base_client.rbi +297 -0
  87. data/rbi/stigg/internal/transport/pooled_net_requester.rbi +82 -0
  88. data/rbi/stigg/internal/type/array_of.rbi +104 -0
  89. data/rbi/stigg/internal/type/base_model.rbi +299 -0
  90. data/rbi/stigg/internal/type/base_page.rbi +42 -0
  91. data/rbi/stigg/internal/type/boolean.rbi +58 -0
  92. data/rbi/stigg/internal/type/converter.rbi +204 -0
  93. data/rbi/stigg/internal/type/enum.rbi +82 -0
  94. data/rbi/stigg/internal/type/file_input.rbi +58 -0
  95. data/rbi/stigg/internal/type/hash_of.rbi +104 -0
  96. data/rbi/stigg/internal/type/request_parameters.rbi +29 -0
  97. data/rbi/stigg/internal/type/union.rbi +126 -0
  98. data/rbi/stigg/internal/type/unknown.rbi +58 -0
  99. data/rbi/stigg/internal/util.rbi +478 -0
  100. data/rbi/stigg/internal.rbi +16 -0
  101. data/rbi/stigg/models/v1/coupon_create_params.rbi +758 -0
  102. data/rbi/stigg/models/v1/coupon_create_response.rbi +986 -0
  103. data/rbi/stigg/models/v1/coupon_list_params.rbi +70 -0
  104. data/rbi/stigg/models/v1/coupon_list_response.rbi +983 -0
  105. data/rbi/stigg/models/v1/coupon_retrieve_params.rbi +29 -0
  106. data/rbi/stigg/models/v1/coupon_retrieve_response.rbi +986 -0
  107. data/rbi/stigg/models/v1/customer_archive_params.rbi +29 -0
  108. data/rbi/stigg/models/v1/customer_create_params.rbi +376 -0
  109. data/rbi/stigg/models/v1/customer_list_params.rbi +70 -0
  110. data/rbi/stigg/models/v1/customer_list_response.rbi +447 -0
  111. data/rbi/stigg/models/v1/customer_response.rbi +423 -0
  112. data/rbi/stigg/models/v1/customer_retrieve_params.rbi +29 -0
  113. data/rbi/stigg/models/v1/customer_unarchive_params.rbi +29 -0
  114. data/rbi/stigg/models/v1/customer_update_params.rbi +226 -0
  115. data/rbi/stigg/models/v1/customers/payment_method_attach_params.rbi +769 -0
  116. data/rbi/stigg/models/v1/customers/payment_method_detach_params.rbi +34 -0
  117. data/rbi/stigg/models/v1/customers/promotional_create_params.rbi +639 -0
  118. data/rbi/stigg/models/v1/customers/promotional_create_response.rbi +495 -0
  119. data/rbi/stigg/models/v1/customers/promotional_revoke_params.rbi +42 -0
  120. data/rbi/stigg/models/v1/customers/promotional_revoke_response.rbi +497 -0
  121. data/rbi/stigg/models/v1/customers/usage_retrieve_params.rbi +84 -0
  122. data/rbi/stigg/models/v1/customers/usage_retrieve_response.rbi +353 -0
  123. data/rbi/stigg/models/v1/subscription_create_params.rbi +394 -0
  124. data/rbi/stigg/models/v1/subscription_create_response.rbi +668 -0
  125. data/rbi/stigg/models/v1/subscription_delegate_params.rbi +48 -0
  126. data/rbi/stigg/models/v1/subscription_delegate_response.rbi +535 -0
  127. data/rbi/stigg/models/v1/subscription_list_params.rbi +94 -0
  128. data/rbi/stigg/models/v1/subscription_list_response.rbi +543 -0
  129. data/rbi/stigg/models/v1/subscription_migrate_params.rbi +99 -0
  130. data/rbi/stigg/models/v1/subscription_migrate_response.rbi +535 -0
  131. data/rbi/stigg/models/v1/subscription_preview_params.rbi +1786 -0
  132. data/rbi/stigg/models/v1/subscription_preview_response.rbi +929 -0
  133. data/rbi/stigg/models/v1/subscription_retrieve_params.rbi +32 -0
  134. data/rbi/stigg/models/v1/subscription_retrieve_response.rbi +535 -0
  135. data/rbi/stigg/models/v1/subscription_transfer_params.rbi +50 -0
  136. data/rbi/stigg/models/v1/subscription_transfer_response.rbi +535 -0
  137. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_params.rbi +34 -0
  138. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rbi +79 -0
  139. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_schedule_params.rbi +34 -0
  140. data/rbi/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rbi +79 -0
  141. data/rbi/stigg/models/v1_create_event_params.rbi +160 -0
  142. data/rbi/stigg/models/v1_create_event_response.rbi +23 -0
  143. data/rbi/stigg/models/v1_create_usage_params.rbi +177 -0
  144. data/rbi/stigg/models/v1_create_usage_response.rbi +150 -0
  145. data/rbi/stigg/models.rbi +9 -0
  146. data/rbi/stigg/request_options.rbi +55 -0
  147. data/rbi/stigg/resources/v1/coupons.rbi +79 -0
  148. data/rbi/stigg/resources/v1/customers/payment_method.rbi +54 -0
  149. data/rbi/stigg/resources/v1/customers/promotional.rbi +53 -0
  150. data/rbi/stigg/resources/v1/customers/usage.rbi +45 -0
  151. data/rbi/stigg/resources/v1/customers.rbi +138 -0
  152. data/rbi/stigg/resources/v1/subscriptions/future_update.rbi +40 -0
  153. data/rbi/stigg/resources/v1/subscriptions.rbi +199 -0
  154. data/rbi/stigg/resources/v1.rbi +49 -0
  155. data/rbi/stigg/version.rbi +5 -0
  156. data/sig/stigg/client.rbs +26 -0
  157. data/sig/stigg/errors.rbs +117 -0
  158. data/sig/stigg/file_part.rbs +21 -0
  159. data/sig/stigg/internal/my_cursor_id_page.rbs +11 -0
  160. data/sig/stigg/internal/transport/base_client.rbs +133 -0
  161. data/sig/stigg/internal/transport/pooled_net_requester.rbs +48 -0
  162. data/sig/stigg/internal/type/array_of.rbs +48 -0
  163. data/sig/stigg/internal/type/base_model.rbs +102 -0
  164. data/sig/stigg/internal/type/base_page.rbs +24 -0
  165. data/sig/stigg/internal/type/boolean.rbs +26 -0
  166. data/sig/stigg/internal/type/converter.rbs +79 -0
  167. data/sig/stigg/internal/type/enum.rbs +32 -0
  168. data/sig/stigg/internal/type/file_input.rbs +25 -0
  169. data/sig/stigg/internal/type/hash_of.rbs +48 -0
  170. data/sig/stigg/internal/type/request_parameters.rbs +17 -0
  171. data/sig/stigg/internal/type/union.rbs +52 -0
  172. data/sig/stigg/internal/type/unknown.rbs +26 -0
  173. data/sig/stigg/internal/util.rbs +185 -0
  174. data/sig/stigg/internal.rbs +9 -0
  175. data/sig/stigg/models/v1/coupon_create_params.rbs +323 -0
  176. data/sig/stigg/models/v1/coupon_create_response.rbs +392 -0
  177. data/sig/stigg/models/v1/coupon_list_params.rbs +40 -0
  178. data/sig/stigg/models/v1/coupon_list_response.rbs +399 -0
  179. data/sig/stigg/models/v1/coupon_retrieve_params.rbs +17 -0
  180. data/sig/stigg/models/v1/coupon_retrieve_response.rbs +394 -0
  181. data/sig/stigg/models/v1/customer_archive_params.rbs +17 -0
  182. data/sig/stigg/models/v1/customer_create_params.rbs +169 -0
  183. data/sig/stigg/models/v1/customer_list_params.rbs +40 -0
  184. data/sig/stigg/models/v1/customer_list_response.rbs +198 -0
  185. data/sig/stigg/models/v1/customer_response.rbs +188 -0
  186. data/sig/stigg/models/v1/customer_retrieve_params.rbs +17 -0
  187. data/sig/stigg/models/v1/customer_unarchive_params.rbs +17 -0
  188. data/sig/stigg/models/v1/customer_update_params.rbs +110 -0
  189. data/sig/stigg/models/v1/customers/payment_method_attach_params.rbs +315 -0
  190. data/sig/stigg/models/v1/customers/payment_method_detach_params.rbs +19 -0
  191. data/sig/stigg/models/v1/customers/promotional_create_params.rbs +234 -0
  192. data/sig/stigg/models/v1/customers/promotional_create_response.rbs +209 -0
  193. data/sig/stigg/models/v1/customers/promotional_revoke_params.rbs +27 -0
  194. data/sig/stigg/models/v1/customers/promotional_revoke_response.rbs +209 -0
  195. data/sig/stigg/models/v1/customers/usage_retrieve_params.rbs +54 -0
  196. data/sig/stigg/models/v1/customers/usage_retrieve_response.rbs +134 -0
  197. data/sig/stigg/models/v1/subscription_create_params.rbs +199 -0
  198. data/sig/stigg/models/v1/subscription_create_response.rbs +283 -0
  199. data/sig/stigg/models/v1/subscription_delegate_params.rbs +26 -0
  200. data/sig/stigg/models/v1/subscription_delegate_response.rbs +224 -0
  201. data/sig/stigg/models/v1/subscription_list_params.rbs +58 -0
  202. data/sig/stigg/models/v1/subscription_list_response.rbs +229 -0
  203. data/sig/stigg/models/v1/subscription_migrate_params.rbs +43 -0
  204. data/sig/stigg/models/v1/subscription_migrate_response.rbs +224 -0
  205. data/sig/stigg/models/v1/subscription_preview_params.rbs +821 -0
  206. data/sig/stigg/models/v1/subscription_preview_response.rbs +466 -0
  207. data/sig/stigg/models/v1/subscription_retrieve_params.rbs +17 -0
  208. data/sig/stigg/models/v1/subscription_retrieve_response.rbs +224 -0
  209. data/sig/stigg/models/v1/subscription_transfer_params.rbs +26 -0
  210. data/sig/stigg/models/v1/subscription_transfer_response.rbs +224 -0
  211. data/sig/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_params.rbs +19 -0
  212. data/sig/stigg/models/v1/subscriptions/future_update_cancel_pending_payment_response.rbs +34 -0
  213. data/sig/stigg/models/v1/subscriptions/future_update_cancel_schedule_params.rbs +19 -0
  214. data/sig/stigg/models/v1/subscriptions/future_update_cancel_schedule_response.rbs +34 -0
  215. data/sig/stigg/models/v1_create_event_params.rbs +80 -0
  216. data/sig/stigg/models/v1_create_event_response.rbs +13 -0
  217. data/sig/stigg/models/v1_create_usage_params.rbs +90 -0
  218. data/sig/stigg/models/v1_create_usage_response.rbs +85 -0
  219. data/sig/stigg/models.rbs +7 -0
  220. data/sig/stigg/request_options.rbs +34 -0
  221. data/sig/stigg/resources/v1/coupons.rbs +32 -0
  222. data/sig/stigg/resources/v1/customers/payment_method.rbs +25 -0
  223. data/sig/stigg/resources/v1/customers/promotional.rbs +23 -0
  224. data/sig/stigg/resources/v1/customers/usage.rbs +21 -0
  225. data/sig/stigg/resources/v1/customers.rbs +58 -0
  226. data/sig/stigg/resources/v1/subscriptions/future_update.rbs +21 -0
  227. data/sig/stigg/resources/v1/subscriptions.rbs +76 -0
  228. data/sig/stigg/resources/v1.rbs +23 -0
  229. data/sig/stigg/version.rbs +3 -0
  230. metadata +301 -0
@@ -0,0 +1,394 @@
1
+ # typed: strong
2
+
3
+ module Stigg
4
+ module Models
5
+ module V1
6
+ class SubscriptionCreateParams < Stigg::Internal::Type::BaseModel
7
+ extend Stigg::Internal::Type::RequestParameters::Converter
8
+ include Stigg::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(Stigg::V1::SubscriptionCreateParams, Stigg::Internal::AnyHash)
13
+ end
14
+
15
+ # Customer ID to provision the subscription for
16
+ sig { returns(String) }
17
+ attr_accessor :customer_id
18
+
19
+ # Plan ID to provision
20
+ sig { returns(String) }
21
+ attr_accessor :plan_id
22
+
23
+ # Unique identifier for the subscription
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :id
26
+
27
+ # Whether to wait for payment confirmation before returning the subscription
28
+ sig { returns(T.nilable(T::Boolean)) }
29
+ attr_reader :await_payment_confirmation
30
+
31
+ sig { params(await_payment_confirmation: T::Boolean).void }
32
+ attr_writer :await_payment_confirmation
33
+
34
+ sig do
35
+ returns(
36
+ T.nilable(
37
+ Stigg::V1::SubscriptionCreateParams::BillingPeriod::OrSymbol
38
+ )
39
+ )
40
+ end
41
+ attr_reader :billing_period
42
+
43
+ sig do
44
+ params(
45
+ billing_period:
46
+ Stigg::V1::SubscriptionCreateParams::BillingPeriod::OrSymbol
47
+ ).void
48
+ end
49
+ attr_writer :billing_period
50
+
51
+ sig do
52
+ returns(
53
+ T.nilable(Stigg::V1::SubscriptionCreateParams::CheckoutOptions)
54
+ )
55
+ end
56
+ attr_reader :checkout_options
57
+
58
+ sig do
59
+ params(
60
+ checkout_options:
61
+ Stigg::V1::SubscriptionCreateParams::CheckoutOptions::OrHash
62
+ ).void
63
+ end
64
+ attr_writer :checkout_options
65
+
66
+ # Additional metadata for the subscription
67
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
68
+ attr_reader :metadata
69
+
70
+ sig { params(metadata: T::Hash[Symbol, String]).void }
71
+ attr_writer :metadata
72
+
73
+ # Optional paying customer ID for split billing scenarios
74
+ sig { returns(T.nilable(String)) }
75
+ attr_accessor :paying_customer_id
76
+
77
+ # Optional resource ID for multi-instance subscriptions
78
+ sig { returns(T.nilable(String)) }
79
+ attr_accessor :resource_id
80
+
81
+ sig do
82
+ returns(
83
+ T.nilable(
84
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration
85
+ )
86
+ )
87
+ end
88
+ attr_reader :trial_override_configuration
89
+
90
+ sig do
91
+ params(
92
+ trial_override_configuration:
93
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration::OrHash
94
+ ).void
95
+ end
96
+ attr_writer :trial_override_configuration
97
+
98
+ sig do
99
+ params(
100
+ customer_id: String,
101
+ plan_id: String,
102
+ id: T.nilable(String),
103
+ await_payment_confirmation: T::Boolean,
104
+ billing_period:
105
+ Stigg::V1::SubscriptionCreateParams::BillingPeriod::OrSymbol,
106
+ checkout_options:
107
+ Stigg::V1::SubscriptionCreateParams::CheckoutOptions::OrHash,
108
+ metadata: T::Hash[Symbol, String],
109
+ paying_customer_id: T.nilable(String),
110
+ resource_id: T.nilable(String),
111
+ trial_override_configuration:
112
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration::OrHash,
113
+ request_options: Stigg::RequestOptions::OrHash
114
+ ).returns(T.attached_class)
115
+ end
116
+ def self.new(
117
+ # Customer ID to provision the subscription for
118
+ customer_id:,
119
+ # Plan ID to provision
120
+ plan_id:,
121
+ # Unique identifier for the subscription
122
+ id: nil,
123
+ # Whether to wait for payment confirmation before returning the subscription
124
+ await_payment_confirmation: nil,
125
+ billing_period: nil,
126
+ checkout_options: nil,
127
+ # Additional metadata for the subscription
128
+ metadata: nil,
129
+ # Optional paying customer ID for split billing scenarios
130
+ paying_customer_id: nil,
131
+ # Optional resource ID for multi-instance subscriptions
132
+ resource_id: nil,
133
+ trial_override_configuration: nil,
134
+ request_options: {}
135
+ )
136
+ end
137
+
138
+ sig do
139
+ override.returns(
140
+ {
141
+ customer_id: String,
142
+ plan_id: String,
143
+ id: T.nilable(String),
144
+ await_payment_confirmation: T::Boolean,
145
+ billing_period:
146
+ Stigg::V1::SubscriptionCreateParams::BillingPeriod::OrSymbol,
147
+ checkout_options:
148
+ Stigg::V1::SubscriptionCreateParams::CheckoutOptions,
149
+ metadata: T::Hash[Symbol, String],
150
+ paying_customer_id: T.nilable(String),
151
+ resource_id: T.nilable(String),
152
+ trial_override_configuration:
153
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration,
154
+ request_options: Stigg::RequestOptions
155
+ }
156
+ )
157
+ end
158
+ def to_hash
159
+ end
160
+
161
+ module BillingPeriod
162
+ extend Stigg::Internal::Type::Enum
163
+
164
+ TaggedSymbol =
165
+ T.type_alias do
166
+ T.all(Symbol, Stigg::V1::SubscriptionCreateParams::BillingPeriod)
167
+ end
168
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
169
+
170
+ MONTHLY =
171
+ T.let(
172
+ :MONTHLY,
173
+ Stigg::V1::SubscriptionCreateParams::BillingPeriod::TaggedSymbol
174
+ )
175
+ ANNUALLY =
176
+ T.let(
177
+ :ANNUALLY,
178
+ Stigg::V1::SubscriptionCreateParams::BillingPeriod::TaggedSymbol
179
+ )
180
+
181
+ sig do
182
+ override.returns(
183
+ T::Array[
184
+ Stigg::V1::SubscriptionCreateParams::BillingPeriod::TaggedSymbol
185
+ ]
186
+ )
187
+ end
188
+ def self.values
189
+ end
190
+ end
191
+
192
+ class CheckoutOptions < Stigg::Internal::Type::BaseModel
193
+ OrHash =
194
+ T.type_alias do
195
+ T.any(
196
+ Stigg::V1::SubscriptionCreateParams::CheckoutOptions,
197
+ Stigg::Internal::AnyHash
198
+ )
199
+ end
200
+
201
+ # URL to redirect to if checkout is canceled
202
+ sig { returns(String) }
203
+ attr_accessor :cancel_url
204
+
205
+ # URL to redirect to after successful checkout
206
+ sig { returns(String) }
207
+ attr_accessor :success_url
208
+
209
+ # Allow promotional codes during checkout
210
+ sig { returns(T.nilable(T::Boolean)) }
211
+ attr_reader :allow_promo_codes
212
+
213
+ sig { params(allow_promo_codes: T::Boolean).void }
214
+ attr_writer :allow_promo_codes
215
+
216
+ # Allow tax ID collection during checkout
217
+ sig { returns(T.nilable(T::Boolean)) }
218
+ attr_reader :allow_tax_id_collection
219
+
220
+ sig { params(allow_tax_id_collection: T::Boolean).void }
221
+ attr_writer :allow_tax_id_collection
222
+
223
+ # Collect billing address during checkout
224
+ sig { returns(T.nilable(T::Boolean)) }
225
+ attr_reader :collect_billing_address
226
+
227
+ sig { params(collect_billing_address: T::Boolean).void }
228
+ attr_writer :collect_billing_address
229
+
230
+ # Collect phone number during checkout
231
+ sig { returns(T.nilable(T::Boolean)) }
232
+ attr_reader :collect_phone_number
233
+
234
+ sig { params(collect_phone_number: T::Boolean).void }
235
+ attr_writer :collect_phone_number
236
+
237
+ # Optional reference ID for the checkout session
238
+ sig { returns(T.nilable(String)) }
239
+ attr_accessor :reference_id
240
+
241
+ sig do
242
+ params(
243
+ cancel_url: String,
244
+ success_url: String,
245
+ allow_promo_codes: T::Boolean,
246
+ allow_tax_id_collection: T::Boolean,
247
+ collect_billing_address: T::Boolean,
248
+ collect_phone_number: T::Boolean,
249
+ reference_id: T.nilable(String)
250
+ ).returns(T.attached_class)
251
+ end
252
+ def self.new(
253
+ # URL to redirect to if checkout is canceled
254
+ cancel_url:,
255
+ # URL to redirect to after successful checkout
256
+ success_url:,
257
+ # Allow promotional codes during checkout
258
+ allow_promo_codes: nil,
259
+ # Allow tax ID collection during checkout
260
+ allow_tax_id_collection: nil,
261
+ # Collect billing address during checkout
262
+ collect_billing_address: nil,
263
+ # Collect phone number during checkout
264
+ collect_phone_number: nil,
265
+ # Optional reference ID for the checkout session
266
+ reference_id: nil
267
+ )
268
+ end
269
+
270
+ sig do
271
+ override.returns(
272
+ {
273
+ cancel_url: String,
274
+ success_url: String,
275
+ allow_promo_codes: T::Boolean,
276
+ allow_tax_id_collection: T::Boolean,
277
+ collect_billing_address: T::Boolean,
278
+ collect_phone_number: T::Boolean,
279
+ reference_id: T.nilable(String)
280
+ }
281
+ )
282
+ end
283
+ def to_hash
284
+ end
285
+ end
286
+
287
+ class TrialOverrideConfiguration < Stigg::Internal::Type::BaseModel
288
+ OrHash =
289
+ T.type_alias do
290
+ T.any(
291
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration,
292
+ Stigg::Internal::AnyHash
293
+ )
294
+ end
295
+
296
+ # Whether the subscription should start with a trial period
297
+ sig { returns(T::Boolean) }
298
+ attr_accessor :is_trial
299
+
300
+ # Behavior when trial ends: CONVERT_TO_PAID or CANCEL_SUBSCRIPTION
301
+ sig do
302
+ returns(
303
+ T.nilable(
304
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration::TrialEndBehavior::OrSymbol
305
+ )
306
+ )
307
+ end
308
+ attr_reader :trial_end_behavior
309
+
310
+ sig do
311
+ params(
312
+ trial_end_behavior:
313
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration::TrialEndBehavior::OrSymbol
314
+ ).void
315
+ end
316
+ attr_writer :trial_end_behavior
317
+
318
+ # Custom trial end date
319
+ sig { returns(T.nilable(Time)) }
320
+ attr_reader :trial_end_date
321
+
322
+ sig { params(trial_end_date: Time).void }
323
+ attr_writer :trial_end_date
324
+
325
+ sig do
326
+ params(
327
+ is_trial: T::Boolean,
328
+ trial_end_behavior:
329
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration::TrialEndBehavior::OrSymbol,
330
+ trial_end_date: Time
331
+ ).returns(T.attached_class)
332
+ end
333
+ def self.new(
334
+ # Whether the subscription should start with a trial period
335
+ is_trial:,
336
+ # Behavior when trial ends: CONVERT_TO_PAID or CANCEL_SUBSCRIPTION
337
+ trial_end_behavior: nil,
338
+ # Custom trial end date
339
+ trial_end_date: nil
340
+ )
341
+ end
342
+
343
+ sig do
344
+ override.returns(
345
+ {
346
+ is_trial: T::Boolean,
347
+ trial_end_behavior:
348
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration::TrialEndBehavior::OrSymbol,
349
+ trial_end_date: Time
350
+ }
351
+ )
352
+ end
353
+ def to_hash
354
+ end
355
+
356
+ # Behavior when trial ends: CONVERT_TO_PAID or CANCEL_SUBSCRIPTION
357
+ module TrialEndBehavior
358
+ extend Stigg::Internal::Type::Enum
359
+
360
+ TaggedSymbol =
361
+ T.type_alias do
362
+ T.all(
363
+ Symbol,
364
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration::TrialEndBehavior
365
+ )
366
+ end
367
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
368
+
369
+ CONVERT_TO_PAID =
370
+ T.let(
371
+ :CONVERT_TO_PAID,
372
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration::TrialEndBehavior::TaggedSymbol
373
+ )
374
+ CANCEL_SUBSCRIPTION =
375
+ T.let(
376
+ :CANCEL_SUBSCRIPTION,
377
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration::TrialEndBehavior::TaggedSymbol
378
+ )
379
+
380
+ sig do
381
+ override.returns(
382
+ T::Array[
383
+ Stigg::V1::SubscriptionCreateParams::TrialOverrideConfiguration::TrialEndBehavior::TaggedSymbol
384
+ ]
385
+ )
386
+ end
387
+ def self.values
388
+ end
389
+ end
390
+ end
391
+ end
392
+ end
393
+ end
394
+ end