moov_ruby 26.10.0.pre.dev.6 → 26.10.0.pre.dev.8

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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/files.rb +186 -0
  3. data/lib/moov/issuing_transactions.rb +123 -0
  4. data/lib/moov/models/components/applicationscope.rb +1 -0
  5. data/lib/moov/models/components/authtokenrequest.rb +6 -2
  6. data/lib/moov/models/components/authtokenrequest.rbi +2 -0
  7. data/lib/moov/models/components/bankaccount.rb +7 -2
  8. data/lib/moov/models/components/bankaccount.rbi +2 -0
  9. data/lib/moov/models/components/bankaccountpayload.rb +7 -2
  10. data/lib/moov/models/components/bankaccountpayload.rbi +2 -0
  11. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rb +6 -2
  12. data/lib/moov/models/components/cardpaymentrefundprocessingdetails.rbi +2 -0
  13. data/lib/moov/models/components/createdtransfer.rb +2 -1
  14. data/lib/moov/models/components/createinvoice.rb +6 -2
  15. data/lib/moov/models/components/createinvoice.rbi +2 -0
  16. data/lib/moov/models/components/createtransferdestination.rb +2 -6
  17. data/lib/moov/models/components/createtransferdestination.rbi +0 -2
  18. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +1 -0
  19. data/lib/moov/models/components/incurredfee.rb +6 -2
  20. data/lib/moov/models/components/incurredfee.rbi +2 -0
  21. data/lib/moov/models/components/issuedcardactivity.rb +78 -0
  22. data/lib/moov/models/components/issuedcardactivity.rbi +33 -0
  23. data/lib/moov/models/components/issuedcardauthorization.rb +7 -2
  24. data/lib/moov/models/components/issuedcardauthorization.rbi +2 -0
  25. data/lib/moov/models/components/issuedcardauthorizationevent.rb +7 -2
  26. data/lib/moov/models/components/issuedcardauthorizationevent.rbi +2 -0
  27. data/lib/moov/models/components/issuingdeclinereason.rb +35 -0
  28. data/lib/moov/models/components/{wiretransactionstatus.rbi → issuingdeclinereason.rbi} +2 -2
  29. data/lib/moov/models/components/oauth2clienttype.rb +23 -0
  30. data/lib/moov/models/components/{wirefailurecode.rbi → oauth2clienttype.rbi} +2 -2
  31. data/lib/moov/models/components/paymentmethodsbankaccount.rb +7 -2
  32. data/lib/moov/models/components/paymentmethodsbankaccount.rbi +2 -0
  33. data/lib/moov/models/components/paymentmethodtype.rb +0 -1
  34. data/lib/moov/models/components/product.rb +6 -2
  35. data/lib/moov/models/components/product.rbi +2 -0
  36. data/lib/moov/models/components/productrequest.rb +6 -2
  37. data/lib/moov/models/components/productrequest.rbi +2 -0
  38. data/lib/moov/models/components/riskverificationoutcome.rb +23 -0
  39. data/lib/moov/models/components/riskverificationoutcome.rbi +11 -0
  40. data/lib/moov/models/components/transfer.rb +2 -1
  41. data/lib/moov/models/components/transferauthorization.rb +9 -2
  42. data/lib/moov/models/components/transferauthorization.rbi +2 -0
  43. data/lib/moov/models/components/transferoptions.rb +3 -3
  44. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +7 -2
  45. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rbi +2 -0
  46. data/lib/moov/models/components/transferpaymentmethodtype.rb +0 -1
  47. data/lib/moov/models/components/transferprocessingdetails.rb +2 -6
  48. data/lib/moov/models/components/transferprocessingdetails.rbi +0 -2
  49. data/lib/moov/models/components/transferrailoptions.rb +2 -6
  50. data/lib/moov/models/components/transferrailoptions.rbi +0 -2
  51. data/lib/moov/models/components/transfertype.rb +0 -1
  52. data/lib/moov/models/components/wallettransactiontype.rb +0 -1
  53. data/lib/moov/models/components/webhookdatatransferstatus.rb +1 -0
  54. data/lib/moov/models/components.rb +4 -9
  55. data/lib/moov/models/errors/createinvoiceerror.rb +6 -2
  56. data/lib/moov/models/errors/createinvoiceerror.rbi +2 -0
  57. data/lib/moov/models/errors/transfer_error.rb +2 -1
  58. data/lib/moov/models/operations/downloadfile_request.rb +36 -0
  59. data/lib/moov/models/operations/downloadfile_request.rbi +15 -0
  60. data/lib/moov/models/operations/downloadfile_response.rb +64 -0
  61. data/lib/moov/models/operations/downloadfile_response.rbi +29 -0
  62. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  63. data/lib/moov/models/operations/listissuedcardactivity_request.rb +60 -0
  64. data/lib/moov/models/operations/listissuedcardactivity_request.rbi +27 -0
  65. data/lib/moov/models/operations/listissuedcardactivity_response.rb +48 -0
  66. data/lib/moov/models/operations/listissuedcardactivity_response.rbi +21 -0
  67. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  68. data/lib/moov/models/operations/listtransfers_request.rb +6 -2
  69. data/lib/moov/models/operations/listtransfers_request.rbi +2 -0
  70. data/lib/moov/models/operations.rb +4 -0
  71. data/lib/moov/payment_methods.rb +2 -2
  72. data/lib/moov/sdkconfiguration.rb +3 -3
  73. metadata +18 -20
  74. data/lib/moov/models/components/createtransferdestinationwire.rb +0 -32
  75. data/lib/moov/models/components/createtransferdestinationwire.rbi +0 -13
  76. data/lib/moov/models/components/wirecreditpaymentmethod.rb +0 -40
  77. data/lib/moov/models/components/wirecreditpaymentmethod.rbi +0 -17
  78. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rb +0 -18
  79. data/lib/moov/models/components/wirecreditpaymentmethod_paymentmethodtype.rbi +0 -11
  80. data/lib/moov/models/components/wirecredittransferpaymentmethod.rb +0 -40
  81. data/lib/moov/models/components/wirecredittransferpaymentmethod.rbi +0 -17
  82. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rb +0 -18
  83. data/lib/moov/models/components/wirecredittransferpaymentmethod_paymentmethodtype.rbi +0 -11
  84. data/lib/moov/models/components/wirefailurecode.rb +0 -28
  85. data/lib/moov/models/components/wireoptions.rb +0 -32
  86. data/lib/moov/models/components/wireoptions.rbi +0 -13
  87. data/lib/moov/models/components/wiretransactionstatus.rb +0 -23
  88. data/lib/moov/models/components/wiretransferprocessingdetails.rb +0 -40
  89. data/lib/moov/models/components/wiretransferprocessingdetails.rbi +0 -17
