whop_sdk 1.0.13 → 1.0.14

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 (145) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +7 -5
  3. data/.fern/replay.lock +28 -0
  4. data/.fernignore +11 -0
  5. data/lib/whop_sdk/ad_groups/client.rb +2 -0
  6. data/lib/whop_sdk/ad_groups/types/search_targeting_options_ad_groups_request.rb +2 -0
  7. data/lib/whop_sdk/ad_groups/types/search_targeting_options_ad_groups_request_special_ad_categories_item.rb +16 -0
  8. data/lib/whop_sdk/api_keys/types/create_api_keys_request_api_version_date.rb +1 -0
  9. data/lib/whop_sdk/api_keys/types/update_api_keys_request_api_version_date.rb +1 -0
  10. data/lib/whop_sdk/apps/client.rb +2 -0
  11. data/lib/whop_sdk/apps/types/list_apps_request.rb +2 -0
  12. data/lib/whop_sdk/checkout_sessions/client.rb +52 -0
  13. data/lib/whop_sdk/checkout_sessions/types/create_checkout_sessions_request.rb +37 -0
  14. data/lib/whop_sdk/checkout_sessions/types/create_checkout_sessions_request_items_item.rb +13 -0
  15. data/lib/whop_sdk/checkout_sessions/types/create_checkout_sessions_request_mode.rb +14 -0
  16. data/lib/whop_sdk/client.rb +6 -1
  17. data/lib/whop_sdk/disputes/client.rb +3 -3
  18. data/lib/whop_sdk/exports/types/create_exports_request_resource.rb +2 -2
  19. data/lib/whop_sdk/exports/types/list_exports_request_resource.rb +2 -2
  20. data/lib/whop_sdk/files/client.rb +60 -6
  21. data/lib/whop_sdk/files/types/complete_files_request.rb +15 -0
  22. data/lib/whop_sdk/files/types/complete_files_request_multipart_parts_item.rb +13 -0
  23. data/lib/whop_sdk/files/types/create_files_request.rb +5 -1
  24. data/lib/whop_sdk/files/types/create_files_request_visibility.rb +14 -0
  25. data/lib/whop_sdk/financial_activity/types/list_financial_activity_request_line_types_item.rb +2 -0
  26. data/lib/whop_sdk/internal/http/raw_client.rb +1 -1
  27. data/lib/whop_sdk/ledgers/types/get_financial_report_response_rows_item_line_category.rb +2 -0
  28. data/lib/whop_sdk/payouts/methods/types/create_methods_response_supported_payout_method_delivery_type.rb +2 -2
  29. data/lib/whop_sdk/payouts/methods/types/list_methods_response_data_item_supported_payout_method_delivery_type.rb +2 -2
  30. data/lib/whop_sdk/payouts/methods/types/update_methods_response_supported_payout_method_delivery_type.rb +2 -2
  31. data/lib/whop_sdk/payouts/supported_methods/types/list_supported_methods_response_data_item_delivery_type.rb +2 -3
  32. data/lib/whop_sdk/payouts/types/create_payouts_response_payout_method_supported_payout_method_delivery_type.rb +2 -2
  33. data/lib/whop_sdk/payouts/types/list_payouts_response_data_item_payout_method_supported_payout_method_delivery_type.rb +2 -2
  34. data/lib/whop_sdk/payouts/types/post_payout_method_created_payload_data_supported_payout_method_delivery_type.rb +2 -2
  35. data/lib/whop_sdk/payouts/types/post_withdrawal_created_payload_data_payout_method_supported_payout_method_delivery_type.rb +2 -2
  36. data/lib/whop_sdk/payouts/types/post_withdrawal_reversed_payload_data_payout_method_supported_payout_method_delivery_type.rb +2 -2
  37. data/lib/whop_sdk/payouts/types/post_withdrawal_updated_payload_data_payout_method_supported_payout_method_delivery_type.rb +2 -2
  38. data/lib/whop_sdk/payouts/types/retrieve_payouts_response_payout_method_supported_payout_method_delivery_type.rb +2 -2
  39. data/lib/whop_sdk/plans/client.rb +3 -4
  40. data/lib/whop_sdk/plans/types/list_plans_request.rb +1 -1
  41. data/lib/whop_sdk/products/client.rb +17 -4
  42. data/lib/whop_sdk/products/types/list_products_request.rb +15 -1
  43. data/lib/whop_sdk/products/types/list_products_request_plan_types_item.rb +14 -0
  44. data/lib/whop_sdk/types/account.rb +8 -0
  45. data/lib/whop_sdk/types/api_key_api_version_date.rb +1 -0
  46. data/lib/whop_sdk/types/app.rb +2 -0
  47. data/lib/whop_sdk/types/app_elements_used_item.rb +45 -0
  48. data/lib/whop_sdk/types/bounty.rb +6 -0
  49. data/lib/whop_sdk/types/{transfer_origin_company.rb → bounty_active_livestream_feed.rb} +3 -4
  50. data/lib/whop_sdk/types/checkout_session.rb +95 -0
  51. data/lib/whop_sdk/types/checkout_session_authenticate_action.rb +9 -0
  52. data/lib/whop_sdk/types/checkout_session_await_claim_action.rb +11 -0
  53. data/lib/whop_sdk/types/checkout_session_await_claim_action_state.rb +12 -0
  54. data/lib/whop_sdk/types/checkout_session_branding.rb +29 -0
  55. data/lib/whop_sdk/types/checkout_session_branding_border_style.rb +13 -0
  56. data/lib/whop_sdk/types/checkout_session_branding_font_family.rb +13 -0
  57. data/lib/whop_sdk/types/checkout_session_breakdown.rb +21 -0
  58. data/lib/whop_sdk/types/checkout_session_breakdown_adjustment.rb +19 -0
  59. data/lib/whop_sdk/types/checkout_session_breakdown_adjustment_applied.rb +12 -0
  60. data/lib/whop_sdk/types/checkout_session_breakdown_adjustment_kind.rb +13 -0
  61. data/lib/whop_sdk/types/checkout_session_breakdown_adjustment_status.rb +11 -0
  62. data/lib/whop_sdk/types/checkout_session_breakdown_currency.rb +100 -0
  63. data/lib/whop_sdk/types/checkout_session_breakdown_display.rb +11 -0
  64. data/lib/whop_sdk/types/checkout_session_breakdown_display_headline.rb +21 -0
  65. data/lib/whop_sdk/types/checkout_session_breakdown_display_headline_kind.rb +13 -0
  66. data/lib/whop_sdk/types/checkout_session_breakdown_display_row.rb +19 -0
  67. data/lib/whop_sdk/types/checkout_session_breakdown_display_row_detail.rb +35 -0
  68. data/lib/whop_sdk/types/checkout_session_breakdown_display_row_detail_applied.rb +12 -0
  69. data/lib/whop_sdk/types/checkout_session_breakdown_display_row_kind.rb +33 -0
  70. data/lib/whop_sdk/types/checkout_session_breakdown_display_row_status.rb +11 -0
  71. data/lib/whop_sdk/types/checkout_session_breakdown_display_sections.rb +15 -0
  72. data/lib/whop_sdk/types/checkout_session_breakdown_line.rb +17 -0
  73. data/lib/whop_sdk/types/checkout_session_breakdown_line_kind.rb +11 -0
  74. data/lib/whop_sdk/types/checkout_session_breakdown_upcoming.rb +20 -0
  75. data/lib/whop_sdk/types/checkout_session_breakdown_upcoming_installments.rb +21 -0
  76. data/lib/whop_sdk/types/checkout_session_breakdown_upcoming_one_time.rb +13 -0
  77. data/lib/whop_sdk/types/checkout_session_breakdown_upcoming_recurring.rb +19 -0
  78. data/lib/whop_sdk/types/checkout_session_buyer_identity.rb +12 -0
  79. data/lib/whop_sdk/types/checkout_session_buyer_identity_method.rb +15 -0
  80. data/lib/whop_sdk/types/checkout_session_complete_action.rb +13 -0
  81. data/lib/whop_sdk/types/checkout_session_complete_action_kind.rb +12 -0
  82. data/lib/whop_sdk/types/checkout_session_confirm_error.rb +11 -0
  83. data/lib/whop_sdk/types/checkout_session_confirm_error_code.rb +40 -0
  84. data/lib/whop_sdk/types/checkout_session_cta_label.rb +16 -0
  85. data/lib/whop_sdk/types/checkout_session_custom_field.rb +19 -0
  86. data/lib/whop_sdk/types/checkout_session_custom_field_field_type.rb +11 -0
  87. data/lib/whop_sdk/types/checkout_session_custom_field_response.rb +11 -0
  88. data/lib/whop_sdk/types/checkout_session_entry.rb +11 -0
  89. data/lib/whop_sdk/types/checkout_session_entry_status.rb +14 -0
  90. data/lib/whop_sdk/types/checkout_session_item.rb +21 -0
  91. data/lib/whop_sdk/types/checkout_session_mode.rb +12 -0
  92. data/lib/whop_sdk/types/checkout_session_next_action.rb +28 -0
  93. data/lib/whop_sdk/types/checkout_session_payment.rb +11 -0
  94. data/lib/whop_sdk/types/checkout_session_payment_status.rb +14 -0
  95. data/lib/whop_sdk/types/checkout_session_promo.rb +19 -0
  96. data/lib/whop_sdk/types/checkout_session_promo_currency.rb +100 -0
  97. data/lib/whop_sdk/types/checkout_session_promo_duration.rb +13 -0
  98. data/lib/whop_sdk/types/checkout_session_promo_promo_type.rb +12 -0
  99. data/lib/whop_sdk/types/checkout_session_quote.rb +23 -0
  100. data/lib/whop_sdk/types/checkout_session_redirect_action.rb +11 -0
  101. data/lib/whop_sdk/types/checkout_session_requirement.rb +11 -0
  102. data/lib/whop_sdk/types/checkout_session_requirement_type.rb +16 -0
  103. data/lib/whop_sdk/types/checkout_session_seller.rb +19 -0
  104. data/lib/whop_sdk/types/checkout_session_seller_terms.rb +17 -0
  105. data/lib/whop_sdk/types/checkout_session_shipping_address.rb +21 -0
  106. data/lib/whop_sdk/types/checkout_session_status.rb +13 -0
  107. data/lib/whop_sdk/types/checkout_session_tax_behavior.rb +12 -0
  108. data/lib/whop_sdk/types/checkout_session_tax_id.rb +11 -0
  109. data/lib/whop_sdk/types/checkout_session_tax_id_type.rb +123 -0
  110. data/lib/whop_sdk/types/checkout_session_three_ds_level.rb +12 -0
  111. data/lib/whop_sdk/types/checkout_session_transfer.rb +13 -0
  112. data/lib/whop_sdk/types/checkout_session_upgrade_authentication_action.rb +15 -0
  113. data/lib/whop_sdk/types/checkout_session_upgrade_authentication_action_sign_in_intent.rb +11 -0
  114. data/lib/whop_sdk/types/checkout_session_verify_phone_action.rb +9 -0
  115. data/lib/whop_sdk/types/checkout_session_wait_for_payment_action.rb +11 -0
  116. data/lib/whop_sdk/types/dispute_evidence_document.rb +20 -0
  117. data/lib/whop_sdk/types/dispute_evidence_document_upload_status.rb +14 -0
  118. data/lib/whop_sdk/types/dispute_evidence_document_visibility.rb +12 -0
  119. data/lib/whop_sdk/types/export_resource.rb +2 -2
  120. data/lib/whop_sdk/types/file.rb +16 -3
  121. data/lib/whop_sdk/types/file_multipart_url.rb +11 -0
  122. data/lib/whop_sdk/types/file_upload_status.rb +14 -0
  123. data/lib/whop_sdk/types/forum_experience.rb +2 -0
  124. data/lib/whop_sdk/types/forum_list_item_experience.rb +2 -0
  125. data/lib/whop_sdk/types/ledger_activity.rb +2 -0
  126. data/lib/whop_sdk/types/ledger_activity_line_type.rb +2 -0
  127. data/lib/whop_sdk/types/ledger_activity_payment.rb +23 -0
  128. data/lib/whop_sdk/types/ledger_activity_payment_object.rb +11 -0
  129. data/lib/whop_sdk/types/ledger_activity_source.rb +8 -0
  130. data/lib/whop_sdk/types/product.rb +2 -0
  131. data/lib/whop_sdk/types/product_list_item.rb +6 -0
  132. data/lib/whop_sdk/types/product_public_plan.rb +25 -0
  133. data/lib/whop_sdk/types/product_public_plan_plan_type.rb +12 -0
  134. data/lib/whop_sdk/types/product_public_plan_visibility.rb +14 -0
  135. data/lib/whop_sdk/version.rb +1 -1
  136. data/lib/whop_sdk.rb +90 -12
  137. data/reference.md +359 -21
  138. metadata +89 -10
  139. data/lib/whop_sdk/files/types/create_files_response.rb +0 -28
  140. data/lib/whop_sdk/types/transfer.rb +0 -11
  141. data/lib/whop_sdk/types/transfer_destination.rb +0 -15
  142. data/lib/whop_sdk/types/transfer_destination_company.rb +0 -14
  143. data/lib/whop_sdk/types/transfer_destination_user.rb +0 -14
  144. data/lib/whop_sdk/types/transfer_origin.rb +0 -15
  145. data/lib/whop_sdk/types/transfer_origin_user.rb +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9fc15ef6d359b6cf4784e9b9b4a43a677cd03a56bebe3b559dbf7ee65a611f21
