whop_sdk 0.0.19 → 0.0.22

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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/README.md +10 -1
  4. data/lib/whop_sdk/client.rb +12 -0
  5. data/lib/whop_sdk/internal/transport/pooled_net_requester.rb +12 -10
  6. data/lib/whop_sdk/internal/util.rb +7 -2
  7. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +11 -1
  8. data/lib/whop_sdk/models/company_create_params.rb +17 -1
  9. data/lib/whop_sdk/models/company_update_params.rb +17 -1
  10. data/lib/whop_sdk/models/lead_create_params.rb +58 -0
  11. data/lib/whop_sdk/models/lead_create_response.rb +149 -0
  12. data/lib/whop_sdk/models/lead_list_params.rb +78 -0
  13. data/lib/whop_sdk/models/lead_list_response.rb +149 -0
  14. data/lib/whop_sdk/models/lead_retrieve_params.rb +14 -0
  15. data/lib/whop_sdk/models/lead_retrieve_response.rb +149 -0
  16. data/lib/whop_sdk/models/lead_update_params.rb +30 -0
  17. data/lib/whop_sdk/models/lead_update_response.rb +149 -0
  18. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +128 -2
  19. data/lib/whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event.rb +53 -0
  20. data/lib/whop_sdk/models/membership_status.rb +1 -0
  21. data/lib/whop_sdk/models/payment.rb +3 -3
  22. data/lib/whop_sdk/models/payment_create_params.rb +9 -1
  23. data/lib/whop_sdk/models/payment_list_fees_response.rb +1 -0
  24. data/lib/whop_sdk/models/payment_list_response.rb +3 -3
  25. data/lib/whop_sdk/models/payment_method_list_params.rb +16 -8
  26. data/lib/whop_sdk/models/payment_method_retrieve_params.rb +13 -5
  27. data/lib/whop_sdk/models/payout_method_created_webhook_event.rb +168 -0
  28. data/lib/whop_sdk/models/payout_method_list_response.rb +31 -1
  29. data/lib/whop_sdk/models/payout_method_retrieve_params.rb +14 -0
  30. data/lib/whop_sdk/models/payout_method_retrieve_response.rb +125 -0
  31. data/lib/whop_sdk/models/support_channel_create_params.rb +2 -2
  32. data/lib/whop_sdk/models/topup_create_params.rb +46 -0
  33. data/lib/whop_sdk/models/topup_create_response.rb +67 -0
  34. data/lib/whop_sdk/models/unwrap_webhook_event.rb +8 -1
  35. data/lib/whop_sdk/models/verification_retrieve_params.rb +14 -0
  36. data/lib/whop_sdk/models/verification_retrieve_response.rb +99 -0
  37. data/lib/whop_sdk/models/verification_succeeded_webhook_event.rb +142 -0
  38. data/lib/whop_sdk/models.rb +21 -0
  39. data/lib/whop_sdk/resources/companies.rb +10 -2
  40. data/lib/whop_sdk/resources/leads.rb +158 -0
  41. data/lib/whop_sdk/resources/payment_methods.rb +12 -8
  42. data/lib/whop_sdk/resources/payments.rb +3 -1
  43. data/lib/whop_sdk/resources/payout_methods.rb +24 -0
  44. data/lib/whop_sdk/resources/support_channels.rb +1 -1
  45. data/lib/whop_sdk/resources/topups.rb +46 -0
  46. data/lib/whop_sdk/resources/verifications.rb +38 -0
  47. data/lib/whop_sdk/resources/webhooks.rb +1 -1
  48. data/lib/whop_sdk/version.rb +1 -1
  49. data/lib/whop_sdk.rb +20 -0
  50. data/rbi/whop_sdk/client.rbi +9 -0
  51. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +12 -0
  52. data/rbi/whop_sdk/models/company_create_params.rbi +16 -0
  53. data/rbi/whop_sdk/models/company_update_params.rbi +16 -0
  54. data/rbi/whop_sdk/models/lead_create_params.rbi +77 -0
  55. data/rbi/whop_sdk/models/lead_create_response.rbi +234 -0
  56. data/rbi/whop_sdk/models/lead_list_params.rbi +99 -0
  57. data/rbi/whop_sdk/models/lead_list_response.rbi +230 -0
  58. data/rbi/whop_sdk/models/lead_retrieve_params.rbi +27 -0
  59. data/rbi/whop_sdk/models/lead_retrieve_response.rbi +238 -0
  60. data/rbi/whop_sdk/models/lead_update_params.rbi +51 -0
  61. data/rbi/whop_sdk/models/lead_update_response.rbi +234 -0
  62. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +336 -0
  63. data/rbi/whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event.rbi +77 -0
  64. data/rbi/whop_sdk/models/membership_status.rbi +1 -0
  65. data/rbi/whop_sdk/models/payment.rbi +4 -4
  66. data/rbi/whop_sdk/models/payment_create_params.rbi +8 -0
  67. data/rbi/whop_sdk/models/payment_list_fees_response.rbi +5 -0
  68. data/rbi/whop_sdk/models/payment_list_response.rbi +4 -4
  69. data/rbi/whop_sdk/models/payment_method_list_params.rbi +16 -8
  70. data/rbi/whop_sdk/models/payment_method_retrieve_params.rbi +17 -6
  71. data/rbi/whop_sdk/models/payout_method_created_webhook_event.rbi +340 -0
  72. data/rbi/whop_sdk/models/payout_method_list_response.rbi +58 -0
  73. data/rbi/whop_sdk/models/payout_method_retrieve_params.rbi +27 -0
  74. data/rbi/whop_sdk/models/payout_method_retrieve_response.rbi +262 -0
  75. data/rbi/whop_sdk/models/support_channel_create_params.rbi +2 -2
  76. data/rbi/whop_sdk/models/topup_create_params.rbi +67 -0
  77. data/rbi/whop_sdk/models/topup_create_response.rbi +89 -0
  78. data/rbi/whop_sdk/models/unwrap_webhook_event.rbi +4 -1
  79. data/rbi/whop_sdk/models/verification_retrieve_params.rbi +27 -0
  80. data/rbi/whop_sdk/models/verification_retrieve_response.rbi +290 -0
  81. data/rbi/whop_sdk/models/verification_succeeded_webhook_event.rbi +367 -0
  82. data/rbi/whop_sdk/models.rbi +23 -0
  83. data/rbi/whop_sdk/resources/companies.rbi +12 -0
  84. data/rbi/whop_sdk/resources/leads.rbi +138 -0
  85. data/rbi/whop_sdk/resources/payment_methods.rbi +13 -7
  86. data/rbi/whop_sdk/resources/payments.rbi +3 -0
  87. data/rbi/whop_sdk/resources/payout_methods.rbi +18 -0
  88. data/rbi/whop_sdk/resources/support_channels.rbi +1 -1
  89. data/rbi/whop_sdk/resources/topups.rbi +39 -0
  90. data/rbi/whop_sdk/resources/verifications.rbi +30 -0
  91. data/rbi/whop_sdk/resources/webhooks.rbi +4 -1
  92. data/sig/whop_sdk/client.rbs +6 -0
  93. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +5 -0
  94. data/sig/whop_sdk/models/company_create_params.rbs +10 -0
  95. data/sig/whop_sdk/models/company_update_params.rbs +10 -0
  96. data/sig/whop_sdk/models/lead_create_params.rbs +46 -0
  97. data/sig/whop_sdk/models/lead_create_response.rbs +104 -0
  98. data/sig/whop_sdk/models/lead_list_params.rbs +61 -0
  99. data/sig/whop_sdk/models/lead_list_response.rbs +104 -0
  100. data/sig/whop_sdk/models/lead_retrieve_params.rbs +15 -0
  101. data/sig/whop_sdk/models/lead_retrieve_response.rbs +104 -0
  102. data/sig/whop_sdk/models/lead_update_params.rbs +28 -0
  103. data/sig/whop_sdk/models/lead_update_response.rbs +104 -0
  104. data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +134 -1
  105. data/sig/whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event.rbs +40 -0
  106. data/sig/whop_sdk/models/membership_status.rbs +2 -0
  107. data/sig/whop_sdk/models/payment_create_params.rbs +5 -0
  108. data/sig/whop_sdk/models/payment_list_fees_response.rbs +2 -0
  109. data/sig/whop_sdk/models/payment_method_list_params.rbs +11 -6
  110. data/sig/whop_sdk/models/payment_method_retrieve_params.rbs +9 -4
  111. data/sig/whop_sdk/models/payout_method_created_webhook_event.rbs +140 -0
  112. data/sig/whop_sdk/models/payout_method_list_response.rbs +20 -0
  113. data/sig/whop_sdk/models/payout_method_retrieve_params.rbs +15 -0
  114. data/sig/whop_sdk/models/payout_method_retrieve_response.rbs +103 -0
  115. data/sig/whop_sdk/models/topup_create_params.rbs +41 -0
  116. data/sig/whop_sdk/models/topup_create_response.rbs +50 -0
  117. data/sig/whop_sdk/models/unwrap_webhook_event.rbs +3 -0
  118. data/sig/whop_sdk/models/verification_retrieve_params.rbs +15 -0
  119. data/sig/whop_sdk/models/verification_retrieve_response.rbs +117 -0
  120. data/sig/whop_sdk/models/verification_succeeded_webhook_event.rbs +154 -0
  121. data/sig/whop_sdk/models.rbs +20 -0
  122. data/sig/whop_sdk/resources/companies.rbs +4 -0
  123. data/sig/whop_sdk/resources/leads.rbs +40 -0
  124. data/sig/whop_sdk/resources/payment_methods.rbs +4 -2
  125. data/sig/whop_sdk/resources/payments.rbs +1 -0
  126. data/sig/whop_sdk/resources/payout_methods.rbs +5 -0
  127. data/sig/whop_sdk/resources/topups.rbs +15 -0
  128. data/sig/whop_sdk/resources/verifications.rbs +12 -0
  129. data/sig/whop_sdk/resources/webhooks.rbs +4 -1
  130. metadata +62 -2