@@ -0,0 +1,78 @@
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
+ # An issued card activity record. Each record represents the use of an issued card.
11
+ #
12
+ # Exactly one of `authorizationID` or `cardTransactionID` is present:
13
+ # - Activity that has an authorization request includes `authorizationID`. `cardTransactionID` is omitted.
14
+ # - Activity that does not have a corresponding authorization request includes `cardTransactionID` and omits `authorizationID` and
15
+ # `authorizedAmount`.
16
+ class IssuedCardActivity
17
+ extend T::Sig
18
+ include Crystalline::MetadataFields
19
+
20
+ # Status of a card issuing authorization.
21
+ field :status, Models::Components::IssuingAuthorizationStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingAuthorizationStatus, false) } }
22
+
23
+ field :issued_card_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuedCardID'), required: true } }
24
+
25
+ field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
26
+
27
+ field :merchant_data, Models::Components::IssuingMerchantData, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantData'), required: true } }
28
+ # Identifier for the authorization. Present for all activity except cleared card transactions without a corresponding authorization.
29
+ field :authorization_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationID') } }
30
+ # Identifier for the settlement card transaction. Present for cleared card transactions without a corresponding authorization.
31
+ field :card_transaction_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardTransactionID') } }
32
+ # Last four digits of the card number.
33
+ field :last_four_card_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber') } }
34
+ # Identifier for the account of the card's authorized user.
35
+ field :authorized_user_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUserAccountID') } }
36
+ # Amount authorized on the card. Omitted for cleared card transactions without a corresponding authorization.
37
+ field :authorized_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedAmount') } }
38
+ # Amount cleared or settled for the activity.
39
+ field :cleared_amount, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('clearedAmount') } }
40
+ # The reason an authorization or authorization event was declined. Only present if the
41
+ # authorization or event has been declined.
42
+ field :decline_reason, Crystalline::Nilable.new(Models::Components::IssuingDeclineReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('declineReason'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingDeclineReason, true) } }
43
+
44
+ sig { params(status: Models::Components::IssuingAuthorizationStatus, issued_card_id: ::String, created_on: ::DateTime, merchant_data: Models::Components::IssuingMerchantData, authorization_id: T.nilable(::String), card_transaction_id: T.nilable(::String), last_four_card_number: T.nilable(::String), authorized_user_account_id: T.nilable(::String), authorized_amount: T.nilable(::String), cleared_amount: T.nilable(::String), decline_reason: T.nilable(Models::Components::IssuingDeclineReason)).void }
45
+ def initialize(status:, issued_card_id:, created_on:, merchant_data:, authorization_id: nil, card_transaction_id: nil, last_four_card_number: nil, authorized_user_account_id: nil, authorized_amount: nil, cleared_amount: nil, decline_reason: nil)
46
+ @status = status
47
+ @issued_card_id = issued_card_id
48
+ @created_on = created_on
49
+ @merchant_data = merchant_data
50
+ @authorization_id = authorization_id
51
+ @card_transaction_id = card_transaction_id
52
+ @last_four_card_number = last_four_card_number
53
+ @authorized_user_account_id = authorized_user_account_id
54
+ @authorized_amount = authorized_amount
55
+ @cleared_amount = cleared_amount
56
+ @decline_reason = decline_reason
57
+ end
58
+
59
+ sig { params(other: T.untyped).returns(T::Boolean) }
60
+ def ==(other)
61
+ return false unless other.is_a? self.class
62
+ return false unless @status == other.status
63
+ return false unless @issued_card_id == other.issued_card_id
64
+ return false unless @created_on == other.created_on
65
+ return false unless @merchant_data == other.merchant_data
66
+ return false unless @authorization_id == other.authorization_id
67
+ return false unless @card_transaction_id == other.card_transaction_id
68
+ return false unless @last_four_card_number == other.last_four_card_number
69
+ return false unless @authorized_user_account_id == other.authorized_user_account_id
70
+ return false unless @authorized_amount == other.authorized_amount
71
+ return false unless @cleared_amount == other.cleared_amount
72
+ return false unless @decline_reason == other.decline_reason
73
+ true
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,33 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::IssuedCardActivity
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::IssuedCardActivity
11
+ def status(); end
12
+ def status=(str_); end
13
+ def issued_card_id(); end
14
+ def issued_card_id=(str_); end
15
+ def created_on(); end
16
+ def created_on=(str_); end
17
+ def merchant_data(); end
18
+ def merchant_data=(str_); end
19
+ def authorization_id(); end
20
+ def authorization_id=(str_); end
21
+ def card_transaction_id(); end
22
+ def card_transaction_id=(str_); end
23
+ def last_four_card_number(); end
24
+ def last_four_card_number=(str_); end
25
+ def authorized_user_account_id(); end
26
+ def authorized_user_account_id=(str_); end
27
+ def authorized_amount(); end
28
+ def authorized_amount=(str_); end
29
+ def cleared_amount(); end
30
+ def cleared_amount=(str_); end
31
+ def decline_reason(); end
32
+ def decline_reason=(str_); end
33
+ end
@@ -32,9 +32,12 @@ module Moov
32
32
  field :last_four_card_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber') } }
