moov_ruby 26.7.0 → 26.10.0.pre.dev.0

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/avatars.rb +0 -275
  3. data/lib/moov/models/components/capabilityid.rb +0 -1
  4. data/lib/moov/models/components/{avataruploadrequest.rb → contributingrule.rb} +8 -8
  5. data/lib/moov/models/components/contributingrule.rbi +13 -0
  6. data/lib/moov/models/components/createtransfer.rb +2 -6
  7. data/lib/moov/models/components/createtransfer.rbi +0 -2
  8. data/lib/moov/models/components/incurredfee.rb +2 -6
  9. data/lib/moov/models/components/incurredfee.rbi +0 -2
  10. data/lib/moov/models/components/issuingintervallimit.rb +1 -1
  11. data/lib/moov/models/components/issuingvelocitylimit.rb +1 -1
  12. data/lib/moov/models/components/partnerriskoutcomesresponse.rb +38 -0
  13. data/lib/moov/models/components/partnerriskoutcomesresponse.rbi +15 -0
  14. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +2 -8
  15. data/lib/moov/models/components/paymentlinkpayoutdetails.rbi +0 -2
  16. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +2 -8
  17. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rbi +0 -2
  18. data/lib/moov/models/components/payoutdetailserror.rb +2 -6
  19. data/lib/moov/models/components/payoutdetailserror.rbi +0 -2
  20. data/lib/moov/models/components/product.rb +2 -6
  21. data/lib/moov/models/components/product.rbi +0 -2
  22. data/lib/moov/models/components/productrequest.rb +2 -6
  23. data/lib/moov/models/components/productrequest.rbi +0 -2
  24. data/lib/moov/models/components.rb +2 -8
  25. data/lib/moov/models/errors/productrequestvalidationerror.rb +2 -6
  26. data/lib/moov/models/errors/productrequestvalidationerror.rbi +0 -2
  27. data/lib/moov/models/operations/gettransferriskoutcomes_request.rb +37 -0
  28. data/lib/moov/models/operations/gettransferriskoutcomes_request.rbi +15 -0
  29. data/lib/moov/models/operations/{listproductcategories_response.rb → gettransferriskoutcomes_response.rb} +6 -6
  30. data/lib/moov/models/operations/{deleteavatar_response.rbi → gettransferriskoutcomes_response.rbi} +4 -2
  31. data/lib/moov/models/operations/listproducts_request.rb +2 -8
  32. data/lib/moov/models/operations/listproducts_request.rbi +0 -2
  33. data/lib/moov/models/operations.rb +2 -7
  34. data/lib/moov/products.rb +8 -113
  35. data/lib/moov/sdk_hooks/hooks.rb +0 -6
  36. data/lib/moov/sdkconfiguration.rb +4 -4
  37. data/lib/moov/transfers.rb +125 -0
  38. metadata +12 -36
  39. data/lib/moov/models/components/avataruploadrequest.rbi +0 -13
  40. data/lib/moov/models/components/avataruploadrequest_file.rb +0 -36
  41. data/lib/moov/models/components/avataruploadrequest_file.rbi +0 -15
  42. data/lib/moov/models/components/feepaidby.rb +0 -19
  43. data/lib/moov/models/components/feepaidby.rbi +0 -11
  44. data/lib/moov/models/components/productcategories.rb +0 -32
  45. data/lib/moov/models/components/productcategories.rbi +0 -13
  46. data/lib/moov/models/components/productcategory.rb +0 -48
  47. data/lib/moov/models/components/productcategory.rbi +0 -21
  48. data/lib/moov/models/components/schemebasicauth.rb +0 -36
  49. data/lib/moov/models/components/schemebasicauth.rbi +0 -15
  50. data/lib/moov/models/components/schemeoauth2auth.rb +0 -40
  51. data/lib/moov/models/components/schemeoauth2auth.rbi +0 -17
  52. data/lib/moov/models/components/transferfeepaidby.rb +0 -32
  53. data/lib/moov/models/components/transferfeepaidby.rbi +0 -13
  54. data/lib/moov/models/operations/deleteavatar_request.rb +0 -32
  55. data/lib/moov/models/operations/deleteavatar_request.rbi +0 -13
  56. data/lib/moov/models/operations/deleteavatar_response.rb +0 -44
  57. data/lib/moov/models/operations/deleteavatar_security.rb +0 -36
  58. data/lib/moov/models/operations/deleteavatar_security.rbi +0 -15
  59. data/lib/moov/models/operations/listproductcategories_response.rbi +0 -21
  60. data/lib/moov/models/operations/uploadavatar_request.rb +0 -36
  61. data/lib/moov/models/operations/uploadavatar_request.rbi +0 -15
  62. data/lib/moov/models/operations/uploadavatar_response.rb +0 -44
  63. data/lib/moov/models/operations/uploadavatar_response.rbi +0 -19
  64. data/lib/moov/models/operations/uploadavatar_security.rb +0 -36
  65. data/lib/moov/models/operations/uploadavatar_security.rbi +0 -15
  66. data/lib/moov/sdk_hooks/clientcredentials.rb +0 -386
  67. data/lib/moov/sdk_hooks/oauth2scopes.rb +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e5d850eddfead736338e2901930525362062097ec413b495c7e24c48eef624c