@@ -25,7 +25,7 @@ module WhopSDK
25
25
  # - `member:phone:read`
26
26
  # - `promo_code:basic:read`
27
27
  #
28
- # @overload create(company_id:, member_id:, payment_method_id:, plan:, plan_id:, request_options: {})
28
+ # @overload create(company_id:, member_id:, payment_method_id:, plan:, plan_id:, metadata: nil, request_options: {})
29
29
  #
30
30
  # @param company_id [String] The ID of the company to create the payment for.
31
31
  #
@@ -37,6 +37,8 @@ module WhopSDK
37
37
  #
38
38
  # @param plan_id [String] An ID of an existing plan to use for the payment.
39
39
  #
40
+ # @param metadata [Hash{Symbol=>Object}, nil] Custom metadata to attach to the payment.
41
+ #
40
42
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
41
43
  #
42
44
  # @return [WhopSDK::Models::Payment]
@@ -3,6 +3,30 @@
3
3
  module WhopSDK
4
4
  module Resources
5
5
  class PayoutMethods
6
+ # Retrieves a payout method by ID
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `payout:destination:read`
11
+ #
12
+ # @overload retrieve(id, request_options: {})
13
+ #
14
+ # @param id [String] The ID of the payout method
15
+ #
16
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
17
+ #
18
+ # @return [WhopSDK::Models::PayoutMethodRetrieveResponse]
19
+ #
20
+ # @see WhopSDK::Models::PayoutMethodRetrieveParams
21
+ def retrieve(id, params = {})
22
+ @client.request(
23
+ method: :get,
24
+ path: ["payout_methods/%1$s", id],
25
+ model: WhopSDK::Models::PayoutMethodRetrieveResponse,
26
+ options: params[:request_options]
27
+ )
28
+ end
29
+
6
30
  # Lists payout destinations for a company
