whop-sdk 0.0.10__py3-none-any.whl

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 (352) hide show
  1. whop_sdk/__init__.py +94 -0
  2. whop_sdk/_base_client.py +1995 -0
  3. whop_sdk/_client.py +800 -0
  4. whop_sdk/_compat.py +219 -0
  5. whop_sdk/_constants.py +14 -0
  6. whop_sdk/_exceptions.py +112 -0
  7. whop_sdk/_files.py +123 -0
  8. whop_sdk/_models.py +857 -0
  9. whop_sdk/_qs.py +150 -0
  10. whop_sdk/_resource.py +43 -0
  11. whop_sdk/_response.py +830 -0
  12. whop_sdk/_streaming.py +333 -0
  13. whop_sdk/_types.py +260 -0
  14. whop_sdk/_utils/__init__.py +64 -0
  15. whop_sdk/_utils/_compat.py +45 -0
  16. whop_sdk/_utils/_datetime_parse.py +136 -0
  17. whop_sdk/_utils/_logs.py +25 -0
  18. whop_sdk/_utils/_proxy.py +65 -0
  19. whop_sdk/_utils/_reflection.py +42 -0
  20. whop_sdk/_utils/_resources_proxy.py +24 -0
  21. whop_sdk/_utils/_streams.py +12 -0
  22. whop_sdk/_utils/_sync.py +58 -0
  23. whop_sdk/_utils/_transform.py +457 -0
  24. whop_sdk/_utils/_typing.py +156 -0
  25. whop_sdk/_utils/_utils.py +421 -0
  26. whop_sdk/_version.py +4 -0
  27. whop_sdk/lib/.keep +4 -0
  28. whop_sdk/pagination.py +61 -0
  29. whop_sdk/py.typed +0 -0
  30. whop_sdk/resources/__init__.py +540 -0
  31. whop_sdk/resources/access_tokens.py +341 -0
  32. whop_sdk/resources/account_links.py +211 -0
  33. whop_sdk/resources/app_builds.py +587 -0
  34. whop_sdk/resources/apps.py +684 -0
  35. whop_sdk/resources/authorized_users.py +353 -0
  36. whop_sdk/resources/chat_channels.py +469 -0
  37. whop_sdk/resources/checkout_configurations.py +776 -0
  38. whop_sdk/resources/companies.py +465 -0
  39. whop_sdk/resources/course_chapters.py +602 -0
  40. whop_sdk/resources/course_lesson_interactions.py +343 -0
  41. whop_sdk/resources/course_lessons.py +1040 -0
  42. whop_sdk/resources/course_students.py +327 -0
  43. whop_sdk/resources/courses.py +776 -0
  44. whop_sdk/resources/disputes.py +693 -0
  45. whop_sdk/resources/entries.py +556 -0
  46. whop_sdk/resources/experiences.py +983 -0
  47. whop_sdk/resources/forum_posts.py +656 -0
  48. whop_sdk/resources/forums.py +446 -0
  49. whop_sdk/resources/invoices.py +1099 -0
  50. whop_sdk/resources/ledger_accounts.py +171 -0
  51. whop_sdk/resources/members.py +429 -0
  52. whop_sdk/resources/memberships.py +818 -0
  53. whop_sdk/resources/messages.py +558 -0
  54. whop_sdk/resources/notifications.py +388 -0
  55. whop_sdk/resources/payment_tokens.py +359 -0
  56. whop_sdk/resources/payments.py +1040 -0
  57. whop_sdk/resources/plans.py +1001 -0
  58. whop_sdk/resources/products.py +970 -0
  59. whop_sdk/resources/promo_codes.py +668 -0
  60. whop_sdk/resources/reactions.py +423 -0
  61. whop_sdk/resources/refunds.py +347 -0
  62. whop_sdk/resources/reviews.py +332 -0
  63. whop_sdk/resources/setup_intents.py +349 -0
  64. whop_sdk/resources/shipments.py +451 -0
  65. whop_sdk/resources/support_channels.py +455 -0
  66. whop_sdk/resources/transfers.py +513 -0
  67. whop_sdk/resources/users.py +248 -0
  68. whop_sdk/resources/webhooks.py +69 -0
  69. whop_sdk/resources/withdrawals.py +341 -0
  70. whop_sdk/types/__init__.py +262 -0
  71. whop_sdk/types/access_token_create_params.py +64 -0
  72. whop_sdk/types/access_token_create_response.py +15 -0
  73. whop_sdk/types/account_link_create_params.py +27 -0
  74. whop_sdk/types/account_link_create_response.py +15 -0
  75. whop_sdk/types/app_build_create_params.py +72 -0
  76. whop_sdk/types/app_build_list_params.py +42 -0
  77. whop_sdk/types/app_build_list_response.py +50 -0
  78. whop_sdk/types/app_create_params.py +19 -0
  79. whop_sdk/types/app_list_params.py +59 -0
  80. whop_sdk/types/app_list_response.py +110 -0
  81. whop_sdk/types/app_type.py +7 -0
  82. whop_sdk/types/app_update_params.py +67 -0
  83. whop_sdk/types/assessment_question_types.py +7 -0
  84. whop_sdk/types/authorized_user_list_params.py +41 -0
  85. whop_sdk/types/authorized_user_list_response.py +33 -0
  86. whop_sdk/types/authorized_user_retrieve_response.py +33 -0
  87. whop_sdk/types/billing_reasons.py +9 -0
  88. whop_sdk/types/card_brands.py +25 -0
  89. whop_sdk/types/chat_channel_list_params.py +28 -0
  90. whop_sdk/types/chat_channel_list_response.py +43 -0
  91. whop_sdk/types/chat_channel_update_params.py +32 -0
  92. whop_sdk/types/checkout_configuration_create_params.py +373 -0
  93. whop_sdk/types/checkout_configuration_list_params.py +41 -0
  94. whop_sdk/types/checkout_configuration_list_response.py +104 -0
  95. whop_sdk/types/checkout_modes.py +7 -0
  96. whop_sdk/types/company_create_params.py +22 -0
  97. whop_sdk/types/company_list_params.py +38 -0
  98. whop_sdk/types/company_list_response.py +76 -0
  99. whop_sdk/types/course.py +122 -0
  100. whop_sdk/types/course_chapter.py +32 -0
  101. whop_sdk/types/course_chapter_create_params.py +16 -0
  102. whop_sdk/types/course_chapter_delete_response.py +7 -0
  103. whop_sdk/types/course_chapter_list_params.py +25 -0
  104. whop_sdk/types/course_chapter_list_response.py +16 -0
  105. whop_sdk/types/course_chapter_update_params.py +12 -0
  106. whop_sdk/types/course_create_params.py +78 -0
  107. whop_sdk/types/course_delete_response.py +7 -0
  108. whop_sdk/types/course_lesson_create_params.py +63 -0
  109. whop_sdk/types/course_lesson_delete_response.py +7 -0
  110. whop_sdk/types/course_lesson_interaction_completed_webhook_event.py +26 -0
  111. whop_sdk/types/course_lesson_interaction_list_params.py +34 -0
  112. whop_sdk/types/course_lesson_list_params.py +28 -0
  113. whop_sdk/types/course_lesson_list_response.py +57 -0
  114. whop_sdk/types/course_lesson_mark_as_completed_response.py +7 -0
  115. whop_sdk/types/course_lesson_start_response.py +7 -0
  116. whop_sdk/types/course_lesson_submit_assessment_params.py +26 -0
  117. whop_sdk/types/course_lesson_submit_assessment_response.py +62 -0
  118. whop_sdk/types/course_lesson_update_params.py +222 -0
  119. whop_sdk/types/course_list_params.py +28 -0
  120. whop_sdk/types/course_list_response.py +90 -0
  121. whop_sdk/types/course_student_list_params.py +28 -0
  122. whop_sdk/types/course_student_list_response.py +42 -0
  123. whop_sdk/types/course_student_retrieve_response.py +61 -0
  124. whop_sdk/types/course_update_params.py +114 -0
  125. whop_sdk/types/course_visibilities.py +7 -0
  126. whop_sdk/types/dispute.py +284 -0
  127. whop_sdk/types/dispute_created_webhook_event.py +26 -0
  128. whop_sdk/types/dispute_list_params.py +38 -0
  129. whop_sdk/types/dispute_list_response.py +77 -0
  130. whop_sdk/types/dispute_statuses.py +17 -0
  131. whop_sdk/types/dispute_update_evidence_params.py +159 -0
  132. whop_sdk/types/dispute_updated_webhook_event.py +26 -0
  133. whop_sdk/types/embed_type.py +7 -0
  134. whop_sdk/types/entry_approve_response.py +10 -0
  135. whop_sdk/types/entry_approved_webhook_event.py +26 -0
  136. whop_sdk/types/entry_created_webhook_event.py +26 -0
  137. whop_sdk/types/entry_deleted_webhook_event.py +26 -0
  138. whop_sdk/types/entry_denied_webhook_event.py +26 -0
  139. whop_sdk/types/entry_list_params.py +52 -0
  140. whop_sdk/types/entry_list_response.py +56 -0
  141. whop_sdk/types/experience_attach_params.py +12 -0
  142. whop_sdk/types/experience_create_params.py +22 -0
  143. whop_sdk/types/experience_delete_response.py +7 -0
  144. whop_sdk/types/experience_detach_params.py +12 -0
  145. whop_sdk/types/experience_duplicate_params.py +13 -0
  146. whop_sdk/types/experience_list_params.py +40 -0
  147. whop_sdk/types/experience_list_response.py +73 -0
  148. whop_sdk/types/experience_update_params.py +46 -0
  149. whop_sdk/types/forum_list_params.py +28 -0
  150. whop_sdk/types/forum_list_response.py +33 -0
  151. whop_sdk/types/forum_post_create_params.py +101 -0
  152. whop_sdk/types/forum_post_list_params.py +31 -0
  153. whop_sdk/types/forum_post_list_response.py +60 -0
  154. whop_sdk/types/forum_post_update_params.py +56 -0
  155. whop_sdk/types/forum_post_visibility_type.py +7 -0
  156. whop_sdk/types/forum_update_params.py +23 -0
  157. whop_sdk/types/invoice_create_params.py +515 -0
  158. whop_sdk/types/invoice_created_webhook_event.py +26 -0
  159. whop_sdk/types/invoice_list_params.py +53 -0
  160. whop_sdk/types/invoice_paid_webhook_event.py +26 -0
  161. whop_sdk/types/invoice_past_due_webhook_event.py +26 -0
  162. whop_sdk/types/invoice_void_response.py +7 -0
  163. whop_sdk/types/invoice_voided_webhook_event.py +26 -0
  164. whop_sdk/types/languages.py +30 -0
  165. whop_sdk/types/ledger_account_retrieve_response.py +93 -0
  166. whop_sdk/types/lesson.py +219 -0
  167. whop_sdk/types/lesson_types.py +7 -0
  168. whop_sdk/types/lesson_visibilities.py +7 -0
  169. whop_sdk/types/member_list_params.py +73 -0
  170. whop_sdk/types/member_list_response.py +65 -0
  171. whop_sdk/types/member_retrieve_response.py +79 -0
  172. whop_sdk/types/membership_activated_webhook_event.py +29 -0
  173. whop_sdk/types/membership_cancel_params.py +13 -0
  174. whop_sdk/types/membership_deactivated_webhook_event.py +29 -0
  175. whop_sdk/types/membership_list_params.py +73 -0
  176. whop_sdk/types/membership_list_response.py +128 -0
  177. whop_sdk/types/membership_pause_params.py +16 -0
  178. whop_sdk/types/membership_update_params.py +13 -0
  179. whop_sdk/types/message_create_params.py +63 -0
  180. whop_sdk/types/message_list_params.py +30 -0
  181. whop_sdk/types/message_list_response.py +90 -0
  182. whop_sdk/types/message_update_params.py +45 -0
  183. whop_sdk/types/notification_create_params.py +93 -0
  184. whop_sdk/types/notification_create_response.py +10 -0
  185. whop_sdk/types/payment_create_params.py +162 -0
  186. whop_sdk/types/payment_failed_webhook_event.py +26 -0
  187. whop_sdk/types/payment_list_params.py +67 -0
  188. whop_sdk/types/payment_list_response.py +273 -0
  189. whop_sdk/types/payment_method_types.py +94 -0
  190. whop_sdk/types/payment_pending_webhook_event.py +26 -0
  191. whop_sdk/types/payment_provider.py +9 -0
  192. whop_sdk/types/payment_refund_params.py +13 -0
  193. whop_sdk/types/payment_succeeded_webhook_event.py +26 -0
  194. whop_sdk/types/payment_token_list_params.py +38 -0
  195. whop_sdk/types/payment_token_list_response.py +41 -0
  196. whop_sdk/types/payment_token_retrieve_params.py +12 -0
  197. whop_sdk/types/payment_token_retrieve_response.py +41 -0
  198. whop_sdk/types/plan_create_params.py +162 -0
  199. whop_sdk/types/plan_delete_response.py +7 -0
  200. whop_sdk/types/plan_list_params.py +57 -0
  201. whop_sdk/types/plan_list_response.py +128 -0
  202. whop_sdk/types/plan_update_params.py +155 -0
  203. whop_sdk/types/product_create_params.py +147 -0
  204. whop_sdk/types/product_delete_response.py +7 -0
  205. whop_sdk/types/product_list_params.py +49 -0
  206. whop_sdk/types/product_update_params.py +82 -0
  207. whop_sdk/types/promo_code.py +90 -0
  208. whop_sdk/types/promo_code_create_params.py +70 -0
  209. whop_sdk/types/promo_code_delete_response.py +7 -0
  210. whop_sdk/types/promo_code_list_params.py +45 -0
  211. whop_sdk/types/promo_code_list_response.py +79 -0
  212. whop_sdk/types/promo_code_status.py +7 -0
  213. whop_sdk/types/promo_duration.py +7 -0
  214. whop_sdk/types/reaction_create_params.py +19 -0
  215. whop_sdk/types/reaction_list_params.py +25 -0
  216. whop_sdk/types/reaction_list_response.py +32 -0
  217. whop_sdk/types/refund_created_webhook_event.py +154 -0
  218. whop_sdk/types/refund_list_params.py +38 -0
  219. whop_sdk/types/refund_list_response.py +53 -0
  220. whop_sdk/types/refund_reference_status.py +7 -0
  221. whop_sdk/types/refund_reference_type.py +9 -0
  222. whop_sdk/types/refund_retrieve_response.py +129 -0
  223. whop_sdk/types/refund_status.py +7 -0
  224. whop_sdk/types/refund_updated_webhook_event.py +154 -0
  225. whop_sdk/types/review_list_params.py +40 -0
  226. whop_sdk/types/review_list_response.py +78 -0
  227. whop_sdk/types/review_retrieve_response.py +103 -0
  228. whop_sdk/types/review_status.py +7 -0
  229. whop_sdk/types/setup_intent.py +111 -0
  230. whop_sdk/types/setup_intent_canceled_webhook_event.py +29 -0
  231. whop_sdk/types/setup_intent_list_params.py +38 -0
  232. whop_sdk/types/setup_intent_list_response.py +111 -0
  233. whop_sdk/types/setup_intent_requires_action_webhook_event.py +29 -0
  234. whop_sdk/types/setup_intent_status.py +7 -0
  235. whop_sdk/types/setup_intent_succeeded_webhook_event.py +29 -0
  236. whop_sdk/types/shared/__init__.py +62 -0
  237. whop_sdk/types/shared/access_level.py +7 -0
  238. whop_sdk/types/shared/access_pass_type.py +7 -0
  239. whop_sdk/types/shared/app.py +187 -0
  240. whop_sdk/types/shared/app_build.py +50 -0
  241. whop_sdk/types/shared/app_build_platforms.py +7 -0
  242. whop_sdk/types/shared/app_build_statuses.py +7 -0
  243. whop_sdk/types/shared/app_statuses.py +7 -0
  244. whop_sdk/types/shared/app_view_type.py +7 -0
  245. whop_sdk/types/shared/authorized_user_roles.py +9 -0
  246. whop_sdk/types/shared/business_types.py +22 -0
  247. whop_sdk/types/shared/chat_channel.py +43 -0
  248. whop_sdk/types/shared/checkout_configuration.py +104 -0
  249. whop_sdk/types/shared/collection_method.py +7 -0
  250. whop_sdk/types/shared/company.py +91 -0
  251. whop_sdk/types/shared/course_lesson_interaction.py +63 -0
  252. whop_sdk/types/shared/course_lesson_interaction_list_item.py +44 -0
  253. whop_sdk/types/shared/currency.py +93 -0
  254. whop_sdk/types/shared/custom_cta.py +21 -0
  255. whop_sdk/types/shared/direction.py +7 -0
  256. whop_sdk/types/shared/dms_post_types.py +7 -0
  257. whop_sdk/types/shared/email_notification_preferences.py +7 -0
  258. whop_sdk/types/shared/entry.py +70 -0
  259. whop_sdk/types/shared/entry_status.py +7 -0
  260. whop_sdk/types/shared/experience.py +91 -0
  261. whop_sdk/types/shared/forum.py +33 -0
  262. whop_sdk/types/shared/forum_post.py +60 -0
  263. whop_sdk/types/shared/friendly_receipt_status.py +24 -0
  264. whop_sdk/types/shared/global_affiliate_status.py +7 -0
  265. whop_sdk/types/shared/industry_types.py +67 -0
  266. whop_sdk/types/shared/invoice.py +64 -0
  267. whop_sdk/types/shared/invoice_list_item.py +64 -0
  268. whop_sdk/types/shared/invoice_status.py +7 -0
  269. whop_sdk/types/shared/member_most_recent_actions.py +22 -0
  270. whop_sdk/types/shared/member_statuses.py +7 -0
  271. whop_sdk/types/shared/membership.py +128 -0
  272. whop_sdk/types/shared/membership_status.py +9 -0
  273. whop_sdk/types/shared/message.py +90 -0
  274. whop_sdk/types/shared/page_info.py +21 -0
  275. whop_sdk/types/shared/payment.py +273 -0
  276. whop_sdk/types/shared/plan.py +159 -0
  277. whop_sdk/types/shared/plan_type.py +7 -0
  278. whop_sdk/types/shared/product.py +132 -0
  279. whop_sdk/types/shared/product_list_item.py +57 -0
  280. whop_sdk/types/shared/promo_type.py +7 -0
  281. whop_sdk/types/shared/reaction.py +32 -0
  282. whop_sdk/types/shared/receipt_status.py +7 -0
  283. whop_sdk/types/shared/release_method.py +7 -0
  284. whop_sdk/types/shared/shipment.py +48 -0
  285. whop_sdk/types/shared/shipment_carrier.py +84 -0
  286. whop_sdk/types/shared/shipment_status.py +18 -0
  287. whop_sdk/types/shared/shipment_substatus.py +36 -0
  288. whop_sdk/types/shared/support_channel.py +39 -0
  289. whop_sdk/types/shared/tax_type.py +7 -0
  290. whop_sdk/types/shared/transfer.py +112 -0
  291. whop_sdk/types/shared/visibility.py +7 -0
  292. whop_sdk/types/shared/visibility_filter.py +9 -0
  293. whop_sdk/types/shared/who_can_comment_types.py +7 -0
  294. whop_sdk/types/shared/who_can_post.py +7 -0
  295. whop_sdk/types/shared/who_can_post_types.py +7 -0
  296. whop_sdk/types/shared/who_can_react.py +7 -0
  297. whop_sdk/types/shared_params/__init__.py +34 -0
  298. whop_sdk/types/shared_params/access_level.py +9 -0
  299. whop_sdk/types/shared_params/access_pass_type.py +9 -0
  300. whop_sdk/types/shared_params/app_build_platforms.py +9 -0
  301. whop_sdk/types/shared_params/app_build_statuses.py +9 -0
  302. whop_sdk/types/shared_params/app_statuses.py +9 -0
  303. whop_sdk/types/shared_params/app_view_type.py +9 -0
  304. whop_sdk/types/shared_params/authorized_user_roles.py +11 -0
  305. whop_sdk/types/shared_params/business_types.py +24 -0
  306. whop_sdk/types/shared_params/collection_method.py +9 -0
  307. whop_sdk/types/shared_params/currency.py +95 -0
  308. whop_sdk/types/shared_params/custom_cta.py +23 -0
  309. whop_sdk/types/shared_params/direction.py +9 -0
  310. whop_sdk/types/shared_params/email_notification_preferences.py +9 -0
  311. whop_sdk/types/shared_params/entry_status.py +9 -0
  312. whop_sdk/types/shared_params/friendly_receipt_status.py +26 -0
  313. whop_sdk/types/shared_params/global_affiliate_status.py +9 -0
  314. whop_sdk/types/shared_params/industry_types.py +69 -0
  315. whop_sdk/types/shared_params/invoice_status.py +9 -0
  316. whop_sdk/types/shared_params/member_most_recent_actions.py +24 -0
  317. whop_sdk/types/shared_params/member_statuses.py +9 -0
  318. whop_sdk/types/shared_params/membership_status.py +11 -0
  319. whop_sdk/types/shared_params/plan_type.py +9 -0
  320. whop_sdk/types/shared_params/promo_type.py +9 -0
  321. whop_sdk/types/shared_params/receipt_status.py +9 -0
  322. whop_sdk/types/shared_params/release_method.py +9 -0
  323. whop_sdk/types/shared_params/tax_type.py +9 -0
  324. whop_sdk/types/shared_params/visibility.py +9 -0
  325. whop_sdk/types/shared_params/visibility_filter.py +11 -0
  326. whop_sdk/types/shared_params/who_can_comment_types.py +9 -0
  327. whop_sdk/types/shared_params/who_can_post.py +9 -0
  328. whop_sdk/types/shared_params/who_can_post_types.py +9 -0
  329. whop_sdk/types/shared_params/who_can_react.py +9 -0
  330. whop_sdk/types/shipment_create_params.py +18 -0
  331. whop_sdk/types/shipment_list_params.py +31 -0
  332. whop_sdk/types/shipment_list_response.py +48 -0
  333. whop_sdk/types/support_channel_create_params.py +15 -0
  334. whop_sdk/types/support_channel_list_params.py +40 -0
  335. whop_sdk/types/support_channel_list_response.py +39 -0
  336. whop_sdk/types/transfer_create_params.py +39 -0
  337. whop_sdk/types/transfer_list_params.py +50 -0
  338. whop_sdk/types/transfer_list_response.py +38 -0
  339. whop_sdk/types/unwrap_webhook_event.py +52 -0
  340. whop_sdk/types/user_check_access_response.py +14 -0
  341. whop_sdk/types/user_retrieve_response.py +36 -0
  342. whop_sdk/types/withdrawal_fee_types.py +7 -0
  343. whop_sdk/types/withdrawal_list_params.py +38 -0
  344. whop_sdk/types/withdrawal_list_response.py +45 -0
  345. whop_sdk/types/withdrawal_retrieve_response.py +154 -0
  346. whop_sdk/types/withdrawal_speeds.py +7 -0
  347. whop_sdk/types/withdrawal_status.py +9 -0
  348. whop_sdk/types/withdrawal_types.py +7 -0
  349. whop_sdk-0.0.10.dist-info/METADATA +509 -0
  350. whop_sdk-0.0.10.dist-info/RECORD +352 -0
  351. whop_sdk-0.0.10.dist-info/WHEEL +4 -0
  352. whop_sdk-0.0.10.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,373 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict, List, Union, Iterable, Optional