33
33
  # List of card transaction IDs associated with this authorization.
34
34
  field :card_transactions, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardTransactions') } }
35
+ # The reason an authorization or authorization event was declined. Only present if the
36
+ # authorization or event has been declined.
37
+ field :decline_reason, Crystalline::Nilable.new(Models::Components::IssuingDeclineReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('declineReason'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingDeclineReason, true) } }
35
38
 
36
- sig { params(authorization_id: ::String, issued_card_id: ::String, funding_wallet_id: ::String, network: Models::Components::CardIssuingNetwork, authorized_amount: ::String, status: Models::Components::IssuingAuthorizationStatus, merchant_data: Models::Components::IssuingMerchantData, created_on: ::DateTime, last_four_card_number: T.nilable(::String), card_transactions: T.nilable(T::Array[::String])).void }
37
- def initialize(authorization_id:, issued_card_id:, funding_wallet_id:, network:, authorized_amount:, status:, merchant_data:, created_on:, last_four_card_number: nil, card_transactions: nil)
39
+ sig { params(authorization_id: ::String, issued_card_id: ::String, funding_wallet_id: ::String, network: Models::Components::CardIssuingNetwork, authorized_amount: ::String, status: Models::Components::IssuingAuthorizationStatus, merchant_data: Models::Components::IssuingMerchantData, created_on: ::DateTime, last_four_card_number: T.nilable(::String), card_transactions: T.nilable(T::Array[::String]), decline_reason: T.nilable(Models::Components::IssuingDeclineReason)).void }
40
+ def initialize(authorization_id:, issued_card_id:, funding_wallet_id:, network:, authorized_amount:, status:, merchant_data:, created_on:, last_four_card_number: nil, card_transactions: nil, decline_reason: nil)
38
41
  @authorization_id = authorization_id
39
42
  @issued_card_id = issued_card_id
40
43
  @funding_wallet_id = funding_wallet_id
@@ -45,6 +48,7 @@ module Moov
45
48
  @created_on = created_on
46
49
  @last_four_card_number = last_four_card_number
47
50
  @card_transactions = card_transactions
51
+ @decline_reason = decline_reason
48
52
  end
49
53
 
50
54
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -60,6 +64,7 @@ module Moov
60
64
  return false unless @created_on == other.created_on
61
65
  return false unless @last_four_card_number == other.last_four_card_number
62
66
  return false unless @card_transactions == other.card_transactions
67
+ return false unless @decline_reason == other.decline_reason
63
68
  true
64
69
  end
65
70
  end
@@ -28,4 +28,6 @@ class Moov::Models::Components::IssuedCardAuthorization
28
28
  def last_four_card_number=(str_); end
29
29
  def card_transactions(); end