4
- data.tar.gz: a3dc411f219f4492ff4d5005da12d3ff8b32fd5a92e6d23ed83ff5a8b81a1995
3
+ metadata.gz: c77bbc725f68cede57f1adda1d48f0f6f4c1ab78645734966d6fd09845a7d7c4
4
+ data.tar.gz: a93a955ff6d05c724042a966f86e8059676efdfcd666e8be6e7d1bef2e8afd4a
5
5
  SHA512:
6
- metadata.gz: 2a42e790e1cff6a959690902641a0aa717f3969976d2beca114e43524227540297345af24b7edaa4cfcf8307e29074554e9b182790fef3757ff8397baece869e
7
- data.tar.gz: 442d0eb776840e03ad684f0728354fb5f48e46adac3262c50f1ee8ccdc0cbbffda5b280325c90584ff25a1c985aa88c3832c92f9a9f09802451be2f07cda6e23
6
+ metadata.gz: 9aedc88867bbbd6d40de65e27b7d7b8dbdf8af12bd9dafa94b46a2903e60c21b8171bd62ec8156497e666d8ae9ce3f821de00cc60824020aff88ac1c1a717485
7
+ data.tar.gz: 88cc77ac6ceeabe19385945a5423ca7b0c6809e77d6410046efc1c0d0af6c2363e14bd1f94c7fecd00b4fb4a94ed858323402b33755b83847ce11c4b4568b6a3
data/lib/moov/avatars.rb CHANGED
@@ -159,280 +159,5 @@ module Moov
159
159
 
160
160
  end
161
161
  end
