whop_sdk 0.0.20 → 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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -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/lead_create_params.rb +58 -0
  8. data/lib/whop_sdk/models/lead_create_response.rb +149 -0
  9. data/lib/whop_sdk/models/lead_list_params.rb +78 -0
  10. data/lib/whop_sdk/models/lead_list_response.rb +149 -0
  11. data/lib/whop_sdk/models/lead_retrieve_params.rb +14 -0
  12. data/lib/whop_sdk/models/lead_retrieve_response.rb +149 -0
  13. data/lib/whop_sdk/models/lead_update_params.rb +30 -0
  14. data/lib/whop_sdk/models/lead_update_response.rb +149 -0
  15. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +106 -1
  16. data/lib/whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event.rb +53 -0
  17. data/lib/whop_sdk/models/membership_status.rb +1 -0
  18. data/lib/whop_sdk/models/payment.rb +3 -3
  19. data/lib/whop_sdk/models/payment_create_params.rb +9 -1
  20. data/lib/whop_sdk/models/payment_list_fees_response.rb +1 -0
  21. data/lib/whop_sdk/models/payment_list_response.rb +3 -3
  22. data/lib/whop_sdk/models/payment_method_list_params.rb +16 -8
  23. data/lib/whop_sdk/models/payment_method_retrieve_params.rb +13 -5
  24. data/lib/whop_sdk/models/payout_method_created_webhook_event.rb +168 -0
  25. data/lib/whop_sdk/models/payout_method_list_response.rb +31 -1
  26. data/lib/whop_sdk/models/payout_method_retrieve_params.rb +14 -0
  27. data/lib/whop_sdk/models/payout_method_retrieve_response.rb +125 -0
  28. data/lib/whop_sdk/models/support_channel_create_params.rb +2 -2
  29. data/lib/whop_sdk/models/topup_create_params.rb +46 -0
  30. data/lib/whop_sdk/models/topup_create_response.rb +67 -0
  31. data/lib/whop_sdk/models/unwrap_webhook_event.rb +8 -1
  32. data/lib/whop_sdk/models/verification_retrieve_params.rb +14 -0
  33. data/lib/whop_sdk/models/verification_retrieve_response.rb +99 -0
  34. data/lib/whop_sdk/models/verification_succeeded_webhook_event.rb +142 -0
  35. data/lib/whop_sdk/models.rb +21 -0
  36. data/lib/whop_sdk/resources/leads.rb +158 -0
  37. data/lib/whop_sdk/resources/payment_methods.rb +12 -8
  38. data/lib/whop_sdk/resources/payments.rb +3 -1
  39. data/lib/whop_sdk/resources/payout_methods.rb +24 -0
  40. data/lib/whop_sdk/resources/support_channels.rb +1 -1
  41. data/lib/whop_sdk/resources/topups.rb +46 -0
  42. data/lib/whop_sdk/resources/verifications.rb +38 -0
  43. data/lib/whop_sdk/resources/webhooks.rb +1 -1
  44. data/lib/whop_sdk/version.rb +1 -1
  45. data/lib/whop_sdk.rb +20 -0
  46. data/rbi/whop_sdk/client.rbi +9 -0
  47. data/rbi/whop_sdk/models/lead_create_params.rbi +77 -0
  48. data/rbi/whop_sdk/models/lead_create_response.rbi +234 -0
  49. data/rbi/whop_sdk/models/lead_list_params.rbi +99 -0
  50. data/rbi/whop_sdk/models/lead_list_response.rbi +230 -0
  51. data/rbi/whop_sdk/models/lead_retrieve_params.rbi +27 -0
  52. data/rbi/whop_sdk/models/lead_retrieve_response.rbi +238 -0
  53. data/rbi/whop_sdk/models/lead_update_params.rbi +51 -0
  54. data/rbi/whop_sdk/models/lead_update_response.rbi +234 -0
  55. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +318 -0
  56. data/rbi/whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event.rbi +77 -0
  57. data/rbi/whop_sdk/models/membership_status.rbi +1 -0
  58. data/rbi/whop_sdk/models/payment.rbi +4 -4
  59. data/rbi/whop_sdk/models/payment_create_params.rbi +8 -0
  60. data/rbi/whop_sdk/models/payment_list_fees_response.rbi +5 -0
  61. data/rbi/whop_sdk/models/payment_list_response.rbi +4 -4
  62. data/rbi/whop_sdk/models/payment_method_list_params.rbi +16 -8
  63. data/rbi/whop_sdk/models/payment_method_retrieve_params.rbi +17 -6
  64. data/rbi/whop_sdk/models/payout_method_created_webhook_event.rbi +340 -0
  65. data/rbi/whop_sdk/models/payout_method_list_response.rbi +58 -0
  66. data/rbi/whop_sdk/models/payout_method_retrieve_params.rbi +27 -0
  67. data/rbi/whop_sdk/models/payout_method_retrieve_response.rbi +262 -0
  68. data/rbi/whop_sdk/models/support_channel_create_params.rbi +2 -2
  69. data/rbi/whop_sdk/models/topup_create_params.rbi +67 -0
  70. data/rbi/whop_sdk/models/topup_create_response.rbi +89 -0
  71. data/rbi/whop_sdk/models/unwrap_webhook_event.rbi +4 -1
  72. data/rbi/whop_sdk/models/verification_retrieve_params.rbi +27 -0
  73. data/rbi/whop_sdk/models/verification_retrieve_response.rbi +290 -0
  74. data/rbi/whop_sdk/models/verification_succeeded_webhook_event.rbi +367 -0
  75. data/rbi/whop_sdk/models.rbi +23 -0
  76. data/rbi/whop_sdk/resources/leads.rbi +138 -0
  77. data/rbi/whop_sdk/resources/payment_methods.rbi +13 -7
  78. data/rbi/whop_sdk/resources/payments.rbi +3 -0
  79. data/rbi/whop_sdk/resources/payout_methods.rbi +18 -0
  80. data/rbi/whop_sdk/resources/support_channels.rbi +1 -1
  81. data/rbi/whop_sdk/resources/topups.rbi +39 -0
  82. data/rbi/whop_sdk/resources/verifications.rbi +30 -0
  83. data/rbi/whop_sdk/resources/webhooks.rbi +4 -1
  84. data/sig/whop_sdk/client.rbs +6 -0
  85. data/sig/whop_sdk/models/lead_create_params.rbs +46 -0
  86. data/sig/whop_sdk/models/lead_create_response.rbs +104 -0
  87. data/sig/whop_sdk/models/lead_list_params.rbs +61 -0
  88. data/sig/whop_sdk/models/lead_list_response.rbs +104 -0
  89. data/sig/whop_sdk/models/lead_retrieve_params.rbs +15 -0
  90. data/sig/whop_sdk/models/lead_retrieve_response.rbs +104 -0
  91. data/sig/whop_sdk/models/lead_update_params.rbs +28 -0
  92. data/sig/whop_sdk/models/lead_update_response.rbs +104 -0
  93. data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +119 -0
  94. data/sig/whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event.rbs +40 -0
  95. data/sig/whop_sdk/models/membership_status.rbs +2 -0
  96. data/sig/whop_sdk/models/payment_create_params.rbs +5 -0
  97. data/sig/whop_sdk/models/payment_list_fees_response.rbs +2 -0
  98. data/sig/whop_sdk/models/payment_method_list_params.rbs +11 -6
  99. data/sig/whop_sdk/models/payment_method_retrieve_params.rbs +9 -4
  100. data/sig/whop_sdk/models/payout_method_created_webhook_event.rbs +140 -0
  101. data/sig/whop_sdk/models/payout_method_list_response.rbs +20 -0
  102. data/sig/whop_sdk/models/payout_method_retrieve_params.rbs +15 -0
  103. data/sig/whop_sdk/models/payout_method_retrieve_response.rbs +103 -0
  104. data/sig/whop_sdk/models/topup_create_params.rbs +41 -0
  105. data/sig/whop_sdk/models/topup_create_response.rbs +50 -0
  106. data/sig/whop_sdk/models/unwrap_webhook_event.rbs +3 -0
  107. data/sig/whop_sdk/models/verification_retrieve_params.rbs +15 -0
  108. data/sig/whop_sdk/models/verification_retrieve_response.rbs +117 -0
  109. data/sig/whop_sdk/models/verification_succeeded_webhook_event.rbs +154 -0
  110. data/sig/whop_sdk/models.rbs +20 -0
  111. data/sig/whop_sdk/resources/leads.rbs +40 -0
  112. data/sig/whop_sdk/resources/payment_methods.rbs +4 -2
  113. data/sig/whop_sdk/resources/payments.rbs +1 -0
  114. data/sig/whop_sdk/resources/payout_methods.rbs +5 -0
  115. data/sig/whop_sdk/resources/topups.rbs +15 -0
  116. data/sig/whop_sdk/resources/verifications.rbs +12 -0
  117. data/sig/whop_sdk/resources/webhooks.rbs +4 -1
  118. metadata +62 -2