7
31
  #
8
32
  # Required permissions:
@@ -14,7 +14,7 @@ module WhopSDK
14
14
  #
15
15
  # @param company_id [String] The ID of the company to create the support chat in
16
16
  #
17
- # @param user_id [String] The ID of the user to create the support chat for
17
+ # @param user_id [String] The ID (user_xxx) or username of the user to create the support chat for
18
18
  #
19
19
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
20
20
  #
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class Topups
6
+ # Add funds to your platform balance by charging a stored payment method.
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `payment:charge`
11
+ #
12
+ # @overload create(amount:, company_id:, currency:, payment_method_id:, request_options: {})
13
+ #
14
+ # @param amount [Float] The amount to add to the balance.
15
+ #
16
+ # @param company_id [String] The ID of the company to add funds to.
17
+ #
18
+ # @param currency [Symbol, WhopSDK::Models::Currency] The currency of the top-up.
19
+ #
20
+ # @param payment_method_id [String] The ID of the payment method to charge for the top-up.
21
+ #
22
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
23
+ #
24
+ # @return [WhopSDK::Models::TopupCreateResponse]
25
+ #
26
+ # @see WhopSDK::Models::TopupCreateParams
27
+ def create(params)
28
+ parsed, options = WhopSDK::TopupCreateParams.dump_request(params)
29
+ @client.request(
30
+ method: :post,
31
+ path: "topups",
32
+ body: parsed,
33
+ model: WhopSDK::Models::TopupCreateResponse,
34
+ options: options
35
+ )
36
+ end
37
+
38
+ # @api private
39
+ #
40
+ # @param client [WhopSDK::Client]
41
+ def initialize(client:)
42
+ @client = client
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class Verifications
6
+ # Retrieves a verification by ID
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `payout:account:read`
11
+ #
12
+ # @overload retrieve(id, request_options: {})
13
+ #
14
+ # @param id [String] The ID of the verification
15
+ #
16
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
17
+ #
18
+ # @return [WhopSDK::Models::VerificationRetrieveResponse]
19
+ #
20
+ # @see WhopSDK::Models::VerificationRetrieveParams
21
+ def retrieve(id, params = {})
22
+ @client.request(
23
+ method: :get,
24
+ path: ["verifications/%1$s", id],
25
+ model: WhopSDK::Models::VerificationRetrieveResponse,
26
+ options: params[:request_options]
27
+ )
28
+ end
29
+
30
+ # @api private
31
+ #
32
+ # @param client [WhopSDK::Client]
33
+ def initialize(client:)
34
+ @client = client
35
+ end
36
+ end
37
+ end
38
+ end
@@ -5,7 +5,7 @@ module WhopSDK
5
5
  class Webhooks