162
-
163
-
164
- sig { params(security: Models::Operations::UploadAvatarSecurity, avatar_upload_request: Models::Components::AvatarUploadRequest, unique_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::UploadAvatarResponse) }
165
- def upload(security:, avatar_upload_request:, unique_id:, timeout_ms: nil, http_headers: nil)
166
- # upload - Upload a user avatar image for an account.
167
- #
168
- # The image will be normalized to 512x512 PNG format and stored separately from
169
- # automatically discovered logos. User-uploaded avatars take precedence over enriched avatars at read time.
170
- #
171
- # This endpoint only accepts accountID values for the uniqueID parameter.
172
- #
173
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
174
- # you'll need to specify the `/accounts.write` scope.
175
- request = Models::Operations::UploadAvatarRequest.new(
176
- unique_id: unique_id,
177
- avatar_upload_request: avatar_upload_request
178
- )
179
- url, params = @sdk_configuration.get_server_details
180
- base_url = Utils.template_url(url, params)
181
- url = Utils.generate_url(
182
- Models::Operations::UploadAvatarRequest,
183
- base_url,
184
- '/avatars/{uniqueID}',
185
- request
186
- )
187
- headers = {}
188
- headers = T.cast(headers, T::Hash[String, String])
189
- req_content_type, data, form = Utils.serialize_request_body(request, false, false, :avatar_upload_request, :multipart)
190
- headers['content-type'] = req_content_type
191
- raise StandardError, 'request body is required' if data.nil? && form.nil?
192
-
193
- if form && !form.empty?
194
- body = Utils.encode_form(form)
195
- elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
196
- body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
197
- else
198
- body = data
199
- end
200
- headers['Accept'] = 'application/json'
201
- headers['user-agent'] = @sdk_configuration.user_agent
202
-
203
- timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
204
- timeout ||= @sdk_configuration.timeout
205
-
206
-
207
- connection = @sdk_configuration.client
208
-
209
- hook_ctx = SDKHooks::HookContext.new(
210
- config: @sdk_configuration,
211
- base_url: base_url,
212
- oauth2_scopes: ['/accounts.write'],
213
- operation_id: 'uploadAvatar',
214
- security_source: -> { security }
215
- )
216
-
217
- error = T.let(nil, T.nilable(StandardError))
218
- http_response = T.let(nil, T.nilable(Faraday::Response))
219
-
220
-
221
- begin
222
- http_response = T.must(connection).put(url) do |req|
223
- req.body = body
224
- req.headers.merge!(headers)
225
- req.options.timeout = timeout unless timeout.nil?
226
- Utils.configure_request_security(req, security)
227
- http_headers&.each do |key, value|
228
- req.headers[key.to_s] = value
229
- end
230
-
231
- @sdk_configuration.hooks.before_request(
232
- hook_ctx: SDKHooks::BeforeRequestHookContext.new(
233
- hook_ctx: hook_ctx
234
- ),
235
- request: req
236
- )
237
- end
238
- rescue StandardError => e
239
- error = e
240
- ensure
241
- if http_response.nil? || Utils.error_status?(http_response.status)
242
- http_response = @sdk_configuration.hooks.after_error(
243
- error: error,
244
- hook_ctx: SDKHooks::AfterErrorHookContext.new(
245
- hook_ctx: hook_ctx
246
- ),
247
- response: http_response
248
- )
249
- else
250
- http_response = @sdk_configuration.hooks.after_success(
251
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
252
- hook_ctx: hook_ctx
253
- ),
254
- response: http_response
255
- )
256
- end
257
-
258
- if http_response.nil?
259
- raise error if !error.nil?
260
- raise 'no response'
261
- end
262
- end
263
-
264
- content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
265
- if Utils.match_status_code(http_response.status, ['204'])
266
- http_response = @sdk_configuration.hooks.after_success(
267
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
268
- hook_ctx: hook_ctx
269
- ),
270
- response: http_response
271
- )
272
- return Models::Operations::UploadAvatarResponse.new(
273
- status_code: http_response.status,
274
- content_type: content_type,
275
- raw_response: http_response,
276
- headers: {}
277
- )
278
- elsif Utils.match_status_code(http_response.status, ['400'])
279
- if Utils.match_content_type(content_type, 'application/json')
280
- http_response = @sdk_configuration.hooks.after_success(
281
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
282
- hook_ctx: hook_ctx
283
- ),
284
- response: http_response
285
- )
286
- response_data = http_response.env.response_body
287
- obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
288
- obj.raw_response = http_response
289
- raise obj
290
- else
291
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
292
- end
293
- elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '413', '415', '429'])
294
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
295
- elsif Utils.match_status_code(http_response.status, ['500', '504'])
296
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
297
- elsif Utils.match_status_code(http_response.status, ['4XX'])
298
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
299
- elsif Utils.match_status_code(http_response.status, ['5XX'])
300
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
301
- else
302
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
303
-
304
- end
305
- end
306
-
307
-
308
- sig { params(security: Models::Operations::DeleteAvatarSecurity, unique_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::DeleteAvatarResponse) }
309
- def delete(security:, unique_id:, timeout_ms: nil, http_headers: nil)
310
- # delete - Delete a user-uploaded avatar for an account.
311
- #
312
- # After deletion, the avatar endpoint will fall back to the enriched avatar
313
- # or an account-type-aware fallback icon.
314
- #
315
- # This endpoint only accepts accountID values for the uniqueID parameter.
316
- #
317
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
318
- # you'll need to specify the `/accounts.write` scope.
319
- request = Models::Operations::DeleteAvatarRequest.new(
320
- unique_id: unique_id
321
- )
322
- url, params = @sdk_configuration.get_server_details
323
- base_url = Utils.template_url(url, params)
324
- url = Utils.generate_url(
325
- Models::Operations::DeleteAvatarRequest,
326
- base_url,
327
- '/avatars/{uniqueID}',
328
- request
329
- )
330
- headers = {}
331
- headers = T.cast(headers, T::Hash[String, String])
332
- headers['Accept'] = 'application/json'
333
- headers['user-agent'] = @sdk_configuration.user_agent
334
-
335
- timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
336
- timeout ||= @sdk_configuration.timeout
337
-
338
-
339
- connection = @sdk_configuration.client
340
-
341
- hook_ctx = SDKHooks::HookContext.new(
342
- config: @sdk_configuration,
343
- base_url: base_url,
344
- oauth2_scopes: ['/accounts.write'],
345
- operation_id: 'deleteAvatar',
346
- security_source: -> { security }
347
- )
348
-
349
- error = T.let(nil, T.nilable(StandardError))
350
- http_response = T.let(nil, T.nilable(Faraday::Response))
351
-
352
-
353
- begin
354
- http_response = T.must(connection).delete(url) do |req|
355
- req.headers.merge!(headers)
356
- req.options.timeout = timeout unless timeout.nil?
357
- Utils.configure_request_security(req, security)
358
- http_headers&.each do |key, value|
359
- req.headers[key.to_s] = value
360
- end
361
-
362
- @sdk_configuration.hooks.before_request(
363
- hook_ctx: SDKHooks::BeforeRequestHookContext.new(
364
- hook_ctx: hook_ctx
365
- ),
366
- request: req
367
- )
368
- end
369
- rescue StandardError => e
370
- error = e
371
- ensure
372
- if http_response.nil? || Utils.error_status?(http_response.status)
373
- http_response = @sdk_configuration.hooks.after_error(
374
- error: error,
375
- hook_ctx: SDKHooks::AfterErrorHookContext.new(
376
- hook_ctx: hook_ctx
377
- ),
378
- response: http_response
379
- )
380
- else
381
- http_response = @sdk_configuration.hooks.after_success(
382
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
383
- hook_ctx: hook_ctx
384
- ),
385
- response: http_response
386
- )
387
- end
388
-
389
- if http_response.nil?
390
- raise error if !error.nil?
391
- raise 'no response'
392
- end
393
- end
394
-
395
- content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
396
- if Utils.match_status_code(http_response.status, ['204'])
397
- http_response = @sdk_configuration.hooks.after_success(
398
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
399
- hook_ctx: hook_ctx
400
- ),
401
- response: http_response
402
- )
403
- return Models::Operations::DeleteAvatarResponse.new(
404
- status_code: http_response.status,
405
- content_type: content_type,
406
- raw_response: http_response,
407
- headers: {}
408
- )
409
- elsif Utils.match_status_code(http_response.status, ['400'])
410
- if Utils.match_content_type(content_type, 'application/json')
411
- http_response = @sdk_configuration.hooks.after_success(
412
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
413
- hook_ctx: hook_ctx
414
- ),
415
- response: http_response
416
- )
417
- response_data = http_response.env.response_body
418
- obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
419
- obj.raw_response = http_response
420
- raise obj
421
- else
422
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
423
- end
424
- elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
425
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
426
- elsif Utils.match_status_code(http_response.status, ['500', '504'])
427
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
428
- elsif Utils.match_status_code(http_response.status, ['4XX'])
429
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
430
- elsif Utils.match_status_code(http_response.status, ['5XX'])
431
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
432
- else
433
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
434
-
435
- end
436
- end
437
162
  end
