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.
- whop_sdk/__init__.py +94 -0
- whop_sdk/_base_client.py +1995 -0
- whop_sdk/_client.py +800 -0
- whop_sdk/_compat.py +219 -0
- whop_sdk/_constants.py +14 -0
- whop_sdk/_exceptions.py +112 -0
- whop_sdk/_files.py +123 -0
- whop_sdk/_models.py +857 -0
- whop_sdk/_qs.py +150 -0
- whop_sdk/_resource.py +43 -0
- whop_sdk/_response.py +830 -0
- whop_sdk/_streaming.py +333 -0
- whop_sdk/_types.py +260 -0
- whop_sdk/_utils/__init__.py +64 -0
- whop_sdk/_utils/_compat.py +45 -0
- whop_sdk/_utils/_datetime_parse.py +136 -0
- whop_sdk/_utils/_logs.py +25 -0
- whop_sdk/_utils/_proxy.py +65 -0
- whop_sdk/_utils/_reflection.py +42 -0
- whop_sdk/_utils/_resources_proxy.py +24 -0
- whop_sdk/_utils/_streams.py +12 -0
- whop_sdk/_utils/_sync.py +58 -0
- whop_sdk/_utils/_transform.py +457 -0
- whop_sdk/_utils/_typing.py +156 -0
- whop_sdk/_utils/_utils.py +421 -0
- whop_sdk/_version.py +4 -0
- whop_sdk/lib/.keep +4 -0
- whop_sdk/pagination.py +61 -0
- whop_sdk/py.typed +0 -0
- whop_sdk/resources/__init__.py +540 -0
- whop_sdk/resources/access_tokens.py +341 -0
- whop_sdk/resources/account_links.py +211 -0
- whop_sdk/resources/app_builds.py +587 -0
- whop_sdk/resources/apps.py +684 -0
- whop_sdk/resources/authorized_users.py +353 -0
- whop_sdk/resources/chat_channels.py +469 -0
- whop_sdk/resources/checkout_configurations.py +776 -0
- whop_sdk/resources/companies.py +465 -0
- whop_sdk/resources/course_chapters.py +602 -0
- whop_sdk/resources/course_lesson_interactions.py +343 -0
- whop_sdk/resources/course_lessons.py +1040 -0
- whop_sdk/resources/course_students.py +327 -0
- whop_sdk/resources/courses.py +776 -0
- whop_sdk/resources/disputes.py +693 -0
- whop_sdk/resources/entries.py +556 -0
- whop_sdk/resources/experiences.py +983 -0
- whop_sdk/resources/forum_posts.py +656 -0
- whop_sdk/resources/forums.py +446 -0
- whop_sdk/resources/invoices.py +1099 -0
- whop_sdk/resources/ledger_accounts.py +171 -0
- whop_sdk/resources/members.py +429 -0
- whop_sdk/resources/memberships.py +818 -0
- whop_sdk/resources/messages.py +558 -0
- whop_sdk/resources/notifications.py +388 -0
- whop_sdk/resources/payment_tokens.py +359 -0
- whop_sdk/resources/payments.py +1040 -0
- whop_sdk/resources/plans.py +1001 -0
- whop_sdk/resources/products.py +970 -0
- whop_sdk/resources/promo_codes.py +668 -0
- whop_sdk/resources/reactions.py +423 -0
- whop_sdk/resources/refunds.py +347 -0
- whop_sdk/resources/reviews.py +332 -0
- whop_sdk/resources/setup_intents.py +349 -0
- whop_sdk/resources/shipments.py +451 -0
- whop_sdk/resources/support_channels.py +455 -0
- whop_sdk/resources/transfers.py +513 -0
- whop_sdk/resources/users.py +248 -0
- whop_sdk/resources/webhooks.py +69 -0
- whop_sdk/resources/withdrawals.py +341 -0
- whop_sdk/types/__init__.py +262 -0
- whop_sdk/types/access_token_create_params.py +64 -0
- whop_sdk/types/access_token_create_response.py +15 -0
- whop_sdk/types/account_link_create_params.py +27 -0
- whop_sdk/types/account_link_create_response.py +15 -0
- whop_sdk/types/app_build_create_params.py +72 -0
- whop_sdk/types/app_build_list_params.py +42 -0
- whop_sdk/types/app_build_list_response.py +50 -0
- whop_sdk/types/app_create_params.py +19 -0
- whop_sdk/types/app_list_params.py +59 -0
- whop_sdk/types/app_list_response.py +110 -0
- whop_sdk/types/app_type.py +7 -0
- whop_sdk/types/app_update_params.py +67 -0
- whop_sdk/types/assessment_question_types.py +7 -0
- whop_sdk/types/authorized_user_list_params.py +41 -0
- whop_sdk/types/authorized_user_list_response.py +33 -0
- whop_sdk/types/authorized_user_retrieve_response.py +33 -0
- whop_sdk/types/billing_reasons.py +9 -0
- whop_sdk/types/card_brands.py +25 -0
- whop_sdk/types/chat_channel_list_params.py +28 -0
- whop_sdk/types/chat_channel_list_response.py +43 -0
- whop_sdk/types/chat_channel_update_params.py +32 -0
- whop_sdk/types/checkout_configuration_create_params.py +373 -0
- whop_sdk/types/checkout_configuration_list_params.py +41 -0
- whop_sdk/types/checkout_configuration_list_response.py +104 -0
- whop_sdk/types/checkout_modes.py +7 -0
- whop_sdk/types/company_create_params.py +22 -0
- whop_sdk/types/company_list_params.py +38 -0
- whop_sdk/types/company_list_response.py +76 -0
- whop_sdk/types/course.py +122 -0
- whop_sdk/types/course_chapter.py +32 -0
- whop_sdk/types/course_chapter_create_params.py +16 -0
- whop_sdk/types/course_chapter_delete_response.py +7 -0
- whop_sdk/types/course_chapter_list_params.py +25 -0
- whop_sdk/types/course_chapter_list_response.py +16 -0
- whop_sdk/types/course_chapter_update_params.py +12 -0
- whop_sdk/types/course_create_params.py +78 -0
- whop_sdk/types/course_delete_response.py +7 -0
- whop_sdk/types/course_lesson_create_params.py +63 -0
- whop_sdk/types/course_lesson_delete_response.py +7 -0
- whop_sdk/types/course_lesson_interaction_completed_webhook_event.py +26 -0
- whop_sdk/types/course_lesson_interaction_list_params.py +34 -0
- whop_sdk/types/course_lesson_list_params.py +28 -0
- whop_sdk/types/course_lesson_list_response.py +57 -0
- whop_sdk/types/course_lesson_mark_as_completed_response.py +7 -0
- whop_sdk/types/course_lesson_start_response.py +7 -0
- whop_sdk/types/course_lesson_submit_assessment_params.py +26 -0
- whop_sdk/types/course_lesson_submit_assessment_response.py +62 -0
- whop_sdk/types/course_lesson_update_params.py +222 -0
- whop_sdk/types/course_list_params.py +28 -0
- whop_sdk/types/course_list_response.py +90 -0
- whop_sdk/types/course_student_list_params.py +28 -0
- whop_sdk/types/course_student_list_response.py +42 -0
- whop_sdk/types/course_student_retrieve_response.py +61 -0
- whop_sdk/types/course_update_params.py +114 -0
- whop_sdk/types/course_visibilities.py +7 -0
- whop_sdk/types/dispute.py +284 -0
- whop_sdk/types/dispute_created_webhook_event.py +26 -0
- whop_sdk/types/dispute_list_params.py +38 -0
- whop_sdk/types/dispute_list_response.py +77 -0
- whop_sdk/types/dispute_statuses.py +17 -0
- whop_sdk/types/dispute_update_evidence_params.py +159 -0
- whop_sdk/types/dispute_updated_webhook_event.py +26 -0
- whop_sdk/types/embed_type.py +7 -0
- whop_sdk/types/entry_approve_response.py +10 -0
- whop_sdk/types/entry_approved_webhook_event.py +26 -0
- whop_sdk/types/entry_created_webhook_event.py +26 -0
- whop_sdk/types/entry_deleted_webhook_event.py +26 -0
- whop_sdk/types/entry_denied_webhook_event.py +26 -0
- whop_sdk/types/entry_list_params.py +52 -0
- whop_sdk/types/entry_list_response.py +56 -0
- whop_sdk/types/experience_attach_params.py +12 -0
- whop_sdk/types/experience_create_params.py +22 -0
- whop_sdk/types/experience_delete_response.py +7 -0
- whop_sdk/types/experience_detach_params.py +12 -0
- whop_sdk/types/experience_duplicate_params.py +13 -0
- whop_sdk/types/experience_list_params.py +40 -0
- whop_sdk/types/experience_list_response.py +73 -0
- whop_sdk/types/experience_update_params.py +46 -0
- whop_sdk/types/forum_list_params.py +28 -0
- whop_sdk/types/forum_list_response.py +33 -0
- whop_sdk/types/forum_post_create_params.py +101 -0
- whop_sdk/types/forum_post_list_params.py +31 -0
- whop_sdk/types/forum_post_list_response.py +60 -0
- whop_sdk/types/forum_post_update_params.py +56 -0
- whop_sdk/types/forum_post_visibility_type.py +7 -0
- whop_sdk/types/forum_update_params.py +23 -0
- whop_sdk/types/invoice_create_params.py +515 -0
- whop_sdk/types/invoice_created_webhook_event.py +26 -0
- whop_sdk/types/invoice_list_params.py +53 -0
- whop_sdk/types/invoice_paid_webhook_event.py +26 -0
- whop_sdk/types/invoice_past_due_webhook_event.py +26 -0
- whop_sdk/types/invoice_void_response.py +7 -0
- whop_sdk/types/invoice_voided_webhook_event.py +26 -0
- whop_sdk/types/languages.py +30 -0
- whop_sdk/types/ledger_account_retrieve_response.py +93 -0
- whop_sdk/types/lesson.py +219 -0
- whop_sdk/types/lesson_types.py +7 -0
- whop_sdk/types/lesson_visibilities.py +7 -0
- whop_sdk/types/member_list_params.py +73 -0
- whop_sdk/types/member_list_response.py +65 -0
- whop_sdk/types/member_retrieve_response.py +79 -0
- whop_sdk/types/membership_activated_webhook_event.py +29 -0
- whop_sdk/types/membership_cancel_params.py +13 -0
- whop_sdk/types/membership_deactivated_webhook_event.py +29 -0
- whop_sdk/types/membership_list_params.py +73 -0
- whop_sdk/types/membership_list_response.py +128 -0
- whop_sdk/types/membership_pause_params.py +16 -0
- whop_sdk/types/membership_update_params.py +13 -0
- whop_sdk/types/message_create_params.py +63 -0
- whop_sdk/types/message_list_params.py +30 -0
- whop_sdk/types/message_list_response.py +90 -0
- whop_sdk/types/message_update_params.py +45 -0
- whop_sdk/types/notification_create_params.py +93 -0
- whop_sdk/types/notification_create_response.py +10 -0
- whop_sdk/types/payment_create_params.py +162 -0
- whop_sdk/types/payment_failed_webhook_event.py +26 -0
- whop_sdk/types/payment_list_params.py +67 -0
- whop_sdk/types/payment_list_response.py +273 -0
- whop_sdk/types/payment_method_types.py +94 -0
- whop_sdk/types/payment_pending_webhook_event.py +26 -0
- whop_sdk/types/payment_provider.py +9 -0
- whop_sdk/types/payment_refund_params.py +13 -0
- whop_sdk/types/payment_succeeded_webhook_event.py +26 -0
- whop_sdk/types/payment_token_list_params.py +38 -0
- whop_sdk/types/payment_token_list_response.py +41 -0
- whop_sdk/types/payment_token_retrieve_params.py +12 -0
- whop_sdk/types/payment_token_retrieve_response.py +41 -0
- whop_sdk/types/plan_create_params.py +162 -0
- whop_sdk/types/plan_delete_response.py +7 -0
- whop_sdk/types/plan_list_params.py +57 -0
- whop_sdk/types/plan_list_response.py +128 -0
- whop_sdk/types/plan_update_params.py +155 -0
- whop_sdk/types/product_create_params.py +147 -0
- whop_sdk/types/product_delete_response.py +7 -0
- whop_sdk/types/product_list_params.py +49 -0
- whop_sdk/types/product_update_params.py +82 -0
- whop_sdk/types/promo_code.py +90 -0
- whop_sdk/types/promo_code_create_params.py +70 -0
- whop_sdk/types/promo_code_delete_response.py +7 -0
- whop_sdk/types/promo_code_list_params.py +45 -0
- whop_sdk/types/promo_code_list_response.py +79 -0
- whop_sdk/types/promo_code_status.py +7 -0
- whop_sdk/types/promo_duration.py +7 -0
- whop_sdk/types/reaction_create_params.py +19 -0
- whop_sdk/types/reaction_list_params.py +25 -0
- whop_sdk/types/reaction_list_response.py +32 -0
- whop_sdk/types/refund_created_webhook_event.py +154 -0
- whop_sdk/types/refund_list_params.py +38 -0
- whop_sdk/types/refund_list_response.py +53 -0
- whop_sdk/types/refund_reference_status.py +7 -0
- whop_sdk/types/refund_reference_type.py +9 -0
- whop_sdk/types/refund_retrieve_response.py +129 -0
- whop_sdk/types/refund_status.py +7 -0
- whop_sdk/types/refund_updated_webhook_event.py +154 -0
- whop_sdk/types/review_list_params.py +40 -0
- whop_sdk/types/review_list_response.py +78 -0
- whop_sdk/types/review_retrieve_response.py +103 -0
- whop_sdk/types/review_status.py +7 -0
- whop_sdk/types/setup_intent.py +111 -0
- whop_sdk/types/setup_intent_canceled_webhook_event.py +29 -0
- whop_sdk/types/setup_intent_list_params.py +38 -0
- whop_sdk/types/setup_intent_list_response.py +111 -0
- whop_sdk/types/setup_intent_requires_action_webhook_event.py +29 -0
- whop_sdk/types/setup_intent_status.py +7 -0
- whop_sdk/types/setup_intent_succeeded_webhook_event.py +29 -0
- whop_sdk/types/shared/__init__.py +62 -0
- whop_sdk/types/shared/access_level.py +7 -0
- whop_sdk/types/shared/access_pass_type.py +7 -0
- whop_sdk/types/shared/app.py +187 -0
- whop_sdk/types/shared/app_build.py +50 -0
- whop_sdk/types/shared/app_build_platforms.py +7 -0
- whop_sdk/types/shared/app_build_statuses.py +7 -0
- whop_sdk/types/shared/app_statuses.py +7 -0
- whop_sdk/types/shared/app_view_type.py +7 -0
- whop_sdk/types/shared/authorized_user_roles.py +9 -0
- whop_sdk/types/shared/business_types.py +22 -0
- whop_sdk/types/shared/chat_channel.py +43 -0
- whop_sdk/types/shared/checkout_configuration.py +104 -0
- whop_sdk/types/shared/collection_method.py +7 -0
- whop_sdk/types/shared/company.py +91 -0
- whop_sdk/types/shared/course_lesson_interaction.py +63 -0
- whop_sdk/types/shared/course_lesson_interaction_list_item.py +44 -0
- whop_sdk/types/shared/currency.py +93 -0
- whop_sdk/types/shared/custom_cta.py +21 -0
- whop_sdk/types/shared/direction.py +7 -0
- whop_sdk/types/shared/dms_post_types.py +7 -0
- whop_sdk/types/shared/email_notification_preferences.py +7 -0
- whop_sdk/types/shared/entry.py +70 -0
- whop_sdk/types/shared/entry_status.py +7 -0
- whop_sdk/types/shared/experience.py +91 -0
- whop_sdk/types/shared/forum.py +33 -0
- whop_sdk/types/shared/forum_post.py +60 -0
- whop_sdk/types/shared/friendly_receipt_status.py +24 -0
- whop_sdk/types/shared/global_affiliate_status.py +7 -0
- whop_sdk/types/shared/industry_types.py +67 -0
- whop_sdk/types/shared/invoice.py +64 -0
- whop_sdk/types/shared/invoice_list_item.py +64 -0
- whop_sdk/types/shared/invoice_status.py +7 -0
- whop_sdk/types/shared/member_most_recent_actions.py +22 -0
- whop_sdk/types/shared/member_statuses.py +7 -0
- whop_sdk/types/shared/membership.py +128 -0
- whop_sdk/types/shared/membership_status.py +9 -0
- whop_sdk/types/shared/message.py +90 -0
- whop_sdk/types/shared/page_info.py +21 -0
- whop_sdk/types/shared/payment.py +273 -0
- whop_sdk/types/shared/plan.py +159 -0
- whop_sdk/types/shared/plan_type.py +7 -0
- whop_sdk/types/shared/product.py +132 -0
- whop_sdk/types/shared/product_list_item.py +57 -0
- whop_sdk/types/shared/promo_type.py +7 -0
- whop_sdk/types/shared/reaction.py +32 -0
- whop_sdk/types/shared/receipt_status.py +7 -0
- whop_sdk/types/shared/release_method.py +7 -0
- whop_sdk/types/shared/shipment.py +48 -0
- whop_sdk/types/shared/shipment_carrier.py +84 -0
- whop_sdk/types/shared/shipment_status.py +18 -0
- whop_sdk/types/shared/shipment_substatus.py +36 -0
- whop_sdk/types/shared/support_channel.py +39 -0
- whop_sdk/types/shared/tax_type.py +7 -0
- whop_sdk/types/shared/transfer.py +112 -0
- whop_sdk/types/shared/visibility.py +7 -0
- whop_sdk/types/shared/visibility_filter.py +9 -0
- whop_sdk/types/shared/who_can_comment_types.py +7 -0
- whop_sdk/types/shared/who_can_post.py +7 -0
- whop_sdk/types/shared/who_can_post_types.py +7 -0
- whop_sdk/types/shared/who_can_react.py +7 -0
- whop_sdk/types/shared_params/__init__.py +34 -0
- whop_sdk/types/shared_params/access_level.py +9 -0
- whop_sdk/types/shared_params/access_pass_type.py +9 -0
- whop_sdk/types/shared_params/app_build_platforms.py +9 -0
- whop_sdk/types/shared_params/app_build_statuses.py +9 -0
- whop_sdk/types/shared_params/app_statuses.py +9 -0
- whop_sdk/types/shared_params/app_view_type.py +9 -0
- whop_sdk/types/shared_params/authorized_user_roles.py +11 -0
- whop_sdk/types/shared_params/business_types.py +24 -0
- whop_sdk/types/shared_params/collection_method.py +9 -0
- whop_sdk/types/shared_params/currency.py +95 -0
- whop_sdk/types/shared_params/custom_cta.py +23 -0
- whop_sdk/types/shared_params/direction.py +9 -0
- whop_sdk/types/shared_params/email_notification_preferences.py +9 -0
- whop_sdk/types/shared_params/entry_status.py +9 -0
- whop_sdk/types/shared_params/friendly_receipt_status.py +26 -0
- whop_sdk/types/shared_params/global_affiliate_status.py +9 -0
- whop_sdk/types/shared_params/industry_types.py +69 -0
- whop_sdk/types/shared_params/invoice_status.py +9 -0
- whop_sdk/types/shared_params/member_most_recent_actions.py +24 -0
- whop_sdk/types/shared_params/member_statuses.py +9 -0
- whop_sdk/types/shared_params/membership_status.py +11 -0
- whop_sdk/types/shared_params/plan_type.py +9 -0
- whop_sdk/types/shared_params/promo_type.py +9 -0
- whop_sdk/types/shared_params/receipt_status.py +9 -0
- whop_sdk/types/shared_params/release_method.py +9 -0
- whop_sdk/types/shared_params/tax_type.py +9 -0
- whop_sdk/types/shared_params/visibility.py +9 -0
- whop_sdk/types/shared_params/visibility_filter.py +11 -0
- whop_sdk/types/shared_params/who_can_comment_types.py +9 -0
- whop_sdk/types/shared_params/who_can_post.py +9 -0
- whop_sdk/types/shared_params/who_can_post_types.py +9 -0
- whop_sdk/types/shared_params/who_can_react.py +9 -0
- whop_sdk/types/shipment_create_params.py +18 -0
- whop_sdk/types/shipment_list_params.py +31 -0
- whop_sdk/types/shipment_list_response.py +48 -0
- whop_sdk/types/support_channel_create_params.py +15 -0
- whop_sdk/types/support_channel_list_params.py +40 -0
- whop_sdk/types/support_channel_list_response.py +39 -0
- whop_sdk/types/transfer_create_params.py +39 -0
- whop_sdk/types/transfer_list_params.py +50 -0
- whop_sdk/types/transfer_list_response.py +38 -0
- whop_sdk/types/unwrap_webhook_event.py +52 -0
- whop_sdk/types/user_check_access_response.py +14 -0
- whop_sdk/types/user_retrieve_response.py +36 -0
- whop_sdk/types/withdrawal_fee_types.py +7 -0
- whop_sdk/types/withdrawal_list_params.py +38 -0
- whop_sdk/types/withdrawal_list_response.py +45 -0
- whop_sdk/types/withdrawal_retrieve_response.py +154 -0
- whop_sdk/types/withdrawal_speeds.py +7 -0
- whop_sdk/types/withdrawal_status.py +9 -0
- whop_sdk/types/withdrawal_types.py +7 -0
- whop_sdk-0.0.10.dist-info/METADATA +509 -0
- whop_sdk-0.0.10.dist-info/RECORD +352 -0
- whop_sdk-0.0.10.dist-info/WHEEL +4 -0
- whop_sdk-0.0.10.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
from typing_extensions import Literal
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
7
|
+
from .shared.payment import Payment
|
|
8
|
+
|
|
9
|
+
__all__ = ["PaymentSucceededWebhookEvent"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class PaymentSucceededWebhookEvent(BaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
"""A unique ID for every single webhook request"""
|
|
15
|
+
|
|
16
|
+
api_version: Literal["v1"]
|
|
17
|
+
"""The API version for this webhook"""
|
|
18
|
+
|
|
19
|
+
data: Payment
|
|
20
|
+
"""An object representing a receipt for a membership."""
|
|
21
|
+
|
|
22
|
+
timestamp: datetime
|
|
23
|
+
"""The timestamp in ISO 8601 format that the webhook was sent at on the server"""
|
|
24
|
+
|
|
25
|
+
type: Literal["payment.succeeded"]
|
|
26
|
+
"""The webhook event type"""
|
|
@@ -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__ = ["PaymentTokenListParams"]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class PaymentTokenListParams(TypedDict, total=False):
|
|
16
|
+
member_id: Required[str]
|
|
17
|
+
"""The ID of the Member to list payment tokens 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,41 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
7
|
+
from .card_brands import CardBrands
|
|
8
|
+
from .payment_method_types import PaymentMethodTypes
|
|
9
|
+
|
|
10
|
+
__all__ = ["PaymentTokenListResponse", "Card"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Card(BaseModel):
|
|
14
|
+
brand: Optional[CardBrands] = None
|
|
15
|
+
"""Possible card brands that a payment token can have"""
|
|
16
|
+
|
|
17
|
+
exp_month: Optional[int] = None
|
|
18
|
+
"""Card expiration month, like 03 for March."""
|
|
19
|
+
|
|
20
|
+
exp_year: Optional[int] = None
|
|
21
|
+
"""Card expiration year, like 27 for 2027."""
|
|
22
|
+
|
|
23
|
+
last4: Optional[str] = None
|
|
24
|
+
"""Last four digits of the card."""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class PaymentTokenListResponse(BaseModel):
|
|
28
|
+
id: str
|
|
29
|
+
"""The ID of the payment token"""
|
|
30
|
+
|
|
31
|
+
card: Optional[Card] = None
|
|
32
|
+
"""
|
|
33
|
+
The card data associated with the payment token, if its a debit or credit card
|
|
34
|
+
token.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
created_at: datetime
|
|
38
|
+
"""The date and time the payment token was created"""
|
|
39
|
+
|
|
40
|
+
payment_method_type: PaymentMethodTypes
|
|
41
|
+
"""The payment method type of the payment token"""
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["PaymentTokenRetrieveParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class PaymentTokenRetrieveParams(TypedDict, total=False):
|
|
11
|
+
member_id: Required[str]
|
|
12
|
+
"""The ID of the Member associated with the PaymentToken"""
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
7
|
+
from .card_brands import CardBrands
|
|
8
|
+
from .payment_method_types import PaymentMethodTypes
|
|
9
|
+
|
|
10
|
+
__all__ = ["PaymentTokenRetrieveResponse", "Card"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Card(BaseModel):
|
|
14
|
+
brand: Optional[CardBrands] = None
|
|
15
|
+
"""Possible card brands that a payment token can have"""
|
|
16
|
+
|
|
17
|
+
exp_month: Optional[int] = None
|
|
18
|
+
"""Card expiration month, like 03 for March."""
|
|
19
|
+
|
|
20
|
+
exp_year: Optional[int] = None
|
|
21
|
+
"""Card expiration year, like 27 for 2027."""
|
|
22
|
+
|
|
23
|
+
last4: Optional[str] = None
|
|
24
|
+
"""Last four digits of the card."""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class PaymentTokenRetrieveResponse(BaseModel):
|
|
28
|
+
id: str
|
|
29
|
+
"""The ID of the payment token"""
|
|
30
|
+
|
|
31
|
+
card: Optional[Card] = None
|
|
32
|
+
"""
|
|
33
|
+
The card data associated with the payment token, if its a debit or credit card
|
|
34
|
+
token.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
created_at: datetime
|
|
38
|
+
"""The date and time the payment token was created"""
|
|
39
|
+
|
|
40
|
+
payment_method_type: PaymentMethodTypes
|
|
41
|
+
"""The payment method type of the payment token"""
|
|
@@ -0,0 +1,162 @@
|
|
|
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 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.release_method import ReleaseMethod
|
|
14
|
+
|
|
15
|
+
__all__ = [
|
|
16
|
+
"PlanCreateParams",
|
|
17
|
+
"CustomField",
|
|
18
|
+
"Image",
|
|
19
|
+
"ImageAttachmentInputWithDirectUploadID",
|
|
20
|
+
"ImageAttachmentInputWithID",
|
|
21
|
+
"PaymentMethodConfiguration",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class PlanCreateParams(TypedDict, total=False):
|
|
26
|
+
company_id: Required[str]
|
|
27
|
+
"""The company the plan should be created for."""
|
|
28
|
+
|
|
29
|
+
product_id: Required[str]
|
|
30
|
+
"""The product the plan is related to."""
|
|
31
|
+
|
|
32
|
+
billing_period: Optional[int]
|
|
33
|
+
"""The interval in days at which the plan charges (renewal plans)."""
|
|
34
|
+
|
|
35
|
+
currency: Optional[Currency]
|
|
36
|
+
"""The available currencies on the platform"""
|
|
37
|
+
|
|
38
|
+
custom_fields: Optional[Iterable[CustomField]]
|
|
39
|
+
"""An array of custom field objects."""
|
|
40
|
+
|
|
41
|
+
description: Optional[str]
|
|
42
|
+
"""The description of the plan."""
|
|
43
|
+
|
|
44
|
+
expiration_days: Optional[int]
|
|
45
|
+
"""The interval at which the plan expires and revokes access (expiration plans)."""
|
|
46
|
+
|
|
47
|
+
image: Optional[Image]
|
|
48
|
+
"""An image for the plan. This will be visible on the product page to customers."""
|
|
49
|
+
|
|
50
|
+
initial_price: Optional[float]
|
|
51
|
+
"""An additional amount charged upon first purchase.
|
|
52
|
+
|
|
53
|
+
Use only if a one time payment OR you want to charge an additional amount on top
|
|
54
|
+
of the renewal price. Provided as a number in dollars. Eg: 10.43 for $10.43
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
internal_notes: Optional[str]
|
|
58
|
+
"""A personal description or notes section for the business."""
|
|
59
|
+
|
|
60
|
+
override_tax_type: Optional[TaxType]
|
|
61
|
+
"""
|
|
62
|
+
Whether or not the tax is included in a plan's price (or if it hasn't been set
|
|
63
|
+
up)
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
payment_method_configuration: Optional[PaymentMethodConfiguration]
|
|
67
|
+
"""The explicit payment method configuration for the plan.
|
|
68
|
+
|
|
69
|
+
If not provided, the platform or company's defaults will apply.
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
plan_type: Optional[PlanType]
|
|
73
|
+
"""The type of plan that can be attached to a product"""
|
|
74
|
+
|
|
75
|
+
release_method: Optional[ReleaseMethod]
|
|
76
|
+
"""The methods of how a plan can be released."""
|
|
77
|
+
|
|
78
|
+
renewal_price: Optional[float]
|
|
79
|
+
"""The amount the customer is charged every billing period.
|
|
80
|
+
|
|
81
|
+
Use only if a recurring payment. Provided as a number in dollars. Eg: 10.43 for
|
|
82
|
+
$10.43
|
|
83
|
+
"""
|
|
84
|
+
|
|
85
|
+
stock: Optional[int]
|
|
86
|
+
"""The number of units available for purchase."""
|
|
87
|
+
|
|
88
|
+
title: Optional[str]
|
|
89
|
+
"""The title of the plan. This will be visible on the product page to customers."""
|
|
90
|
+
|
|
91
|
+
trial_period_days: Optional[int]
|
|
92
|
+
"""The number of free trial days added before a renewal plan."""
|
|
93
|
+
|
|
94
|
+
unlimited_stock: Optional[bool]
|
|
95
|
+
"""Limits/doesn't limit the number of units available for purchase."""
|
|
96
|
+
|
|
97
|
+
visibility: Optional[Visibility]
|
|
98
|
+
"""Visibility of a resource"""
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class CustomField(TypedDict, total=False):
|
|
102
|
+
field_type: Required[Literal["text"]]
|
|
103
|
+
"""The type of the custom field."""
|
|
104
|
+
|
|
105
|
+
name: Required[str]
|
|
106
|
+
"""The name of the custom field."""
|
|
107
|
+
|
|
108
|
+
id: Optional[str]
|
|
109
|
+
"""The ID of the custom field (if being updated)"""
|
|
110
|
+
|
|
111
|
+
order: Optional[int]
|
|
112
|
+
"""The order of the field."""
|
|
113
|
+
|
|
114
|
+
placeholder: Optional[str]
|
|
115
|
+
"""The placeholder value of the field."""
|
|
116
|
+
|
|
117
|
+
required: Optional[bool]
|
|
118
|
+
"""Whether or not the field is required."""
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
class ImageAttachmentInputWithDirectUploadID(TypedDict, total=False):
|
|
122
|
+
direct_upload_id: Required[str]
|
|
123
|
+
"""This ID should be used the first time you upload an attachment.
|
|
124
|
+
|
|
125
|
+
It is the ID of the direct upload that was created when uploading the file to S3
|
|
126
|
+
via the mediaDirectUpload mutation.
|
|
127
|
+
"""
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
class ImageAttachmentInputWithID(TypedDict, total=False):
|
|
131
|
+
id: Required[str]
|
|
132
|
+
"""The ID of an existing attachment object.
|
|
133
|
+
|
|
134
|
+
Use this when updating a resource and keeping a subset of the attachments. Don't
|
|
135
|
+
use this unless you know what you're doing.
|
|
136
|
+
"""
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
Image: TypeAlias = Union[ImageAttachmentInputWithDirectUploadID, ImageAttachmentInputWithID]
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
class PaymentMethodConfiguration(TypedDict, total=False):
|
|
143
|
+
disabled: Required[List[PaymentMethodTypes]]
|
|
144
|
+
"""An array of payment method identifiers that are explicitly disabled.
|
|
145
|
+
|
|
146
|
+
Only applies if the include_platform_defaults is true.
|
|
147
|
+
"""
|
|
148
|
+
|
|
149
|
+
enabled: Required[List[PaymentMethodTypes]]
|
|
150
|
+
"""An array of payment method identifiers that are explicitly enabled.
|
|
151
|
+
|
|
152
|
+
This means these payment methods will be shown on checkout. Example use case is
|
|
153
|
+
to only enable a specific payment method like cashapp, or extending the platform
|
|
154
|
+
defaults with additional methods.
|
|
155
|
+
"""
|
|
156
|
+
|
|
157
|
+
include_platform_defaults: Required[bool]
|
|
158
|
+
"""
|
|
159
|
+
Whether Whop's platform default payment method enablement settings are included
|
|
160
|
+
in this configuration. The full list of default payment methods can be found in
|
|
161
|
+
the documentation at docs.whop.com/payments.
|
|
162
|
+
"""
|
|
@@ -0,0 +1,57 @@
|
|
|
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 List, Union, Optional
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
from typing_extensions import Literal, Required, Annotated, TypedDict
|
|
8
|
+
|
|
9
|
+
from .._types import SequenceNotStr
|
|
10
|
+
from .._utils import PropertyInfo
|
|
11
|
+
from .shared.direction import Direction
|
|
12
|
+
from .shared.plan_type import PlanType
|
|
13
|
+
from .shared.release_method import ReleaseMethod
|
|
14
|
+
from .shared.visibility_filter import VisibilityFilter
|
|
15
|
+
|
|
16
|
+
__all__ = ["PlanListParams"]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class PlanListParams(TypedDict, total=False):
|
|
20
|
+
company_id: Required[str]
|
|
21
|
+
"""The ID of the company"""
|
|
22
|
+
|
|
23
|
+
after: Optional[str]
|
|
24
|
+
"""Returns the elements in the list that come after the specified cursor."""
|
|
25
|
+
|
|
26
|
+
before: Optional[str]
|
|
27
|
+
"""Returns the elements in the list that come before the specified cursor."""
|
|
28
|
+
|
|
29
|
+
created_after: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
|
|
30
|
+
"""The minimum creation date to filter by"""
|
|
31
|
+
|
|
32
|
+
created_before: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
|
|
33
|
+
"""The maximum creation date to filter by"""
|
|
34
|
+
|
|
35
|
+
direction: Optional[Direction]
|
|
36
|
+
"""The direction of the sort."""
|
|
37
|
+
|
|
38
|
+
first: Optional[int]
|
|
39
|
+
"""Returns the first _n_ elements from the list."""
|
|
40
|
+
|
|
41
|
+
last: Optional[int]
|
|
42
|
+
"""Returns the last _n_ elements from the list."""
|
|
43
|
+
|
|
44
|
+
order: Optional[Literal["id", "active_members_count", "created_at", "internal_notes", "expires_at"]]
|
|
45
|
+
"""The ways a relation of Plans can be ordered"""
|
|
46
|
+
|
|
47
|
+
plan_types: Optional[List[PlanType]]
|
|
48
|
+
"""The plan type to filter the plans by"""
|
|
49
|
+
|
|
50
|
+
product_ids: Optional[SequenceNotStr[str]]
|
|
51
|
+
"""The product IDs to filter the plans by"""
|
|
52
|
+
|
|
53
|
+
release_methods: Optional[List[ReleaseMethod]]
|
|
54
|
+
"""The release method to filter the plans by"""
|
|
55
|
+
|
|
56
|
+
visibilities: Optional[List[VisibilityFilter]]
|
|
57
|
+
"""The visibility to filter the plans by"""
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
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__ = ["PlanListResponse", "Company", "Invoice", "PaymentMethodConfiguration", "Product"]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Company(BaseModel):
|
|
17
|
+
id: str
|
|
18
|
+
"""The ID (tag) of the company."""
|
|
19
|
+
|
|
20
|
+
title: str
|
|
21
|
+
"""The title of the company."""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class Invoice(BaseModel):
|
|
25
|
+
id: str
|
|
26
|
+
"""The ID of the invoice."""
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class PaymentMethodConfiguration(BaseModel):
|
|
30
|
+
disabled: List[PaymentMethodTypes]
|
|
31
|
+
"""An array of payment method identifiers that are explicitly disabled.
|
|
32
|
+
|
|
33
|
+
Only applies if the include_platform_defaults is true.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
enabled: List[PaymentMethodTypes]
|
|
37
|
+
"""An array of payment method identifiers that are explicitly enabled.
|
|
38
|
+
|
|
39
|
+
This means these payment methods will be shown on checkout. Example use case is
|
|
40
|
+
to only enable a specific payment method like cashapp, or extending the platform
|
|
41
|
+
defaults with additional methods.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
include_platform_defaults: bool
|
|
45
|
+
"""
|
|
46
|
+
Whether Whop's platform default payment method enablement settings are included
|
|
47
|
+
in this configuration. The full list of default payment methods can be found in
|
|
48
|
+
the documentation at docs.whop.com/payments.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class Product(BaseModel):
|
|
53
|
+
id: str
|
|
54
|
+
"""The internal ID of the public product."""
|
|
55
|
+
|
|
56
|
+
title: str
|
|
57
|
+
"""The title of the product. Use for Whop 4.0."""
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class PlanListResponse(BaseModel):
|
|
61
|
+
id: str
|
|
62
|
+
"""The internal ID of the plan."""
|
|
63
|
+
|
|
64
|
+
billing_period: Optional[int] = None
|
|
65
|
+
"""The interval at which the plan charges (renewal plans)."""
|
|
66
|
+
|
|
67
|
+
company: Optional[Company] = None
|
|
68
|
+
"""The company for the plan."""
|
|
69
|
+
|
|
70
|
+
created_at: datetime
|
|
71
|
+
"""When the plan was created."""
|
|
72
|
+
|
|
73
|
+
currency: Currency
|
|
74
|
+
"""The respective currency identifier for the plan."""
|
|
75
|
+
|
|
76
|
+
description: Optional[str] = None
|
|
77
|
+
"""The description of the plan."""
|
|
78
|
+
|
|
79
|
+
expiration_days: Optional[int] = None
|
|
80
|
+
"""The interval at which the plan charges (expiration plans)."""
|
|
81
|
+
|
|
82
|
+
initial_price: float
|
|
83
|
+
"""The price a person has to pay for a plan on the initial purchase."""
|
|
84
|
+
|
|
85
|
+
internal_notes: Optional[str] = None
|
|
86
|
+
"""A personal description or notes section for the business."""
|
|
87
|
+
|
|
88
|
+
invoice: Optional[Invoice] = None
|
|
89
|
+
"""The invoice associated with this plan."""
|
|
90
|
+
|
|
91
|
+
member_count: Optional[int] = None
|
|
92
|
+
"""The number of members for the plan."""
|
|
93
|
+
|
|
94
|
+
payment_method_configuration: Optional[PaymentMethodConfiguration] = None
|
|
95
|
+
"""The explicit payment method configuration for the plan, if any."""
|
|
96
|
+
|
|
97
|
+
plan_type: PlanType
|
|
98
|
+
"""Indicates if the plan is a one time payment or recurring."""
|
|
99
|
+
|
|
100
|
+
product: Optional[Product] = None
|
|
101
|
+
"""The product that this plan belongs to."""
|
|
102
|
+
|
|
103
|
+
purchase_url: str
|
|
104
|
+
"""The direct link to purchase the product."""
|
|
105
|
+
|
|
106
|
+
release_method: ReleaseMethod
|
|
107
|
+
"""This is the release method the business uses to sell this plan."""
|
|
108
|
+
|
|
109
|
+
renewal_price: float
|
|
110
|
+
"""The price a person has to pay for a plan on the renewal purchase."""
|
|
111
|
+
|
|
112
|
+
stock: Optional[int] = None
|
|
113
|
+
"""The number of units available for purchase. Only displayed to authorized actors"""
|
|
114
|
+
|
|
115
|
+
title: Optional[str] = None
|
|
116
|
+
"""The title of the plan. This will be visible on the product page to customers."""
|
|
117
|
+
|
|
118
|
+
trial_period_days: Optional[int] = None
|
|
119
|
+
"""The number of free trial days added before a renewal plan."""
|
|
120
|
+
|
|
121
|
+
unlimited_stock: bool
|
|
122
|
+
"""Limits/doesn't limit the number of units available for purchase."""
|
|
123
|
+
|
|
124
|
+
updated_at: datetime
|
|
125
|
+
"""When the plan was last updated."""
|
|
126
|
+
|
|
127
|
+
visibility: Visibility
|
|
128
|
+
"""Shows or hides the plan from public/business view."""
|
|
@@ -0,0 +1,155 @@
|
|
|
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 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.visibility import Visibility
|
|
11
|
+
from .payment_method_types import PaymentMethodTypes
|
|
12
|
+
|
|
13
|
+
__all__ = [
|
|
14
|
+
"PlanUpdateParams",
|
|
15
|
+
"CustomField",
|
|
16
|
+
"Image",
|
|
17
|
+
"ImageAttachmentInputWithDirectUploadID",
|
|
18
|
+
"ImageAttachmentInputWithID",
|
|
19
|
+
"PaymentMethodConfiguration",
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class PlanUpdateParams(TypedDict, total=False):
|
|
24
|
+
billing_period: Optional[int]
|
|
25
|
+
"""The interval at which the plan charges (renewal plans)."""
|
|
26
|
+
|
|
27
|
+
currency: Optional[Currency]
|
|
28
|
+
"""The available currencies on the platform"""
|
|
29
|
+
|
|
30
|
+
custom_fields: Optional[Iterable[CustomField]]
|
|
31
|
+
"""An array of custom field objects."""
|
|
32
|
+
|
|
33
|
+
description: Optional[str]
|
|
34
|
+
"""The description of the plan."""
|
|
35
|
+
|
|
36
|
+
expiration_days: Optional[int]
|
|
37
|
+
"""The interval at which the plan charges (expiration plans)."""
|
|
38
|
+
|
|
39
|
+
image: Optional[Image]
|
|
40
|
+
"""An image for the plan. This will be visible on the product page to customers."""
|
|
41
|
+
|
|
42
|
+
initial_price: Optional[float]
|
|
43
|
+
"""An additional amount charged upon first purchase."""
|
|
44
|
+
|
|
45
|
+
internal_notes: Optional[str]
|
|
46
|
+
"""A personal description or notes section for the business."""
|
|
47
|
+
|
|
48
|
+
offer_cancel_discount: Optional[bool]
|
|
49
|
+
"""Whether or not to offer a discount to cancel a subscription."""
|
|
50
|
+
|
|
51
|
+
override_tax_type: Optional[TaxType]
|
|
52
|
+
"""
|
|
53
|
+
Whether or not the tax is included in a plan's price (or if it hasn't been set
|
|
54
|
+
up)
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
payment_method_configuration: Optional[PaymentMethodConfiguration]
|
|
58
|
+
"""The explicit payment method configuration for the plan.
|
|
59
|
+
|
|
60
|
+
If sent as null, the custom configuration will be removed.
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
renewal_price: Optional[float]
|
|
64
|
+
"""The amount the customer is charged every billing period."""
|
|
65
|
+
|
|
66
|
+
stock: Optional[int]
|
|
67
|
+
"""The number of units available for purchase."""
|
|
68
|
+
|
|
69
|
+
strike_through_initial_price: Optional[float]
|
|
70
|
+
"""The price to display with a strikethrough for the initial price.
|
|
71
|
+
|
|
72
|
+
Provided as a number in dollars. Eg: 19.99 for $19.99
|
|
73
|
+
"""
|
|
74
|
+
|
|
75
|
+
strike_through_renewal_price: Optional[float]
|
|
76
|
+
"""The price to display with a strikethrough for the renewal price.
|
|
77
|
+
|
|
78
|
+
Provided as a number in dollars. Eg: 19.99 for $19.99
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
title: Optional[str]
|
|
82
|
+
"""The title of the plan. This will be visible on the product page to customers."""
|
|
83
|
+
|
|
84
|
+
trial_period_days: Optional[int]
|
|
85
|
+
"""The number of free trial days added before a renewal plan."""
|
|
86
|
+
|
|
87
|
+
unlimited_stock: Optional[bool]
|
|
88
|
+
"""Limits/doesn't limit the number of units available for purchase."""
|
|
89
|
+
|
|
90
|
+
visibility: Optional[Visibility]
|
|
91
|
+
"""Visibility of a resource"""
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
class CustomField(TypedDict, total=False):
|
|
95
|
+
field_type: Required[Literal["text"]]
|
|
96
|
+
"""The type of the custom field."""
|
|
97
|
+
|
|
98
|
+
name: Required[str]
|
|
99
|
+
"""The name of the custom field."""
|
|
100
|
+
|
|
101
|
+
id: Optional[str]
|
|
102
|
+
"""The ID of the custom field (if being updated)"""
|
|
103
|
+
|
|
104
|
+
order: Optional[int]
|
|
105
|
+
"""The order of the field."""
|
|
106
|
+
|
|
107
|
+
placeholder: Optional[str]
|
|
108
|
+
"""The placeholder value of the field."""
|
|
109
|
+
|
|
110
|
+
required: Optional[bool]
|
|
111
|
+
"""Whether or not the field is required."""
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
class ImageAttachmentInputWithDirectUploadID(TypedDict, total=False):
|
|
115
|
+
direct_upload_id: Required[str]
|
|
116
|
+
"""This ID should be used the first time you upload an attachment.
|
|
117
|
+
|
|
118
|
+
It is the ID of the direct upload that was created when uploading the file to S3
|
|
119
|
+
via the mediaDirectUpload mutation.
|
|
120
|
+
"""
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class ImageAttachmentInputWithID(TypedDict, total=False):
|
|
124
|
+
id: Required[str]
|
|
125
|
+
"""The ID of an existing attachment object.
|
|
126
|
+
|
|
127
|
+
Use this when updating a resource and keeping a subset of the attachments. Don't
|
|
128
|
+
use this unless you know what you're doing.
|
|
129
|
+
"""
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
Image: TypeAlias = Union[ImageAttachmentInputWithDirectUploadID, ImageAttachmentInputWithID]
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class PaymentMethodConfiguration(TypedDict, total=False):
|
|
136
|
+
disabled: Required[List[PaymentMethodTypes]]
|
|
137
|
+
"""An array of payment method identifiers that are explicitly disabled.
|
|
138
|
+
|
|
139
|
+
Only applies if the include_platform_defaults is true.
|
|
140
|
+
"""
|
|
141
|
+
|
|
142
|
+
enabled: Required[List[PaymentMethodTypes]]
|
|
143
|
+
"""An array of payment method identifiers that are explicitly enabled.
|
|
144
|
+
|
|
145
|
+
This means these payment methods will be shown on checkout. Example use case is
|
|
146
|
+
to only enable a specific payment method like cashapp, or extending the platform
|
|
147
|
+
defaults with additional methods.
|
|
148
|
+
"""
|
|
149
|
+
|
|
150
|
+
include_platform_defaults: Required[bool]
|
|
151
|
+
"""
|
|
152
|
+
Whether Whop's platform default payment method enablement settings are included
|
|
153
|
+
in this configuration. The full list of default payment methods can be found in
|
|
154
|
+
the documentation at docs.whop.com/payments.
|
|
155
|
+
"""
|