moov_ruby 0.3.4 → 0.3.6

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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/client.rb +2 -1
  3. data/lib/moov/fee_plans.rb +120 -1
  4. data/lib/moov/invoices.rb +792 -0
  5. data/lib/moov/models/components/amountdecimalupdate.rb +39 -0
  6. data/lib/moov/models/components/amountdecimalupdate.rbi +15 -0
  7. data/lib/moov/models/components/createinvoice.rb +53 -0
  8. data/lib/moov/models/components/createinvoice.rbi +23 -0
  9. data/lib/moov/models/components/instantbankcreditpaymentmethod.rb +41 -0
  10. data/lib/moov/models/components/instantbankcreditpaymentmethod.rbi +17 -0
  11. data/lib/moov/models/components/instantbankcreditpaymentmethod_paymentmethodtype.rb +21 -0
  12. data/lib/moov/models/components/instantbankcreditpaymentmethod_paymentmethodtype.rbi +11 -0
  13. data/lib/moov/models/components/invoice.rb +117 -0
  14. data/lib/moov/models/components/invoice.rbi +55 -0
  15. data/lib/moov/models/components/invoiceexternalpayment.rb +49 -0
  16. data/lib/moov/models/components/invoiceexternalpayment.rbi +21 -0
  17. data/lib/moov/models/components/invoiceexternalpayment_paymenttype.rb +21 -0
  18. data/lib/moov/models/components/invoiceexternalpayment_paymenttype.rbi +11 -0
  19. data/lib/moov/models/components/invoicelineitem.rb +49 -0
  20. data/lib/moov/models/components/invoicelineitem.rbi +21 -0
  21. data/lib/moov/models/components/invoicelineitemoption.rb +45 -0
  22. data/lib/moov/models/components/invoicelineitemoption.rbi +19 -0
  23. data/lib/moov/models/components/invoicelineitemoptionvalidationerror.rb +45 -0
  24. data/lib/moov/models/components/invoicelineitemoptionvalidationerror.rbi +19 -0
  25. data/lib/moov/models/components/invoicelineitems.rb +33 -0
  26. data/lib/moov/models/components/invoicelineitems.rbi +13 -0
  27. data/lib/moov/models/components/invoicelineitemsupdate.rb +33 -0
  28. data/lib/moov/models/components/invoicelineitemsupdate.rbi +13 -0
  29. data/lib/moov/models/components/invoicelineitemsvalidationerror.rb +33 -0
  30. data/lib/moov/models/components/invoicelineitemsvalidationerror.rbi +13 -0
  31. data/lib/moov/models/components/invoicelineitemvalidationerror.rb +49 -0
  32. data/lib/moov/models/components/invoicelineitemvalidationerror.rbi +21 -0
  33. data/lib/moov/models/components/invoicepayment.rb +28 -0
  34. data/lib/moov/models/components/invoicepayment.rbi +11 -0
  35. data/lib/moov/models/components/invoicestatus.rb +26 -0
  36. data/lib/moov/models/components/invoicestatus.rbi +11 -0
  37. data/lib/moov/models/components/invoicetransferpayment.rb +37 -0
  38. data/lib/moov/models/components/invoicetransferpayment.rbi +15 -0
  39. data/lib/moov/models/components/invoicetransferpayment_paymenttype.rb +21 -0
  40. data/lib/moov/models/components/invoicetransferpayment_paymenttype.rbi +11 -0
  41. data/lib/moov/models/components/markinvoicepaid.rb +41 -0
  42. data/lib/moov/models/components/markinvoicepaid.rbi +17 -0
  43. data/lib/moov/models/components/paymentmethodtype.rb +1 -0
  44. data/lib/moov/models/components/transferoptions.rb +3 -3
  45. data/lib/moov/models/components/updateinvoice.rb +53 -0
  46. data/lib/moov/models/components/updateinvoice.rbi +23 -0
  47. data/lib/moov/models/components/webhookdatainvoicecreated.rb +37 -0
  48. data/lib/moov/models/components/webhookdatainvoicecreated.rbi +15 -0
  49. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +41 -0
  50. data/lib/moov/models/components/webhookdatainvoiceupdated.rbi +17 -0
  51. data/lib/moov/models/components/webhookevent.rb +2 -2
  52. data/lib/moov/models/components/webhookeventtype.rb +2 -0
  53. data/lib/moov/models/components.rb +22 -0
  54. data/lib/moov/models/errors/createinvoiceerror.rb +57 -0
  55. data/lib/moov/models/errors/createinvoiceerror.rbi +25 -0
  56. data/lib/moov/models/errors/listinvoicesvalidationerror.rb +49 -0
  57. data/lib/moov/models/errors/listinvoicesvalidationerror.rbi +21 -0
  58. data/lib/moov/models/errors/markinvoicepaiderror.rb +45 -0
  59. data/lib/moov/models/errors/markinvoicepaiderror.rbi +19 -0
  60. data/lib/moov/models/errors/updateinvoiceerror.rb +57 -0
  61. data/lib/moov/models/errors/updateinvoiceerror.rbi +25 -0
  62. data/lib/moov/models/errors.rb +4 -0
  63. data/lib/moov/models/operations/createinvoice_request.rb +50 -0
  64. data/lib/moov/models/operations/createinvoice_request.rbi +17 -0
  65. data/lib/moov/models/operations/createinvoice_response.rb +49 -0
  66. data/lib/moov/models/operations/createinvoice_response.rbi +21 -0
  67. data/lib/moov/models/operations/getinvoice_request.rb +50 -0
  68. data/lib/moov/models/operations/getinvoice_request.rbi +17 -0
  69. data/lib/moov/models/operations/getinvoice_response.rb +49 -0
  70. data/lib/moov/models/operations/getinvoice_response.rbi +21 -0
  71. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  72. data/lib/moov/models/operations/listfeerevenue_request.rb +62 -0
  73. data/lib/moov/models/operations/listfeerevenue_request.rbi +23 -0
  74. data/lib/moov/models/operations/listfeerevenue_response.rb +49 -0
  75. data/lib/moov/models/operations/listfeerevenue_response.rbi +21 -0
  76. data/lib/moov/models/operations/listinvoices_request.rb +62 -0
  77. data/lib/moov/models/operations/listinvoices_request.rbi +23 -0
  78. data/lib/moov/models/operations/listinvoices_response.rb +49 -0
  79. data/lib/moov/models/operations/listinvoices_response.rbi +21 -0
  80. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  81. data/lib/moov/models/operations/markpaidinvoice_request.rb +54 -0
  82. data/lib/moov/models/operations/markpaidinvoice_request.rbi +19 -0
  83. data/lib/moov/models/operations/markpaidinvoice_response.rb +49 -0
  84. data/lib/moov/models/operations/markpaidinvoice_response.rbi +21 -0
  85. data/lib/moov/models/operations/updateinvoice_request.rb +54 -0
  86. data/lib/moov/models/operations/updateinvoice_request.rbi +19 -0
  87. data/lib/moov/models/operations/updateinvoice_response.rb +49 -0
  88. data/lib/moov/models/operations/updateinvoice_response.rbi +21 -0
  89. data/lib/moov/models/operations.rb +12 -0
  90. data/lib/moov/payment_methods.rb +2 -2
  91. data/lib/moov/sdkconfiguration.rb +2 -2
  92. data/lib/moov_ruby.rb +1 -0
  93. metadata +79 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dfa16e9f1c2f37e429a659ec02b50187fd2979ddc2cd64a50ff7d8d91e1e8d8f