@@ -0,0 +1,142 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class VerificationSucceededWebhookEvent < WhopSDK::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ # A unique ID for every single webhook request
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute api_version
13
+ # The API version for this webhook
14
+ #
15
+ # @return [Symbol, :v1]
16
+ required :api_version, const: :v1
17
+
18
+ # @!attribute data
19
+ # An object representing an identity verification session
20
+ #
21
+ # @return [WhopSDK::Models::VerificationSucceededWebhookEvent::Data]
22
+ required :data, -> { WhopSDK::VerificationSucceededWebhookEvent::Data }
23
+
24
+ # @!attribute timestamp
25
+ # The timestamp in ISO 8601 format that the webhook was sent at on the server
26
+ #
27
+ # @return [Time]
28
+ required :timestamp, Time
29
+
30
+ # @!attribute type
31
+ # The webhook event type
32
+ #
33
+ # @return [Symbol, :"verification.succeeded"]
34
+ required :type, const: :"verification.succeeded"
35
+
36
+ # @!method initialize(id:, data:, timestamp:, api_version: :v1, type: :"verification.succeeded")
37
+ # @param id [String] A unique ID for every single webhook request
38
+ #
39
+ # @param data [WhopSDK::Models::VerificationSucceededWebhookEvent::Data] An object representing an identity verification session
40
+ #
41
+ # @param timestamp [Time] The timestamp in ISO 8601 format that the webhook was sent at on the server
42
+ #
43
+ # @param api_version [Symbol, :v1] The API version for this webhook
44
+ #
45
+ # @param type [Symbol, :"verification.succeeded"] The webhook event type
46
+
47
+ # @see WhopSDK::Models::VerificationSucceededWebhookEvent#data
48
+ class Data < WhopSDK::Internal::Type::BaseModel
49
+ # @!attribute id
50
+ # A unique identifier for the verification.
51
+ #
52
+ # @return [String]
53
+ required :id, String
54
+
55
+ # @!attribute last_error_code
56
+ # An error code for a verification attempt.
57
+ #
58
+ # @return [Symbol, WhopSDK::Models::VerificationSucceededWebhookEvent::Data::LastErrorCode, nil]
59
+ required :last_error_code,
60
+ enum: -> { WhopSDK::VerificationSucceededWebhookEvent::Data::LastErrorCode },
61
+ nil?: true
62
+
63
+ # @!attribute last_error_reason
64
+ # The last error reason that occurred during the verification.
65
+ #
66
+ # @return [String, nil]
67
+ required :last_error_reason, String, nil?: true
68
+
69
+ # @!attribute status
70
+ # The status of the verification.
71
+ #
72
+ # @return [Symbol, WhopSDK::Models::VerificationSucceededWebhookEvent::Data::Status]
73
+ required :status, enum: -> { WhopSDK::VerificationSucceededWebhookEvent::Data::Status }
74
+
75
+ # @!method initialize(id:, last_error_code:, last_error_reason:, status:)
76
+ # An object representing an identity verification session
77
+ #
78
+ # @param id [String] A unique identifier for the verification.
79
+ #
80
+ # @param last_error_code [Symbol, WhopSDK::Models::VerificationSucceededWebhookEvent::Data::LastErrorCode, nil] An error code for a verification attempt.
81
+ #
82
+ # @param last_error_reason [String, nil] The last error reason that occurred during the verification.
83
+ #
84
+ # @param status [Symbol, WhopSDK::Models::VerificationSucceededWebhookEvent::Data::Status] The status of the verification.
85
+
86
+ # An error code for a verification attempt.
87
+ #
88
+ # @see WhopSDK::Models::VerificationSucceededWebhookEvent::Data#last_error_code
89
+ module LastErrorCode
90
+ extend WhopSDK::Internal::Type::Enum
91
+
92
+ ABANDONED = :abandoned
93
+ CONSENT_DECLINED = :consent_declined
94
+ COUNTRY_NOT_SUPPORTED = :country_not_supported
95
+ DEVICE_NOT_SUPPORTED = :device_not_supported
96
+ DOCUMENT_EXPIRED = :document_expired
97
+ DOCUMENT_TYPE_NOT_SUPPORTED = :document_type_not_supported
98
+ DOCUMENT_UNVERIFIED_OTHER = :document_unverified_other
99
+ EMAIL_UNVERIFIED_OTHER = :email_unverified_other
100
+ EMAIL_VERIFICATION_DECLINED = :email_verification_declined
101
+ ID_NUMBER_INSUFFICIENT_DOCUMENT_DATA = :id_number_insufficient_document_data
102
+ ID_NUMBER_MISMATCH = :id_number_mismatch
103
+ ID_NUMBER_UNVERIFIED_OTHER = :id_number_unverified_other
104
+ PHONE_UNVERIFIED_OTHER = :phone_unverified_other
105
+ PHONE_VERIFICATION_DECLINED = :phone_verification_declined
106
+ SELFIE_DOCUMENT_MISSING_PHOTO = :selfie_document_missing_photo
107
+ SELFIE_FACE_MISMATCH = :selfie_face_mismatch
108
+ SELFIE_MANIPULATED = :selfie_manipulated
109
+ SELFIE_UNVERIFIED_OTHER = :selfie_unverified_other
110
+ UNDER_SUPPORTED_AGE = :under_supported_age
111
+
112
+ # @!method self.values
113
+ # @return [Array<Symbol>]
114
+ end
115
+
116
+ # The status of the verification.
117
+ #
118
+ # @see WhopSDK::Models::VerificationSucceededWebhookEvent::Data#status
119
+ module Status
120
+ extend WhopSDK::Internal::Type::Enum
121
+
122
+ REQUIRES_INPUT = :requires_input
123
+ PROCESSING = :processing
124
+ VERIFIED = :verified
125
+ CANCELED = :canceled
126
+ CREATED = :created
127
+ STARTED = :started
128
+ SUBMITTED = :submitted
129
+ APPROVED = :approved
130
+ DECLINED = :declined
131
+ RESUBMISSION_REQUESTED = :resubmission_requested
132
+ EXPIRED = :expired
133
+ ABANDONED = :abandoned
134
+ REVIEW = :review
135
+
136
+ # @!method self.values
137
+ # @return [Array<Symbol>]
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end
@@ -302,6 +302,14 @@ module WhopSDK
302
302
 