438
163
  end
@@ -25,7 +25,6 @@ module Moov
25
25
  SEND_FUNDS_ACH = new('send-funds.ach')
26
26
  SEND_FUNDS_RTP = new('send-funds.rtp')
27
27
  SEND_FUNDS_INSTANT_BANK = new('send-funds.instant-bank')
28
- SEND_FUNDS_WIRE = new('send-funds.wire')
29
28
  COLLECT_FUNDS = new('collect-funds')
30
29
  COLLECT_FUNDS_CARD_PAYMENTS = new('collect-funds.card-payments')
31
30
  MONEY_TRANSFER_PULL_FROM_CARD = new('money-transfer.pull-from-card')
@@ -7,23 +7,23 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
-
11
- class AvatarUploadRequest
10
+ # A risk rule that contributed to a transfer's risk decision.
11
+ class ContributingRule
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # A JPEG, PNG, or WebP image file to upload as an avatar.
16
- field :file, Models::Components::AvatarUploadRequestFile, { 'multipart_form': { 'file': true, 'field_name': 'file' } }
15
+ # Human-readable name of the contributing risk rule.
16
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
17
17
 
18
- sig { params(file: Models::Components::AvatarUploadRequestFile).void }
19
- def initialize(file:)
20
- @file = file
18
+ sig { params(name: ::String).void }
19
+ def initialize(name:)
20
+ @name = name
21
21
  end