4
- data.tar.gz: 771adb6fcaf1b7564ee7383eead94c7a909a24522ddb0709f0c7e0f8cdfd35e4
3
+ metadata.gz: 9e0a6d79e20bca5ac1fa405af0149243516432459426f1267a9c321960a00083
4
+ data.tar.gz: fb020ab411ab5a56edf31ba83fc43e06e02faba8c42bade39aaf5c6ed8174c46
5
5
  SHA512:
6
- metadata.gz: 62de0ee7e2ea242700d78b8e87bbc6f60257328bb7834cc9c8e66eee3338b1ac7f2510c2ea1ca6847e516fe154490ee97f6f23b0e9b2137ab71a872d3e8c324c
7
- data.tar.gz: a587e338a0c270925b9de6b890cf4112a924c4906c5003b90d53f9b29ed172a11f18519db16261e186157e4d6f4493350f46acb3670a0a9777bcebab944ae13a
6
+ metadata.gz: 812286043d38e82669fd7d4fd2bf86a165b46c0e448e76fac1a888a7489917488c2de904295d7b80058476035359bb74cb3177efbde5846516a342604c0153fa
7
+ data.tar.gz: ec039a8ca764b32dd11a7948b27997e381f28d369ae2a2fdf552953640e1a8765d22b54d3e6597e067f0040871bfbc7d93aea7a36393252978bf1d453c2557c1
data/.fern/metadata.json CHANGED
@@ -5,16 +5,18 @@
5
5
  "generatorConfig": {
6
6
  "moduleName": "whop_sdk",
7
7
  "requirePaths": [
8
- "helpers/verify_user_token"
8
+ "helpers/verify_user_token",
9
+ "helpers/verify_webhook"
9
10
  ],
10
11
  "extraDependencies": {
11
- "jwt": ">= 2.7"
12
+ "jwt": ">= 2.7",
13
+ "standardwebhooks": ">= 1.0"
12
14
  }
13
15
  },