303
303
  Languages = WhopSDK::Models::Languages
304
304
 
305
+ LeadCreateParams = WhopSDK::Models::LeadCreateParams
306
+
307
+ LeadListParams = WhopSDK::Models::LeadListParams
308
+
309
+ LeadRetrieveParams = WhopSDK::Models::LeadRetrieveParams
310
+
311
+ LeadUpdateParams = WhopSDK::Models::LeadUpdateParams
312
+
305
313
  LedgerAccountRetrieveParams = WhopSDK::Models::LedgerAccountRetrieveParams
306
314
 
307
315
  Lesson = WhopSDK::Models::Lesson
@@ -320,6 +328,9 @@ module WhopSDK
320
328
 
321
329
  MembershipActivatedWebhookEvent = WhopSDK::Models::MembershipActivatedWebhookEvent
322
330
 
331
+ MembershipCancelAtPeriodEndChangedWebhookEvent =
332
+ WhopSDK::Models::MembershipCancelAtPeriodEndChangedWebhookEvent
333
+
323
334
  MembershipCancelParams = WhopSDK::Models::MembershipCancelParams
324
335
 
325
336
  MembershipDeactivatedWebhookEvent = WhopSDK::Models::MembershipDeactivatedWebhookEvent
@@ -384,8 +395,12 @@ module WhopSDK
384
395
 