6
+ from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
+
8
+ from .shared.currency import Currency
9
+ from .shared.tax_type import TaxType
10
+ from .shared.plan_type import PlanType
11
+ from .shared.visibility import Visibility
12
+ from .payment_method_types import PaymentMethodTypes
13
+ from .shared.business_types import BusinessTypes
14
+ from .shared.industry_types import IndustryTypes
15
+ from .shared.release_method import ReleaseMethod
16
+ from .shared.global_affiliate_status import GlobalAffiliateStatus
17
+
18
+ __all__ = [
19
+ "CheckoutConfigurationCreateParams",
20
+ "CreateCheckoutSessionInputModePaymentWithPlan",
21
+ "CreateCheckoutSessionInputModePaymentWithPlanPlan",
22
+ "CreateCheckoutSessionInputModePaymentWithPlanPlanCustomField",
23
+ "CreateCheckoutSessionInputModePaymentWithPlanPlanImage",
24
+ "CreateCheckoutSessionInputModePaymentWithPlanPlanImageAttachmentInputWithDirectUploadID",
25
+ "CreateCheckoutSessionInputModePaymentWithPlanPlanImageAttachmentInputWithID",
26
+ "CreateCheckoutSessionInputModePaymentWithPlanPlanPaymentMethodConfiguration",
27
+ "CreateCheckoutSessionInputModePaymentWithPlanPlanProduct",
28
+ "CreateCheckoutSessionInputModePaymentWithPlanPaymentMethodConfiguration",
29
+ "CreateCheckoutSessionInputModePaymentWithPlanID",
30
+ "CreateCheckoutSessionInputModePaymentWithPlanIDPaymentMethodConfiguration",
31
+ "CreateCheckoutSessionInputModeSetup",
32
+ "CreateCheckoutSessionInputModeSetupPaymentMethodConfiguration",
33
+ ]
34
+
35
+
36
+ class CreateCheckoutSessionInputModePaymentWithPlan(TypedDict, total=False):
37
+ plan: Required[CreateCheckoutSessionInputModePaymentWithPlanPlan]
38
+ """Pass this object to create a new plan for this checkout configuration"""
39
+
40
+ affiliate_code: Optional[str]
41
+ """The affiliate code to use for the checkout configuration"""
42
+
43
+ metadata: Optional[Dict[str, object]]
44
+ """The metadata to use for the checkout configuration"""
45
+
46
+ mode: Literal["payment"]
47
+
48
+ payment_method_configuration: Optional[CreateCheckoutSessionInputModePaymentWithPlanPaymentMethodConfiguration]
49
+ """This currently only works for configurations made in 'setup' mode.
50
+
51
+ The explicit payment method configuration for the checkout session. If not
52
+ provided, the platform or company's defaults will apply.
53
+ """
54
+
55
+ redirect_url: Optional[str]
56
+ """The URL to redirect the user to after the checkout configuration is created"""
57
+
58
+
59
+ class CreateCheckoutSessionInputModePaymentWithPlanPlanCustomField(TypedDict, total=False):
60
+ field_type: Required[Literal["text"]]
61
+ """The type of the custom field."""
62
+
63
+ name: Required[str]
64
+ """The name of the custom field."""
65
+
66
+ id: Optional[str]
67
+ """The ID of the custom field (if being updated)"""
68
+
69
+ order: Optional[int]
70
+ """The order of the field."""
71
+
72
+ placeholder: Optional[str]
73
+ """The placeholder value of the field."""
74
+
75
+ required: Optional[bool]
76
+ """Whether or not the field is required."""
77
+
78
+
79
+ class CreateCheckoutSessionInputModePaymentWithPlanPlanImageAttachmentInputWithDirectUploadID(TypedDict, total=False):
80
+ direct_upload_id: Required[str]
81
+ """This ID should be used the first time you upload an attachment.
82
+
83
+ It is the ID of the direct upload that was created when uploading the file to S3
84
+ via the mediaDirectUpload mutation.
85
+ """
86
+
87
+
88
+ class CreateCheckoutSessionInputModePaymentWithPlanPlanImageAttachmentInputWithID(TypedDict, total=False):
89
+ id: Required[str]
90
+ """The ID of an existing attachment object.
91
+
92
+ Use this when updating a resource and keeping a subset of the attachments. Don't
93
+ use this unless you know what you're doing.
94
+ """
95
+
96
+
97
+ CreateCheckoutSessionInputModePaymentWithPlanPlanImage: TypeAlias = Union[
98
+ CreateCheckoutSessionInputModePaymentWithPlanPlanImageAttachmentInputWithDirectUploadID,
99
+ CreateCheckoutSessionInputModePaymentWithPlanPlanImageAttachmentInputWithID,
100
+ ]
101
+
102
+
103
+ class CreateCheckoutSessionInputModePaymentWithPlanPlanPaymentMethodConfiguration(TypedDict, total=False):
104
+ disabled: Required[List[PaymentMethodTypes]]
105
+ """An array of payment method identifiers that are explicitly disabled.
106
+
107
+ Only applies if the include_platform_defaults is true.
108
+ """
109
+
110
+ enabled: Required[List[PaymentMethodTypes]]
111
+ """An array of payment method identifiers that are explicitly enabled.
112
+
113
+ This means these payment methods will be shown on checkout. Example use case is
114
+ to only enable a specific payment method like cashapp, or extending the platform
115
+ defaults with additional methods.
116
+ """
117
+
118
+ include_platform_defaults: Required[bool]
119
+ """
120
+ Whether Whop's platform default payment method enablement settings are included
121
+ in this configuration. The full list of default payment methods can be found in
122
+ the documentation at docs.whop.com/payments.
123
+ """
124
+
125
+
126
+ class CreateCheckoutSessionInputModePaymentWithPlanPlanProduct(TypedDict, total=False):
127
+ external_identifier: Required[str]
128
+ """A unique ID used to find or create a product.
129
+
130
+ When provided during creation, we will look for an existing product with this
131
+ external identifier — if found, it will be updated; otherwise, a new product
132
+ will be created.
133
+ """
134
+
135
+ title: Required[str]
136
+ """The title of the product."""
137
+
138
+ business_type: Optional[BusinessTypes]
139
+ """The different business types a company can be."""
140
+
141
+ collect_shipping_address: Optional[bool]
142
+ """Whether or not to collect shipping information at checkout from the customer."""
143
+
144
+ custom_statement_descriptor: Optional[str]
145
+ """The custom statement descriptor for the product i.e.
146
+
147
+ WHOP\\**SPORTS, must be between 5 and 22 characters, contain at least one letter,
148
+ and not contain any of the following characters: <, >, \\,, ', "
149
+ """
150
+
151
+ description: Optional[str]
152
+ """A written description of the product."""
153
+
154
+ global_affiliate_percentage: Optional[float]
155
+ """The percentage of the revenue that goes to the global affiliate program."""
156
+
157
+ global_affiliate_status: Optional[GlobalAffiliateStatus]
158
+ """The different statuses of the global affiliate program for a product."""
159
+
160
+ headline: Optional[str]
161
+ """The headline of the product."""
162
+
163
+ industry_type: Optional[IndustryTypes]
164
+ """The different industry types a company can be in."""
165
+
166
+ product_tax_code_id: Optional[str]
167
+ """The ID of the product tax code to apply to this product."""
168
+
169
+ redirect_purchase_url: Optional[str]
170
+ """The URL to redirect the customer to after a purchase."""
171
+
172
+ route: Optional[str]
173
+ """The route of the product."""
174
+
175
+ visibility: Optional[Visibility]
176
+ """Visibility of a resource"""
177
+
178
+
179
+ class CreateCheckoutSessionInputModePaymentWithPlanPlan(TypedDict, total=False):
180
+ company_id: Required[str]
181
+ """The company the plan should be created for."""
182
+
183
+ currency: Required[Currency]
184
+ """The respective currency identifier for the plan."""
185
+
186
+ billing_period: Optional[int]
187
+ """The interval at which the plan charges (renewal plans)."""
188
+
189
+ custom_fields: Optional[Iterable[CreateCheckoutSessionInputModePaymentWithPlanPlanCustomField]]
190
+ """An array of custom field objects."""
191
+
192
+ description: Optional[str]
193
+ """The description of the plan."""
194
+
195
+ expiration_days: Optional[int]
196
+ """The interval at which the plan charges (expiration plans)."""
197
+
198
+ force_create_new_plan: Optional[bool]
199
+ """
200
+ Whether to force the creation of a new plan even if one with the same attributes
201
+ already exists.
202
+ """
203
+
204
+ image: Optional[CreateCheckoutSessionInputModePaymentWithPlanPlanImage]
205
+ """An image for the plan. This will be visible on the product page to customers."""
206
+
207
+ initial_price: Optional[float]
208
+ """An additional amount charged upon first purchase."""
209
+
210
+ internal_notes: Optional[str]
211
+ """A personal description or notes section for the business."""
212
+
213
+ override_tax_type: Optional[TaxType]
214
+ """
215
+ Whether or not the tax is included in a plan's price (or if it hasn't been set
216
+ up)
217
+ """
218
+
219
+ payment_method_configuration: Optional[CreateCheckoutSessionInputModePaymentWithPlanPlanPaymentMethodConfiguration]
220
+ """The explicit payment method configuration for the plan.
221
+
222
+ If not provided, the platform or company's defaults will apply.
223
+ """
224
+
225
+ plan_type: Optional[PlanType]
226
+ """The type of plan that can be attached to a product"""
227
+
228
+ product: Optional[CreateCheckoutSessionInputModePaymentWithPlanPlanProduct]
229
+ """Pass this object to create a new product for this plan.
230
+
231
+ We will use the product external identifier to find or create an existing
232
+ product.
233
+ """
234
+
235
+ product_id: Optional[str]
236
+ """The product the plan is related to. Either this or product is required."""
237
+
238
+ release_method: Optional[ReleaseMethod]
239
+ """The methods of how a plan can be released."""
240
+
241
+ renewal_price: Optional[float]
242
+ """The amount the customer is charged every billing period."""
243
+
244
+ title: Optional[str]
245
+ """The title of the plan. This will be visible on the product page to customers."""
246
+
247
+ trial_period_days: Optional[int]
248
+ """The number of free trial days added before a renewal plan."""
249
+
250
+ visibility: Optional[Visibility]
251
+ """Visibility of a resource"""
252
+
253
+
254
+ class CreateCheckoutSessionInputModePaymentWithPlanPaymentMethodConfiguration(TypedDict, total=False):
255
+ disabled: Required[List[PaymentMethodTypes]]
256
+ """An array of payment method identifiers that are explicitly disabled.
257
+
258
+ Only applies if the include_platform_defaults is true.
259
+ """
260
+
261
+ enabled: Required[List[PaymentMethodTypes]]
262
+ """An array of payment method identifiers that are explicitly enabled.
263
+
264
+ This means these payment methods will be shown on checkout. Example use case is
265
+ to only enable a specific payment method like cashapp, or extending the platform
266
+ defaults with additional methods.
267
+ """
268
+
269
+ include_platform_defaults: Required[bool]
270
+ """
271
+ Whether Whop's platform default payment method enablement settings are included
272
+ in this configuration. The full list of default payment methods can be found in
273
+ the documentation at docs.whop.com/payments.
274
+ """
275
+
276
+
277
+ class CreateCheckoutSessionInputModePaymentWithPlanID(TypedDict, total=False):
278
+ plan_id: Required[str]
279
+ """The ID of the plan to use for the checkout configuration"""
280
+
281
+ affiliate_code: Optional[str]
282
+ """The affiliate code to use for the checkout configuration"""
283
+
284
+ metadata: Optional[Dict[str, object]]
285
+ """The metadata to use for the checkout configuration"""
286
+
287
+ mode: Literal["payment"]
288
+
289
+ payment_method_configuration: Optional[CreateCheckoutSessionInputModePaymentWithPlanIDPaymentMethodConfiguration]
290
+ """This currently only works for configurations made in 'setup' mode.
291
+
292
+ The explicit payment method configuration for the checkout session. If not
293
+ provided, the platform or company's defaults will apply.
294
+ """
295
+
296
+ redirect_url: Optional[str]
297
+ """The URL to redirect the user to after the checkout configuration is created"""
298
+
299
+
300
+ class CreateCheckoutSessionInputModePaymentWithPlanIDPaymentMethodConfiguration(TypedDict, total=False):
301
+ disabled: Required[List[PaymentMethodTypes]]
302
+ """An array of payment method identifiers that are explicitly disabled.
303
+
304
+ Only applies if the include_platform_defaults is true.
305
+ """
306
+
307
+ enabled: Required[List[PaymentMethodTypes]]
308
+ """An array of payment method identifiers that are explicitly enabled.
309
+
310
+ This means these payment methods will be shown on checkout. Example use case is
311
+ to only enable a specific payment method like cashapp, or extending the platform
312
+ defaults with additional methods.
313
+ """
314
+
315
+ include_platform_defaults: Required[bool]
316
+ """
317
+ Whether Whop's platform default payment method enablement settings are included
318
+ in this configuration. The full list of default payment methods can be found in
319
+ the documentation at docs.whop.com/payments.
320
+ """
321
+
322
+
323
+ class CreateCheckoutSessionInputModeSetup(TypedDict, total=False):
324
+ company_id: Required[str]
325
+ """The ID of the company for which to generate the checkout configuration.
326
+
327
+ Only required in setup mode.
328
+ """
329
+
330
+ mode: Required[Literal["setup"]]
331
+
332
+ metadata: Optional[Dict[str, object]]
333
+ """The metadata to use for the checkout configuration"""
334
+
335
+ payment_method_configuration: Optional[CreateCheckoutSessionInputModeSetupPaymentMethodConfiguration]
336
+ """This currently only works for configurations made in 'setup' mode.
337
+
338
+ The explicit payment method configuration for the checkout session. If not
339
+ provided, the platform or company's defaults will apply.
340
+ """
341
+
342
+ redirect_url: Optional[str]
343
+ """The URL to redirect the user to after the checkout configuration is created"""
344
+
345
+
346
+ class CreateCheckoutSessionInputModeSetupPaymentMethodConfiguration(TypedDict, total=False):
347
+ disabled: Required[List[PaymentMethodTypes]]
348
+ """An array of payment method identifiers that are explicitly disabled.
349
+
350
+ Only applies if the include_platform_defaults is true.
351
+ """
352
+
353
+ enabled: Required[List[PaymentMethodTypes]]
354
+ """An array of payment method identifiers that are explicitly enabled.
355
+
356
+ This means these payment methods will be shown on checkout. Example use case is
357
+ to only enable a specific payment method like cashapp, or extending the platform
358
+ defaults with additional methods.
359
+ """
360
+
361
+ include_platform_defaults: Required[bool]
362
+ """
363
+ Whether Whop's platform default payment method enablement settings are included
364
+ in this configuration. The full list of default payment methods can be found in
365
+ the documentation at docs.whop.com/payments.
366
+ """
367
+
368
+
369
+ CheckoutConfigurationCreateParams: TypeAlias = Union[
370
+ CreateCheckoutSessionInputModePaymentWithPlan,
371
+ CreateCheckoutSessionInputModePaymentWithPlanID,
372
+ CreateCheckoutSessionInputModeSetup,
373
+ ]
@@ -0,0 +1,41 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union, Optional
6
+ from datetime import datetime
7
+ from typing_extensions import Required, Annotated, TypedDict
8
+
9
+ from .._utils import PropertyInfo
10
+ from .shared.direction import Direction
11
+
12
+ __all__ = ["CheckoutConfigurationListParams"]
13
+
14
+
15
+ class CheckoutConfigurationListParams(TypedDict, total=False):
16
+ company_id: Required[str]
17
+ """The ID of the company to list checkout configurations for"""
18
+
19
+ after: Optional[str]
20
+ """Returns the elements in the list that come after the specified cursor."""
21
+
22
+ before: Optional[str]
23
+ """Returns the elements in the list that come before the specified cursor."""
24
+
25
+ created_after: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
26
+ """The minimum creation date to filter by"""
27
+
28
+ created_before: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
29
+ """The maximum creation date to filter by"""
30
+
31
+ direction: Optional[Direction]
32
+ """The direction of the sort."""
33
+
34
+ first: Optional[int]
35
+ """Returns the first _n_ elements from the list."""
36
+
37
+ last: Optional[int]
38
+ """Returns the last _n_ elements from the list."""
39
+
40
+ plan_id: Optional[str]
41
+ """The ID of the plan to filter checkout configurations by"""
@@ -0,0 +1,104 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+
5
+ from .._models import BaseModel
6
+ from .checkout_modes import CheckoutModes
7
+ from .shared.currency import Currency
8
+ from .shared.plan_type import PlanType
9
+ from .shared.visibility import Visibility
10
+ from .payment_method_types import PaymentMethodTypes
11
+ from .shared.release_method import ReleaseMethod
12
+
13
+ __all__ = ["CheckoutConfigurationListResponse", "PaymentMethodConfiguration", "Plan"]
14
+
15
+
16
+ class PaymentMethodConfiguration(BaseModel):
17
+ disabled: List[PaymentMethodTypes]
18
+ """An array of payment method identifiers that are explicitly disabled.
19
+
20
+ Only applies if the include_platform_defaults is true.
21
+ """
22
+
23
+ enabled: List[PaymentMethodTypes]
24
+ """An array of payment method identifiers that are explicitly enabled.
25
+
26
+ This means these payment methods will be shown on checkout. Example use case is
27
+ to only enable a specific payment method like cashapp, or extending the platform
28
+ defaults with additional methods.
29
+ """
30
+
31
+ include_platform_defaults: bool
32
+ """
33
+ Whether Whop's platform default payment method enablement settings are included
34
+ in this configuration. The full list of default payment methods can be found in
35
+ the documentation at docs.whop.com/payments.
36
+ """
37
+
38
+
39
+ class Plan(BaseModel):
40
+ id: str
41
+ """The internal ID of the plan."""
42
+
43
+ billing_period: Optional[int] = None
44
+ """The interval at which the plan charges (renewal plans)."""
45
+
46
+ currency: Currency
47
+ """The respective currency identifier for the plan."""
48
+
49
+ expiration_days: Optional[int] = None
50
+ """The interval at which the plan charges (expiration plans)."""
51
+
52
+ initial_price: float
53
+ """The price a person has to pay for a plan on the initial purchase."""
54
+
55
+ plan_type: PlanType
56
+ """Indicates if the plan is a one time payment or recurring."""
57
+
58
+ release_method: ReleaseMethod
59
+ """This is the release method the business uses to sell this plan."""
60
+
61
+ renewal_price: float
62
+ """The price a person has to pay for a plan on the renewal purchase."""
63
+
64
+ trial_period_days: Optional[int] = None
65
+ """The number of free trial days added before a renewal plan."""
66
+
67
+ visibility: Visibility
68
+ """Shows or hides the plan from public/business view."""
69
+
70
+
71
+ class CheckoutConfigurationListResponse(BaseModel):
72
+ id: str
73
+ """The ID of the checkout configuration"""
74
+
75
+ affiliate_code: Optional[str] = None
76
+ """The affiliate code to use for the checkout configuration"""
77
+
78
+ company_id: str
79
+ """The ID of the company to use for the checkout configuration"""
80
+
81
+ metadata: Optional[Dict[str, object]] = None
82
+ """The metadata to use for the checkout configuration"""
83
+
84
+ mode: CheckoutModes
85
+ """The mode of the checkout session."""
86
+
87
+ payment_method_configuration: Optional[PaymentMethodConfiguration] = None
88
+ """The explicit payment method configuration for the session, if any.
89
+
90
+ This currently only works in 'setup' mode. Use the plan's
91
+ payment_method_configuration for payment method.
92
+ """
93
+
94
+ plan: Optional[Plan] = None
95
+ """The plan to use for the checkout configuration"""
96
+
97
+ purchase_url: str
98
+ """A URL you can send to customers to complete a checkout.
99
+
100
+ It looks like `/checkout/plan_xxxx?session={id}`
101
+ """
102
+
103
+ redirect_url: Optional[str] = None
104
+ """The URL to redirect the user to after the checkout configuration is created"""
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["CheckoutModes"]
6
+
7
+ CheckoutModes: TypeAlias = Literal["payment", "setup"]
@@ -0,0 +1,22 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["CompanyCreateParams"]
9
+
10
+
11
+ class CompanyCreateParams(TypedDict, total=False):
12
+ email: Required[str]
13
+ """The email of the user who the company will belong to."""
14
+
15
+ parent_company_id: Required[str]
16
+ """The company ID of the platform creating this company."""
17
+
18
+ title: Required[str]
19
+ """The name of the company being created."""
20
+
21
+ metadata: Optional[Dict[str, object]]
22
+ """Additional metadata for the account"""
@@ -0,0 +1,38 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union, Optional
6
+ from datetime import datetime
7
+ from typing_extensions import Required, Annotated, TypedDict
8
+
9
+ from .._utils import PropertyInfo
10
+ from .shared.direction import Direction
11
+
12
+ __all__ = ["CompanyListParams"]
13
+
14
+
15
+ class CompanyListParams(TypedDict, total=False):
16
+ parent_company_id: Required[str]
17
+ """The ID of the parent company to list sub companies for"""
18
+
19
+ after: Optional[str]
20
+ """Returns the elements in the list that come after the specified cursor."""
21
+
22
+ before: Optional[str]
23
+ """Returns the elements in the list that come before the specified cursor."""
24
+
25
+ created_after: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
26
+ """The minimum creation date to filter by"""
27
+
28
+ created_before: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
29
+ """The maximum creation date to filter by"""
30
+
31
+ direction: Optional[Direction]
32
+ """The direction of the sort."""
33
+
34
+ first: Optional[int]
35
+ """Returns the first _n_ elements from the list."""
36
+
37
+ last: Optional[int]
38
+ """Returns the last _n_ elements from the list."""
@@ -0,0 +1,76 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, Optional
4
+ from datetime import datetime
5
+
6
+ from .._models import BaseModel
7
+ from .shared.business_types import BusinessTypes
8
+ from .shared.industry_types import IndustryTypes
9
+
10
+ __all__ = ["CompanyListResponse", "Logo", "OwnerUser"]
11
+
12
+
13
+ class Logo(BaseModel):
14
+ url: Optional[str] = None
15
+ """This is the URL you use to render optimized attachments on the client.
16
+
17
+ This should be used for apps.
18
+ """
19
+
20
+
21
+ class OwnerUser(BaseModel):
22
+ id: str
23
+ """The internal ID of the user."""
24
+
25
+ name: Optional[str] = None
26
+ """The name of the user from their Whop account."""
27
+
28
+ username: str
29
+ """The username of the user from their Whop account."""
30
+
31
+
32
+ class CompanyListResponse(BaseModel):
33
+ id: str
34
+ """The ID (tag) of the company."""
35
+
36
+ business_type: Optional[BusinessTypes] = None
37
+ """The different business types a company can be."""
38
+
39
+ created_at: datetime
40
+ """When the company was created (signed up)"""
41
+
42
+ description: Optional[str] = None
43
+ """The creator pitch for the company."""
44
+
45
+ industry_type: Optional[IndustryTypes] = None
46
+ """The different industry types a company can be in."""
47
+
48
+ logo: Optional[Logo] = None
49
+ """The company's logo."""
50
+
51
+ member_count: int
52
+ """The number of members in the company."""
53
+
54
+ metadata: Optional[Dict[str, object]] = None
55
+ """
56
+ A key-value store of data for the account, created/updated by the platform that
57
+ made the account.
58
+ """
59
+
60
+ owner_user: OwnerUser
61
+ """The user who owns this company"""
62
+
63
+ published_reviews_count: int
64
+ """The number of reviews that have been published for the company."""
65
+
66
+ route: str
67
+ """The slug/route of the company on the Whop site."""
68
+
69
+ title: str
70
+ """The title of the company."""
71
+
72
+ updated_at: datetime
73
+ """The time the company was last updated."""
74
+
75
+ verified: bool
76
+ """If the company is Whop Verified"""