14
- "originGitCommit": "f7d6f47c548e5487717569990f2526aea7971636",
16
+ "originGitCommit": "668e7f84f3e97bfc35312183bb3dc988bb657a0d",
15
17
  "originGitCommitIsDirty": false,
16
18
  "invokedBy": "ci",
17
- "requestedVersion": "0.0.41",
19
+ "requestedVersion": "1.0.14",
18
20
  "ciProvider": "unknown",
19
- "sdkVersion": "0.0.41"
21
+ "sdkVersion": "1.0.14"
20
22
  }
data/.fern/replay.lock ADDED
@@ -0,0 +1,28 @@
1
+ # DO NOT EDIT MANUALLY - Managed by Fern Replay
2
+ version: "1.0"
3
+ generations:
4
+ - commit_sha: 69f1d3729468eecb5637baa85e2b6303f1b80c0d
5
+ tree_hash: f4270f856ef00655a7d2965019c135bb4e42e380
6
+ timestamp: 2026-08-25T01:58:11.784Z
7
+ cli_version: unknown
8
+ generator_versions: {}
9
+ - commit_sha: f41bb31550b9965a4b2a1631b94888c3ab205e32
10
+ tree_hash: 307ce3fb6d5698e59f5b2bf8e7e0149a5e445d8d
11
+ timestamp: 2026-08-25T01:58:12.494Z
12
+ cli_version: unknown
13
+ generator_versions:
14
+ fernapi/fern-ruby-sdk: 1.23.2
15
+ - commit_sha: a95ffd10d7a72efb540bcdc0327172669f138488
16
+ tree_hash: bf484e9c20407812861dac6df9b760963d33bd30
17
+ timestamp: 2026-08-25T06:17:22.307Z
18
+ cli_version: unknown
19
+ generator_versions:
20
+ fernapi/fern-ruby-sdk: 1.23.2
21
+ - commit_sha: 3a515a64301868d3a3fa304877034f398bf1ffdf
22
+ tree_hash: ac62dac976c0848f731ea232c6cbb913eefbf39f
23
+ timestamp: 2026-08-25T18:12:54.994Z
24
+ cli_version: unknown
25
+ generator_versions:
26
+ fernapi/fern-ruby-sdk: 1.23.2
27
+ current_generation: 3a515a64301868d3a3fa304877034f398bf1ffdf
28
+ patches: []
data/.fernignore CHANGED
@@ -66,6 +66,14 @@
66
66
  # patch returns a Float unchanged when it has a fractional part, and still normalises whole