22
22
 
23
23
  sig { params(other: T.untyped).returns(T::Boolean) }
24
24
  def ==(other)
25
25
  return false unless other.is_a? self.class
26
- return false unless @file == other.file
26
+ return false unless @name == other.name
27
27
  true
28
28
  end
29
29
  end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::ContributingRule
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ContributingRule
11
+ def name(); end
12
+ def name=(str_); end
13
+ end
@@ -31,11 +31,9 @@ module Moov
31
31
  field :line_items, Crystalline::Nilable.new(Models::Components::CreateTransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
32
32
 
33
33
  field :amount_details, Crystalline::Nilable.new(Models::Components::CreateTransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
34
- # Indicates which party bears fees for the transfer, keyed by fee type.
35
- field :fee_paid_by, Crystalline::Nilable.new(Models::Components::TransferFeePaidBy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
36
34
 
37
- sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::Amount, facilitator_fee: T.nilable(Models::Components::FacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails), fee_paid_by: T.nilable(Models::Components::TransferFeePaidBy)).void }
38
- def initialize(source:, destination:, amount:, facilitator_fee: nil, description: nil, metadata: nil, foreign_id: nil, line_items: nil, amount_details: nil, fee_paid_by: nil)
35
+ sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::Amount, facilitator_fee: T.nilable(Models::Components::FacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails)).void }
36
+ def initialize(source:, destination:, amount:, facilitator_fee: nil, description: nil, metadata: nil, foreign_id: nil, line_items: nil, amount_details: nil)
39
37
  @source = source
40
38
  @destination = destination
41
39
  @amount = amount
@@ -45,7 +43,6 @@ module Moov
45
43
  @foreign_id = foreign_id
46
44
  @line_items = line_items
47
45
  @amount_details = amount_details
48
- @fee_paid_by = fee_paid_by
49
46
  end
50
47
 
51
48
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -60,7 +57,6 @@ module Moov
60
57
  return false unless @foreign_id == other.foreign_id
61
58
  return false unless @line_items == other.line_items
62
59
  return false unless @amount_details == other.amount_details
63
- return false unless @fee_paid_by == other.fee_paid_by
64
60
  true
65
61
  end
66
62
  end
@@ -26,6 +26,4 @@ class Moov::Models::Components::CreateTransfer
26
26
  def line_items=(str_); end
27
27
  def amount_details(); end
28
28
  def amount_details=(str_); end
29
- def fee_paid_by(); end
30
- def fee_paid_by=(str_); end
31
29
  end
@@ -30,11 +30,9 @@ module Moov
30
30
  field :fee_group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feeGroup') } }
31
31
  # Unique identifier for this residual payment calculation.
32
32
  field :residual_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('residualID') } }
33
- # Indicates which party to the money movement bore this fee.
34
- field :fee_paid_by, Crystalline::Nilable.new(Models::Components::FeePaidBy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FeePaidBy, true) } }
35
33
 