4
- data.tar.gz: 8a181b2cf636862a88713378ea7393405cc5c2a50c148d8d7cab19c8519c5fc0
3
+ metadata.gz: 6e82043d611fe54224db3e889d98f954b9ad7f1ab7e0f64a4f68889136c80888
4
+ data.tar.gz: 7a08c95366851014e14bef987adff72fa91dd7806e7230b53eea4c14101a9844
5
5
  SHA512:
6
- metadata.gz: '0959204e57c95fed148e465cb6d6900e56c1224bb72db9a2e3115fe5d104c25e27ba591e985f73679203b12dd1135e0a1e36043e305ef3bc5f2bad03f4de2e53'
7
- data.tar.gz: 11fdebf94e506b43f00d7bc05eadea29cfa5827929bd72d25f34942539352f732629bb6c689d5098804a1aa1c2e46bc5214cd24ccb402493d895e33b62383e63
6
+ metadata.gz: d2130c4b174e5c1a6248003a01221f734d106b6d1f6cabc2e9d6b39a080174c9d5cdd6bc47cbcdc31cc916b4d957f41c418a7f6c96f2af623f0311ae68cee0bc
7
+ data.tar.gz: 97cdbff89a9d057eaabb6f557beeed3d54470b647d07ef824835a0b3bb96756b5a00140e32dd132caa39fc74fc31df2f1d9918eacb7c1e5c20f40742ac77c025
data/lib/moov/client.rb CHANGED
@@ -16,7 +16,7 @@ module Moov
16
16
  class Client
17
17
  extend T::Sig
18
18
 
19
- attr_accessor :accounts, :adjustments, :apple_pay, :bank_accounts, :branding, :capabilities, :cards, :disputes, :fee_plans, :files, :images, :payment_links, :payment_methods, :products, :representatives, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :industries, :institutions, :issuing_transactions, :card_issuing, :authentication, :onboarding, :ping, :receipts, :terminal_applications
19
+ attr_accessor :accounts, :adjustments, :apple_pay, :bank_accounts, :branding, :capabilities, :cards, :disputes, :fee_plans, :files, :images, :invoices, :payment_links, :payment_methods, :products, :representatives, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :industries, :institutions, :issuing_transactions, :card_issuing, :authentication, :onboarding, :ping, :receipts, :terminal_applications
20
20
 
21
21
  sig do