6
6
  # @param payload [String] The raw webhook payload as a string
7
7
  #
8
- # @return [WhopSDK::Models::InvoiceCreatedWebhookEvent, WhopSDK::Models::InvoicePaidWebhookEvent, WhopSDK::Models::InvoicePastDueWebhookEvent, WhopSDK::Models::InvoiceVoidedWebhookEvent, WhopSDK::Models::MembershipActivatedWebhookEvent, WhopSDK::Models::MembershipDeactivatedWebhookEvent, WhopSDK::Models::EntryCreatedWebhookEvent, WhopSDK::Models::EntryApprovedWebhookEvent, WhopSDK::Models::EntryDeniedWebhookEvent, WhopSDK::Models::EntryDeletedWebhookEvent, WhopSDK::Models::SetupIntentRequiresActionWebhookEvent, WhopSDK::Models::SetupIntentSucceededWebhookEvent, WhopSDK::Models::SetupIntentCanceledWebhookEvent, WhopSDK::Models::WithdrawalCreatedWebhookEvent, WhopSDK::Models::WithdrawalUpdatedWebhookEvent, WhopSDK::Models::CourseLessonInteractionCompletedWebhookEvent, WhopSDK::Models::PaymentCreatedWebhookEvent, WhopSDK::Models::PaymentSucceededWebhookEvent, WhopSDK::Models::PaymentFailedWebhookEvent, WhopSDK::Models::PaymentPendingWebhookEvent, WhopSDK::Models::DisputeCreatedWebhookEvent, WhopSDK::Models::DisputeUpdatedWebhookEvent, WhopSDK::Models::RefundCreatedWebhookEvent, WhopSDK::Models::RefundUpdatedWebhookEvent]
8
+ # @return [WhopSDK::Models::InvoiceCreatedWebhookEvent, WhopSDK::Models::InvoicePaidWebhookEvent, WhopSDK::Models::InvoicePastDueWebhookEvent, WhopSDK::Models::InvoiceVoidedWebhookEvent, WhopSDK::Models::MembershipActivatedWebhookEvent, WhopSDK::Models::MembershipDeactivatedWebhookEvent, WhopSDK::Models::EntryCreatedWebhookEvent, WhopSDK::Models::EntryApprovedWebhookEvent, WhopSDK::Models::EntryDeniedWebhookEvent, WhopSDK::Models::EntryDeletedWebhookEvent, WhopSDK::Models::SetupIntentRequiresActionWebhookEvent, WhopSDK::Models::SetupIntentSucceededWebhookEvent, WhopSDK::Models::SetupIntentCanceledWebhookEvent, WhopSDK::Models::WithdrawalCreatedWebhookEvent, WhopSDK::Models::WithdrawalUpdatedWebhookEvent, WhopSDK::Models::CourseLessonInteractionCompletedWebhookEvent, WhopSDK::Models::PayoutMethodCreatedWebhookEvent, WhopSDK::Models::VerificationSucceededWebhookEvent, WhopSDK::Models::PaymentCreatedWebhookEvent, WhopSDK::Models::PaymentSucceededWebhookEvent, WhopSDK::Models::PaymentFailedWebhookEvent, WhopSDK::Models::PaymentPendingWebhookEvent, WhopSDK::Models::DisputeCreatedWebhookEvent, WhopSDK::Models::DisputeUpdatedWebhookEvent, WhopSDK::Models::RefundCreatedWebhookEvent, WhopSDK::Models::RefundUpdatedWebhookEvent, WhopSDK::Models::MembershipCancelAtPeriodEndChangedWebhookEvent]
9
9
  def unwrap(payload)