385
396
  PaymentVoidParams = WhopSDK::Models::PaymentVoidParams
386
397
 
398
+ PayoutMethodCreatedWebhookEvent = WhopSDK::Models::PayoutMethodCreatedWebhookEvent
399
+
387
400
  PayoutMethodListParams = WhopSDK::Models::PayoutMethodListParams
388
401
 
402
+ PayoutMethodRetrieveParams = WhopSDK::Models::PayoutMethodRetrieveParams
403
+
389
404
  Plan = WhopSDK::Models::Plan
390
405
 
391
406
  PlanCreateParams = WhopSDK::Models::PlanCreateParams
@@ -500,6 +515,8 @@ module WhopSDK
500
515
 
501
516
  TaxType = WhopSDK::Models::TaxType
502
517
 
518
+ TopupCreateParams = WhopSDK::Models::TopupCreateParams
519
+
503
520
  Transfer = WhopSDK::Models::Transfer
504
521
 
505
522
  TransferCreateParams = WhopSDK::Models::TransferCreateParams
@@ -514,6 +531,10 @@ module WhopSDK
514
531
 
515
532
  UserRetrieveParams = WhopSDK::Models::UserRetrieveParams
516
533
 
534
+ VerificationRetrieveParams = WhopSDK::Models::VerificationRetrieveParams
535
+
536
+ VerificationSucceededWebhookEvent = WhopSDK::Models::VerificationSucceededWebhookEvent
537
+
517
538
  Visibility = WhopSDK::Models::Visibility
