whop_sdk 0.0.23 → 0.0.25

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 (284) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +52 -0
  3. data/README.md +3 -3
  4. data/lib/whop_sdk/client.rb +12 -0
  5. data/lib/whop_sdk/models/ai_chat_create_params.rb +22 -0
  6. data/lib/whop_sdk/models/ai_chat_create_response.rb +89 -0
  7. data/lib/whop_sdk/models/ai_chat_delete_params.rb +14 -0
  8. data/lib/whop_sdk/models/ai_chat_delete_response.rb +8 -0
  9. data/lib/whop_sdk/models/ai_chat_list_params.rb +46 -0
  10. data/lib/whop_sdk/models/ai_chat_list_response.rb +89 -0
  11. data/lib/whop_sdk/models/ai_chat_retrieve_params.rb +14 -0
  12. data/lib/whop_sdk/models/ai_chat_retrieve_response.rb +89 -0
  13. data/lib/whop_sdk/models/ai_chat_update_params.rb +22 -0
  14. data/lib/whop_sdk/models/ai_chat_update_response.rb +89 -0
  15. data/lib/whop_sdk/models/app_build_create_params.rb +16 -55
  16. data/lib/whop_sdk/models/app_create_params.rb +22 -1
  17. data/lib/whop_sdk/models/app_list_params.rb +6 -0
  18. data/lib/whop_sdk/models/app_update_params.rb +14 -53
  19. data/lib/whop_sdk/models/card_brands.rb +16 -0
  20. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +32 -56
  21. data/lib/whop_sdk/models/company_create_params.rb +22 -1
  22. data/lib/whop_sdk/models/company_token_transaction_create_params.rb +69 -0
  23. data/lib/whop_sdk/models/company_token_transaction_create_response.rb +180 -0
  24. data/lib/whop_sdk/models/company_token_transaction_list_params.rb +84 -0
  25. data/lib/whop_sdk/models/company_token_transaction_list_response.rb +180 -0
  26. data/lib/whop_sdk/models/company_token_transaction_retrieve_params.rb +14 -0
  27. data/lib/whop_sdk/models/company_token_transaction_retrieve_response.rb +180 -0
  28. data/lib/whop_sdk/models/company_update_params.rb +28 -106
  29. data/lib/whop_sdk/models/course_create_params.rb +15 -62
  30. data/lib/whop_sdk/models/course_lesson_create_params.rb +14 -53
  31. data/lib/whop_sdk/models/course_lesson_update_params.rb +53 -214
  32. data/lib/whop_sdk/models/course_update_params.rb +14 -61
  33. data/lib/whop_sdk/models/dispute_update_evidence_params.rb +56 -212
  34. data/lib/whop_sdk/models/dm_member_create_params.rb +30 -0
  35. data/lib/whop_sdk/models/dm_member_create_response.rb +94 -0
  36. data/lib/whop_sdk/models/dm_member_delete_params.rb +14 -0
  37. data/lib/whop_sdk/models/dm_member_delete_response.rb +8 -0
  38. data/lib/whop_sdk/models/dm_member_list_params.rb +54 -0
  39. data/lib/whop_sdk/models/dm_member_list_response.rb +71 -0
  40. data/lib/whop_sdk/models/dm_member_retrieve_params.rb +14 -0
  41. data/lib/whop_sdk/models/dm_member_retrieve_response.rb +94 -0
  42. data/lib/whop_sdk/models/dm_member_update_params.rb +58 -0
  43. data/lib/whop_sdk/models/dm_member_update_response.rb +94 -0
  44. data/lib/whop_sdk/models/experience_create_params.rb +22 -1
  45. data/lib/whop_sdk/models/experience_update_params.rb +14 -53
  46. data/lib/whop_sdk/models/forum_post_create_params.rb +13 -52
  47. data/lib/whop_sdk/models/forum_post_update_params.rb +13 -52
  48. data/lib/whop_sdk/models/friendly_receipt_status.rb +23 -11
  49. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +1 -34
  50. data/lib/whop_sdk/models/member_list_response.rb +9 -1
  51. data/lib/whop_sdk/models/member_retrieve_response.rb +9 -1
  52. data/lib/whop_sdk/models/membership.rb +76 -2
  53. data/lib/whop_sdk/models/membership_list_response.rb +38 -2
  54. data/lib/whop_sdk/models/membership_uncancel_params.rb +14 -0
  55. data/lib/whop_sdk/models/message_create_params.rb +22 -53
  56. data/lib/whop_sdk/models/message_delete_params.rb +14 -0
  57. data/lib/whop_sdk/models/message_delete_response.rb +8 -0
  58. data/lib/whop_sdk/models/message_update_params.rb +14 -53
  59. data/lib/whop_sdk/models/payment.rb +17 -1
  60. data/lib/whop_sdk/models/payment_list_response.rb +17 -1
  61. data/lib/whop_sdk/models/payment_method_types.rb +59 -57
  62. data/lib/whop_sdk/models/payment_provider.rb +1 -0
  63. data/lib/whop_sdk/models/payout_method_created_webhook_event.rb +26 -1
  64. data/lib/whop_sdk/models/payout_method_list_response.rb +26 -1
  65. data/lib/whop_sdk/models/payout_method_retrieve_response.rb +26 -1
  66. data/lib/whop_sdk/models/plan_create_params.rb +14 -53
  67. data/lib/whop_sdk/models/plan_update_params.rb +14 -53
  68. data/lib/whop_sdk/models/reaction_create_params.rb +10 -1
  69. data/lib/whop_sdk/models/reaction_delete_params.rb +22 -0
  70. data/lib/whop_sdk/models/reaction_delete_response.rb +8 -0
  71. data/lib/whop_sdk/models/withdrawal_create_params.rb +21 -1
  72. data/lib/whop_sdk/models/withdrawal_create_response.rb +2 -9
  73. data/lib/whop_sdk/models/withdrawal_created_webhook_event.rb +2 -9
  74. data/lib/whop_sdk/models/withdrawal_list_response.rb +1 -9
  75. data/lib/whop_sdk/models/withdrawal_retrieve_response.rb +2 -9
  76. data/lib/whop_sdk/models/withdrawal_updated_webhook_event.rb +2 -9
  77. data/lib/whop_sdk/models.rb +32 -2
  78. data/lib/whop_sdk/resources/ai_chats.rb +141 -0
  79. data/lib/whop_sdk/resources/app_builds.rb +1 -1
  80. data/lib/whop_sdk/resources/apps.rb +4 -2
  81. data/lib/whop_sdk/resources/checkout_configurations.rb +3 -1
  82. data/lib/whop_sdk/resources/companies.rb +5 -3
  83. data/lib/whop_sdk/resources/company_token_transactions.rb +121 -0
  84. data/lib/whop_sdk/resources/course_lessons.rb +4 -4
  85. data/lib/whop_sdk/resources/courses.rb +4 -8
  86. data/lib/whop_sdk/resources/disputes.rb +4 -4
  87. data/lib/whop_sdk/resources/dm_members.rb +155 -0
  88. data/lib/whop_sdk/resources/experiences.rb +4 -2
  89. data/lib/whop_sdk/resources/forum_posts.rb +2 -2
  90. data/lib/whop_sdk/resources/memberships.rb +32 -0
  91. data/lib/whop_sdk/resources/messages.rb +29 -3
  92. data/lib/whop_sdk/resources/notifications.rb +4 -0
  93. data/lib/whop_sdk/resources/plans.rb +2 -2
  94. data/lib/whop_sdk/resources/reactions.rb +34 -1
  95. data/lib/whop_sdk/resources/withdrawals.rb +8 -1
  96. data/lib/whop_sdk/version.rb +1 -1
  97. data/lib/whop_sdk.rb +34 -1
  98. data/rbi/whop_sdk/client.rbi +9 -0
  99. data/rbi/whop_sdk/models/ai_chat_create_params.rbi +40 -0
  100. data/rbi/whop_sdk/models/ai_chat_create_response.rbi +128 -0
  101. data/rbi/whop_sdk/models/ai_chat_delete_params.rbi +27 -0
  102. data/rbi/whop_sdk/models/ai_chat_delete_response.rbi +7 -0
  103. data/rbi/whop_sdk/models/ai_chat_list_params.rbi +67 -0
  104. data/rbi/whop_sdk/models/ai_chat_list_response.rbi +125 -0
  105. data/rbi/whop_sdk/models/ai_chat_retrieve_params.rbi +27 -0
  106. data/rbi/whop_sdk/models/ai_chat_retrieve_response.rbi +128 -0
  107. data/rbi/whop_sdk/models/ai_chat_update_params.rbi +40 -0
  108. data/rbi/whop_sdk/models/ai_chat_update_response.rbi +128 -0
  109. data/rbi/whop_sdk/models/app_build_create_params.rbi +26 -89
  110. data/rbi/whop_sdk/models/app_create_params.rbi +36 -0
  111. data/rbi/whop_sdk/models/app_list_params.rbi +12 -0
  112. data/rbi/whop_sdk/models/app_update_params.rbi +21 -93
  113. data/rbi/whop_sdk/models/card_brands.rbi +17 -0
  114. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +45 -87
  115. data/rbi/whop_sdk/models/company_create_params.rbi +39 -0
  116. data/rbi/whop_sdk/models/company_token_transaction_create_params.rbi +92 -0
  117. data/rbi/whop_sdk/models/company_token_transaction_create_response.rbi +308 -0
  118. data/rbi/whop_sdk/models/company_token_transaction_list_params.rbi +146 -0
  119. data/rbi/whop_sdk/models/company_token_transaction_list_response.rbi +308 -0
  120. data/rbi/whop_sdk/models/company_token_transaction_retrieve_params.rbi +30 -0
  121. data/rbi/whop_sdk/models/company_token_transaction_retrieve_response.rbi +312 -0
  122. data/rbi/whop_sdk/models/company_update_params.rbi +47 -185
  123. data/rbi/whop_sdk/models/course_create_params.rbi +24 -101
  124. data/rbi/whop_sdk/models/course_lesson_create_params.rbi +25 -92
  125. data/rbi/whop_sdk/models/course_lesson_update_params.rbi +97 -359
  126. data/rbi/whop_sdk/models/course_update_params.rbi +24 -101
  127. data/rbi/whop_sdk/models/dispute_update_evidence_params.rbi +116 -340
  128. data/rbi/whop_sdk/models/dm_member_create_params.rbi +51 -0
  129. data/rbi/whop_sdk/models/dm_member_create_response.rbi +179 -0
  130. data/rbi/whop_sdk/models/dm_member_delete_params.rbi +27 -0
  131. data/rbi/whop_sdk/models/dm_member_delete_response.rbi +8 -0
  132. data/rbi/whop_sdk/models/dm_member_list_params.rbi +75 -0
  133. data/rbi/whop_sdk/models/dm_member_list_response.rbi +124 -0
  134. data/rbi/whop_sdk/models/dm_member_retrieve_params.rbi +27 -0
  135. data/rbi/whop_sdk/models/dm_member_retrieve_response.rbi +179 -0
  136. data/rbi/whop_sdk/models/dm_member_update_params.rbi +130 -0
  137. data/rbi/whop_sdk/models/dm_member_update_response.rbi +179 -0
  138. data/rbi/whop_sdk/models/experience_create_params.rbi +41 -0
  139. data/rbi/whop_sdk/models/experience_update_params.rbi +24 -93
  140. data/rbi/whop_sdk/models/forum_post_create_params.rbi +18 -94
  141. data/rbi/whop_sdk/models/forum_post_update_params.rbi +18 -94
  142. data/rbi/whop_sdk/models/friendly_receipt_status.rbi +62 -17
  143. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +0 -105
  144. data/rbi/whop_sdk/models/member_list_response.rbi +8 -0
  145. data/rbi/whop_sdk/models/member_retrieve_response.rbi +8 -0
  146. data/rbi/whop_sdk/models/membership.rbi +126 -4
  147. data/rbi/whop_sdk/models/membership_list_response.rbi +98 -4
  148. data/rbi/whop_sdk/models/membership_uncancel_params.rbi +27 -0
  149. data/rbi/whop_sdk/models/message_create_params.rbi +26 -94
  150. data/rbi/whop_sdk/models/message_delete_params.rbi +27 -0
  151. data/rbi/whop_sdk/models/message_delete_response.rbi +8 -0
  152. data/rbi/whop_sdk/models/message_update_params.rbi +18 -94
  153. data/rbi/whop_sdk/models/payment.rbi +16 -0
  154. data/rbi/whop_sdk/models/payment_list_response.rbi +16 -0
  155. data/rbi/whop_sdk/models/payment_method_types.rbi +67 -64
  156. data/rbi/whop_sdk/models/payment_provider.rbi +1 -0
  157. data/rbi/whop_sdk/models/payout_method_created_webhook_event.rbi +26 -0
  158. data/rbi/whop_sdk/models/payout_method_list_response.rbi +26 -0
  159. data/rbi/whop_sdk/models/payout_method_retrieve_response.rbi +26 -0
  160. data/rbi/whop_sdk/models/plan_create_params.rbi +21 -93
  161. data/rbi/whop_sdk/models/plan_update_params.rbi +21 -93
  162. data/rbi/whop_sdk/models/reaction_create_params.rbi +10 -0
  163. data/rbi/whop_sdk/models/reaction_delete_params.rbi +40 -0
  164. data/rbi/whop_sdk/models/reaction_delete_response.rbi +8 -0
  165. data/rbi/whop_sdk/models/withdrawal_create_params.rbi +18 -0
  166. data/rbi/whop_sdk/models/withdrawal_create_response.rbi +8 -11
  167. data/rbi/whop_sdk/models/withdrawal_created_webhook_event.rbi +8 -11
  168. data/rbi/whop_sdk/models/withdrawal_list_response.rbi +3 -11
  169. data/rbi/whop_sdk/models/withdrawal_retrieve_response.rbi +8 -11
  170. data/rbi/whop_sdk/models/withdrawal_updated_webhook_event.rbi +8 -11
  171. data/rbi/whop_sdk/models.rbi +35 -2
  172. data/rbi/whop_sdk/resources/ai_chats.rbi +108 -0
  173. data/rbi/whop_sdk/resources/app_builds.rbi +1 -5
  174. data/rbi/whop_sdk/resources/apps.rbi +4 -7
  175. data/rbi/whop_sdk/resources/checkout_configurations.rbi +3 -0
  176. data/rbi/whop_sdk/resources/companies.rbi +5 -13
  177. data/rbi/whop_sdk/resources/company_token_transactions.rbi +114 -0
  178. data/rbi/whop_sdk/resources/course_lessons.rbi +4 -24
  179. data/rbi/whop_sdk/resources/courses.rbi +2 -20
  180. data/rbi/whop_sdk/resources/disputes.rbi +4 -16
  181. data/rbi/whop_sdk/resources/dm_members.rbi +128 -0
  182. data/rbi/whop_sdk/resources/experiences.rbi +4 -7
  183. data/rbi/whop_sdk/resources/forum_posts.rbi +2 -12
  184. data/rbi/whop_sdk/resources/memberships.rbi +26 -0
  185. data/rbi/whop_sdk/resources/messages.rbi +23 -12
  186. data/rbi/whop_sdk/resources/notifications.rbi +4 -0
  187. data/rbi/whop_sdk/resources/plans.rbi +2 -14
  188. data/rbi/whop_sdk/resources/reactions.rbi +26 -0
  189. data/rbi/whop_sdk/resources/withdrawals.rbi +7 -0
  190. data/sig/whop_sdk/client.rbs +6 -0
  191. data/sig/whop_sdk/models/ai_chat_create_params.rbs +23 -0
  192. data/sig/whop_sdk/models/ai_chat_create_response.rbs +65 -0
  193. data/sig/whop_sdk/models/ai_chat_delete_params.rbs +15 -0
  194. data/sig/whop_sdk/models/ai_chat_delete_response.rbs +5 -0
  195. data/sig/whop_sdk/models/ai_chat_list_params.rbs +36 -0
  196. data/sig/whop_sdk/models/ai_chat_list_response.rbs +65 -0
  197. data/sig/whop_sdk/models/ai_chat_retrieve_params.rbs +15 -0
  198. data/sig/whop_sdk/models/ai_chat_retrieve_response.rbs +65 -0
  199. data/sig/whop_sdk/models/ai_chat_update_params.rbs +23 -0
  200. data/sig/whop_sdk/models/ai_chat_update_response.rbs +65 -0
  201. data/sig/whop_sdk/models/app_build_create_params.rbs +9 -30
  202. data/sig/whop_sdk/models/app_create_params.rbs +20 -1
  203. data/sig/whop_sdk/models/app_list_params.rbs +13 -1
  204. data/sig/whop_sdk/models/app_update_params.rbs +9 -30
  205. data/sig/whop_sdk/models/card_brands.rbs +32 -0
  206. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +19 -30
  207. data/sig/whop_sdk/models/company_create_params.rbs +15 -0
  208. data/sig/whop_sdk/models/company_token_transaction_create_params.rbs +56 -0
  209. data/sig/whop_sdk/models/company_token_transaction_create_response.rbs +115 -0
  210. data/sig/whop_sdk/models/company_token_transaction_list_params.rbs +68 -0
  211. data/sig/whop_sdk/models/company_token_transaction_list_response.rbs +115 -0
  212. data/sig/whop_sdk/models/company_token_transaction_retrieve_params.rbs +15 -0
  213. data/sig/whop_sdk/models/company_token_transaction_retrieve_response.rbs +115 -0
  214. data/sig/whop_sdk/models/company_update_params.rbs +18 -60
  215. data/sig/whop_sdk/models/course_create_params.rbs +9 -35
  216. data/sig/whop_sdk/models/course_lesson_create_params.rbs +9 -30
  217. data/sig/whop_sdk/models/course_lesson_update_params.rbs +36 -120
  218. data/sig/whop_sdk/models/course_update_params.rbs +9 -35
  219. data/sig/whop_sdk/models/dispute_update_evidence_params.rbs +36 -120
  220. data/sig/whop_sdk/models/dm_member_create_params.rbs +28 -0
  221. data/sig/whop_sdk/models/dm_member_create_response.rbs +71 -0
  222. data/sig/whop_sdk/models/dm_member_delete_params.rbs +15 -0
  223. data/sig/whop_sdk/models/dm_member_delete_response.rbs +5 -0
  224. data/sig/whop_sdk/models/dm_member_list_params.rbs +46 -0
  225. data/sig/whop_sdk/models/dm_member_list_response.rbs +54 -0
  226. data/sig/whop_sdk/models/dm_member_retrieve_params.rbs +15 -0
  227. data/sig/whop_sdk/models/dm_member_retrieve_response.rbs +71 -0
  228. data/sig/whop_sdk/models/dm_member_update_params.rbs +57 -0
  229. data/sig/whop_sdk/models/dm_member_update_response.rbs +71 -0
  230. data/sig/whop_sdk/models/experience_create_params.rbs +15 -0
  231. data/sig/whop_sdk/models/experience_update_params.rbs +9 -30
  232. data/sig/whop_sdk/models/forum_post_create_params.rbs +9 -30
  233. data/sig/whop_sdk/models/forum_post_update_params.rbs +9 -30
  234. data/sig/whop_sdk/models/friendly_receipt_status.rbs +46 -22
  235. data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +0 -38
  236. data/sig/whop_sdk/models/member_list_response.rbs +5 -0
  237. data/sig/whop_sdk/models/member_retrieve_response.rbs +5 -0
  238. data/sig/whop_sdk/models/membership.rbs +65 -4
  239. data/sig/whop_sdk/models/membership_list_response.rbs +45 -4
  240. data/sig/whop_sdk/models/membership_uncancel_params.rbs +15 -0
  241. data/sig/whop_sdk/models/message_create_params.rbs +15 -31
  242. data/sig/whop_sdk/models/message_delete_params.rbs +15 -0
  243. data/sig/whop_sdk/models/message_delete_response.rbs +5 -0
  244. data/sig/whop_sdk/models/message_update_params.rbs +9 -30
  245. data/sig/whop_sdk/models/payment.rbs +10 -0
  246. data/sig/whop_sdk/models/payment_list_response.rbs +10 -0
  247. data/sig/whop_sdk/models/payment_method_types.rbs +119 -115
  248. data/sig/whop_sdk/models/payment_provider.rbs +2 -0
  249. data/sig/whop_sdk/models/payout_method_created_webhook_event.rbs +15 -0
  250. data/sig/whop_sdk/models/payout_method_list_response.rbs +15 -0
  251. data/sig/whop_sdk/models/payout_method_retrieve_response.rbs +15 -0
  252. data/sig/whop_sdk/models/plan_create_params.rbs +9 -30
  253. data/sig/whop_sdk/models/plan_update_params.rbs +9 -30
  254. data/sig/whop_sdk/models/reaction_create_params.rbs +5 -1
  255. data/sig/whop_sdk/models/reaction_delete_params.rbs +23 -0
  256. data/sig/whop_sdk/models/reaction_delete_response.rbs +5 -0
  257. data/sig/whop_sdk/models/withdrawal_create_params.rbs +11 -1
  258. data/sig/whop_sdk/models/withdrawal_create_response.rbs +5 -8
  259. data/sig/whop_sdk/models/withdrawal_created_webhook_event.rbs +5 -8
  260. data/sig/whop_sdk/models/withdrawal_list_response.rbs +3 -8
  261. data/sig/whop_sdk/models/withdrawal_retrieve_response.rbs +5 -8
  262. data/sig/whop_sdk/models/withdrawal_updated_webhook_event.rbs +5 -8
  263. data/sig/whop_sdk/models.rbs +32 -2
  264. data/sig/whop_sdk/resources/ai_chats.rbs +33 -0
  265. data/sig/whop_sdk/resources/app_builds.rbs +1 -1
  266. data/sig/whop_sdk/resources/apps.rbs +2 -1
  267. data/sig/whop_sdk/resources/checkout_configurations.rbs +1 -0
  268. data/sig/whop_sdk/resources/companies.rbs +3 -2
  269. data/sig/whop_sdk/resources/company_token_transactions.rbs +34 -0
  270. data/sig/whop_sdk/resources/course_lessons.rbs +4 -4
  271. data/sig/whop_sdk/resources/courses.rbs +2 -4
  272. data/sig/whop_sdk/resources/disputes.rbs +4 -4
  273. data/sig/whop_sdk/resources/dm_members.rbs +36 -0
  274. data/sig/whop_sdk/resources/experiences.rbs +2 -1
  275. data/sig/whop_sdk/resources/forum_posts.rbs +2 -2
  276. data/sig/whop_sdk/resources/memberships.rbs +5 -0
  277. data/sig/whop_sdk/resources/messages.rbs +5 -2
  278. data/sig/whop_sdk/resources/plans.rbs +2 -2
  279. data/sig/whop_sdk/resources/reactions.rbs +7 -0
  280. data/sig/whop_sdk/resources/withdrawals.rbs +2 -0
  281. metadata +118 -5
  282. data/lib/whop_sdk/models/withdrawal_types.rb +0 -16
  283. data/rbi/whop_sdk/models/withdrawal_types.rbi +0 -20
  284. data/sig/whop_sdk/models/withdrawal_types.rbs +0 -14