10
10
  parsed = JSON.parse(payload, symbolize_names: true)
11
11
  WhopSDK::Internal::Type::Converter.coerce(WhopSDK::Models::UnwrapWebhookEvent, parsed)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WhopSDK
4
- VERSION = "0.0.19"
4
+ VERSION = "0.0.22"
5
5
  end
data/lib/whop_sdk.rb CHANGED
@@ -215,6 +215,14 @@ require_relative "whop_sdk/models/invoice_voided_webhook_event"
215
215
  require_relative "whop_sdk/models/invoice_void_params"
216
216
  require_relative "whop_sdk/models/invoice_void_response"
217
217
  require_relative "whop_sdk/models/languages"
218
+ require_relative "whop_sdk/models/lead_create_params"
219
+ require_relative "whop_sdk/models/lead_create_response"
220
+ require_relative "whop_sdk/models/lead_list_params"
221
+ require_relative "whop_sdk/models/lead_list_response"
222
+ require_relative "whop_sdk/models/lead_retrieve_params"
223
+ require_relative "whop_sdk/models/lead_retrieve_response"
224
+ require_relative "whop_sdk/models/lead_update_params"
225
+ require_relative "whop_sdk/models/lead_update_response"
218
226
  require_relative "whop_sdk/models/ledger_account_retrieve_params"
219
227
  require_relative "whop_sdk/models/ledger_account_retrieve_response"
220
228
  require_relative "whop_sdk/models/lesson"
@@ -227,6 +235,7 @@ require_relative "whop_sdk/models/member_retrieve_params"
227
235
  require_relative "whop_sdk/models/member_retrieve_response"
228
236
  require_relative "whop_sdk/models/membership"
229
237
  require_relative "whop_sdk/models/membership_activated_webhook_event"
238
+ require_relative "whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event"
230
239
  require_relative "whop_sdk/models/membership_cancel_params"
231
240
  require_relative "whop_sdk/models/membership_deactivated_webhook_event"
232
241
  require_relative "whop_sdk/models/membership_list_params"