518
539
 
519
540
  VisibilityFilter = WhopSDK::Models::VisibilityFilter
@@ -0,0 +1,158 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class Leads
6
+ # Some parameter documentations has been truncated, see
7
+ # {WhopSDK::Models::LeadCreateParams} for more details.
8
+ #
9
+ # Creates a new lead
10
+ #
11
+ # Required permissions:
12
+ #
13
+ # - `lead:manage`
14
+ # - `member:email:read`
15
+ # - `access_pass:basic:read`
16
+ # - `member:basic:read`
17
+ #
18
+ # @overload create(company_id:, metadata: nil, product_id: nil, referrer: nil, user_id: nil, request_options: {})
19
+ #
20
+ # @param company_id [String] The ID of the company to create a lead for.
21
+ #
22
+ # @param metadata [Hash{Symbol=>Object}, nil] Custom metadata for the lead.
23
+ #
24
+ # @param product_id [String, nil] The ID of the product the lead is interested in.
25
+ #
26
+ # @param referrer [String, nil] The url referrer of the lead, if any.
27
+ #
28
+ # @param user_id [String, nil] The ID of the user to create a lead for. If the request is made by a user, that
29
+ #
30
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
31
+ #
32
+ # @return [WhopSDK::Models::LeadCreateResponse]
33
+ #
34
+ # @see WhopSDK::Models::LeadCreateParams
35
+ def create(params)
36
+ parsed, options = WhopSDK::LeadCreateParams.dump_request(params)
37
+ @client.request(
38
+ method: :post,
39
+ path: "leads",
40
+ body: parsed,
41
+ model: WhopSDK::Models::LeadCreateResponse,
42
+ options: options
43
+ )
44
+ end
45
+
46
+ # Retrieves a lead by ID
47
+ #
48
+ # Required permissions:
49
+ #
50
+ # - `lead:basic:read`
51
+ # - `member:email:read`
52
+ # - `access_pass:basic:read`
53
+ # - `member:basic:read`
54
+ #
55
+ # @overload retrieve(id, request_options: {})
56
+ #
57
+ # @param id [String] The ID of the lead
58
+ #
59
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
60
+ #
61
+ # @return [WhopSDK::Models::LeadRetrieveResponse]
62
+ #
63
+ # @see WhopSDK::Models::LeadRetrieveParams
64
+ def retrieve(id, params = {})
65
+ @client.request(
66
+ method: :get,
67
+ path: ["leads/%1$s", id],
68
+ model: WhopSDK::Models::LeadRetrieveResponse,
69
+ options: params[:request_options]
70
+ )
71
+ end
72
+
73
+ # Updates a lead
74
+ #
75
+ # Required permissions:
76
+ #
77
+ # - `lead:manage`
78
+ # - `member:email:read`
79
+ # - `access_pass:basic:read`
80
+ # - `member:basic:read`
81
+ #
82
+ # @overload update(id, metadata: nil, referrer: nil, request_options: {})
83
+ #
84
+ # @param id [String] The ID of the lead to update.
85
+ #
86
+ # @param metadata [Hash{Symbol=>Object}, nil] Custom metadata for the lead.
87
+ #
88
+ # @param referrer [String, nil] The url referrer of the lead.
89
+ #
90
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
91
+ #
92
+ # @return [WhopSDK::Models::LeadUpdateResponse]
93
+ #
94
+ # @see WhopSDK::Models::LeadUpdateParams
95
+ def update(id, params = {})
96
+ parsed, options = WhopSDK::LeadUpdateParams.dump_request(params)
97
+ @client.request(
98
+ method: :patch,
99
+ path: ["leads/%1$s", id],
100
+ body: parsed,
101
+ model: WhopSDK::Models::LeadUpdateResponse,
102
+ options: options
103
+ )
104
+ end
105
+
106
+ # Lists leads for a company
107
+ #
108
+ # Required permissions:
109
+ #
110
+ # - `lead:basic:read`
111
+ # - `member:email:read`
112
+ # - `access_pass:basic:read`
113
+ # - `member:basic:read`
114
+ #
115
+ # @overload list(company_id:, after: nil, before: nil, created_after: nil, created_before: nil, first: nil, last: nil, product_ids: nil, request_options: {})
116
+ #
117
+ # @param company_id [String] The ID of the company to list leads for
118
+ #
119
+ # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
120
+ #
121
+ # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
122
+ #
123
+ # @param created_after [Time, nil] The minimum creation date to filter by
124
+ #
125
+ # @param created_before [Time, nil] The maximum creation date to filter by
126
+ #
127
+ # @param first [Integer, nil] Returns the first _n_ elements from the list.
128
+ #
129
+ # @param last [Integer, nil] Returns the last _n_ elements from the list.
130
+ #
131
+ # @param product_ids [Array<String>, nil] The product IDs to filter the leads by
132
+ #
133
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
134
+ #
135
+ # @return [WhopSDK::Internal::CursorPage<WhopSDK::Models::LeadListResponse>]
136
+ #
137
+ # @see WhopSDK::Models::LeadListParams
138
+ def list(params)
139
+ parsed, options = WhopSDK::LeadListParams.dump_request(params)
140
+ @client.request(
141
+ method: :get,
142
+ path: "leads",
143
+ query: parsed,
144
+ page: WhopSDK::Internal::CursorPage,
145
+ model: WhopSDK::Models::LeadListResponse,
146
+ options: options
147
+ )
148
+ end
149
+
150
+ # @api private
151
+ #
152
+ # @param client [WhopSDK::Client]
153
+ def initialize(client:)
154
+ @client = client
155
+ end
156
+ end
157
+ end
158
+ end
@@ -7,24 +7,26 @@ module WhopSDK
7
7
  # such as a card, bank account, or digital wallet. It holds the necessary billing