30
30
  def card_transactions=(str_); end
31
+ def decline_reason(); end
32
+ def decline_reason=(str_); end
31
33
  end
@@ -22,14 +22,18 @@ module Moov
22
22
  field :result, Models::Components::IssuedCardAuthorizationEventResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('result'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuedCardAuthorizationEventResult, false) } }
23
23
 
24
24
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
25
+ # The reason an authorization or authorization event was declined. Only present if the
26
+ # authorization or event has been declined.
27
+ field :decline_reason, Crystalline::Nilable.new(Models::Components::IssuingDeclineReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('declineReason'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingDeclineReason, true) } }
25
28
 
26
- sig { params(event_id: ::String, event_type: Models::Components::IssuedCardEventType, amount: ::String, result: Models::Components::IssuedCardAuthorizationEventResult, created_on: ::DateTime).void }
27
- def initialize(event_id:, event_type:, amount:, result:, created_on:)
29
+ sig { params(event_id: ::String, event_type: Models::Components::IssuedCardEventType, amount: ::String, result: Models::Components::IssuedCardAuthorizationEventResult, created_on: ::DateTime, decline_reason: T.nilable(Models::Components::IssuingDeclineReason)).void }
30
+ def initialize(event_id:, event_type:, amount:, result:, created_on:, decline_reason: nil)
28
31
  @event_id = event_id
29
32
  @event_type = event_type
30
33
  @amount = amount
31
34
  @result = result
32
35
  @created_on = created_on
36
+ @decline_reason = decline_reason
33
37
  end
34
38
 
35
39
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -40,6 +44,7 @@ module Moov
40
44
  return false unless @amount == other.amount
41
45
  return false unless @result == other.result
42
46
  return false unless @created_on == other.created_on
47
+ return false unless @decline_reason == other.decline_reason
43
48
  true
44
49
  end
45
50
  end
@@ -18,4 +18,6 @@ class Moov::Models::Components::IssuedCardAuthorizationEvent
18
18
  def result=(str_); end
19
19
  def created_on(); end
20
20
  def created_on=(str_); end
21
+ def decline_reason(); end
22
+ def decline_reason=(str_); end
21
23
  end
@@ -0,0 +1,35 @@
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
+ # IssuingDeclineReason - The reason an authorization or authorization event was declined. Only present if the
11
+ # authorization or event has been declined.
12
+ class IssuingDeclineReason
13
+ include ::Crystalline::Enum
14
+ enums do
15
+ INSUFFICIENT_FUNDS = new('insufficient-funds')
16
+ CARD_NOT_ACTIVE = new('card-not-active')
17
+ CARD_EXPIRATION = new('card-expiration')
18
+ SPEND_CUTOFF_REACHED = new('spend-cutoff-reached')
19
+ OUTSIDE_ALLOWED_SCHEDULE = new('outside-allowed-schedule')
20
+ SPEND_LIMIT_EXCEEDED = new('spend-limit-exceeded')
21
+ MERCHANT_CATEGORY_NOT_SUPPORTED = new('merchant-category-not-supported')
22
+ MERCHANT_CATEGORY_RESTRICTED = new('merchant-category-restricted')
23
+ MERCHANT_RESTRICTED = new('merchant-restricted')
24
+ MERCHANT_COUNTRY_NOT_SUPPORTED = new('merchant-country-not-supported')
25
+ UNSUPPORTED_TRANSACTION = new('unsupported-transaction')
26
+ NETWORK_STAND_IN = new('network-stand-in')
27
+ DECLINED_BY_ISSUER = new('declined-by-issuer')
28
+ INVALID_REQUEST = new('invalid-request')
29
+ SYSTEM_ERROR = new('system-error')
30
+ end
31
+ open!
32
+ end
33
+ end
34
+ end
35
+ end
@@ -2,10 +2,10 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::WireTransactionStatus
5
+ class Moov::Models::Components::IssuingDeclineReason
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::WireTransactionStatus
10
+ class Moov::Models::Components::IssuingDeclineReason
11
11
  end
@@ -0,0 +1,23 @@
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
+ # OAuth2ClientType - The type of client requesting an OAuth2 token. Short codes are accepted as aliases for the corresponding client types.
11
+ class OAuth2ClientType < T::Enum
12
+ enums do
13
+ WEB = new('web')
14
+ DEVICE = new('device')
15
+ SERVICE = new('service')
16
+ W = new('w')
17
+ D = new('d')
18
+ S = new('s')
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -2,10 +2,10 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::WireFailureCode
5
+ class Moov::Models::Components::OAuth2ClientType
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::WireFailureCode
10
+ class Moov::Models::Components::OAuth2ClientType
11
11
  end
@@ -34,9 +34,12 @@ module Moov
34
34
  field :last_four_account_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourAccountNumber'), required: true } }
35
35
 
36
36
  field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