67
67
  # floats to Integer so genuinely integral fields are unaffected. Delete this entry and the
68
68
  # file once fern-ruby-sdk maps `number` to Float.
69
+ #
70
+ # auto-merge.yml is hand-written and arms Fern's own regeneration PRs. On pull_request_target
71
+ # it enables auto-merge (squash) for a pull request opened by fern-api[bot] from an in-repo
72
+ # fern-bot/* branch against the default branch, so the pull request merges itself once main's
73
+ # required status checks pass. The trigger is pull_request_target rather than pull_request so
74
+ # the workflow that arms a pull request is always the copy already on the base branch, never
75
+ # the copy that pull request carries.
76
+ .github/workflows/auto-merge.yml
69
77
  .github/workflows/ci.yml
70
78
  .github/workflows/publish-main.yml
71
79
  CHANGELOG.md
@@ -73,3 +81,6 @@ lib/whop_sdk/helpers
73
81
  lib/whop_sdk/internal/iterators/cursor_page_iterator.rb
74
82
  lib/whop_sdk/internal/types/utils.rb
75
83
  test/unit/helpers
84
+ .fern/replay.lock
85
+ .fern/replay.yml
86
+ .gitattributes
@@ -186,6 +186,7 @@ module Whop_sdk
186
186
  # @option params [Whop_sdk::AdGroups::Types::SearchTargetingOptionsAdGroupsRequestLocationTypesItem, nil] :location_types
187
187
  # @option params [String, nil] :country
188
188
  # @option params [Integer, nil] :limit
189
+ # @option params [Whop_sdk::AdGroups::Types::SearchTargetingOptionsAdGroupsRequestSpecialAdCategoriesItem, nil] :special_ad_categories
189
190
  #
190
191
  # @example
191
192
  # client.ad_groups.search_targeting_options(platform: "meta")
@@ -201,6 +202,7 @@ module Whop_sdk
201
202
  query_params["location_types"] = params[:location_types] if params.key?(:location_types)
202
203
  query_params["country"] = params[:country] if params.key?(:country)
203
204
  query_params["limit"] = params[:limit] if params.key?(:limit)
205
+ query_params["special_ad_categories"] = params[:special_ad_categories] if params.key?(:special_ad_categories)
204
206
 