36
- sig { params(fee_id: T.nilable(::String), account_id: T.nilable(::String), wallet_id: T.nilable(::String), created_on: T.nilable(::DateTime), fee_name: T.nilable(::String), amount: T.nilable(Models::Components::AmountDecimal), generated_by: T.nilable(Models::Components::GeneratedBy), fee_group: T.nilable(::String), residual_id: T.nilable(::String), fee_paid_by: T.nilable(Models::Components::FeePaidBy)).void }
37
- def initialize(fee_id: nil, account_id: nil, wallet_id: nil, created_on: nil, fee_name: nil, amount: nil, generated_by: nil, fee_group: nil, residual_id: nil, fee_paid_by: nil)
34
+ sig { params(fee_id: T.nilable(::String), account_id: T.nilable(::String), wallet_id: T.nilable(::String), created_on: T.nilable(::DateTime), fee_name: T.nilable(::String), amount: T.nilable(Models::Components::AmountDecimal), generated_by: T.nilable(Models::Components::GeneratedBy), fee_group: T.nilable(::String), residual_id: T.nilable(::String)).void }
35
+ def initialize(fee_id: nil, account_id: nil, wallet_id: nil, created_on: nil, fee_name: nil, amount: nil, generated_by: nil, fee_group: nil, residual_id: nil)
38
36
  @fee_id = fee_id
39
37
  @account_id = account_id
40
38
  @wallet_id = wallet_id
@@ -44,7 +42,6 @@ module Moov
44
42
  @generated_by = generated_by
45
43
  @fee_group = fee_group
46
44
  @residual_id = residual_id
47
- @fee_paid_by = fee_paid_by
48
45
  end
49
46
 
50
47
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -59,7 +56,6 @@ module Moov
59
56
  return false unless @generated_by == other.generated_by
60
57
  return false unless @fee_group == other.fee_group
61
58
  return false unless @residual_id == other.residual_id
62
- return false unless @fee_paid_by == other.fee_paid_by
63
59
  true
64
60
  end
65
61
  end
@@ -26,6 +26,4 @@ class Moov::Models::Components::IncurredFee
26
26
  def fee_group=(str_); end
27
27
  def residual_id(); end
28
28
  def residual_id=(str_); end
29
- def fee_paid_by(); end
30
- def fee_paid_by=(str_); end
31
29
  end
@@ -7,7 +7,7 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
- # IssuingIntervalLimit - Specifies the time frame for a velocity limit. `per-transaction` applies to each individual authorization and never resets. Time-based intervals (where supported) reset at midnight ET.
10
+ # IssuingIntervalLimit - Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
11
11
  class IssuingIntervalLimit < T::Enum
12
12
  enums do
13
13
  PER_TRANSACTION = new('per-transaction')
@@ -14,7 +14,7 @@ module Moov
14
14
 
15
15
  # The maximum amount in cents that can be spent in a given interval.
16
16
  field :amount, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
17
- # Specifies the time frame for a velocity limit. `per-transaction` applies to each individual authorization and never resets. Time-based intervals (where supported) reset at midnight ET.
17
+ # Specifies the time frame for the velocity limit. Currently supports only per-transaction limits.
18
18
  field :interval, Models::Components::IssuingIntervalLimit, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('interval'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingIntervalLimit, false) } }
19
19
 
20
20
  sig { params(amount: ::Integer, interval: Models::Components::IssuingIntervalLimit).void }
@@ -0,0 +1,38 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # The risk rules that contributed to a transfer's risk decision.
11
+ #
12
+ # This information has limited availability and must be enabled for your account by Moov.
13
+ class PartnerRiskOutcomesResponse
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # Identifier of the transfer these outcomes belong to.
18
+ field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
19
+ # The risk rules that contributed to the decision. May be empty when no rules are disclosed.
20
+ field :contributing_rules, Crystalline::Array.new(Models::Components::ContributingRule), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('contributingRules'), required: true } }
21
+
22
+ sig { params(transfer_id: ::String, contributing_rules: T::Array[Models::Components::ContributingRule]).void }
23
+ def initialize(transfer_id:, contributing_rules:)
24
+ @transfer_id = transfer_id
25
+ @contributing_rules = contributing_rules
26
+ end
27
+
28
+ sig { params(other: T.untyped).returns(T::Boolean) }
29
+ def ==(other)
30
+ return false unless other.is_a? self.class
31
+ return false unless @transfer_id == other.transfer_id
32
+ return false unless @contributing_rules == other.contributing_rules
33
+ true
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PartnerRiskOutcomesResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PartnerRiskOutcomesResponse
11
+ def transfer_id(); end
12
+ def transfer_id=(str_); end
13
+ def contributing_rules(); end
14
+ def contributing_rules=(str_); end
15
+ end
@@ -26,18 +26,13 @@ module Moov
26
26
  # The `deferred` speed and `deferredBy` apply to `push-to-card` only. Other push methods