22
22
  params(
@@ -103,6 +103,7 @@ module Moov
103
103
  @fee_plans = FeePlans.new(@sdk_configuration)
104
104
  @files = Files.new(@sdk_configuration)
105
105
  @images = Images.new(@sdk_configuration)
106
+ @invoices = Invoices.new(@sdk_configuration)
106
107
  @payment_links = PaymentLinks.new(@sdk_configuration)
107
108
  @payment_methods = PaymentMethods.new(@sdk_configuration)
108
109
  @products = Products.new(@sdk_configuration)
@@ -447,9 +447,128 @@ module Moov
447
447
  end
448
448
 
449
449
 
450
+ sig { params(request: Models::Operations::ListFeeRevenueRequest, timeout_ms: T.nilable(Integer)).returns(Models::Operations::ListFeeRevenueResponse) }
451
+ def list_fee_revenue(request:, timeout_ms: nil)
452
+ # list_fee_revenue - Used by a partner. Retrieve revenue generated from merchant fees.
453
+ #
454
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
455
+ # you'll need to specify the `/accounts/{accountID}/profile.read` scope.
456
+ url, params = @sdk_configuration.get_server_details
457
+ base_url = Utils.template_url(url, params)
458
+ url = Utils.generate_url(
459
+ Models::Operations::ListFeeRevenueRequest,
460
+ base_url,
461
+ '/accounts/{accountID}/fee-revenue',
462
+ request,
463
+ @sdk_configuration.globals
464
+ )
465
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
466
+ headers = T.cast(headers, T::Hash[String, String])
467
+ query_params = Utils.get_query_params(Models::Operations::ListFeeRevenueRequest, request, nil, @sdk_configuration.globals)
468
+ headers['Accept'] = 'application/json'
469
+ headers['user-agent'] = @sdk_configuration.user_agent
470
+
471
+ security = @sdk_configuration.security_source&.call
472
+
473
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
474
+ timeout ||= @sdk_configuration.timeout
475
+
476
+
477
+ connection = @sdk_configuration.client
478
+
479
+ hook_ctx = SDKHooks::HookContext.new(
480
+ config: @sdk_configuration,
481
+ base_url: base_url,
482
+ oauth2_scopes: nil,
483
+ operation_id: 'listFeeRevenue',
484
+ security_source: @sdk_configuration.security_source
485
+ )
486
+
487
+ error = T.let(nil, T.nilable(StandardError))
488
+ http_response = T.let(nil, T.nilable(Faraday::Response))
489
+
490
+
491
+ begin
492
+ http_response = T.must(connection).get(url) do |req|
493
+ req.headers.merge!(headers)
494
+ req.options.timeout = timeout unless timeout.nil?
495
+ req.params = query_params
496
+ Utils.configure_request_security(req, security)
497
+
498
+ @sdk_configuration.hooks.before_request(
499
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
500
+ hook_ctx: hook_ctx
501
+ ),
502
+ request: req
503
+ )
504
+ end
505
+ rescue StandardError => e
506
+ error = e
507
+ ensure
508
+ if http_response.nil? || Utils.error_status?(http_response.status)
509
+ http_response = @sdk_configuration.hooks.after_error(
510
+ error: error,
511
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
512
+ hook_ctx: hook_ctx
513
+ ),
514
+ response: http_response
515
+ )
516
+ else
517
+ http_response = @sdk_configuration.hooks.after_success(
518
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
519
+ hook_ctx: hook_ctx
520
+ ),
521
+ response: http_response
522
+ )
523
+ end
524
+
525
+ if http_response.nil?
526
+ raise error if !error.nil?
527
+ raise 'no response'
528
+ end
529
+ end
530
+
531
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
532
+ if Utils.match_status_code(http_response.status, ['200'])
533
+ if Utils.match_content_type(content_type, 'application/json')
534
+ http_response = @sdk_configuration.hooks.after_success(
535
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
536
+ hook_ctx: hook_ctx
537
+ ),
538
+ response: http_response
539
+ )
540
+ response_data = http_response.env.response_body
541
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Components::IncurredFee))
542
+ response = Models::Operations::ListFeeRevenueResponse.new(
543
+ status_code: http_response.status,
544
+ content_type: content_type,
545
+ raw_response: http_response,
546
+ headers: http_response.headers,
547
+ incurred_fees: T.unsafe(obj)
548
+ )
549
+
550
+ return response
551
+ else
552
+ 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'
553
+ end
554
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
555
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
556
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
557
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
558
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
559
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
560
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
561
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
562
+ else
563
+ 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'
564
+
565
+ end
566
+ end
567
+
568
+
450
569
  sig { params(request: Models::Operations::RetrieveFeesRequest, timeout_ms: T.nilable(Integer)).returns(Models::Operations::RetrieveFeesResponse) }
451
570
  def retrieve_fees(request:, timeout_ms: nil)
452
- # retrieve_fees - Retrieve fees associated with an account.
571
+ # retrieve_fees - Retrieve fees assessed to an account.
453
572
  #
454
573
  # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
455
574
  # you'll need to specify the `/accounts/{accountID}/transfers.read` scope.