205
207
  request = Whop_sdk::Internal::JSON::Request.new(
206
208
  base_url: request_options[:base_url],
@@ -17,6 +17,8 @@ module Whop_sdk
17
17
  field :country, -> { String }, optional: true, nullable: false
18
18
 
19
19
  field :limit, -> { Integer }, optional: true, nullable: false
20
+
21
+ field :special_ad_categories, -> { Whop_sdk::AdGroups::Types::SearchTargetingOptionsAdGroupsRequestSpecialAdCategoriesItem }, optional: true, nullable: false
20
22
  end
21
23
  end
22
24
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module AdGroups
5
+ module Types
6
+ module SearchTargetingOptionsAdGroupsRequestSpecialAdCategoriesItem
7
+ extend Whop_sdk::Internal::Types::Enum
8
+
9
+ HOUSING = "housing"
10
+ EMPLOYMENT = "employment"
11
+ FINANCIAL_PRODUCTS = "financial_products"
12
+ POLITICS = "politics"
13
+ end
14
+ end
15
+ end
16
+ end
@@ -31,6 +31,7 @@ module Whop_sdk
31
31
  TWO_THOUSAND_TWENTY_SIX0813 = "2026-08-13"
32
32
  TWO_THOUSAND_TWENTY_SIX0814 = "2026-08-14"
33
33
  TWO_THOUSAND_TWENTY_SIX0821 = "2026-08-21"
34
+ TWO_THOUSAND_TWENTY_SIX08211 = "2026-08-21-1"
34
35
  end
35
36
  end
36
37
  end
@@ -31,6 +31,7 @@ module Whop_sdk
31
31
  TWO_THOUSAND_TWENTY_SIX0813 = "2026-08-13"
32
32
  TWO_THOUSAND_TWENTY_SIX0814 = "2026-08-14"
33
33
  TWO_THOUSAND_TWENTY_SIX0821 = "2026-08-21"
34
+ TWO_THOUSAND_TWENTY_SIX08211 = "2026-08-21-1"
34
35
  end
35
36
  end
36
37
  end
@@ -26,6 +26,7 @@ module Whop_sdk
26
26
  # @option params [Whop_sdk::Apps::Types::ListAppsRequestAppType, nil] :app_type
27
27
  # @option params [Whop_sdk::Apps::Types::ListAppsRequestViewType, nil] :view_type
28
28
  # @option params [Boolean, nil] :verified_apps_only
29
+ # @option params [Boolean, nil] :recommended
29
30
  # @option params [String, nil] :query
30
31
  # @option params [Whop_sdk::Apps::Types::ListAppsRequestOrder, nil] :order
31
32
  # @option params [Whop_sdk::Apps::Types::ListAppsRequestDirection, nil] :direction
@@ -45,6 +46,7 @@ module Whop_sdk
45
46
  query_params["app_type"] = params[:app_type] if params.key?(:app_type)
46
47
  query_params["view_type"] = params[:view_type] if params.key?(:view_type)
47
48
  query_params["verified_apps_only"] = params[:verified_apps_only] if params.key?(:verified_apps_only)
49
+ query_params["recommended"] = params[:recommended] if params.key?(:recommended)
48
50
  query_params["query"] = params[:query] if params.key?(:query)
49
51
  query_params["order"] = params[:order] if params.key?(:order)
50
52
  query_params["direction"] = params[:direction] if params.key?(:direction)
@@ -12,6 +12,8 @@ module Whop_sdk
12
12
 
13
13
  field :verified_apps_only, -> { Internal::Types::Boolean }, optional: true, nullable: false
14
14
 
15
+ field :recommended, -> { Internal::Types::Boolean }, optional: true, nullable: false
16
+
15
17
  field :query, -> { String }, optional: true, nullable: false
16
18
 
17
19
  field :order, -> { Whop_sdk::Apps::Types::ListAppsRequestOrder }, optional: true, nullable: false
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module CheckoutSessions
5
+ class Client
6
+ # @param client [Whop_sdk::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # Opens a checkout session. No credentials required. Pass exactly one of `items`, `checkout_configuration`, or
14
+ # `link`. The response includes `client_secret` once; later calls authenticate with it.
15
+ #
16
+ # @param request_options [Hash]
17
+ # @param params [Whop_sdk::CheckoutSessions::Types::CreateCheckoutSessionsRequest]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ #
24
+ # @example
25
+ # client.checkout_sessions.create
26
+ #
27
+ # @return [Whop_sdk::Types::CheckoutSession]
28
+ def create(request_options: {}, **params)
29
+ params = Whop_sdk::Internal::Types::Utils.normalize_keys(params)
30
+ request = Whop_sdk::Internal::JSON::Request.new(
31
+ base_url: request_options[:base_url],
32
+ method: "POST",
33
+ path: "checkout_sessions",
34
+ body: Whop_sdk::CheckoutSessions::Types::CreateCheckoutSessionsRequest.new(params).to_h,
35
+ request_options: request_options
36
+ )
37
+ begin
38
+ response = @client.send(request)
39
+ rescue Net::HTTPRequestTimeout
40
+ raise Whop_sdk::Errors::TimeoutError
41
+ end
42
+ code = response.code.to_i
43
+ if code.between?(200, 299)
44
+ Whop_sdk::Types::CheckoutSession.load(response.body)
45
+ else
46
+ error_class = Whop_sdk::Errors::ResponseError.subclass_for_code(code)
47
+ raise error_class.new(response.body, code: code)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module CheckoutSessions
5
+ module Types
6
+ class CreateCheckoutSessionsRequest < Internal::Types::Model
7
+ field :affiliate_code, -> { String }, optional: true, nullable: false
8
+
9
+ field :attribution, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false
10
+
11
+ field :checkout_configuration, -> { String }, optional: true, nullable: false
12
+
13
+ field :items, -> { Internal::Types::Array[Whop_sdk::CheckoutSessions::Types::CreateCheckoutSessionsRequestItemsItem] }, optional: true, nullable: false
14
+
15
+ field :link, -> { String }, optional: true, nullable: false
16
+
17
+ field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false
18
+
19
+ field :mode, -> { Whop_sdk::CheckoutSessions::Types::CreateCheckoutSessionsRequestMode }, optional: true, nullable: false
20
+
21
+ field :origin, -> { String }, optional: true, nullable: false
22
+
23
+ field :page_route, -> { String }, optional: true, nullable: false
24
+
25
+ field :password, -> { String }, optional: true, nullable: false
26
+
27
+ field :promo_code, -> { String }, optional: true, nullable: false
28
+
29
+ field :return_url, -> { String }, optional: true, nullable: false
30
+
31
+ field :top_up_membership, -> { String }, optional: true, nullable: false
32
+
33
+ field :tracking_link_ids_by_account, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module CheckoutSessions
5
+ module Types
6
+ class CreateCheckoutSessionsRequestItemsItem < Internal::Types::Model
7
+ field :plan, -> { String }, optional: false, nullable: false
8
+
9
+ field :quantity, -> { Integer }, optional: true, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module CheckoutSessions
5
+ module Types
6
+ module CreateCheckoutSessionsRequestMode
7
+ extend Whop_sdk::Internal::Types::Enum
8
+
9
+ PAYMENT = "payment"
10
+ SETUP = "setup"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -9,7 +9,7 @@ module Whop_sdk
9
9
  # @param max_retries [Integer]
10
10
  #
11
11
  # @return [void]
12
- def initialize(token:, base_url: nil, api_version_date: "2026-08-21", idempotency_key: nil, max_retries: 2)
12
+ def initialize(token:, base_url: nil, api_version_date: "2026-08-21-1", idempotency_key: nil, max_retries: 2)
13
13
  headers = {
14
14
  "X-Fern-Language" => "Ruby",
15
15
  Authorization: "Bearer #{token}",
@@ -124,6 +124,11 @@ module Whop_sdk
124
124
  @checkout_configurations ||= Whop_sdk::CheckoutConfigurations::Client.new(client: @raw_client)
125
125
  end
126
126
 
127
+ # @return [Whop_sdk::CheckoutSessions::Client]
128
+ def checkout_sessions
129
+ @checkout_sessions ||= Whop_sdk::CheckoutSessions::Client.new(client: @raw_client)
130
+ end
131
+
127
132
  # @return [Whop_sdk::Companies::Client]
128
133
  def companies
129
134
  @companies ||= Whop_sdk::Companies::Client.new(client: @raw_client)
@@ -346,9 +346,9 @@ module Whop_sdk
346
346
  end
347
347
  end
348
348
 
349
- # Replaces the full set of uploaded evidence documents on a dispute, beyond the four fixed evidence slots. Send
350
- # the files as multipart file parts to upload and attach in one call, or reference files already stored by
351
- # `id`/`direct_upload_id`. Send every document the packet should carry — up to 10, 10MB each and 25MB in total; an
349
+ # Replaces the full set of uploaded evidence documents on a dispute, beyond the four fixed evidence slots. Upload
350
+ # files through `POST /files` and reference them by `id`, or send the files as multipart file parts to upload and
351
+ # attach in one call. Send every document the packet should carry — up to 10, 10MB each and 25MB in total; an
352
352
  # empty list removes them all. Accepted content types: application/pdf, application/json, image/jpeg, image/png,
353
353
  # image/webp — any other type is rejected.
354
354
  #
@@ -18,8 +18,6 @@ module Whop_sdk
18
18
  DISPUTES = "disputes"
19
19
  EVENTS = "events"
20
20
  FINANCIAL_ACTIVITY = "financial-activity"
21
- MEMBERS = "members"
22
- MEMBERSHIPS = "memberships"
23
21
  PAYOUT_METHODS = "payout_methods"
24
22
  PAYOUTS = "payouts"
25
23
  PEOPLE = "people"
@@ -31,8 +29,10 @@ module Whop_sdk
31
29
  TEAM_MEMBERS = "team_members"
32
30
  TRANSFERS = "transfers"
33
31
  WEBHOOKS = "webhooks"
32
+ MEMBERS = "members"
34
33
  RECEIPTS = "receipts"
35
34
  UNCLAIMED_MEMBERSHIPS = "unclaimed_memberships"
35
+ MEMBERSHIPS = "memberships"
36
36
  TRACKING_LINKS = "tracking_links"
37
37
  PROMO_CODES = "promo_codes"
38
38
  RESOLUTIONS = "resolutions"
@@ -18,8 +18,6 @@ module Whop_sdk
18
18
  DISPUTES = "disputes"
19
19
  EVENTS = "events"
20
20
  FINANCIAL_ACTIVITY = "financial-activity"
21
- MEMBERS = "members"
22
- MEMBERSHIPS = "memberships"
23
21
  PAYOUT_METHODS = "payout_methods"
24
22
  PAYOUTS = "payouts"
25
23
  PEOPLE = "people"
@@ -31,8 +29,10 @@ module Whop_sdk
31
29
  TEAM_MEMBERS = "team_members"
32
30
  TRANSFERS = "transfers"
33
31
  WEBHOOKS = "webhooks"
32
+ MEMBERS = "members"
34
33
  RECEIPTS = "receipts"
35
34
  UNCLAIMED_MEMBERSHIPS = "unclaimed_memberships"
35
+ MEMBERSHIPS = "memberships"
36
36
  TRACKING_LINKS = "tracking_links"
37
37
  PROMO_CODES = "promo_codes"
38
38
  RESOLUTIONS = "resolutions"
@@ -10,7 +10,10 @@ module Whop_sdk
10
10
  @client = client
11
11
  end
12
12
 
13
- # Create a new file record and receive a presigned URL for uploading content to S3.
13
+ # Creates a file and returns a presigned destination to upload its bytes to. PUT the bytes to `upload_url`
14
+ # (single-part), or to each of `multipart_upload_urls` and then call Complete File Multipart Upload. Once the
15
+ # bytes land the file becomes `ready`, and its ID can be attached wherever a file is accepted — account legal
16
+ # documents, dispute evidence documents.
14
17
  #
15
18
  # @param request_options [Hash]
16
19
  # @param params [Whop_sdk::Files::Types::CreateFilesRequest]
@@ -21,9 +24,9 @@ module Whop_sdk
21
24
  # @option request_options [Integer] :timeout_in_seconds
22
25
  #
23
26
  # @example
24
- # client.files.create(filename: "filename")
27
+ # client.files.create(filename: "terms.pdf")
25
28
  #
26
- # @return [Whop_sdk::Files::Types::CreateFilesResponse]
29
+ # @return [Whop_sdk::Types::File]
27
30
  def create(request_options: {}, **params)
28
31
  params = Whop_sdk::Internal::Types::Utils.normalize_keys(params)
29
32
  request = Whop_sdk::Internal::JSON::Request.new(
@@ -40,14 +43,15 @@ module Whop_sdk
40
43
  end
41
44
  code = response.code.to_i
42
45
  if code.between?(200, 299)
43
- Whop_sdk::Files::Types::CreateFilesResponse.load(response.body)
46
+ Whop_sdk::Types::File.load(response.body)
44
47
  else
45
48
  error_class = Whop_sdk::Errors::ResponseError.subclass_for_code(code)
46
49
  raise error_class.new(response.body, code: code)
47
50
  end
48
51
  end
49
52
 
50
- # Retrieves the details of an existing file.
53
+ # Retrieves a file you uploaded — poll it after uploading the bytes to see `upload_status` become `ready`. Only
54
+ # the creator can retrieve a file this way; a file attached to another resource is read through that resource.
51
55
  #
52
56
  # @param request_options [Hash]
53
57
  # @param params [Hash]
@@ -59,7 +63,7 @@ module Whop_sdk
59
63
  # @option params [String] :id
60
64
  #
61
65
  # @example
62
- # client.files.retrieve(id: "file_xxxxxxxxxxxxx")
66
+ # client.files.retrieve(id: "id")
63
67
  #
64
68
  # @return [Whop_sdk::Types::File]
65
69
  def retrieve(request_options: {}, **params)
@@ -83,6 +87,56 @@ module Whop_sdk
83
87
  raise error_class.new(response.body, code: code)
84
88
  end
85
89
  end
90
+
91
+ # Assembles the parts of a multipart upload after every part has been PUT to its presigned URL. Pass the
92
+ # `multipart_upload_id` from Create File and each part's `ETag` response header.
93
+ #
94
+ # @param request_options [Hash]
95
+ # @param params [Whop_sdk::Files::Types::CompleteFilesRequest]
96
+ # @option request_options [String] :base_url
97
+ # @option request_options [Hash{String => Object}] :additional_headers
98
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
99
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
100
+ # @option request_options [Integer] :timeout_in_seconds
101
+ # @option params [String] :id
102
+ #
103
+ # @example
104
+ # client.files.complete(
105
+ # id: "id",
106
+ # multipart_parts: [{
107
+ # etag: "etag-1",
108
+ # part_number: 1
109
+ # }],
110
+ # multipart_upload_id: "upload-id"
111
+ # )
112
+ #
113
+ # @return [Whop_sdk::Types::File]
114
+ def complete(request_options: {}, **params)
115
+ params = Whop_sdk::Internal::Types::Utils.normalize_keys(params)
116
+ request_data = Whop_sdk::Files::Types::CompleteFilesRequest.new(params).to_h
117
+ non_body_param_names = %w[id]
118
+ body = request_data.except(*non_body_param_names)
119
+
120
+ request = Whop_sdk::Internal::JSON::Request.new(
121
+ base_url: request_options[:base_url],
122
+ method: "POST",
123
+ path: "files/#{URI.encode_uri_component(params[:id].to_s)}/complete",
124
+ body: body,
125
+ request_options: request_options
126
+ )
127
+ begin
128
+ response = @client.send(request)
129
+ rescue Net::HTTPRequestTimeout
130
+ raise Whop_sdk::Errors::TimeoutError
131
+ end
132
+ code = response.code.to_i
133
+ if code.between?(200, 299)
134
+ Whop_sdk::Types::File.load(response.body)
135
+ else
136
+ error_class = Whop_sdk::Errors::ResponseError.subclass_for_code(code)
137
+ raise error_class.new(response.body, code: code)
138
+ end
139
+ end
86
140
  end
87
141
  end
88
142
  end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Files
5
+ module Types
6
+ class CompleteFilesRequest < Internal::Types::Model
7
+ field :id, -> { String }, optional: false, nullable: false
8
+
9
+ field :multipart_parts, -> { Internal::Types::Array[Whop_sdk::Files::Types::CompleteFilesRequestMultipartPartsItem] }, optional: false, nullable: false
10
+
11
+ field :multipart_upload_id, -> { String }, optional: false, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Files
5
+ module Types
6
+ class CompleteFilesRequestMultipartPartsItem < Internal::Types::Model
7
+ field :etag, -> { String }, optional: false, nullable: false
8
+
9
+ field :part_number, -> { Integer }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
@@ -4,9 +4,13 @@ module Whop_sdk
4
4
  module Files
5
5
  module Types
6
6
  class CreateFilesRequest < Internal::Types::Model
7
+ field :byte_size, -> { Integer }, optional: true, nullable: false
8
+
7
9
  field :filename, -> { String }, optional: false, nullable: false
8
10
 
9
- field :visibility, -> { Whop_sdk::Types::FileVisibility }, optional: true, nullable: false
11
+ field :multipart, -> { Internal::Types::Boolean }, optional: true, nullable: false
12
+
13
+ field :visibility, -> { Whop_sdk::Files::Types::CreateFilesRequestVisibility }, optional: true, nullable: false
10
14
  end
11
15
  end
12
16
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Whop_sdk
4
+ module Files
5
+ module Types
6
+ module CreateFilesRequestVisibility
7
+ extend Whop_sdk::Internal::Types::Enum
8
+
9
+ PUBLIC = "public"
10
+ PRIVATE = "private"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -19,6 +19,8 @@ module Whop_sdk
19
19
  AIRDROP_REVERSAL = "airdrop_reversal"
20
20
  APPLICATION_FEE = "application_fee"
21
21
  APPLICATION_FEE_PAYOUT = "application_fee_payout"
22
+ BALANCE_RESERVATION = "balance_reservation"
23
+ BALANCE_RESERVATION_REVERSAL = "balance_reservation_reversal"
22
24
  BANK_TRANSFER = "bank_transfer"
23
25
  BILLING_PERCENTAGE_FEE = "billing_percentage_fee"
24
26
  BUYER_FEE = "buyer_fee"
@@ -35,7 +35,7 @@ module Whop_sdk
35
35
  @default_headers = {
36
36
  "X-Fern-Language": "Ruby",
37
37
  "X-Fern-SDK-Name": "whop_sdk",
38
- "X-Fern-SDK-Version": "1.0.13"
38
+ "X-Fern-SDK-Version": "1.0.14"
39
39
  }.merge(headers)
40
40
  @overridable_headers = overridable_headers.to_set { |name| name.to_s.downcase }
41
41
  end
@@ -6,6 +6,7 @@ module Whop_sdk
6
6
  module GetFinancialReportResponseRowsItemLineCategory
7
7
  extend Whop_sdk::Internal::Types::Enum
8
8
 
9
+ ACCELERATED_SETTLEMENT_FEE = "accelerated_settlement_fee"
9
10
  ACCOUNT_SETTLEMENT = "account_settlement"
10
11
  AD_BALANCE_FUNDING_RECEIPT = "ad_balance_funding_receipt"
11
12
  AD_BUDGET_RELEASE = "ad_budget_release"
@@ -171,6 +172,7 @@ module Whop_sdk
171
172
  PLATFORM_EARNING_SETTLEMENT = "platform_earning_settlement"
172
173
  PLATFORM_EARNING_UNRECONCILED_CLEARING = "platform_earning_unreconciled_clearing"
173
174
  PROMO_REVERSAL = "promo_reversal"
175
+ PSP_ACCELERATED_SETTLEMENT_FEE = "psp_accelerated_settlement_fee"
174
176
  PSP_ACCOUNT_UPDATER_FEE = "psp_account_updater_fee"
175
177
  PSP_ADJUSTED_PROCESSING_FEE = "psp_adjusted_processing_fee"
176
178
  PSP_AUTHENTICATION_FEE = "psp_authentication_fee"
@@ -11,8 +11,8 @@ module Whop_sdk
11
11
  BANK_DEPOSIT = "bank_deposit"
12
12
  HOME_DELIVERY = "home_delivery"
13
13
  MOBILE_WALLET = "mobile_wallet"
14
- MASSPAY_CARD = "masspay_card"
15
- PAPER_CHECK = "paper_check"
14
+ CARD = "card"
15
+ CHECK = "check"
16
16
  BILL = "bill"
17
17
  CRYPTOCURRENCY = "cryptocurrency"
18
18
  UNKNOWN = "unknown"
@@ -11,8 +11,8 @@ module Whop_sdk
11
11
  BANK_DEPOSIT = "bank_deposit"
12
12
  HOME_DELIVERY = "home_delivery"
13
13
  MOBILE_WALLET = "mobile_wallet"
14
- MASSPAY_CARD = "masspay_card"
15
- PAPER_CHECK = "paper_check"
14
+ CARD = "card"
15
+ CHECK = "check"
16
16
  BILL = "bill"
17
17
  CRYPTOCURRENCY = "cryptocurrency"
18
18
  UNKNOWN = "unknown"
@@ -11,8 +11,8 @@ module Whop_sdk
11
11
  BANK_DEPOSIT = "bank_deposit"
12
12
  HOME_DELIVERY = "home_delivery"
13
13
  MOBILE_WALLET = "mobile_wallet"
14
- MASSPAY_CARD = "masspay_card"
15
- PAPER_CHECK = "paper_check"
14
+ CARD = "card"
15
+ CHECK = "check"
16
16
  BILL = "bill"
17
17
  CRYPTOCURRENCY = "cryptocurrency"
18
18
  UNKNOWN = "unknown"
@@ -11,11 +11,10 @@ module Whop_sdk
11
11
  BANK_DEPOSIT = "bank_deposit"
12
12
  HOME_DELIVERY = "home_delivery"
13
13
  MOBILE_WALLET = "mobile_wallet"
14
- MASSPAY_CARD = "masspay_card"
15
- PAPER_CHECK = "paper_check"
14
+ CARD = "card"
15
+ CHECK = "check"
16
16
  BILL = "bill"
17
17
  CRYPTOCURRENCY = "cryptocurrency"
18
- UNKNOWN = "unknown"
19
18
  end
20
19
  end
21
20
  end
@@ -10,8 +10,8 @@ module Whop_sdk
10
10
  BANK_DEPOSIT = "bank_deposit"
11
11
  HOME_DELIVERY = "home_delivery"
12
12
  MOBILE_WALLET = "mobile_wallet"
13
- MASSPAY_CARD = "masspay_card"
14
- PAPER_CHECK = "paper_check"
13
+ CARD = "card"
14
+ CHECK = "check"
15
15
  BILL = "bill"
16
16
  CRYPTOCURRENCY = "cryptocurrency"
17
17
  UNKNOWN = "unknown"