@@ -266,8 +275,11 @@ require_relative "whop_sdk/models/payment_retrieve_params"
266
275
  require_relative "whop_sdk/models/payment_retry_params"
267
276
  require_relative "whop_sdk/models/payment_succeeded_webhook_event"
268
277
  require_relative "whop_sdk/models/payment_void_params"
278
+ require_relative "whop_sdk/models/payout_method_created_webhook_event"
269
279
  require_relative "whop_sdk/models/payout_method_list_params"
270
280
  require_relative "whop_sdk/models/payout_method_list_response"
281
+ require_relative "whop_sdk/models/payout_method_retrieve_params"
282
+ require_relative "whop_sdk/models/payout_method_retrieve_response"
271
283
  require_relative "whop_sdk/models/plan"
272
284
  require_relative "whop_sdk/models/plan_create_params"
273
285
  require_relative "whop_sdk/models/plan_delete_params"
@@ -338,6 +350,8 @@ require_relative "whop_sdk/models/support_channel_list_params"
338
350
  require_relative "whop_sdk/models/support_channel_list_response"
339
351
  require_relative "whop_sdk/models/support_channel_retrieve_params"
340
352
  require_relative "whop_sdk/models/tax_type"
353
+ require_relative "whop_sdk/models/topup_create_params"
354
+ require_relative "whop_sdk/models/topup_create_response"
341
355
  require_relative "whop_sdk/models/transfer"
342
356
  require_relative "whop_sdk/models/transfer_create_params"
343
357
  require_relative "whop_sdk/models/transfer_list_params"
@@ -348,6 +362,9 @@ require_relative "whop_sdk/models/user_check_access_params"
348
362
  require_relative "whop_sdk/models/user_check_access_response"
349
363
  require_relative "whop_sdk/models/user_retrieve_params"
350
364
  require_relative "whop_sdk/models/user_retrieve_response"
365
+ require_relative "whop_sdk/models/verification_retrieve_params"
366
+ require_relative "whop_sdk/models/verification_retrieve_response"
367
+ require_relative "whop_sdk/models/verification_succeeded_webhook_event"
351
368
  require_relative "whop_sdk/models/visibility"
352
369
  require_relative "whop_sdk/models/visibility_filter"
353
370
  require_relative "whop_sdk/models/webhook_unwrap_params"
@@ -388,6 +405,7 @@ require_relative "whop_sdk/resources/fee_markups"
388
405
  require_relative "whop_sdk/resources/forum_posts"
389
406
  require_relative "whop_sdk/resources/forums"
390
407
  require_relative "whop_sdk/resources/invoices"
408
+ require_relative "whop_sdk/resources/leads"
391
409
  require_relative "whop_sdk/resources/ledger_accounts"
392
410
  require_relative "whop_sdk/resources/members"
393
411
  require_relative "whop_sdk/resources/memberships"
@@ -405,8 +423,10 @@ require_relative "whop_sdk/resources/reviews"
405
423
  require_relative "whop_sdk/resources/setup_intents"
406
424
  require_relative "whop_sdk/resources/shipments"
407
425
  require_relative "whop_sdk/resources/support_channels"
426
+ require_relative "whop_sdk/resources/topups"
408
427
  require_relative "whop_sdk/resources/transfers"
409
428
  require_relative "whop_sdk/resources/users"
429
+ require_relative "whop_sdk/resources/verifications"
410
430
  require_relative "whop_sdk/resources/webhooks"
411
431
  require_relative "whop_sdk/resources/withdrawals"
412
432
  require_relative "whop_sdk/helpers/verify_user_token"
@@ -142,6 +142,15 @@ module WhopSDK
142
142
  sig { returns(WhopSDK::Resources::PayoutMethods) }
143
143
  attr_reader :payout_methods
144
144
 
145
+ sig { returns(WhopSDK::Resources::Verifications) }
146
+ attr_reader :verifications
147
+
148
+ sig { returns(WhopSDK::Resources::Leads) }
149
+ attr_reader :leads
150
+
151
+ sig { returns(WhopSDK::Resources::Topups) }
152
+ attr_reader :topups
153
+
145
154
  # @api private