37
+ # The outcome of a requested risk-verification attempt. `notAttempted` when
38
+ # `requestRiskVerification` was not set, or the calling account was not allowlisted.
39
+ field :risk_verification_outcome, Crystalline::Nilable.new(Models::Components::RiskVerificationOutcome), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('riskVerificationOutcome'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RiskVerificationOutcome, true) } }
37
40
 
38
- sig { params(bank_account_id: ::String, fingerprint: ::String, status: Models::Components::BankAccountStatus, holder_name: ::String, holder_type: Models::Components::BankAccountHolderType, bank_name: ::String, bank_account_type: Models::Components::BankAccountType, routing_number: ::String, last_four_account_number: ::String, updated_on: ::DateTime).void }
39
- def initialize(bank_account_id:, fingerprint:, status:, holder_name:, holder_type:, bank_name:, bank_account_type:, routing_number:, last_four_account_number:, updated_on:)
41
+ sig { params(bank_account_id: ::String, fingerprint: ::String, status: Models::Components::BankAccountStatus, holder_name: ::String, holder_type: Models::Components::BankAccountHolderType, bank_name: ::String, bank_account_type: Models::Components::BankAccountType, routing_number: ::String, last_four_account_number: ::String, updated_on: ::DateTime, risk_verification_outcome: T.nilable(Models::Components::RiskVerificationOutcome)).void }
42
+ def initialize(bank_account_id:, fingerprint:, status:, holder_name:, holder_type:, bank_name:, bank_account_type:, routing_number:, last_four_account_number:, updated_on:, risk_verification_outcome: nil)
40
43
  @bank_account_id = bank_account_id
41
44
  @fingerprint = fingerprint
42
45
  @status = status
@@ -47,6 +50,7 @@ module Moov
47
50
  @routing_number = routing_number
48
51
  @last_four_account_number = last_four_account_number
49
52
  @updated_on = updated_on
53
+ @risk_verification_outcome = risk_verification_outcome
50
54
  end
51
55
 
52
56
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -62,6 +66,7 @@ module Moov
62
66
  return false unless @routing_number == other.routing_number
63
67
  return false unless @last_four_account_number == other.last_four_account_number
64
68
  return false unless @updated_on == other.updated_on
69
+ return false unless @risk_verification_outcome == other.risk_verification_outcome
65
70
  true
66
71
  end
67
72
  end
@@ -28,4 +28,6 @@ class Moov::Models::Components::PaymentMethodsBankAccount
28
28
  def last_four_account_number=(str_); end
29
29
  def updated_on(); end
30
30
  def updated_on=(str_); end
31
+ def risk_verification_outcome(); end
32
+ def risk_verification_outcome=(str_); end
31
33
  end
@@ -28,7 +28,6 @@ module Moov
28
28
  GOOGLE_PAY = new('google-pay')
29
29
  PUSH_TO_GOOGLE_PAY = new('push-to-google-pay')
30
30
  PULL_FROM_GOOGLE_PAY = new('pull-from-google-pay')
31
- WIRE_CREDIT = new('wire-credit')
32
31
  end
33
32
  open!
34
33
  end
@@ -18,6 +18,8 @@ module Moov
18
18
  field :title, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('title'), required: true } }
19
19
  # A product's starting price, before applying modifiers.
20
20
  field :base_price, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice'), required: true } }
21
+ # Whether applicable tax rules may be applied to this product. The value can be used to determine how to populate the tax amount on a transfer (Moov does not compute or assess tax). true means a tax amount can be included; false means it should not. Omitted values default to true on creation and preserve the existing setting on update. This setting does not determine jurisdiction-specific taxability.
22
+ field :is_taxable, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('isTaxable'), required: true } }
21
23
  # The date and time when the product was added.
22
24
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
23
25
  # The date and time when the product was last updated.
@@ -37,11 +39,12 @@ module Moov
37
39
  # The date and time when the product was disabled.
38
40
  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
41
 
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)
42
+ sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, is_taxable: T::Boolean, 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 }
43
+ def initialize(product_id:, title:, base_price:, is_taxable:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, category: nil, disabled_on: nil)
42
44
  @product_id = product_id
43
45
  @title = title
44
46
  @base_price = base_price
47
+ @is_taxable = is_taxable
45
48
  @created_on = created_on
46
49
  @updated_on = updated_on
47
50
  @description = description
@@ -57,6 +60,7 @@ module Moov
57
60
  return false unless @product_id == other.product_id
58
61
  return false unless @title == other.title
59
62
  return false unless @base_price == other.base_price
63
+ return false unless @is_taxable == other.is_taxable
60
64
  return false unless @created_on == other.created_on
61
65
  return false unless @updated_on == other.updated_on
62
66
  return false unless @description == other.description
@@ -14,6 +14,8 @@ class Moov::Models::Components::Product
14
14
  def title=(str_); end
15
15
  def base_price(); end
16
16
  def base_price=(str_); end