27
27
  # (`push-to-apple-pay`, `push-to-google-pay`) are always delivered instantly regardless of these options.
28
28
  field :push_options, Crystalline::Nilable.new(Models::Components::PushOptions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
29
- # Indicates which party bears the fee, keyed by disbursement payment method (`DisbursementPaymentMethodType`).
30
- #
31
- # Sparse — include only the methods you want to attribute. Any method left unset defaults to `source`.
32
- field :fee_paid_by, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::FeePaidBy)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
33
29
 
34
- sig { params(allowed_methods: T::Array[Models::Components::DisbursementPaymentMethodType], recipient: Models::Components::PayoutRecipient, metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptions), fee_paid_by: T.nilable(T::Hash[Symbol, Models::Components::FeePaidBy])).void }
35
- def initialize(allowed_methods:, recipient:, metadata: nil, push_options: nil, fee_paid_by: nil)
30
+ sig { params(allowed_methods: T::Array[Models::Components::DisbursementPaymentMethodType], recipient: Models::Components::PayoutRecipient, metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptions)).void }
31
+ def initialize(allowed_methods:, recipient:, metadata: nil, push_options: nil)
36
32
  @allowed_methods = allowed_methods
37
33
  @recipient = recipient
38
34
  @metadata = metadata
39
35
  @push_options = push_options
40
- @fee_paid_by = fee_paid_by
41
36
  end
42
37
 
43
38
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -47,7 +42,6 @@ module Moov
47
42
  return false unless @recipient == other.recipient
48
43
  return false unless @metadata == other.metadata
49
44
  return false unless @push_options == other.push_options
50
- return false unless @fee_paid_by == other.fee_paid_by
51
45
  true
52
46
  end
53
47
  end
@@ -16,6 +16,4 @@ class Moov::Models::Components::PaymentLinkPayoutDetails
16
16
  def metadata=(str_); end
17
17
  def push_options(); end
18
18
  def push_options=(str_); end
19
- def fee_paid_by(); end
20
- def fee_paid_by=(str_); end
21
19
  end
@@ -26,18 +26,13 @@ module Moov
26
26
  # The `deferred` speed and `deferredBy` apply to `push-to-card` only. Other push methods
27
27
  # (`push-to-apple-pay`, `push-to-google-pay`) are always delivered instantly regardless of these options.
28
28
  field :push_options, Crystalline::Nilable.new(Models::Components::PushOptionsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
29
- # Indicates which party bears the fee, keyed by disbursement payment method (`DisbursementPaymentMethodType`).
30
- #
31
- # Sparse — include only the methods you want to attribute. Any method left unset defaults to `source`.
32
- field :fee_paid_by, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::FeePaidBy)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
33
29
 
34
- sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipient), metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptionsUpdate), fee_paid_by: T.nilable(T::Hash[Symbol, Models::Components::FeePaidBy])).void }
35
- def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil, fee_paid_by: nil)
30
+ sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipient), metadata: T.nilable(T::Hash[Symbol, ::String]), push_options: T.nilable(Models::Components::PushOptionsUpdate)).void }
31
+ def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil)
36
32
  @allowed_methods = allowed_methods
37
33
  @recipient = recipient
38
34
  @metadata = metadata
39
35
  @push_options = push_options
40
- @fee_paid_by = fee_paid_by
41
36
  end
42
37
 
43
38
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -47,7 +42,6 @@ module Moov
47
42
  return false unless @recipient == other.recipient
48
43
  return false unless @metadata == other.metadata