146
155
  sig { override.returns(T::Hash[String, String]) }
147
156
  private def auth_headers
@@ -156,6 +156,12 @@ module WhopSDK
156
156
  sig { returns(WhopSDK::Currency::OrSymbol) }
157
157
  attr_accessor :currency
158
158
 
159
+ # The application fee amount collected by the platform from this connected
160
+ # account. Must be less than the total payment amount. Only valid for connected
161
+ # accounts with a parent company.
162
+ sig { returns(T.nilable(Float)) }
163
+ attr_accessor :application_fee_amount
164
+
159
165
  # The interval at which the plan charges (renewal plans).
160
166
  sig { returns(T.nilable(Integer)) }
161
167
  attr_accessor :billing_period
@@ -288,6 +294,7 @@ module WhopSDK
288
294
  params(
289
295
  company_id: String,
290
296
  currency: WhopSDK::Currency::OrSymbol,
297
+ application_fee_amount: T.nilable(Float),
291
298
  billing_period: T.nilable(Integer),
292
299
  custom_fields:
293
300
  T.nilable(
@@ -331,6 +338,10 @@ module WhopSDK
331
338
  company_id:,
332
339
  # The respective currency identifier for the plan.
333
340
  currency:,
341
+ # The application fee amount collected by the platform from this connected
342
+ # account. Must be less than the total payment amount. Only valid for connected
343
+ # accounts with a parent company.
344
+ application_fee_amount: nil,
334
345
  # The interval at which the plan charges (renewal plans).
335
346
  billing_period: nil,
336
347
  # An array of custom field objects.
@@ -381,6 +392,7 @@ module WhopSDK
381
392
  {
382
393
  company_id: String,
383
394
  currency: WhopSDK::Currency::OrSymbol,
395
+ application_fee_amount: T.nilable(Float),
384
396
  billing_period: T.nilable(Integer),
385
397
  custom_fields:
386
398
  T.nilable(
@@ -23,6 +23,14 @@ module WhopSDK
23
23
  sig { returns(String) }
24
24
  attr_accessor :title
25
25
 
26
+ # The different business types a company can be.
27
+ sig { returns(T.nilable(WhopSDK::BusinessTypes::OrSymbol)) }
28
+ attr_accessor :business_type
29
+
30
+ # The different industry types a company can be in.
31
+ sig { returns(T.nilable(WhopSDK::IndustryTypes::OrSymbol)) }
32
+ attr_accessor :industry_type
33
+
26
34
  # Additional metadata for the account
27
35
  sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
28
36
  attr_accessor :metadata
@@ -39,6 +47,8 @@ module WhopSDK
39
47
  email: String,
40
48
  parent_company_id: String,
41
49
  title: String,
50
+ business_type: T.nilable(WhopSDK::BusinessTypes::OrSymbol),
51
+ industry_type: T.nilable(WhopSDK::IndustryTypes::OrSymbol),
42
52
  metadata: T.nilable(T::Hash[Symbol, T.anything]),
43
53
  send_customer_emails: T.nilable(T::Boolean),
44
54
  request_options: WhopSDK::RequestOptions::OrHash
@@ -51,6 +61,10 @@ module WhopSDK
51
61
  parent_company_id:,
52
62
  # The name of the company being created.
53
63
  title:,
64
+ # The different business types a company can be.
65
+ business_type: nil,
66
+ # The different industry types a company can be in.
67
+ industry_type: nil,
54
68
  # Additional metadata for the account
55
69
  metadata: nil,
56
70
  # Whether Whop sends transactional emails to customers on behalf of this company.
@@ -68,6 +82,8 @@ module WhopSDK
68
82
  email: String,
69
83
  parent_company_id: String,
70
84
  title: String,
85
+ business_type: T.nilable(WhopSDK::BusinessTypes::OrSymbol),
86
+ industry_type: T.nilable(WhopSDK::IndustryTypes::OrSymbol),
71
87
  metadata: T.nilable(T::Hash[Symbol, T.anything]),
72
88
  send_customer_emails: T.nilable(T::Boolean),
73
89
  request_options: WhopSDK::RequestOptions
@@ -24,6 +24,14 @@ module WhopSDK
24
24
  end
25
25
  attr_accessor :banner_image
26
26
 
27
+ # The different business types a company can be.
28
+ sig { returns(T.nilable(WhopSDK::BusinessTypes::OrSymbol)) }
29
+ attr_accessor :business_type
30
+
31
+ # The different industry types a company can be in.
32
+ sig { returns(T.nilable(WhopSDK::IndustryTypes::OrSymbol)) }
33
+ attr_accessor :industry_type
34
+
27
35
  # The logo for the company in png, jpeg, or gif format
28
36
  sig do
29
37
  returns(
@@ -57,6 +65,8 @@ module WhopSDK
57
65
  WhopSDK::CompanyUpdateParams::BannerImage::AttachmentInputWithID::OrHash
58
66
  )
59
67
  ),
68
+ business_type: T.nilable(WhopSDK::BusinessTypes::OrSymbol),
69
+ industry_type: T.nilable(WhopSDK::IndustryTypes::OrSymbol),
60
70
  logo:
61
71
  T.nilable(
62
72
  T.any(
@@ -72,6 +82,10 @@ module WhopSDK
72
82
  def self.new(
73
83
  # The banner image for the company in png or jpeg format
74
84
  banner_image: nil,
85
+ # The different business types a company can be.
86
+ business_type: nil,
87
+ # The different industry types a company can be in.
88
+ industry_type: nil,
75
89
  # The logo for the company in png, jpeg, or gif format
76
90
  logo: nil,
77
91
  # Whether Whop sends transactional emails to customers on behalf of this company.
@@ -95,6 +109,8 @@ module WhopSDK
95
109
  WhopSDK::CompanyUpdateParams::BannerImage::AttachmentInputWithID
96
110
  )
97
111
  ),
112
+ business_type: T.nilable(WhopSDK::BusinessTypes::OrSymbol),
113
+ industry_type: T.nilable(WhopSDK::IndustryTypes::OrSymbol),
98
114
  logo:
99
115
  T.nilable(
100
116
  T.any(
@@ -0,0 +1,77 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class LeadCreateParams < WhopSDK::Internal::Type::BaseModel
6
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
7
+ include WhopSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(WhopSDK::LeadCreateParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ # The ID of the company to create a lead for.
15
+ sig { returns(String) }
16
+ attr_accessor :company_id
17
+
18
+ # Custom metadata for the lead.
19
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
20
+ attr_accessor :metadata
21
+
22
+ # The ID of the product the lead is interested in.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :product_id
25
+
26
+ # The url referrer of the lead, if any.
27
+ sig { returns(T.nilable(String)) }
28
+ attr_accessor :referrer
29
+
30
+ # The ID of the user to create a lead for. If the request is made by a user, that
31
+ # user will be used.
32
+ sig { returns(T.nilable(String)) }
33
+ attr_accessor :user_id
34
+
35
+ sig do
36
+ params(
37
+ company_id: String,
38
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
39
+ product_id: T.nilable(String),
40
+ referrer: T.nilable(String),
41
+ user_id: T.nilable(String),
42
+ request_options: WhopSDK::RequestOptions::OrHash
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ # The ID of the company to create a lead for.
47
+ company_id:,
48
+ # Custom metadata for the lead.
49
+ metadata: nil,
50
+ # The ID of the product the lead is interested in.
51
+ product_id: nil,
52
+ # The url referrer of the lead, if any.
53
+ referrer: nil,
54
+ # The ID of the user to create a lead for. If the request is made by a user, that
55
+ # user will be used.
56
+ user_id: nil,
57
+ request_options: {}
58
+ )
59
+ end
60
+
61
+ sig do
62
+ override.returns(
63
+ {
64
+ company_id: String,
65
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
66
+ product_id: T.nilable(String),
67
+ referrer: T.nilable(String),
68
+ user_id: T.nilable(String),
69
+ request_options: WhopSDK::RequestOptions
70
+ }
71
+ )
72
+ end
73
+ def to_hash
74
+ end
75
+ end
76
+ end
77
+ end