8
8
  # details and can be attached to a member for future one-time or recurring
9
9
  # charges. This lets you reuse the same payment credentials across multiple
10
- # payments.
10
+ # payments. You must provide exactly one of company_id or member_id.
11
11
  #
12
12
  # Required permissions:
13
13
  #
14
14
  # - `member:payment_methods:read`
15
15
  #
16
- # @overload retrieve(id, member_id:, request_options: {})
16
+ # @overload retrieve(id, company_id: nil, member_id: nil, request_options: {})
17
17
  #
18
18
  # @param id [String] The ID of the PaymentMethod
19
19
  #
20
- # @param member_id [String] The ID of the Member associated with the PaymentMethod
20
+ # @param company_id [String, nil] The ID of the Company. Provide either this or member_id (not both).
21
+ #
22
+ # @param member_id [String, nil] The ID of the Member. Provide either this or company_id (not both).
21
23
  #
22
24
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
23
25
  #
24
26
  # @return [WhopSDK::Models::PaymentMethodRetrieveResponse::BasePaymentMethod, WhopSDK::Models::PaymentMethodRetrieveResponse::CardPaymentMethod, WhopSDK::Models::PaymentMethodRetrieveResponse::UsBankAccountPaymentMethod, WhopSDK::Models::PaymentMethodRetrieveResponse::CashappPaymentMethod, WhopSDK::Models::PaymentMethodRetrieveResponse::IdealPaymentMethod, WhopSDK::Models::PaymentMethodRetrieveResponse::SepaDebitPaymentMethod]