17
+ def is_taxable(); end
18
+ def is_taxable=(str_); end
17
19
  def created_on(); end
18
20
  def created_on=(str_); end
19
21
  def updated_on(); end
@@ -22,6 +22,8 @@ module Moov
22
22
  # - Supports Markdown for formatting
23
23
  # - HTML is not permitted and will be rejected
24
24
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
25
+ # Whether applicable tax rules may be applied to this product. The value can be used to determine how to populate the tax amount on a transfer (Moov does not compute or assess tax). true means a tax amount can be included; false means it should not. Omitted values default to true on creation and preserve the existing setting on update. This setting does not determine jurisdiction-specific taxability.
26
+ field :is_taxable, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('isTaxable') } }
25
27
  # Assign previously uploaded images to a product or option.
26
28
  field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AssignProductImage)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
27
29
  # Optional configuration options for a product, such as size or color.
@@ -29,11 +31,12 @@ module Moov
29
31
  # The ID of a product taxonomy category to associate with the product.
30
32
  field :category_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categoryID') } }
31
33
 
32
- sig { params(title: ::String, base_price: Models::Components::AmountDecimal, description: T.nilable(::String), images: T.nilable(T::Array[Models::Components::AssignProductImage]), option_groups: T.nilable(T::Array[Models::Components::CreateProductOptionGroup]), category_id: T.nilable(::String)).void }
33
- def initialize(title:, base_price:, description: nil, images: nil, option_groups: nil, category_id: nil)
34
+ sig { params(title: ::String, base_price: Models::Components::AmountDecimal, description: T.nilable(::String), is_taxable: T.nilable(T::Boolean), images: T.nilable(T::Array[Models::Components::AssignProductImage]), option_groups: T.nilable(T::Array[Models::Components::CreateProductOptionGroup]), category_id: T.nilable(::String)).void }
35
+ def initialize(title:, base_price:, description: nil, is_taxable: nil, images: nil, option_groups: nil, category_id: nil)
34
36
  @title = title
35
37
  @base_price = base_price
36
38
  @description = description
39
+ @is_taxable = is_taxable
37
40
  @images = images
38
41
  @option_groups = option_groups
39
42
  @category_id = category_id
@@ -45,6 +48,7 @@ module Moov
45
48
  return false unless @title == other.title
46
49
  return false unless @base_price == other.base_price
47
50
  return false unless @description == other.description
51
+ return false unless @is_taxable == other.is_taxable
48
52
  return false unless @images == other.images
49
53
  return false unless @option_groups == other.option_groups
50
54
  return false unless @category_id == other.category_id
@@ -14,6 +14,8 @@ class Moov::Models::Components::ProductRequest
14
14
  def base_price=(str_); end
15
15
  def description(); end
16
16
  def description=(str_); end
17
+ def is_taxable(); end
18
+ def is_taxable=(str_); end
17
19
  def images(); end
18
20
  def images=(str_); end
19
21
  def option_groups(); end
@@ -0,0 +1,23 @@
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
+ # RiskVerificationOutcome - The outcome of a bank account risk-verification attempt.
11
+ class RiskVerificationOutcome
12
+ include ::Crystalline::Enum
13
+ enums do
14
+ NOT_ATTEMPTED = new('notAttempted')
15
+ SUCCESS = new('success')
16
+ INCONCLUSIVE = new('inconclusive')
17
+ DECLINE = new('decline')
18
+ end
19
+ open!
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::RiskVerificationOutcome
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::RiskVerificationOutcome
11
+ end
@@ -70,7 +70,8 @@ module Moov
70
70
  field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
71
71
  # ID of the invoice that the transfer is associated with.
72
72
  field :invoice_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceID') } }
73
-
73
+ # The tip, tax, and surcharge portion of the transfer amount.
74
+ # For an auth-capture `card-payment` transfer, this is the aggregate of all captures' `amountDetails`.
74
75
  field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
75
76
  # Authorization amounts.
76
77
  # This field is present only for an auth-capture `card-payment` transfer.
@@ -22,16 +22,22 @@ module Moov
22
22
  field :captured_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capturedAmount'), required: true } }
23
23
  # Amount of the authorization still available after captures and authorization cancellations.
24
24
  field :capturable_amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capturableAmount'), required: true } }
25
+ # The tip, tax, and surcharge authorized by the card network.
26
+ #
27
+ # These describe the authorized amount and are fixed.
28
+ # They can differ from the transfer's `amountDetails`, which is the aggregate of all captures' `amountDetails`.
29
+ field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
25
30
  # Expiration time for the approved authorization, when available.
26
31
  field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
27
32
 