49
44
  return false unless @push_options == other.push_options
50
- return false unless @fee_paid_by == other.fee_paid_by
51
45
  true
52
46
  end
53
47
  end
@@ -16,6 +16,4 @@ class Moov::Models::Components::PaymentLinkPayoutDetailsUpdate
16
16
  def metadata=(str_); end
17
17
  def push_options(); end
18
18
  def push_options=(str_); end
19
- def fee_paid_by(); end
20
- def fee_paid_by=(str_); end
21
19
  end
@@ -21,15 +21,12 @@ module Moov
21
21
 
22
22
  field :push_options, Crystalline::Nilable.new(Models::Components::PushOptionsError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushOptions') } }
23
23
 
24
- field :fee_paid_by, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('feePaidBy') } }
25
-
26
- sig { params(allowed_methods: T.nilable(::String), recipient: T.nilable(Models::Components::PayoutRecipientError), metadata: T.nilable(::String), push_options: T.nilable(Models::Components::PushOptionsError), fee_paid_by: T.nilable(::String)).void }
27
- def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil, fee_paid_by: nil)
24
+ sig { params(allowed_methods: T.nilable(::String), recipient: T.nilable(Models::Components::PayoutRecipientError), metadata: T.nilable(::String), push_options: T.nilable(Models::Components::PushOptionsError)).void }
25
+ def initialize(allowed_methods: nil, recipient: nil, metadata: nil, push_options: nil)
28
26
  @allowed_methods = allowed_methods
29
27
  @recipient = recipient
30
28
  @metadata = metadata
31
29
  @push_options = push_options
32
- @fee_paid_by = fee_paid_by
33
30
  end
34
31
 
35
32
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -39,7 +36,6 @@ module Moov
39
36
  return false unless @recipient == other.recipient
40
37
  return false unless @metadata == other.metadata
41
38
  return false unless @push_options == other.push_options
42
- return false unless @fee_paid_by == other.fee_paid_by
43
39
  true
44
40
  end
45
41
  end
@@ -16,6 +16,4 @@ class Moov::Models::Components::PayoutDetailsError
16
16
  def metadata=(str_); end
17
17
  def push_options(); end
18
18
  def push_options=(str_); end
19
- def fee_paid_by(); end
20
- def fee_paid_by=(str_); end
21
19
  end
@@ -32,13 +32,11 @@ module Moov
32
32
  field :option_groups, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ProductOptionGroup)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('optionGroups') } }
33
33
  # Optional images associated with the product.
34
34
  field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ProductImageMetadata)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
35
- # The product taxonomy category associated with the product, if any.
36
- field :category, Crystalline::Nilable.new(Models::Components::ProductCategory), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('category') } }
37
35
  # The date and time when the product was disabled.
38
36
  field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
39
37
 
40
- sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), option_groups: T.nilable(T::Array[Models::Components::ProductOptionGroup]), images: T.nilable(T::Array[Models::Components::ProductImageMetadata]), category: T.nilable(Models::Components::ProductCategory), disabled_on: T.nilable(::DateTime)).void }
41
- def initialize(product_id:, title:, base_price:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, category: nil, disabled_on: nil)
38
+ sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), option_groups: T.nilable(T::Array[Models::Components::ProductOptionGroup]), images: T.nilable(T::Array[Models::Components::ProductImageMetadata]), disabled_on: T.nilable(::DateTime)).void }
39
+ def initialize(product_id:, title:, base_price:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, disabled_on: nil)
42
40
  @product_id = product_id
43
41
  @title = title
44
42
  @base_price = base_price
@@ -47,7 +45,6 @@ module Moov
47
45
  @description = description
48
46
  @option_groups = option_groups
49
47
  @images = images
50
- @category = category
51
48
  @disabled_on = disabled_on
52
49
  end
53
50
 
@@ -62,7 +59,6 @@ module Moov
62
59
  return false unless @description == other.description
63
60
  return false unless @option_groups == other.option_groups
64
61
  return false unless @images == other.images
65
- return false unless @category == other.category
66
62
  return false unless @disabled_on == other.disabled_on
67
63
  true
68
64
  end