25
27
  #
26
28
  # @see WhopSDK::Models::PaymentMethodRetrieveParams
27
- def retrieve(id, params)
29
+ def retrieve(id, params = {})
28
30
  parsed, options = WhopSDK::PaymentMethodRetrieveParams.dump_request(params)
29
31
  @client.request(
30
32
  method: :get,
@@ -45,14 +47,14 @@ module WhopSDK
45
47
  #
46
48
  # - `member:payment_methods:read`
47
49
  #
48
- # @overload list(member_id:, after: nil, before: nil, created_after: nil, created_before: nil, direction: nil, first: nil, last: nil, request_options: {})
49
- #
50
- # @param member_id [String] The ID of the Member to list payment methods for
50
+ # @overload list(after: nil, before: nil, company_id: nil, created_after: nil, created_before: nil, direction: nil, first: nil, last: nil, member_id: nil, request_options: {})
51
51
  #
52
52
  # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
53
53
  #
54
54
  # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
55
55
  #
56
+ # @param company_id [String, nil] The ID of the Company. Provide either this or member_id (not both).
57
+ #
56
58
  # @param created_after [Time, nil] The minimum creation date to filter by
57
59
  #
58
60
  # @param created_before [Time, nil] The maximum creation date to filter by
@@ -63,12 +65,14 @@ module WhopSDK
63
65
  #
64
66
  # @param last [Integer, nil] Returns the last _n_ elements from the list.
65
67
  #
68
+ # @param member_id [String, nil] The ID of the Member to list payment methods for
69
+ #
66
70
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
67
71
  #
68
72
  # @return [WhopSDK::Internal::CursorPage<WhopSDK::Models::PaymentMethodListResponse::BasePaymentMethod, WhopSDK::Models::PaymentMethodListResponse::CardPaymentMethod, WhopSDK::Models::PaymentMethodListResponse::UsBankAccountPaymentMethod, WhopSDK::Models::PaymentMethodListResponse::CashappPaymentMethod, WhopSDK::Models::PaymentMethodListResponse::IdealPaymentMethod, WhopSDK::Models::PaymentMethodListResponse::SepaDebitPaymentMethod>]
69
73
  #
70
74
  # @see WhopSDK::Models::PaymentMethodListParams
71
- def list(params)
75
+ def list(params = {})
72
76
  parsed, options = WhopSDK::PaymentMethodListParams.dump_request(params)
73
77
  @client.request(
74
78
  method: :get,
@@ -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.20"
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