28
- sig { params(authorization_id: ::String, requested_amount: Models::Components::AmountDecimal, authorized_amount: Models::Components::AmountDecimal, captured_amount: Models::Components::AmountDecimal, capturable_amount: Models::Components::AmountDecimal, expires_on: T.nilable(::DateTime)).void }
29
- def initialize(authorization_id:, requested_amount:, authorized_amount:, captured_amount:, capturable_amount:, expires_on: nil)
33
+ sig { params(authorization_id: ::String, requested_amount: Models::Components::AmountDecimal, authorized_amount: Models::Components::AmountDecimal, captured_amount: Models::Components::AmountDecimal, capturable_amount: Models::Components::AmountDecimal, amount_details: T.nilable(Models::Components::TransferAmountDetails), expires_on: T.nilable(::DateTime)).void }
34
+ def initialize(authorization_id:, requested_amount:, authorized_amount:, captured_amount:, capturable_amount:, amount_details: nil, expires_on: nil)
30
35
  @authorization_id = authorization_id
31
36
  @requested_amount = requested_amount
32
37
  @authorized_amount = authorized_amount
33
38
  @captured_amount = captured_amount
34
39
  @capturable_amount = capturable_amount
40
+ @amount_details = amount_details
35
41
  @expires_on = expires_on
36
42
  end
37
43
 
@@ -43,6 +49,7 @@ module Moov
43
49
  return false unless @authorized_amount == other.authorized_amount
44
50
  return false unless @captured_amount == other.captured_amount
45
51
  return false unless @capturable_amount == other.capturable_amount
52
+ return false unless @amount_details == other.amount_details
46
53
  return false unless @expires_on == other.expires_on
47
54
  true
48
55
  end
@@ -18,6 +18,8 @@ class Moov::Models::Components::TransferAuthorization
18
18
  def captured_amount=(str_); end
19
19
  def capturable_amount(); end
20
20
  def capturable_amount=(str_); end
21
+ def amount_details(); end
22
+ def amount_details=(str_); end
21
23
  def expires_on(); end
22
24
  def expires_on=(str_); end
23
25
  end
@@ -13,11 +13,11 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
- field :source_options, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod, Models::Components::WireCreditTransferPaymentMethod))), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceOptions') } }
16
+ field :source_options, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod))), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceOptions') } }
17
17
 
18
- field :destination_options, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod, Models::Components::WireCreditTransferPaymentMethod))), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationOptions') } }
18
+ field :destination_options, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod))), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationOptions') } }
19
19
 
20
- sig { params(source_options: T.nilable(T::Array[T.any(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod, Models::Components::WireCreditTransferPaymentMethod)]), destination_options: T.nilable(T::Array[T.any(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod, Models::Components::WireCreditTransferPaymentMethod)])).void }
20
+ sig { params(source_options: T.nilable(T::Array[T.any(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod)]), destination_options: T.nilable(T::Array[T.any(Models::Components::MoovWalletTransferPaymentMethod, Models::Components::AchDebitFundTransferPaymentMethod, Models::Components::AchDebitCollectTransferPaymentMethod, Models::Components::AchCreditStandardTransferPaymentMethod, Models::Components::AchCreditSameDayTransferPaymentMethod, Models::Components::RtpCreditTransferPaymentMethod, Models::Components::CardPaymentTransferPaymentMethod, Models::Components::PushToCardTransferPaymentMethod, Models::Components::PullFromCardTransferPaymentMethod, Models::Components::ApplePayTransferPaymentMethod, Models::Components::CardPresentPaymentTransferPaymentMethod, Models::Components::InstantBankCreditTransferPaymentMethod, Models::Components::PushToApplePayTransferPaymentMethod, Models::Components::PullFromApplePayTransferPaymentMethod, Models::Components::GooglePayTransferPaymentMethod, Models::Components::PushToGooglePayTransferPaymentMethod, Models::Components::PullFromGooglePayTransferPaymentMethod)])).void }
21
21
  def initialize(source_options: nil, destination_options: nil)
22
22
  @source_options = source_options
23
23
  @destination_options = destination_options
@@ -34,9 +34,12 @@ module Moov
34
34
  field :last_four_account_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourAccountNumber'), required: true } }
35
35
 
36
36
  field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
37
+ # The outcome of a requested risk-verification attempt. `notAttempted` when
38
+ # `requestRiskVerification` was not set, or the calling account was not allowlisted.
39
+ field :risk_verification_outcome, Crystalline::Nilable.new(Models::Components::RiskVerificationOutcome), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('riskVerificationOutcome'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::RiskVerificationOutcome, true) } }
37
40
 
38
- sig { params(bank_account_id: ::String, fingerprint: ::String, status: Models::Components::BankAccountStatus, holder_name: ::String, holder_type: Models::Components::BankAccountHolderType, bank_name: ::String, bank_account_type: Models::Components::BankAccountType, routing_number: ::String, last_four_account_number: ::String, updated_on: ::DateTime).void }
39
- def initialize(bank_account_id:, fingerprint:, status:, holder_name:, holder_type:, bank_name:, bank_account_type:, routing_number:, last_four_account_number:, updated_on:)
41
+ sig { params(bank_account_id: ::String, fingerprint: ::String, status: Models::Components::BankAccountStatus, holder_name: ::String, holder_type: Models::Components::BankAccountHolderType, bank_name: ::String, bank_account_type: Models::Components::BankAccountType, routing_number: ::String, last_four_account_number: ::String, updated_on: ::DateTime, risk_verification_outcome: T.nilable(Models::Components::RiskVerificationOutcome)).void }
42
+ def initialize(bank_account_id:, fingerprint:, status:, holder_name:, holder_type:, bank_name:, bank_account_type:, routing_number:, last_four_account_number:, updated_on:, risk_verification_outcome: nil)
40
43
  @bank_account_id = bank_account_id
41
44
  @fingerprint = fingerprint
42
45
  @status = status
@@ -47,6 +50,7 @@ module Moov
47
50
  @routing_number = routing_number
48
51
  @last_four_account_number = last_four_account_number
49
52
  @updated_on = updated_on
53
+ @risk_verification_outcome = risk_verification_outcome
50
54
  end
51
55
 
52
56
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -62,6 +66,7 @@ module Moov
62
66
  return false unless @routing_number == other.routing_number
63
67
  return false unless @last_four_account_number == other.last_four_account_number
64
68
  return false unless @updated_on == other.updated_on
69
+ return false unless @risk_verification_outcome == other.risk_verification_outcome
65
70
  true
66
71
  end
67
72
  end
@@ -28,4 +28,6 @@ class Moov::Models::Components::TransferPaymentMethodsBankAccount
28
28
  def last_four_account_number=(str_); end
29
29
  def updated_on(); end
30
30
  def updated_on=(str_); end
31
+ def risk_verification_outcome(); end
32
+ def risk_verification_outcome=(str_); end
31
33
  end
@@ -28,7 +28,6 @@ module Moov
28
28
  GOOGLE_PAY = new('google-pay')
29
29
  PUSH_TO_GOOGLE_PAY = new('push-to-google-pay')
30
30
  PULL_FROM_GOOGLE_PAY = new('pull-from-google-pay')
31
- WIRE_CREDIT = new('wire-credit')
32
31
  end
33
32
  open!
34
33
  end
@@ -24,18 +24,15 @@ module Moov
24
24
  field :ach_credit, Crystalline::Nilable.new(Models::Components::ACHCreditTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achCredit') } }
25
25
 
26
26
  field :instant_bank_credit, Crystalline::Nilable.new(Models::Components::InstantBankCreditTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBankCredit') } }
27
- # Wire-specific processing details returned on a transfer.
28
- field :wire, Crystalline::Nilable.new(Models::Components::WireTransferProcessingDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wire') } }
29
27
 
30
- sig { params(card_payment: T.nilable(Models::Components::CardPaymentTransferProcessingDetails), push_to_card: T.nilable(Models::Components::PushToCardTransferProcessingDetails), pull_from_card: T.nilable(Models::Components::PullFromCardTransferProcessingDetails), ach_debit: T.nilable(Models::Components::ACHDebitTransferProcessingDetails), ach_credit: T.nilable(Models::Components::ACHCreditTransferProcessingDetails), instant_bank_credit: T.nilable(Models::Components::InstantBankCreditTransferProcessingDetails), wire: T.nilable(Models::Components::WireTransferProcessingDetails)).void }
31
- def initialize(card_payment: nil, push_to_card: nil, pull_from_card: nil, ach_debit: nil, ach_credit: nil, instant_bank_credit: nil, wire: nil)
28
+ sig { params(card_payment: T.nilable(Models::Components::CardPaymentTransferProcessingDetails), push_to_card: T.nilable(Models::Components::PushToCardTransferProcessingDetails), pull_from_card: T.nilable(Models::Components::PullFromCardTransferProcessingDetails), ach_debit: T.nilable(Models::Components::ACHDebitTransferProcessingDetails), ach_credit: T.nilable(Models::Components::ACHCreditTransferProcessingDetails), instant_bank_credit: T.nilable(Models::Components::InstantBankCreditTransferProcessingDetails)).void }
29
+ def initialize(card_payment: nil, push_to_card: nil, pull_from_card: nil, ach_debit: nil, ach_credit: nil, instant_bank_credit: nil)
32
30
  @card_payment = card_payment
33
31
  @push_to_card = push_to_card
34
32
  @pull_from_card = pull_from_card
35
33
  @ach_debit = ach_debit
36
34
  @ach_credit = ach_credit
37
35
  @instant_bank_credit = instant_bank_credit
38
- @wire = wire
39
36
  end
40
37
 
41
38
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -47,7 +44,6 @@ module Moov
47
44
  return false unless @ach_debit == other.ach_debit
48
45
  return false unless @ach_credit == other.ach_credit
49
46
  return false unless @instant_bank_credit == other.instant_bank_credit
50
- return false unless @wire == other.wire
51
47
  true
52
48
  end
53
49
  end