@@ -20,6 +20,17 @@ module WhopSDK
20
20
  sig { returns(T::Boolean) }
21
21
  attr_accessor :cancel_at_period_end
22
22
 
23
+ # The different reasons a user can choose for why they are canceling their
24
+ # membership.
25
+ sig do
26
+ returns(
27
+ T.nilable(
28
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
29
+ )
30
+ )
31
+ end
32
+ attr_accessor :cancel_option
33
+
23
34
  # The epoch timestamp of when the customer initiated a cancellation.
24
35
  sig { returns(T.nilable(Time)) }
25
36
  attr_accessor :canceled_at
@@ -149,6 +160,10 @@ module WhopSDK
149
160
  params(
150
161
  id: String,
151
162
  cancel_at_period_end: T::Boolean,
163
+ cancel_option:
164
+ T.nilable(
165
+ WhopSDK::Models::MembershipListResponse::CancelOption::OrSymbol
166
+ ),
152
167
  canceled_at: T.nilable(Time),
153
168
  cancellation_reason: T.nilable(String),
154
169
  company: WhopSDK::Models::MembershipListResponse::Company::OrHash,
@@ -179,6 +194,9 @@ module WhopSDK
179
194
  # Whether this Membership is set to cancel at the end of the current billing
180
195
  # cycle. Only applies for memberships that have a renewal plan.
181
196
  cancel_at_period_end:,
197
+ # The different reasons a user can choose for why they are canceling their
198
+ # membership.
199
+ cancel_option:,
182
200
  # The epoch timestamp of when the customer initiated a cancellation.
183
201
  canceled_at:,
184
202
  # The reason that the member canceled the membership (filled out by the member).
@@ -226,6 +244,10 @@ module WhopSDK
226
244
  {
227
245
  id: String,
228
246
  cancel_at_period_end: T::Boolean,
247
+ cancel_option:
248
+ T.nilable(
249
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
250
+ ),
229
251
  canceled_at: T.nilable(Time),
230
252
  cancellation_reason: T.nilable(String),
231
253
  company: WhopSDK::Models::MembershipListResponse::Company,
@@ -251,6 +273,64 @@ module WhopSDK
251
273
  def to_hash
252
274
  end
253
275
 
276
+ # The different reasons a user can choose for why they are canceling their
277
+ # membership.
278
+ module CancelOption
279
+ extend WhopSDK::Internal::Type::Enum
280
+
281
+ TaggedSymbol =
282
+ T.type_alias do
283
+ T.all(Symbol, WhopSDK::Models::MembershipListResponse::CancelOption)
284
+ end
285
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
286
+
287
+ TOO_EXPENSIVE =
288
+ T.let(
289
+ :too_expensive,
290
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
291
+ )
292
+ SWITCHING =
293
+ T.let(
294
+ :switching,
295
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
296
+ )
297
+ MISSING_FEATURES =
298
+ T.let(
299
+ :missing_features,
300
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
301
+ )
302
+ TECHNICAL_ISSUES =
303
+ T.let(
304
+ :technical_issues,
305
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
306
+ )
307
+ BAD_EXPERIENCE =
308
+ T.let(
309
+ :bad_experience,
310
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
311
+ )
312
+ OTHER =
313
+ T.let(
314
+ :other,
315
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
316
+ )
317
+ TESTING =
318
+ T.let(
319
+ :testing,
320
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
321
+ )
322
+
323
+ sig do
324
+ override.returns(
325
+ T::Array[
326
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
327
+ ]
328
+ )
329
+ end
330
+ def self.values
331
+ end
332
+ end
333
+
254
334
  class Company < WhopSDK::Internal::Type::BaseModel
255
335
  OrHash =
256
336
  T.type_alias do
@@ -406,6 +486,10 @@ module WhopSDK
406
486
  sig { returns(String) }
407
487
  attr_accessor :id
408
488
 
489
+ # The email of the user
490
+ sig { returns(T.nilable(String)) }
491
+ attr_accessor :email
492
+
409
493
  # The name of the user from their Whop account.
410
494
  sig { returns(T.nilable(String)) }
411
495
  attr_accessor :name
@@ -416,13 +500,18 @@ module WhopSDK
416
500
 
417
501
  # The user this membership belongs to
418
502
  sig do
419
- params(id: String, name: T.nilable(String), username: String).returns(
420
- T.attached_class
421
- )
503
+ params(
504
+ id: String,
505
+ email: T.nilable(String),
506
+ name: T.nilable(String),
507
+ username: String
508
+ ).returns(T.attached_class)
422
509
  end
423
510
  def self.new(
424
511
  # The internal ID of the user.
425
512
  id:,
513
+ # The email of the user
514
+ email:,
426
515
  # The name of the user from their Whop account.
427
516
  name:,
428
517
  # The username of the user from their Whop account.
@@ -432,7 +521,12 @@ module WhopSDK
432
521
 
433
522
  sig do
434
523
  override.returns(
435
- { id: String, name: T.nilable(String), username: String }
524
+ {
525
+ id: String,
526
+ email: T.nilable(String),
527
+ name: T.nilable(String),
528
+ username: String
529
+ }
436
530
  )
437
531
  end
438
532
  def to_hash
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class MembershipUncancelParams < WhopSDK::Internal::Type::BaseModel
6
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
7
+ include WhopSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(WhopSDK::MembershipUncancelParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: WhopSDK::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: WhopSDK::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -21,16 +21,7 @@ module WhopSDK
21
21
 
22
22
  # The attachments for this message, such as videos or images.
23
23
  sig do
24
- returns(
25
- T.nilable(
26
- T::Array[
27
- T.any(
28
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithDirectUploadID,
29
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithID
30
- )
31
- ]
32
- )
33
- )
24
+ returns(T.nilable(T::Array[WhopSDK::MessageCreateParams::Attachment]))
34
25
  end
35
26
  attr_accessor :attachments
36
27
 
@@ -43,20 +34,20 @@ module WhopSDK
43
34
  end
44
35
  attr_writer :poll
45
36
 
37
+ # The ID of the message this is replying to, if applicable.
38
+ sig { returns(T.nilable(String)) }
39
+ attr_accessor :replying_to_message_id
40
+
46
41
  sig do
47
42
  params(
48
43
  channel_id: String,
49
44
  content: String,
50
45
  attachments:
51
46
  T.nilable(
52
- T::Array[
53
- T.any(
54
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithDirectUploadID::OrHash,
55
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithID::OrHash
56
- )
57
- ]
47
+ T::Array[WhopSDK::MessageCreateParams::Attachment::OrHash]
58
48
  ),
59
49
  poll: T.nilable(WhopSDK::MessageCreateParams::Poll::OrHash),
50
+ replying_to_message_id: T.nilable(String),
60
51
  request_options: WhopSDK::RequestOptions::OrHash
61
52
  ).returns(T.attached_class)
62
53
  end
@@ -69,6 +60,8 @@ module WhopSDK
69
60
  attachments: nil,
70
61
  # The poll for this message
71
62
  poll: nil,
63
+ # The ID of the message this is replying to, if applicable.
64
+ replying_to_message_id: nil,
72
65
  request_options: {}
73
66
  )
74
67
  end
@@ -79,15 +72,9 @@ module WhopSDK
79
72
  channel_id: String,
80
73
  content: String,
81
74
  attachments:
82
- T.nilable(
83
- T::Array[
84
- T.any(
85
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithDirectUploadID,
86
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithID
87
- )
88
- ]
89
- ),
75
+ T.nilable(T::Array[WhopSDK::MessageCreateParams::Attachment]),
90
76
  poll: T.nilable(WhopSDK::MessageCreateParams::Poll),
77
+ replying_to_message_id: T.nilable(String),
91
78
  request_options: WhopSDK::RequestOptions
92
79
  }
93
80
  )
@@ -95,84 +82,29 @@ module WhopSDK
95
82
  def to_hash
96
83
  end
97
84
 
98
- # Input for an attachment
99
- module Attachment
100
- extend WhopSDK::Internal::Type::Union
101
-
102
- Variants =
85
+ class Attachment < WhopSDK::Internal::Type::BaseModel
86
+ OrHash =
103
87
  T.type_alias do
104
88
  T.any(
105
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithDirectUploadID,
106
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithID
89
+ WhopSDK::MessageCreateParams::Attachment,
90
+ WhopSDK::Internal::AnyHash
107
91
  )
108
92
  end
109
93
 
110
- class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
111
- OrHash =
112
- T.type_alias do
113
- T.any(
114
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithDirectUploadID,
115
- WhopSDK::Internal::AnyHash
116
- )
117
- end
118
-
119
- # This ID should be used the first time you upload an attachment. It is the ID of
120
- # the direct upload that was created when uploading the file to S3 via the
121
- # mediaDirectUpload mutation.
122
- sig { returns(String) }
123
- attr_accessor :direct_upload_id
124
-
125
- # Input for an attachment
126
- sig { params(direct_upload_id: String).returns(T.attached_class) }
127
- def self.new(
128
- # This ID should be used the first time you upload an attachment. It is the ID of
129
- # the direct upload that was created when uploading the file to S3 via the
130
- # mediaDirectUpload mutation.
131
- direct_upload_id:
132
- )
133
- end
134
-
135
- sig { override.returns({ direct_upload_id: String }) }
136
- def to_hash
137
- end
138
- end
94
+ # The ID of an existing file object.
95
+ sig { returns(String) }
96
+ attr_accessor :id
139
97
 
140
- class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
141
- OrHash =
142
- T.type_alias do
143
- T.any(
144
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithID,
145
- WhopSDK::Internal::AnyHash
146
- )
147
- end
148
-
149
- # The ID of an existing attachment object. Use this when updating a resource and
150
- # keeping a subset of the attachments. Don't use this unless you know what you're
151
- # doing.
152
- sig { returns(String) }
153
- attr_accessor :id
154
-
155
- # Input for an attachment
156
- sig { params(id: String).returns(T.attached_class) }
157
- def self.new(
158
- # The ID of an existing attachment object. Use this when updating a resource and
159
- # keeping a subset of the attachments. Don't use this unless you know what you're
160
- # doing.
161
- id:
162
- )
163
- end
164
-
165
- sig { override.returns({ id: String }) }
166
- def to_hash
167
- end
98
+ # Input for an attachment
99
+ sig { params(id: String).returns(T.attached_class) }
100
+ def self.new(
101
+ # The ID of an existing file object.
102
+ id:
103
+ )
168
104
  end
169
105
 
170
- sig do
171
- override.returns(
172
- T::Array[WhopSDK::MessageCreateParams::Attachment::Variants]
173
- )
174
- end
175
- def self.variants
106
+ sig { override.returns({ id: String }) }
107
+ def to_hash
176
108
  end
177
109
  end
178
110
 
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class MessageDeleteParams < WhopSDK::Internal::Type::BaseModel
6
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
7
+ include WhopSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(WhopSDK::MessageDeleteParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: WhopSDK::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: WhopSDK::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,8 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ MessageDeleteResponse =
6
+ T.let(T::Boolean, WhopSDK::Internal::Type::Converter)
7
+ end
8
+ end
@@ -13,16 +13,7 @@ module WhopSDK
13
13
 
14
14
  # The attachments for this message
15
15
  sig do
16
- returns(
17
- T.nilable(
18
- T::Array[
19
- T.any(
20
- WhopSDK::MessageUpdateParams::Attachment::AttachmentInputWithDirectUploadID,
21
- WhopSDK::MessageUpdateParams::Attachment::AttachmentInputWithID
22
- )
23
- ]
24
- )
25
- )
16
+ returns(T.nilable(T::Array[WhopSDK::MessageUpdateParams::Attachment]))
26
17
  end
27
18
  attr_accessor :attachments
28
19
 
@@ -38,12 +29,7 @@ module WhopSDK
38
29
  params(
39
30
  attachments:
40
31
  T.nilable(
41
- T::Array[
42
- T.any(
43
- WhopSDK::MessageUpdateParams::Attachment::AttachmentInputWithDirectUploadID::OrHash,
44
- WhopSDK::MessageUpdateParams::Attachment::AttachmentInputWithID::OrHash
45
- )
46
- ]
32
+ T::Array[WhopSDK::MessageUpdateParams::Attachment::OrHash]
47
33
  ),
48
34
  content: T.nilable(String),
49
35
  is_pinned: T.nilable(T::Boolean),
@@ -65,14 +51,7 @@ module WhopSDK
65
51
  override.returns(
66
52
  {
67
53
  attachments:
68
- T.nilable(
69
- T::Array[
70
- T.any(
71
- WhopSDK::MessageUpdateParams::Attachment::AttachmentInputWithDirectUploadID,
72
- WhopSDK::MessageUpdateParams::Attachment::AttachmentInputWithID
73
- )
74
- ]
75
- ),
54
+ T.nilable(T::Array[WhopSDK::MessageUpdateParams::Attachment]),
76
55
  content: T.nilable(String),
77
56
  is_pinned: T.nilable(T::Boolean),
78
57
  request_options: WhopSDK::RequestOptions
@@ -82,84 +61,29 @@ module WhopSDK
82
61
  def to_hash
83
62
  end
84
63
 
85
- # Input for an attachment
86
- module Attachment
87
- extend WhopSDK::Internal::Type::Union
88
-
89
- Variants =
64
+ class Attachment < WhopSDK::Internal::Type::BaseModel
65
+ OrHash =
90
66
  T.type_alias do
91
67
  T.any(
92
- WhopSDK::MessageUpdateParams::Attachment::AttachmentInputWithDirectUploadID,
93
- WhopSDK::MessageUpdateParams::Attachment::AttachmentInputWithID
68
+ WhopSDK::MessageUpdateParams::Attachment,
69
+ WhopSDK::Internal::AnyHash
94
70
  )
95
71
  end
96
72
 
97
- class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
98
- OrHash =
99
- T.type_alias do
100
- T.any(
101
- WhopSDK::MessageUpdateParams::Attachment::AttachmentInputWithDirectUploadID,
102
- WhopSDK::Internal::AnyHash
103
- )
104
- end
105
-
106
- # This ID should be used the first time you upload an attachment. It is the ID of
107
- # the direct upload that was created when uploading the file to S3 via the
108
- # mediaDirectUpload mutation.
109
- sig { returns(String) }
110
- attr_accessor :direct_upload_id
111
-
112
- # Input for an attachment
113
- sig { params(direct_upload_id: String).returns(T.attached_class) }
114
- def self.new(
115
- # This ID should be used the first time you upload an attachment. It is the ID of
116
- # the direct upload that was created when uploading the file to S3 via the
117
- # mediaDirectUpload mutation.
118
- direct_upload_id:
119
- )
120
- end
121
-
122
- sig { override.returns({ direct_upload_id: String }) }
123
- def to_hash
124
- end
125
- end
73
+ # The ID of an existing file object.
74
+ sig { returns(String) }
75
+ attr_accessor :id
126
76
 
127
- class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
128
- OrHash =
129
- T.type_alias do
130
- T.any(
131
- WhopSDK::MessageUpdateParams::Attachment::AttachmentInputWithID,
132
- WhopSDK::Internal::AnyHash
133
- )
134
- end
135
-
136
- # The ID of an existing attachment object. Use this when updating a resource and
137
- # keeping a subset of the attachments. Don't use this unless you know what you're
138
- # doing.
139
- sig { returns(String) }
140
- attr_accessor :id
141
-
142
- # Input for an attachment
143
- sig { params(id: String).returns(T.attached_class) }
144
- def self.new(
145
- # The ID of an existing attachment object. Use this when updating a resource and
146
- # keeping a subset of the attachments. Don't use this unless you know what you're
147
- # doing.
148
- id:
149
- )
150
- end
151
-
152
- sig { override.returns({ id: String }) }
153
- def to_hash
154
- end
77
+ # Input for an attachment
78
+ sig { params(id: String).returns(T.attached_class) }
79
+ def self.new(
80
+ # The ID of an existing file object.
81
+ id:
82
+ )
155
83
  end
156
84
 
157
- sig do
158
- override.returns(
159
- T::Array[WhopSDK::MessageUpdateParams::Attachment::Variants]
160
- )
161
- end
162
- def self.variants
85
+ sig { override.returns({ id: String }) }
86
+ def to_hash
163
87
  end
164
88
  end
165
89
  end
@@ -89,6 +89,10 @@ module WhopSDK
89
89
  sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
90
90
  attr_accessor :metadata
91
91
 
92
+ # The time of the next schedule payment retry.
93
+ sig { returns(T.nilable(Time)) }
94
+ attr_accessor :next_payment_attempt
95
+
92
96
  # The datetime the payment was paid
93
97
  sig { returns(T.nilable(Time)) }
94
98
  attr_accessor :paid_at
@@ -108,6 +112,10 @@ module WhopSDK
108
112
  sig { returns(T.nilable(WhopSDK::PaymentMethodTypes::TaggedSymbol)) }
109
113
  attr_accessor :payment_method_type
110
114
 
115
+ # The number of failed payment attempts for the payment.
116
+ sig { returns(T.nilable(Integer)) }
117
+ attr_accessor :payments_failed
118
+
111
119
  # The plan attached to this payment.
112
120
  sig { returns(T.nilable(WhopSDK::Payment::Plan)) }
113
121
  attr_reader :plan
@@ -201,9 +209,11 @@ module WhopSDK
201
209
  member: T.nilable(WhopSDK::Payment::Member::OrHash),
202
210
  membership: T.nilable(WhopSDK::Payment::Membership::OrHash),
203
211
  metadata: T.nilable(T::Hash[Symbol, T.anything]),
212
+ next_payment_attempt: T.nilable(Time),
204
213
  paid_at: T.nilable(Time),
205
214
  payment_method: T.nilable(WhopSDK::Payment::PaymentMethod::OrHash),
206
215
  payment_method_type: T.nilable(WhopSDK::PaymentMethodTypes::OrSymbol),
216
+ payments_failed: T.nilable(Integer),
207
217
  plan: T.nilable(WhopSDK::Payment::Plan::OrHash),
208
218
  product: T.nilable(WhopSDK::Payment::Product::OrHash),
209
219
  promo_code: T.nilable(WhopSDK::Payment::PromoCode::OrHash),
@@ -254,12 +264,16 @@ module WhopSDK
254
264
  # The custom metadata stored on this payment. This will be copied over to the
255
265
  # checkout configuration for which this payment was made
256
266
  metadata:,
267
+ # The time of the next schedule payment retry.
268
+ next_payment_attempt:,
257
269
  # The datetime the payment was paid
258
270
  paid_at:,
259
271
  # The payment method used for the payment, if available.
260
272
  payment_method:,
261
273
  # The different types of payment methods that can be used.
262
274
  payment_method_type:,
275
+ # The number of failed payment attempts for the payment.
276
+ payments_failed:,
263
277
  # The plan attached to this payment.
264
278
  plan:,
265
279
  # The product this payment was made for
@@ -314,10 +328,12 @@ module WhopSDK
314
328
  member: T.nilable(WhopSDK::Payment::Member),
315
329
  membership: T.nilable(WhopSDK::Payment::Membership),
316
330
  metadata: T.nilable(T::Hash[Symbol, T.anything]),
331
+ next_payment_attempt: T.nilable(Time),
317
332
  paid_at: T.nilable(Time),
318
333
  payment_method: T.nilable(WhopSDK::Payment::PaymentMethod),
319
334
  payment_method_type:
320
335
  T.nilable(WhopSDK::PaymentMethodTypes::TaggedSymbol),
336
+ payments_failed: T.nilable(Integer),
321
337
  plan: T.nilable(WhopSDK::Payment::Plan),
322
338
  product: T.nilable(WhopSDK::Payment::Product),
323
339
  promo_code: T.nilable(WhopSDK::Payment::PromoCode),
@@ -114,6 +114,10 @@ module WhopSDK
114
114
  sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
115
115
  attr_accessor :metadata
116
116
 
117
+ # The time of the next schedule payment retry.
118
+ sig { returns(T.nilable(Time)) }
119
+ attr_accessor :next_payment_attempt
120
+
117
121
  # The datetime the payment was paid
118
122
  sig { returns(T.nilable(Time)) }
119
123
  attr_accessor :paid_at
@@ -138,6 +142,10 @@ module WhopSDK
138
142
  sig { returns(T.nilable(WhopSDK::PaymentMethodTypes::TaggedSymbol)) }
139
143
  attr_accessor :payment_method_type
140
144
 
145
+ # The number of failed payment attempts for the payment.
146
+ sig { returns(T.nilable(Integer)) }
147
+ attr_accessor :payments_failed
148
+
141
149
  # The plan attached to this payment.
142
150
  sig { returns(T.nilable(WhopSDK::Models::PaymentListResponse::Plan)) }
143
151
  attr_reader :plan
@@ -255,12 +263,14 @@ module WhopSDK
255
263
  membership:
256
264
  T.nilable(WhopSDK::Models::PaymentListResponse::Membership::OrHash),
257
265
  metadata: T.nilable(T::Hash[Symbol, T.anything]),
266
+ next_payment_attempt: T.nilable(Time),
258
267
  paid_at: T.nilable(Time),
259
268
  payment_method:
260
269
  T.nilable(
261
270
  WhopSDK::Models::PaymentListResponse::PaymentMethod::OrHash
262
271
  ),
263
272
  payment_method_type: T.nilable(WhopSDK::PaymentMethodTypes::OrSymbol),
273
+ payments_failed: T.nilable(Integer),
264
274
  plan: T.nilable(WhopSDK::Models::PaymentListResponse::Plan::OrHash),
265
275
  product:
266
276
  T.nilable(WhopSDK::Models::PaymentListResponse::Product::OrHash),
@@ -313,12 +323,16 @@ module WhopSDK
313
323
  # The custom metadata stored on this payment. This will be copied over to the
314
324
  # checkout configuration for which this payment was made
315
325
  metadata:,
326
+ # The time of the next schedule payment retry.
327
+ next_payment_attempt:,
316
328
  # The datetime the payment was paid
317
329
  paid_at:,
318
330
  # The payment method used for the payment, if available.
319
331
  payment_method:,
320
332
  # The different types of payment methods that can be used.
321
333
  payment_method_type:,
334
+ # The number of failed payment attempts for the payment.
335
+ payments_failed:,
322
336
  # The plan attached to this payment.
323
337
  plan:,
324
338
  # The product this payment was made for
@@ -375,11 +389,13 @@ module WhopSDK
375
389
  membership:
376
390
  T.nilable(WhopSDK::Models::PaymentListResponse::Membership),
377
391
  metadata: T.nilable(T::Hash[Symbol, T.anything]),
392
+ next_payment_attempt: T.nilable(Time),
378
393
  paid_at: T.nilable(Time),
379
394
  payment_method:
380
395
  T.nilable(WhopSDK::Models::PaymentListResponse::PaymentMethod),
381
396
  payment_method_type:
382
397
  T.nilable(WhopSDK::PaymentMethodTypes::TaggedSymbol),
398
+ payments_failed: T.nilable(Integer),
383
399
  plan: T.nilable(WhopSDK::Models::PaymentListResponse::Plan),
384
400
  product: T.nilable(WhopSDK::Models::PaymentListResponse::Product),
385
401
  promo_code: