moov_ruby 0.1.10 → 0.1.12

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/models/components/createwallet.rb +41 -0
  3. data/lib/moov/models/components/createwallet.rbi +17 -0
  4. data/lib/moov/models/components/patchwallet.rb +47 -0
  5. data/lib/moov/models/components/patchwallet.rbi +19 -0
  6. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +1 -0
  7. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +3 -2
  8. data/lib/moov/models/components/payoutrecipient.rb +8 -3
  9. data/lib/moov/models/components/payoutrecipient.rbi +2 -0
  10. data/lib/moov/models/components/payoutrecipienterror.rb +6 -2
  11. data/lib/moov/models/components/payoutrecipienterror.rbi +2 -0
  12. data/lib/moov/models/components/requirementid.rb +50 -8
  13. data/lib/moov/models/components/wallet.rb +38 -2
  14. data/lib/moov/models/components/wallet.rbi +16 -0
  15. data/lib/moov/models/components/walletstatus.rb +24 -0
  16. data/lib/moov/models/components/walletstatus.rbi +11 -0
  17. data/lib/moov/models/components/wallettype.rb +24 -0
  18. data/lib/moov/models/components/wallettype.rbi +11 -0
  19. data/lib/moov/models/components/webhookdatawalletcreated.rb +37 -0
  20. data/lib/moov/models/components/webhookdatawalletcreated.rbi +15 -0
  21. data/lib/moov/models/components/webhookdatawalletupdated.rb +43 -0
  22. data/lib/moov/models/components/webhookdatawalletupdated.rbi +17 -0
  23. data/lib/moov/models/components/webhookevent.rb +2 -2
  24. data/lib/moov/models/components/webhookeventtype.rb +2 -0
  25. data/lib/moov/models/components.rb +6 -1
  26. data/lib/moov/models/errors/createwalleterror.rb +45 -0
  27. data/lib/moov/models/errors/createwalleterror.rbi +19 -0
  28. data/lib/moov/models/errors/patchwalleterror.rb +49 -0
  29. data/lib/moov/models/errors/patchwalleterror.rbi +21 -0
  30. data/lib/moov/models/errors.rb +2 -0
  31. data/lib/moov/models/operations/createwallet_request.rb +49 -0
  32. data/lib/moov/models/operations/createwallet_request.rbi +17 -0
  33. data/lib/moov/models/operations/createwallet_response.rb +49 -0
  34. data/lib/moov/models/operations/createwallet_response.rbi +21 -0
  35. data/lib/moov/models/operations/listwallets_request.rb +18 -2
  36. data/lib/moov/models/operations/listwallets_request.rbi +8 -0
  37. data/lib/moov/models/operations/updatewallet_request.rb +53 -0
  38. data/lib/moov/models/operations/updatewallet_request.rbi +19 -0
  39. data/lib/moov/models/operations/updatewallet_response.rb +49 -0
  40. data/lib/moov/models/operations/updatewallet_response.rbi +21 -0
  41. data/lib/moov/models/operations.rb +4 -0
  42. data/lib/moov/sdkconfiguration.rb +3 -3
  43. data/lib/moov/wallets.rb +336 -5
  44. metadata +26 -4
  45. data/lib/moov/models/components/payoutrecipientupdate.rb +0 -35
  46. data/lib/moov/models/components/payoutrecipientupdate.rbi +0 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 17e1b475b417d03163ef05df576bd0c345088bd2f7eeb1773d01b64dcc9672a4
4
- data.tar.gz: 1c546b9a90fd40026a8dd9138403db61b7a9794e80e8708be2dd229ded6f5055
3
+ metadata.gz: 13ddcde4853b77a37e6b47412d261038468c1a6aa07c49448312f71a10eac0a6
4
+ data.tar.gz: c2d22c8ad3fbec8ad22e049b3bbf76ddb12ab6b19cd887ac0dc734a4a1e5271d
5
5
  SHA512:
6
- metadata.gz: e5574fdd8dca920f2512fb9067623547b81634f585a50d1a2d3d517ccdf20d06693837f5eb0888449038e9e42c999ace6c932042cf01bca30ffa3b007566a162
7
- data.tar.gz: 88b9483a9fa45430a61b04a0098f6689fa7c3124952f30b7c2887880c4a125c4f697d8f2dc35b8e08bb93bbad5fe3ba7887092bcf87bd122331967a311960ba7
6
+ metadata.gz: '039ddfc8aed00c1d595be76f8dcd6b225c9394d25f395860e2d8a47d5ddef48db275b7e7859a1d4eed6de71c276a413911e26e235ac8e90f1e18dbdd2c84e502'
7
+ data.tar.gz: 969da4685606ad9b2a50016436d349cc8160e2581682dd7ef53d5993fef5f2dc9678f014671dc4774e6fe4c117f086d44d18ba64c422bd1c5396fb20b5048d57
@@ -0,0 +1,41 @@
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
+
11
+
12
+ class CreateWallet
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Name of the wallet.
17
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
18
+ # Description of the wallet.
19
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
20
+ # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
21
+ field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
22
+
23
+ sig { params(name: ::String, description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
24
+ def initialize(name:, description: nil, metadata: nil)
25
+ @name = name
26
+ @description = description
27
+ @metadata = metadata
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @name == other.name
34
+ return false unless @description == other.description
35
+ return false unless @metadata == other.metadata
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateWallet
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateWallet
11
+ def name(); end
12
+ def name=(str_); end
13
+ def description(); end
14
+ def description=(str_); end
15
+ def metadata(); end
16
+ def metadata=(str_); end
17
+ end
@@ -0,0 +1,47 @@
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
+
11
+
12
+ class PatchWallet
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name') } }
18
+ # Status of a wallet.
19
+ # - `active`: The wallet is available for use and has an enabled payment method.
20
+ # - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
21
+ field :status, Crystalline::Nilable.new(Models::Components::WalletStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Components::WalletStatus, true) } }
22
+
23
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
24
+ # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
25
+ field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
26
+
27
+ sig { params(name: T.nilable(::String), status: T.nilable(Models::Components::WalletStatus), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
28
+ def initialize(name: nil, status: nil, description: nil, metadata: nil)
29
+ @name = name
30
+ @status = status
31
+ @description = description
32
+ @metadata = metadata
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @name == other.name
39
+ return false unless @status == other.status
40
+ return false unless @description == other.description
41
+ return false unless @metadata == other.metadata
42
+ true
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PatchWallet
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PatchWallet
11
+ def name(); end
12
+ def name=(str_); end
13
+ def status(); end
14
+ def status=(str_); end
15
+ def description(); end
16
+ def description=(str_); end
17
+ def metadata(); end
18
+ def metadata=(str_); end
19
+ end
@@ -16,6 +16,7 @@ module Moov
16
16
  # A list of payment methods that should be supported for this payment link.
17
17
  field :allowed_methods, Crystalline::Array.new(Models::Components::DisbursementPaymentMethodType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedMethods'), required: true } }
18
18
  # Specify the intended recipient of the payout.
19
+ # Either `email` or `phone` must be specified, but not both.
19
20
  #
20
21
  # This information will be used to authenticate the end user when they follow the payment link.
21
22
  field :recipient, Models::Components::PayoutRecipient, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient'), required: true } }
@@ -16,11 +16,12 @@ module Moov
16
16
  # A list of payment methods that should be supported for this payment link.
17
17
  field :allowed_methods, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::DisbursementPaymentMethodType)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedMethods') } }
18
18
  # Specify the intended recipient of the payout.
19
+ # Either `email` or `phone` must be specified, but not both.
19
20
  #
20
21
  # This information will be used to authenticate the end user when they follow the payment link.
21
- field :recipient, Crystalline::Nilable.new(Models::Components::PayoutRecipientUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient') } }
22
+ field :recipient, Crystalline::Nilable.new(Models::Components::PayoutRecipient), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('recipient') } }
22
23
 
23
- sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipientUpdate)).void }
24
+ sig { params(allowed_methods: T.nilable(T::Array[Models::Components::DisbursementPaymentMethodType]), recipient: T.nilable(Models::Components::PayoutRecipient)).void }
24
25
  def initialize(allowed_methods: nil, recipient: nil)
25
26
  @allowed_methods = allowed_methods
26
27
  @recipient = recipient
@@ -9,6 +9,7 @@ module Moov
9
9
  module Components
10
10
 
11
11
  # Specify the intended recipient of the payout.
12
+ # Either `email` or `phone` must be specified, but not both.
12
13
  #
13
14
  # This information will be used to authenticate the end user when they follow the payment link.
14
15
  class PayoutRecipient
@@ -16,17 +17,21 @@ module Moov
16
17
  include Crystalline::MetadataFields
17
18
 
18
19
 
19
- field :email, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('email'), required: true } }
20
+ field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('email') } }
20
21
 
21
- sig { params(email: ::String).void }
22
- def initialize(email:)
22
+ field :phone, Crystalline::Nilable.new(Models::Components::PhoneNumber), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phone') } }
23
+
24
+ sig { params(email: T.nilable(::String), phone: T.nilable(Models::Components::PhoneNumber)).void }
25
+ def initialize(email: nil, phone: nil)
23
26
  @email = email
27
+ @phone = phone
24
28
  end
25
29
 
26
30
  sig { params(other: T.untyped).returns(T::Boolean) }
27
31
  def ==(other)
28
32
  return false unless other.is_a? self.class
29
33
  return false unless @email == other.email
34
+ return false unless @phone == other.phone
30
35
  true
31
36
  end
32
37
  end
@@ -10,4 +10,6 @@ end
10
10
  class Moov::Models::Components::PayoutRecipient
11
11
  def email(); end
12
12
  def email=(str_); end
13
+ def phone(); end
14
+ def phone=(str_); end
13
15
  end
@@ -16,15 +16,19 @@ module Moov
16
16
 
17
17
  field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('email') } }
18
18
 
19
- sig { params(email: T.nilable(::String)).void }
20
- def initialize(email: nil)
19
+ field :phone, Crystalline::Nilable.new(Models::Components::PhoneNumberError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phone') } }
20
+
21
+ sig { params(email: T.nilable(::String), phone: T.nilable(Models::Components::PhoneNumberError)).void }
22
+ def initialize(email: nil, phone: nil)
21
23
  @email = email
24
+ @phone = phone
22
25
  end
23
26
 
24
27
  sig { params(other: T.untyped).returns(T::Boolean) }
25
28
  def ==(other)
26
29
  return false unless other.is_a? self.class
27
30
  return false unless @email == other.email
31
+ return false unless @phone == other.phone
28
32
  true
29
33
  end
30
34
  end
@@ -10,4 +10,6 @@ end
10
10
  class Moov::Models::Components::PayoutRecipientError
11
11
  def email(); end
12
12
  def email=(str_); end
13
+ def phone(); end
14
+ def phone=(str_); end
13
15
  end
@@ -68,17 +68,59 @@ module Moov
68
68
  REPRESENTATIVE_REP_UUID_OWNERSHIP = new('representative.{rep-uuid}.ownership')
69
69
  DOCUMENT_DOC_UUID_ = new('document.{doc-uuid}')
70
70
  UNDERWRITING_BUSINESS_PRESENCE = new('underwriting.businessPresence')
71
- UNDERWRITING_CAPABILITY_CARD_ACCEPTANCE_METHODS = new('underwriting.{capability}.cardAcceptanceMethods')
72
- UNDERWRITING_CAPABILITY_CURRENTLY_ACCEPTS_CARDS = new('underwriting.{capability}.currentlyAcceptsCards')
73
- UNDERWRITING_CAPABILITY_ESTIMATED_ACTIVITY_AVERAGE_TRANSACTION_AMOUNT = new('underwriting.{capability}.estimatedActivity.averageTransactionAmount')
74
- UNDERWRITING_CAPABILITY_ESTIMATED_ACTIVITY_MAXIMUM_TRANSACTION_AMOUNT = new('underwriting.{capability}.estimatedActivity.maximumTransactionAmount')
75
- UNDERWRITING_CAPABILITY_ESTIMATED_ACTIVITY_MONTHLY_VOLUME_RANGE = new('underwriting.{capability}.estimatedActivity.monthlyVolumeRange')
76
- UNDERWRITING_CAPABILITY_FULFILLMENT = new('underwriting.{capability}.fulfillment')
77
71
  UNDERWRITING_GEOGRAPHIC_REACH = new('underwriting.geographicReach')
72
+ UNDERWRITING_VOLUME_SHARE_BY_CUSTOMER_TYPE = new('underwriting.volumeShareByCustomerType')
78
73
  UNDERWRITING_PENDING_LITIGATION = new('underwriting.pendingLitigation')
79
74
  UNDERWRITING_DOCUMENTS_PROCESSING_STATEMENTS_PAST3_MONTHS = new('underwriting.documents.processingStatementsPast3Months')
80
- UNDERWRITING_CAPABILITY_REFUND_POLICY = new('underwriting.{capability}.refundPolicy')
81
- UNDERWRITING_VOLUME_SHARE_BY_CUSTOMER_TYPE = new('underwriting.volumeShareByCustomerType')
75
+ UNDERWRITING_COLLECT_FUNDS_CARD_PAYMENTS_CARD_ACCEPTANCE_METHODS = new('underwriting.collectFunds.cardPayments.cardAcceptanceMethods')
76
+ UNDERWRITING_COLLECT_FUNDS_CARD_PAYMENTS_CURRENTLY_ACCEPTS_CARDS = new('underwriting.collectFunds.cardPayments.currentlyAcceptsCards')
77
+ UNDERWRITING_COLLECT_FUNDS_CARD_PAYMENTS_ESTIMATED_ACTIVITY_AVERAGE_TRANSACTION_AMOUNT = new('underwriting.collectFunds.cardPayments.estimatedActivity.averageTransactionAmount')
78
+ UNDERWRITING_COLLECT_FUNDS_CARD_PAYMENTS_ESTIMATED_ACTIVITY_MAXIMUM_TRANSACTION_AMOUNT = new('underwriting.collectFunds.cardPayments.estimatedActivity.maximumTransactionAmount')
79
+ UNDERWRITING_COLLECT_FUNDS_CARD_PAYMENTS_ESTIMATED_ACTIVITY_MONTHLY_VOLUME_RANGE = new('underwriting.collectFunds.cardPayments.estimatedActivity.monthlyVolumeRange')
80
+ UNDERWRITING_COLLECT_FUNDS_CARD_PAYMENTS_FULFILLMENT = new('underwriting.collectFunds.cardPayments.fulfillment')
81
+ UNDERWRITING_COLLECT_FUNDS_CARD_PAYMENTS_REFUND_POLICY = new('underwriting.collectFunds.cardPayments.refundPolicy')
82
+ UNDERWRITING_COLLECT_FUNDS_ACH_CARD_ACCEPTANCE_METHODS = new('underwriting.collectFunds.ach.cardAcceptanceMethods')
83
+ UNDERWRITING_COLLECT_FUNDS_ACH_CURRENTLY_ACCEPTS_CARDS = new('underwriting.collectFunds.ach.currentlyAcceptsCards')
84
+ UNDERWRITING_COLLECT_FUNDS_ACH_ESTIMATED_ACTIVITY_AVERAGE_TRANSACTION_AMOUNT = new('underwriting.collectFunds.ach.estimatedActivity.averageTransactionAmount')
85
+ UNDERWRITING_COLLECT_FUNDS_ACH_ESTIMATED_ACTIVITY_MAXIMUM_TRANSACTION_AMOUNT = new('underwriting.collectFunds.ach.estimatedActivity.maximumTransactionAmount')
86
+ UNDERWRITING_COLLECT_FUNDS_ACH_ESTIMATED_ACTIVITY_MONTHLY_VOLUME_RANGE = new('underwriting.collectFunds.ach.estimatedActivity.monthlyVolumeRange')
87
+ UNDERWRITING_COLLECT_FUNDS_ACH_FULFILLMENT = new('underwriting.collectFunds.ach.fulfillment')
88
+ UNDERWRITING_COLLECT_FUNDS_ACH_REFUND_POLICY = new('underwriting.collectFunds.ach.refundPolicy')
89
+ UNDERWRITING_SEND_FUNDS_ACH_CARD_ACCEPTANCE_METHODS = new('underwriting.sendFunds.ach.cardAcceptanceMethods')
90
+ UNDERWRITING_SEND_FUNDS_ACH_CURRENTLY_ACCEPTS_CARDS = new('underwriting.sendFunds.ach.currentlyAcceptsCards')
91
+ UNDERWRITING_SEND_FUNDS_ACH_ESTIMATED_ACTIVITY_AVERAGE_TRANSACTION_AMOUNT = new('underwriting.sendFunds.ach.estimatedActivity.averageTransactionAmount')
92
+ UNDERWRITING_SEND_FUNDS_ACH_ESTIMATED_ACTIVITY_MAXIMUM_TRANSACTION_AMOUNT = new('underwriting.sendFunds.ach.estimatedActivity.maximumTransactionAmount')
93
+ UNDERWRITING_SEND_FUNDS_ACH_ESTIMATED_ACTIVITY_MONTHLY_VOLUME_RANGE = new('underwriting.sendFunds.ach.estimatedActivity.monthlyVolumeRange')
94
+ UNDERWRITING_SEND_FUNDS_ACH_FULFILLMENT = new('underwriting.sendFunds.ach.fulfillment')
95
+ UNDERWRITING_SEND_FUNDS_ACH_REFUND_POLICY = new('underwriting.sendFunds.ach.refundPolicy')
96
+ UNDERWRITING_SEND_FUNDS_RTP_CARD_ACCEPTANCE_METHODS = new('underwriting.sendFunds.rtp.cardAcceptanceMethods')
97
+ UNDERWRITING_SEND_FUNDS_RTP_CURRENTLY_ACCEPTS_CARDS = new('underwriting.sendFunds.rtp.currentlyAcceptsCards')
98
+ UNDERWRITING_SEND_FUNDS_RTP_ESTIMATED_ACTIVITY_AVERAGE_TRANSACTION_AMOUNT = new('underwriting.sendFunds.rtp.estimatedActivity.averageTransactionAmount')
99
+ UNDERWRITING_SEND_FUNDS_RTP_ESTIMATED_ACTIVITY_MAXIMUM_TRANSACTION_AMOUNT = new('underwriting.sendFunds.rtp.estimatedActivity.maximumTransactionAmount')
100
+ UNDERWRITING_SEND_FUNDS_RTP_ESTIMATED_ACTIVITY_MONTHLY_VOLUME_RANGE = new('underwriting.sendFunds.rtp.estimatedActivity.monthlyVolumeRange')
101
+ UNDERWRITING_SEND_FUNDS_RTP_FULFILLMENT = new('underwriting.sendFunds.rtp.fulfillment')
102
+ UNDERWRITING_SEND_FUNDS_RTP_REFUND_POLICY = new('underwriting.sendFunds.rtp.refundPolicy')
103
+ UNDERWRITING_SEND_FUNDS_PUSH_TO_CARD_CARD_ACCEPTANCE_METHODS = new('underwriting.sendFunds.pushToCard.cardAcceptanceMethods')
104
+ UNDERWRITING_SEND_FUNDS_PUSH_TO_CARD_CURRENTLY_ACCEPTS_CARDS = new('underwriting.sendFunds.pushToCard.currentlyAcceptsCards')
105
+ UNDERWRITING_SEND_FUNDS_PUSH_TO_CARD_ESTIMATED_ACTIVITY_AVERAGE_TRANSACTION_AMOUNT = new('underwriting.sendFunds.pushToCard.estimatedActivity.averageTransactionAmount')
106
+ UNDERWRITING_SEND_FUNDS_PUSH_TO_CARD_ESTIMATED_ACTIVITY_MAXIMUM_TRANSACTION_AMOUNT = new('underwriting.sendFunds.pushToCard.estimatedActivity.maximumTransactionAmount')
107
+ UNDERWRITING_SEND_FUNDS_PUSH_TO_CARD_ESTIMATED_ACTIVITY_MONTHLY_VOLUME_RANGE = new('underwriting.sendFunds.pushToCard.estimatedActivity.monthlyVolumeRange')
108
+ UNDERWRITING_SEND_FUNDS_PUSH_TO_CARD_FULFILLMENT = new('underwriting.sendFunds.pushToCard.fulfillment')
109
+ UNDERWRITING_SEND_FUNDS_PUSH_TO_CARD_REFUND_POLICY = new('underwriting.sendFunds.pushToCard.refundPolicy')
110
+ UNDERWRITING_MONEY_TRANSFER_PULL_FROM_CARD_CARD_ACCEPTANCE_METHODS = new('underwriting.moneyTransfer.pullFromCard.cardAcceptanceMethods')
111
+ UNDERWRITING_MONEY_TRANSFER_PULL_FROM_CARD_CURRENTLY_ACCEPTS_CARDS = new('underwriting.moneyTransfer.pullFromCard.currentlyAcceptsCards')
112
+ UNDERWRITING_MONEY_TRANSFER_PULL_FROM_CARD_ESTIMATED_ACTIVITY_AVERAGE_TRANSACTION_AMOUNT = new('underwriting.moneyTransfer.pullFromCard.estimatedActivity.averageTransactionAmount')
113
+ UNDERWRITING_MONEY_TRANSFER_PULL_FROM_CARD_ESTIMATED_ACTIVITY_MAXIMUM_TRANSACTION_AMOUNT = new('underwriting.moneyTransfer.pullFromCard.estimatedActivity.maximumTransactionAmount')
114
+ UNDERWRITING_MONEY_TRANSFER_PULL_FROM_CARD_ESTIMATED_ACTIVITY_MONTHLY_VOLUME_RANGE = new('underwriting.moneyTransfer.pullFromCard.estimatedActivity.monthlyVolumeRange')
115
+ UNDERWRITING_MONEY_TRANSFER_PULL_FROM_CARD_FULFILLMENT = new('underwriting.moneyTransfer.pullFromCard.fulfillment')
116
+ UNDERWRITING_MONEY_TRANSFER_PULL_FROM_CARD_REFUND_POLICY = new('underwriting.moneyTransfer.pullFromCard.refundPolicy')
117
+ UNDERWRITING_MONEY_TRANSFER_PUSH_TO_CARD_CARD_ACCEPTANCE_METHODS = new('underwriting.moneyTransfer.pushToCard.cardAcceptanceMethods')
118
+ UNDERWRITING_MONEY_TRANSFER_PUSH_TO_CARD_CURRENTLY_ACCEPTS_CARDS = new('underwriting.moneyTransfer.pushToCard.currentlyAcceptsCards')
119
+ UNDERWRITING_MONEY_TRANSFER_PUSH_TO_CARD_ESTIMATED_ACTIVITY_AVERAGE_TRANSACTION_AMOUNT = new('underwriting.moneyTransfer.pushToCard.estimatedActivity.averageTransactionAmount')
120
+ UNDERWRITING_MONEY_TRANSFER_PUSH_TO_CARD_ESTIMATED_ACTIVITY_MAXIMUM_TRANSACTION_AMOUNT = new('underwriting.moneyTransfer.pushToCard.estimatedActivity.maximumTransactionAmount')
121
+ UNDERWRITING_MONEY_TRANSFER_PUSH_TO_CARD_ESTIMATED_ACTIVITY_MONTHLY_VOLUME_RANGE = new('underwriting.moneyTransfer.pushToCard.estimatedActivity.monthlyVolumeRange')
122
+ UNDERWRITING_MONEY_TRANSFER_PUSH_TO_CARD_FULFILLMENT = new('underwriting.moneyTransfer.pushToCard.fulfillment')
123
+ UNDERWRITING_MONEY_TRANSFER_PUSH_TO_CARD_REFUND_POLICY = new('underwriting.moneyTransfer.pushToCard.refundPolicy')
82
124
  end
83
125
  end
84
126
  end
@@ -18,10 +18,38 @@ module Moov
18
18
 
19
19
  field :available_balance, Models::Components::WalletAvailableBalance, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('availableBalance'), required: true } }
20
20
 
21
- sig { params(wallet_id: ::String, available_balance: Models::Components::WalletAvailableBalance).void }
22
- def initialize(wallet_id:, available_balance:)
21
+ field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
22
+ # Name of the wallet
23
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
24
+ # Status of a wallet.
25
+ # - `active`: The wallet is available for use and has an enabled payment method.
26
+ # - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
27
+ field :status, Models::Components::WalletStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Components::WalletStatus, false) } }
28
+ # Type of a wallet.
29
+ # - `default`: The primary system-generated wallet automatically created by Moov when an account is granted the wallet capability. This generates a moov-wallet payment method that is available for use immediately. Only one default wallet exists per account.
30
+ # - `general`: A user-defined wallet created via the API to segment funds for specific use cases. Users can create multiple general wallets per account to support internal business models or financial reporting needs.
31
+ field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::WalletType, false) } }
32
+ # Description of the wallet
33
+ field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
34
+
35
+ field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
36
+ # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
37
+ field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
38
+
39
+ field :closed_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('closedOn'), 'decoder': Utils.datetime_from_iso_format(true) } }
40
+
41
+ sig { params(wallet_id: ::String, available_balance: Models::Components::WalletAvailableBalance, partner_account_id: ::String, name: ::String, status: Models::Components::WalletStatus, wallet_type: Models::Components::WalletType, description: ::String, created_on: ::DateTime, metadata: T.nilable(T::Hash[Symbol, ::String]), closed_on: T.nilable(::DateTime)).void }
42
+ def initialize(wallet_id:, available_balance:, partner_account_id:, name:, status:, wallet_type:, description:, created_on:, metadata: nil, closed_on: nil)
23
43
  @wallet_id = wallet_id
24
44
  @available_balance = available_balance
45
+ @partner_account_id = partner_account_id
46
+ @name = name
47
+ @status = status
48
+ @wallet_type = wallet_type
49
+ @description = description
50
+ @created_on = created_on
51
+ @metadata = metadata
52
+ @closed_on = closed_on
25
53
  end
26
54
 
27
55
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -29,6 +57,14 @@ module Moov
29
57
  return false unless other.is_a? self.class
30
58
  return false unless @wallet_id == other.wallet_id
31
59
  return false unless @available_balance == other.available_balance
60
+ return false unless @partner_account_id == other.partner_account_id
61
+ return false unless @name == other.name
62
+ return false unless @status == other.status
63
+ return false unless @wallet_type == other.wallet_type
64
+ return false unless @description == other.description
65
+ return false unless @created_on == other.created_on
66
+ return false unless @metadata == other.metadata
67
+ return false unless @closed_on == other.closed_on
32
68
  true
33
69
  end
34
70
  end
@@ -12,4 +12,20 @@ class Moov::Models::Components::Wallet
12
12
  def wallet_id=(str_); end
13
13
  def available_balance(); end
14
14
  def available_balance=(str_); end
15
+ def partner_account_id(); end
16
+ def partner_account_id=(str_); end
17
+ def name(); end
18
+ def name=(str_); end
19
+ def status(); end
20
+ def status=(str_); end
21
+ def wallet_type(); end
22
+ def wallet_type=(str_); end
23
+ def description(); end
24
+ def description=(str_); end
25
+ def created_on(); end
26
+ def created_on=(str_); end
27
+ def metadata(); end
28
+ def metadata=(str_); end
29
+ def closed_on(); end
30
+ def closed_on=(str_); end
15
31
  end
@@ -0,0 +1,24 @@
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
+
11
+ # WalletStatus - Status of a wallet.
12
+ # - `active`: The wallet is available for use and has an enabled payment method.
13
+ # - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
14
+ class WalletStatus < T::Enum
15
+
16
+
17
+ enums do
18
+ ACTIVE = new('active')
19
+ CLOSED = new('closed')
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::WalletStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::WalletStatus
11
+ end
@@ -0,0 +1,24 @@
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
+
11
+ # WalletType - Type of a wallet.
12
+ # - `default`: The primary system-generated wallet automatically created by Moov when an account is granted the wallet capability. This generates a moov-wallet payment method that is available for use immediately. Only one default wallet exists per account.
13
+ # - `general`: A user-defined wallet created via the API to segment funds for specific use cases. Users can create multiple general wallets per account to support internal business models or financial reporting needs.
14
+ class WalletType < T::Enum
15
+
16
+
17
+ enums do
18
+ DEFAULT = new('default')
19
+ GENERAL = new('general')
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::WalletType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::WalletType
11
+ end
@@ -0,0 +1,37 @@
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
+
11
+
12
+ class WebhookDataWalletCreated
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
18
+
19
+ field :wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletID'), required: true } }
20
+
21
+ sig { params(account_id: ::String, wallet_id: ::String).void }
22
+ def initialize(account_id:, wallet_id:)
23
+ @account_id = account_id
24
+ @wallet_id = wallet_id
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @account_id == other.account_id
31
+ return false unless @wallet_id == other.wallet_id
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::WebhookDataWalletCreated
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::WebhookDataWalletCreated
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def wallet_id(); end
14
+ def wallet_id=(str_); end
15
+ end
@@ -0,0 +1,43 @@
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
+
11
+
12
+ class WebhookDataWalletUpdated
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
18
+
19
+ field :wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletID'), required: true } }
20
+ # Status of a wallet.
21
+ # - `active`: The wallet is available for use and has an enabled payment method.
22
+ # - `closed`: The wallet is no longer active and the corresponding payment method has been disabled.
23
+ field :status, Models::Components::WalletStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Components::WalletStatus, false) } }
24
+
25
+ sig { params(account_id: ::String, wallet_id: ::String, status: Models::Components::WalletStatus).void }
26
+ def initialize(account_id:, wallet_id:, status:)
27
+ @account_id = account_id
28
+ @wallet_id = wallet_id
29
+ @status = status
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @account_id == other.account_id
36
+ return false unless @wallet_id == other.wallet_id
37
+ return false unless @status == other.status
38
+ true
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::WebhookDataWalletUpdated
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::WebhookDataWalletUpdated
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def wallet_id(); end
14
+ def wallet_id=(str_); end
15
+ def status(); end
16
+ def status=(str_); end
17
+ end
@@ -18,11 +18,11 @@ module Moov
18
18
  # The type of event that occurred.
19
19
  field :type, Models::Components::WebhookEventType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Components::WebhookEventType, false) } }
20
20
  # The data for the webhook event. The contents are based on the event type.
21
- field :data, Crystalline::Union.new(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletTransactionUpdated), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('data'), required: true } }
21
+ field :data, Crystalline::Union.new(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletCreated, Models::Components::WebhookDataWalletUpdated, Models::Components::WebhookDataWalletTransactionUpdated), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('data'), required: true } }
22
22
 
23
23
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
24
24
 
25
- sig { params(event_id: ::String, type: Models::Components::WebhookEventType, data: T.any(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletTransactionUpdated), created_on: ::DateTime).void }
25
+ sig { params(event_id: ::String, type: Models::Components::WebhookEventType, data: T.any(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletCreated, Models::Components::WebhookDataWalletUpdated, Models::Components::WebhookDataWalletTransactionUpdated), created_on: ::DateTime).void }
26
26
  def initialize(event_id:, type:, data:, created_on:)
27
27
  @event_id = event_id
28
28
  @type = type
@@ -45,6 +45,8 @@ module Moov
45
45
  TICKET_MESSAGE_ADDED = new('ticket.messageAdded')
46
46
  TRANSFER_CREATED = new('transfer.created')
47
47
  TRANSFER_UPDATED = new('transfer.updated')
48
+ WALLET_CREATED = new('wallet.created')
49
+ WALLET_UPDATED = new('wallet.updated')
48
50
  WALLET_TRANSACTION_UPDATED = new('walletTransaction.updated')
49
51
  end
50
52
  end