moov_ruby 25.4.4 → 25.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/metadata_fields.rb +3 -1
  3. data/lib/crystalline/module.rb +6 -2
  4. data/lib/crystalline/types.rb +52 -0
  5. data/lib/moov/models/components/achcreditsamedaytransferpaymentmethod.rb +40 -0
  6. data/lib/moov/models/components/achcreditsamedaytransferpaymentmethod.rbi +17 -0
  7. data/lib/moov/models/components/achcreditsamedaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  8. data/lib/moov/models/components/achcreditsamedaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  9. data/lib/moov/models/components/achcreditstandardtransferpaymentmethod.rb +40 -0
  10. data/lib/moov/models/components/achcreditstandardtransferpaymentmethod.rbi +17 -0
  11. data/lib/moov/models/components/achcreditstandardtransferpaymentmethod_paymentmethodtype.rb +18 -0
  12. data/lib/moov/models/components/achcreditstandardtransferpaymentmethod_paymentmethodtype.rbi +11 -0
  13. data/lib/moov/models/components/achdebitcollecttransferpaymentmethod.rb +40 -0
  14. data/lib/moov/models/components/achdebitcollecttransferpaymentmethod.rbi +17 -0
  15. data/lib/moov/models/components/achdebitcollecttransferpaymentmethod_paymentmethodtype.rb +18 -0
  16. data/lib/moov/models/components/achdebitcollecttransferpaymentmethod_paymentmethodtype.rbi +11 -0
  17. data/lib/moov/models/components/achdebitfundtransferpaymentmethod.rb +40 -0
  18. data/lib/moov/models/components/achdebitfundtransferpaymentmethod.rbi +17 -0
  19. data/lib/moov/models/components/achdebitfundtransferpaymentmethod_paymentmethodtype.rb +18 -0
  20. data/lib/moov/models/components/achdebitfundtransferpaymentmethod_paymentmethodtype.rbi +11 -0
  21. data/lib/moov/models/components/applepaytransferpaymentmethod.rb +40 -0
  22. data/lib/moov/models/components/applepaytransferpaymentmethod.rbi +17 -0
  23. data/lib/moov/models/components/applepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  24. data/lib/moov/models/components/applepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  25. data/lib/moov/models/components/cardpaymenttransferpaymentmethod.rb +40 -0
  26. data/lib/moov/models/components/cardpaymenttransferpaymentmethod.rbi +17 -0
  27. data/lib/moov/models/components/cardpaymenttransferpaymentmethod_paymentmethodtype.rb +18 -0
  28. data/lib/moov/models/components/cardpaymenttransferpaymentmethod_paymentmethodtype.rbi +11 -0
  29. data/lib/moov/models/components/cardpresentpaymenttransferpaymentmethod.rb +40 -0
  30. data/lib/moov/models/components/cardpresentpaymenttransferpaymentmethod.rbi +17 -0
  31. data/lib/moov/models/components/cardpresentpaymenttransferpaymentmethod_paymentmethodtype.rb +18 -0
  32. data/lib/moov/models/components/cardpresentpaymenttransferpaymentmethod_paymentmethodtype.rbi +11 -0
  33. data/lib/moov/models/components/moovwallettransferpaymentmethod.rb +40 -0
  34. data/lib/moov/models/components/moovwallettransferpaymentmethod.rbi +17 -0
  35. data/lib/moov/models/components/moovwallettransferpaymentmethod_paymentmethodtype.rb +18 -0
  36. data/lib/moov/models/components/moovwallettransferpaymentmethod_paymentmethodtype.rbi +11 -0
  37. data/lib/moov/models/components/pullfromcardtransferpaymentmethod.rb +40 -0
  38. data/lib/moov/models/components/pullfromcardtransferpaymentmethod.rbi +17 -0
  39. data/lib/moov/models/components/pullfromcardtransferpaymentmethod_paymentmethodtype.rb +18 -0
  40. data/lib/moov/models/components/pullfromcardtransferpaymentmethod_paymentmethodtype.rbi +11 -0
  41. data/lib/moov/models/components/pushtocardtransferpaymentmethod.rb +40 -0
  42. data/lib/moov/models/components/pushtocardtransferpaymentmethod.rbi +17 -0
  43. data/lib/moov/models/components/pushtocardtransferpaymentmethod_paymentmethodtype.rb +18 -0
  44. data/lib/moov/models/components/pushtocardtransferpaymentmethod_paymentmethodtype.rbi +11 -0
  45. data/lib/moov/models/components/rtpcredittransferpaymentmethod.rb +40 -0
  46. data/lib/moov/models/components/rtpcredittransferpaymentmethod.rbi +17 -0
  47. data/lib/moov/models/components/rtpcredittransferpaymentmethod_paymentmethodtype.rb +18 -0
  48. data/lib/moov/models/components/rtpcredittransferpaymentmethod_paymentmethodtype.rbi +11 -0
  49. data/lib/moov/models/components/transferdestination.rb +5 -5
  50. data/lib/moov/models/components/transferentrymode.rb +18 -0
  51. data/lib/moov/models/components/transferentrymode.rbi +11 -0
  52. data/lib/moov/models/components/transferoptions.rb +3 -3
  53. data/lib/moov/models/components/transferpaymentmethod.rb +27 -0
  54. data/lib/moov/models/components/transferpaymentmethod.rbi +11 -0
  55. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +70 -0
  56. data/lib/moov/models/components/transferpaymentmethodsbankaccount.rbi +31 -0
  57. data/lib/moov/models/components/transferpaymentmethodscard.rb +98 -0
  58. data/lib/moov/models/components/transferpaymentmethodscard.rbi +45 -0
  59. data/lib/moov/models/components/transferpaymentmethodswallet.rb +42 -0
  60. data/lib/moov/models/components/transferpaymentmethodswallet.rbi +17 -0
  61. data/lib/moov/models/components/transferpaymentmethodtype.rb +28 -0
  62. data/lib/moov/models/components/transferpaymentmethodtype.rbi +11 -0
  63. data/lib/moov/models/components/transfersource.rb +6 -6
  64. data/lib/moov/models/components/transferterminalcard.rb +78 -0
  65. data/lib/moov/models/components/transferterminalcard.rbi +35 -0
  66. data/lib/moov/models/components.rb +29 -0
  67. data/lib/moov/sdkconfiguration.rb +3 -3
  68. metadata +60 -2
@@ -0,0 +1,70 @@
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
+ # A bank account as contained within a payment method.
11
+ class TransferPaymentMethodsBankAccount
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :bank_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccountID'), required: true } }
17
+ # Once the bank account is linked, we don't reveal the full bank account number.
18
+ #
19
+ # The fingerprint acts as a way to identify whether two linked bank accounts are the same.
20
+ field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
21
+
22
+ field :status, Models::Components::BankAccountStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Components::BankAccountStatus, false) } }
23
+
24
+ field :holder_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderName'), required: true } }
25
+ # The type of holder on a funding source.
26
+ field :holder_type, Models::Components::BankAccountHolderType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::BankAccountHolderType, false) } }
27
+
28
+ field :bank_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankName'), required: true } }
29
+ # The bank account type.
30
+ field :bank_account_type, Models::Components::BankAccountType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccountType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::BankAccountType, false) } }
31
+
32
+ field :routing_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('routingNumber'), required: true } }
33
+
34
+ field :last_four_account_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourAccountNumber'), required: true } }
35
+
36
+ field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
37
+
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:)
40
+ @bank_account_id = bank_account_id
41
+ @fingerprint = fingerprint
42
+ @status = status
43
+ @holder_name = holder_name
44
+ @holder_type = holder_type
45
+ @bank_name = bank_name
46
+ @bank_account_type = bank_account_type
47
+ @routing_number = routing_number
48
+ @last_four_account_number = last_four_account_number
49
+ @updated_on = updated_on
50
+ end
51
+
52
+ sig { params(other: T.untyped).returns(T::Boolean) }
53
+ def ==(other)
54
+ return false unless other.is_a? self.class
55
+ return false unless @bank_account_id == other.bank_account_id
56
+ return false unless @fingerprint == other.fingerprint
57
+ return false unless @status == other.status
58
+ return false unless @holder_name == other.holder_name
59
+ return false unless @holder_type == other.holder_type
60
+ return false unless @bank_name == other.bank_name
61
+ return false unless @bank_account_type == other.bank_account_type
62
+ return false unless @routing_number == other.routing_number
63
+ return false unless @last_four_account_number == other.last_four_account_number
64
+ return false unless @updated_on == other.updated_on
65
+ true
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,31 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferPaymentMethodsBankAccount
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferPaymentMethodsBankAccount
11
+ def bank_account_id(); end
12
+ def bank_account_id=(str_); end
13
+ def fingerprint(); end
14
+ def fingerprint=(str_); end
15
+ def status(); end
16
+ def status=(str_); end
17
+ def holder_name(); end
18
+ def holder_name=(str_); end
19
+ def holder_type(); end
20
+ def holder_type=(str_); end
21
+ def bank_name(); end
22
+ def bank_name=(str_); end
23
+ def bank_account_type(); end
24
+ def bank_account_type=(str_); end
25
+ def routing_number(); end
26
+ def routing_number=(str_); end
27
+ def last_four_account_number(); end
28
+ def last_four_account_number=(str_); end
29
+ def updated_on(); end
30
+ def updated_on=(str_); end
31
+ end
@@ -0,0 +1,98 @@
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
+ # A card as contained within a payment method.
11
+ class TransferPaymentMethodsCard
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the card.
16
+ field :card_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardID'), required: true } }
17
+ # Uniquely identifies a linked payment card or token.
18
+ # For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
19
+ # This field can be used to identify specific payment methods across multiple accounts on your platform.
20
+ field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
21
+ # The card brand.
22
+ field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': Utils.enum_from_string(Models::Components::CardBrand, false) } }
23
+ # The type of the card.
24
+ field :card_type, Models::Components::CardType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::CardType, false) } }
25
+ # Last four digits of the card number
26
+ field :last_four_card_number, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber'), required: true } }
27
+ # The first six to eight digits of the card number, which identifies the financial institution that issued the card.
28
+ field :bin, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bin'), required: true } }
29
+ # The expiration date of the card or token.
30
+ field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
31
+
32
+ field :billing_address, Models::Components::CardAddress, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress'), required: true } }
33
+ # The results of submitting cardholder data to a card network for verification.
34
+ field :card_verification, Models::Components::CardVerification, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardVerification'), required: true } }
35
+ # The name of the cardholder as it appears on the card.
36
+ field :holder_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderName') } }
37
+ # Financial institution that issued the card.
38
+ field :issuer, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuer') } }
39
+ # Country where the card was issued.
40
+ field :issuer_country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuerCountry') } }
41
+ # Indicates cardholder has authorized card to be stored for future payments.
42
+ field :card_on_file, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardOnFile') } }
43
+
44
+ field :merchant_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantAccountID') } }
45
+ # The results of the most recent card update request.
46
+ field :card_account_updater, Crystalline::Nilable.new(Models::Components::CardAccountUpdater), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAccountUpdater') } }
47
+ # Indicates which level of domestic push-to-card transfer is supported by the card, if any.
48
+ field :domestic_push_to_card, Crystalline::Nilable.new(Models::Components::DomesticPushToCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPushToCard'), 'decoder': Utils.enum_from_string(Models::Components::DomesticPushToCard, true) } }
49
+ # Indicates if the card supports domestic pull-from-card transfer.
50
+ field :domestic_pull_from_card, Crystalline::Nilable.new(Models::Components::DomesticPullFromCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('domesticPullFromCard'), 'decoder': Utils.enum_from_string(Models::Components::DomesticPullFromCard, true) } }
51
+
52
+ sig { params(card_id: ::String, fingerprint: ::String, brand: Models::Components::CardBrand, card_type: Models::Components::CardType, last_four_card_number: ::String, bin: ::String, expiration: Models::Components::CardExpiration, billing_address: Models::Components::CardAddress, card_verification: Models::Components::CardVerification, holder_name: T.nilable(::String), issuer: T.nilable(::String), issuer_country: T.nilable(::String), card_on_file: T.nilable(T::Boolean), merchant_account_id: T.nilable(::String), card_account_updater: T.nilable(Models::Components::CardAccountUpdater), domestic_push_to_card: T.nilable(Models::Components::DomesticPushToCard), domestic_pull_from_card: T.nilable(Models::Components::DomesticPullFromCard)).void }
53
+ def initialize(card_id:, fingerprint:, brand:, card_type:, last_four_card_number:, bin:, expiration:, billing_address:, card_verification:, holder_name: nil, issuer: nil, issuer_country: nil, card_on_file: nil, merchant_account_id: nil, card_account_updater: nil, domestic_push_to_card: nil, domestic_pull_from_card: nil)
54
+ @card_id = card_id
55
+ @fingerprint = fingerprint
56
+ @brand = brand
57
+ @card_type = card_type
58
+ @last_four_card_number = last_four_card_number
59
+ @bin = bin
60
+ @expiration = expiration
61
+ @billing_address = billing_address
62
+ @card_verification = card_verification
63
+ @holder_name = holder_name
64
+ @issuer = issuer
65
+ @issuer_country = issuer_country
66
+ @card_on_file = card_on_file
67
+ @merchant_account_id = merchant_account_id
68
+ @card_account_updater = card_account_updater
69
+ @domestic_push_to_card = domestic_push_to_card
70
+ @domestic_pull_from_card = domestic_pull_from_card
71
+ end
72
+
73
+ sig { params(other: T.untyped).returns(T::Boolean) }
74
+ def ==(other)
75
+ return false unless other.is_a? self.class
76
+ return false unless @card_id == other.card_id
77
+ return false unless @fingerprint == other.fingerprint
78
+ return false unless @brand == other.brand
79
+ return false unless @card_type == other.card_type
80
+ return false unless @last_four_card_number == other.last_four_card_number
81
+ return false unless @bin == other.bin
82
+ return false unless @expiration == other.expiration
83
+ return false unless @billing_address == other.billing_address
84
+ return false unless @card_verification == other.card_verification
85
+ return false unless @holder_name == other.holder_name
86
+ return false unless @issuer == other.issuer
87
+ return false unless @issuer_country == other.issuer_country
88
+ return false unless @card_on_file == other.card_on_file
89
+ return false unless @merchant_account_id == other.merchant_account_id
90
+ return false unless @card_account_updater == other.card_account_updater
91
+ return false unless @domestic_push_to_card == other.domestic_push_to_card
92
+ return false unless @domestic_pull_from_card == other.domestic_pull_from_card
93
+ true
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,45 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferPaymentMethodsCard
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferPaymentMethodsCard
11
+ def card_id(); end
12
+ def card_id=(str_); end
13
+ def fingerprint(); end
14
+ def fingerprint=(str_); end
15
+ def brand(); end
16
+ def brand=(str_); end
17
+ def card_type(); end
18
+ def card_type=(str_); end
19
+ def last_four_card_number(); end
20
+ def last_four_card_number=(str_); end
21
+ def bin(); end
22
+ def bin=(str_); end
23
+ def expiration(); end
24
+ def expiration=(str_); end
25
+ def billing_address(); end
26
+ def billing_address=(str_); end
27
+ def card_verification(); end
28
+ def card_verification=(str_); end
29
+ def holder_name(); end
30
+ def holder_name=(str_); end
31
+ def issuer(); end
32
+ def issuer=(str_); end
33
+ def issuer_country(); end
34
+ def issuer_country=(str_); end
35
+ def card_on_file(); end
36
+ def card_on_file=(str_); end
37
+ def merchant_account_id(); end
38
+ def merchant_account_id=(str_); end
39
+ def card_account_updater(); end
40
+ def card_account_updater=(str_); end
41
+ def domestic_push_to_card(); end
42
+ def domestic_push_to_card=(str_); end
43
+ def domestic_pull_from_card(); end
44
+ def domestic_pull_from_card=(str_); end
45
+ end
@@ -0,0 +1,42 @@
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
+ class TransferPaymentMethodsWallet
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletID'), required: true } }
17
+
18
+ field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
19
+ # Type of a wallet.
20
+ # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
21
+ # - `general`: An additional, user-defined wallet created via API or Dashboard.
22
+ 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) } }
23
+
24
+ sig { params(wallet_id: ::String, partner_account_id: ::String, wallet_type: Models::Components::WalletType).void }
25
+ def initialize(wallet_id:, partner_account_id:, wallet_type:)
26
+ @wallet_id = wallet_id
27
+ @partner_account_id = partner_account_id
28
+ @wallet_type = wallet_type
29
+ end
30
+
31
+ sig { params(other: T.untyped).returns(T::Boolean) }
32
+ def ==(other)
33
+ return false unless other.is_a? self.class
34
+ return false unless @wallet_id == other.wallet_id
35
+ return false unless @partner_account_id == other.partner_account_id
36
+ return false unless @wallet_type == other.wallet_type
37
+ true
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferPaymentMethodsWallet
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferPaymentMethodsWallet
11
+ def wallet_id(); end
12
+ def wallet_id=(str_); end
13
+ def partner_account_id(); end
14
+ def partner_account_id=(str_); end
15
+ def wallet_type(); end
16
+ def wallet_type=(str_); end
17
+ end
@@ -0,0 +1,28 @@
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
+ # TransferPaymentMethodType - The payment method type that represents a payment rail and directionality
11
+ class TransferPaymentMethodType < T::Enum
12
+ enums do
13
+ MOOV_WALLET = new('moov-wallet')
14
+ ACH_DEBIT_FUND = new('ach-debit-fund')
15
+ ACH_DEBIT_COLLECT = new('ach-debit-collect')
16
+ ACH_CREDIT_STANDARD = new('ach-credit-standard')
17
+ ACH_CREDIT_SAME_DAY = new('ach-credit-same-day')
18
+ RTP_CREDIT = new('rtp-credit')
19
+ CARD_PAYMENT = new('card-payment')
20
+ PUSH_TO_CARD = new('push-to-card')
21
+ PULL_FROM_CARD = new('pull-from-card')
22
+ APPLE_PAY = new('apple-pay')
23
+ CARD_PRESENT_PAYMENT = new('card-present-payment')
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferPaymentMethodType
11
+ end
@@ -15,27 +15,27 @@ module Moov
15
15
 
16
16
  field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
17
17
  # The payment method type that represents a payment rail and directionality
18
- field :payment_method_type, Models::Components::PaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::PaymentMethodType, false) } }
18
+ field :payment_method_type, Models::Components::TransferPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::TransferPaymentMethodType, false) } }
19
19
 
20
20
  field :account, Models::Components::TransferAccount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('account'), required: true } }
21
21
  # String present only if the transfer is part of a transfer group.
22
22
  field :transfer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID') } }
23
23
  # A bank account as contained within a payment method.
24
- field :bank_account, Crystalline::Nilable.new(Models::Components::PaymentMethodsBankAccount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccount') } }
24
+ field :bank_account, Crystalline::Nilable.new(Models::Components::TransferPaymentMethodsBankAccount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bankAccount') } }
25
25
 
26
- field :wallet, Crystalline::Nilable.new(Models::Components::PaymentMethodsWallet), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wallet') } }
26
+ field :wallet, Crystalline::Nilable.new(Models::Components::TransferPaymentMethodsWallet), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wallet') } }
27
27
  # A card as contained within a payment method.
28
- field :card, Crystalline::Nilable.new(Models::Components::PaymentMethodsCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('card') } }
28
+ field :card, Crystalline::Nilable.new(Models::Components::TransferPaymentMethodsCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('card') } }
29
29
  # Describes an Apple Pay token on a Moov account.
30
30
  field :apple_pay, Crystalline::Nilable.new(Models::Components::ApplePayResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applePay') } }
31
31
  # Describes payment card details captured with tap or in-person payment.
32
- field :terminal_card, Crystalline::Nilable.new(Models::Components::TerminalCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('terminalCard') } }
32
+ field :terminal_card, Crystalline::Nilable.new(Models::Components::TransferTerminalCard), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('terminalCard') } }
33
33
  # Card-specific details about the transaction.
34
34
  field :card_details, Crystalline::Nilable.new(Models::Components::CardTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
35
35
  # ACH specific details about the transaction.
36
36
  field :ach_details, Crystalline::Nilable.new(Models::Components::ACHTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('achDetails') } }
37
37
 
38
- sig { params(payment_method_id: ::String, payment_method_type: Models::Components::PaymentMethodType, account: Models::Components::TransferAccount, transfer_id: T.nilable(::String), bank_account: T.nilable(Models::Components::PaymentMethodsBankAccount), wallet: T.nilable(Models::Components::PaymentMethodsWallet), card: T.nilable(Models::Components::PaymentMethodsCard), apple_pay: T.nilable(Models::Components::ApplePayResponse), terminal_card: T.nilable(Models::Components::TerminalCard), card_details: T.nilable(Models::Components::CardTransactionDetails), ach_details: T.nilable(Models::Components::ACHTransactionDetails)).void }
38
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, transfer_id: T.nilable(::String), bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), apple_pay: T.nilable(Models::Components::ApplePayResponse), terminal_card: T.nilable(Models::Components::TransferTerminalCard), card_details: T.nilable(Models::Components::CardTransactionDetails), ach_details: T.nilable(Models::Components::ACHTransactionDetails)).void }
39
39
  def initialize(payment_method_id:, payment_method_type:, account:, transfer_id: nil, bank_account: nil, wallet: nil, card: nil, apple_pay: nil, terminal_card: nil, card_details: nil, ach_details: nil)
40
40
  @payment_method_id = payment_method_id
41
41
  @payment_method_type = payment_method_type
@@ -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
+ # Describes payment card details captured with tap or in-person payment.
11
+ class TransferTerminalCard
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # How the card information was entered into the point of sale terminal.
16
+ field :entry_mode, Crystalline::Nilable.new(Models::Components::TransferEntryMode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('entryMode'), 'decoder': Utils.enum_from_string(Models::Components::TransferEntryMode, true) } }
17
+ # The card brand.
18
+ field :brand, Crystalline::Nilable.new(Models::Components::CardBrand), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), 'decoder': Utils.enum_from_string(Models::Components::CardBrand, true) } }
19
+
20
+ field :bin, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bin') } }
21
+ # The type of the card.
22
+ field :card_type, Crystalline::Nilable.new(Models::Components::CardType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardType'), 'decoder': Utils.enum_from_string(Models::Components::CardType, true) } }
23
+ # The expiration date of the card or token.
24
+ field :expiration, Crystalline::Nilable.new(Models::Components::CardExpiration), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration') } }
25
+ # Uniquely identifies a linked payment card or token.
26
+ # For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
27
+ # This field can be used to identify specific payment methods across multiple accounts on your platform.
28
+ field :fingerprint, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint') } }
29
+ # The name of the cardholder as it appears on the card.
30
+ field :holder_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderName') } }
31
+ # Financial institution that issued the card.
32
+ field :issuer, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuer') } }
33
+ # Country where the card was issued.
34
+ field :issuer_country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuerCountry') } }
35
+ # Last four digits of the card number
36
+ field :last_four_card_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber') } }
37
+ # Identifier for the point of sale terminal application.
38
+ field :application_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applicationID') } }
39
+ # Name label for the point of sale terminal application.
40
+ field :application_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applicationName') } }
41
+
42
+ sig { params(entry_mode: T.nilable(Models::Components::TransferEntryMode), brand: T.nilable(Models::Components::CardBrand), bin: T.nilable(::String), card_type: T.nilable(Models::Components::CardType), expiration: T.nilable(Models::Components::CardExpiration), fingerprint: T.nilable(::String), holder_name: T.nilable(::String), issuer: T.nilable(::String), issuer_country: T.nilable(::String), last_four_card_number: T.nilable(::String), application_id: T.nilable(::String), application_name: T.nilable(::String)).void }
43
+ def initialize(entry_mode: nil, brand: nil, bin: nil, card_type: nil, expiration: nil, fingerprint: nil, holder_name: nil, issuer: nil, issuer_country: nil, last_four_card_number: nil, application_id: nil, application_name: nil)
44
+ @entry_mode = entry_mode
45
+ @brand = brand
46
+ @bin = bin
47
+ @card_type = card_type
48
+ @expiration = expiration
49
+ @fingerprint = fingerprint
50
+ @holder_name = holder_name
51
+ @issuer = issuer
52
+ @issuer_country = issuer_country
53
+ @last_four_card_number = last_four_card_number
54
+ @application_id = application_id
55
+ @application_name = application_name
56
+ end
57
+
58
+ sig { params(other: T.untyped).returns(T::Boolean) }
59
+ def ==(other)
60
+ return false unless other.is_a? self.class
61
+ return false unless @entry_mode == other.entry_mode
62
+ return false unless @brand == other.brand
63
+ return false unless @bin == other.bin
64
+ return false unless @card_type == other.card_type
65
+ return false unless @expiration == other.expiration
66
+ return false unless @fingerprint == other.fingerprint
67
+ return false unless @holder_name == other.holder_name
68
+ return false unless @issuer == other.issuer
69
+ return false unless @issuer_country == other.issuer_country
70
+ return false unless @last_four_card_number == other.last_four_card_number
71
+ return false unless @application_id == other.application_id
72
+ return false unless @application_name == other.application_name
73
+ true
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,35 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferTerminalCard
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferTerminalCard
11
+ def entry_mode(); end
12
+ def entry_mode=(str_); end
13
+ def brand(); end
14
+ def brand=(str_); end
15
+ def bin(); end
16
+ def bin=(str_); end
17
+ def card_type(); end
18
+ def card_type=(str_); end
19
+ def expiration(); end
20
+ def expiration=(str_); end
21
+ def fingerprint(); end
22
+ def fingerprint=(str_); end
23
+ def holder_name(); end
24
+ def holder_name=(str_); end
25
+ def issuer(); end
26
+ def issuer=(str_); end
27
+ def issuer_country(); end
28
+ def issuer_country=(str_); end
29
+ def last_four_card_number(); end
30
+ def last_four_card_number=(str_); end
31
+ def application_id(); end
32
+ def application_id=(str_); end
33
+ def application_name(); end
34
+ def application_name=(str_); end
35
+ end
@@ -25,12 +25,20 @@ module Moov
25
25
  autoload :AccountVerificationStatus, 'moov/models/components/accountverificationstatus.rb'
26
26
  autoload :AchCreditSameDayPaymentMethod, 'moov/models/components/achcreditsamedaypaymentmethod.rb'
27
27
  autoload :AchCreditSameDayPaymentMethodPaymentMethodType, 'moov/models/components/achcreditsamedaypaymentmethod_paymentmethodtype.rb'
28
+ autoload :AchCreditSameDayTransferPaymentMethod, 'moov/models/components/achcreditsamedaytransferpaymentmethod.rb'
29
+ autoload :AchCreditSameDayTransferPaymentMethodPaymentMethodType, 'moov/models/components/achcreditsamedaytransferpaymentmethod_paymentmethodtype.rb'
28
30
  autoload :AchCreditStandardPaymentMethod, 'moov/models/components/achcreditstandardpaymentmethod.rb'
29
31
  autoload :AchCreditStandardPaymentMethodPaymentMethodType, 'moov/models/components/achcreditstandardpaymentmethod_paymentmethodtype.rb'
32
+ autoload :AchCreditStandardTransferPaymentMethod, 'moov/models/components/achcreditstandardtransferpaymentmethod.rb'
33
+ autoload :AchCreditStandardTransferPaymentMethodPaymentMethodType, 'moov/models/components/achcreditstandardtransferpaymentmethod_paymentmethodtype.rb'
30
34
  autoload :AchDebitCollectPaymentMethod, 'moov/models/components/achdebitcollectpaymentmethod.rb'
31
35
  autoload :AchDebitCollectPaymentMethodPaymentMethodType, 'moov/models/components/achdebitcollectpaymentmethod_paymentmethodtype.rb'
36
+ autoload :AchDebitCollectTransferPaymentMethod, 'moov/models/components/achdebitcollecttransferpaymentmethod.rb'
37
+ autoload :AchDebitCollectTransferPaymentMethodPaymentMethodType, 'moov/models/components/achdebitcollecttransferpaymentmethod_paymentmethodtype.rb'
32
38
  autoload :AchDebitFundPaymentMethod, 'moov/models/components/achdebitfundpaymentmethod.rb'
33
39
  autoload :AchDebitFundPaymentMethodPaymentMethodType, 'moov/models/components/achdebitfundpaymentmethod_paymentmethodtype.rb'
40
+ autoload :AchDebitFundTransferPaymentMethod, 'moov/models/components/achdebitfundtransferpaymentmethod.rb'
41
+ autoload :AchDebitFundTransferPaymentMethodPaymentMethodType, 'moov/models/components/achdebitfundtransferpaymentmethod_paymentmethodtype.rb'
34
42
  autoload :AchLocation, 'moov/models/components/achlocation.rb'
35
43
  autoload :AchParticipant, 'moov/models/components/achparticipant.rb'
36
44
  autoload :AddCapabilities, 'moov/models/components/addcapabilities.rb'
@@ -50,6 +58,8 @@ module Moov
50
58
  autoload :ApplePayPaymentMethod, 'moov/models/components/applepaypaymentmethod.rb'
51
59
  autoload :ApplePayPaymentMethodPaymentMethodType, 'moov/models/components/applepaypaymentmethod_paymentmethodtype.rb'
52
60
  autoload :ApplePayResponse, 'moov/models/components/applepayresponse.rb'
61
+ autoload :ApplePayTransferPaymentMethod, 'moov/models/components/applepaytransferpaymentmethod.rb'
62
+ autoload :ApplePayTransferPaymentMethodPaymentMethodType, 'moov/models/components/applepaytransferpaymentmethod_paymentmethodtype.rb'
53
63
  autoload :ApplicationScope, 'moov/models/components/applicationscope.rb'
54
64
  autoload :AssignProductImage, 'moov/models/components/assignproductimage.rb'
55
65
  autoload :AssignProductImageValidationError, 'moov/models/components/assignproductimagevalidationerror.rb'
@@ -115,8 +125,12 @@ module Moov
115
125
  autoload :CardPaymentPaymentMethod, 'moov/models/components/cardpaymentpaymentmethod.rb'
116
126
  autoload :CardPaymentPaymentMethodPaymentMethodType, 'moov/models/components/cardpaymentpaymentmethod_paymentmethodtype.rb'
117
127
  autoload :CardPaymentSettings, 'moov/models/components/cardpaymentsettings.rb'
128
+ autoload :CardPaymentTransferPaymentMethod, 'moov/models/components/cardpaymenttransferpaymentmethod.rb'
129
+ autoload :CardPaymentTransferPaymentMethodPaymentMethodType, 'moov/models/components/cardpaymenttransferpaymentmethod_paymentmethodtype.rb'
118
130
  autoload :CardPresentPaymentPaymentMethod, 'moov/models/components/cardpresentpaymentpaymentmethod.rb'
119
131
  autoload :CardPresentPaymentPaymentMethodPaymentMethodType, 'moov/models/components/cardpresentpaymentpaymentmethod_paymentmethodtype.rb'
132
+ autoload :CardPresentPaymentTransferPaymentMethod, 'moov/models/components/cardpresentpaymenttransferpaymentmethod.rb'
133
+ autoload :CardPresentPaymentTransferPaymentMethodPaymentMethodType, 'moov/models/components/cardpresentpaymenttransferpaymentmethod_paymentmethodtype.rb'
120
134
  autoload :CardTransactionDetails, 'moov/models/components/cardtransactiondetails.rb'
121
135
  autoload :CardTransactionFailureCode, 'moov/models/components/cardtransactionfailurecode.rb'
122
136
  autoload :CardTransactionStatus, 'moov/models/components/cardtransactionstatus.rb'
@@ -297,6 +311,8 @@ module Moov
297
311
  autoload :MoovFeeDetails, 'moov/models/components/moovfeedetails.rb'
298
312
  autoload :MoovWalletPaymentMethod, 'moov/models/components/moovwalletpaymentmethod.rb'
299
313
  autoload :MoovWalletPaymentMethodPaymentMethodType, 'moov/models/components/moovwalletpaymentmethod_paymentmethodtype.rb'
314
+ autoload :MoovWalletTransferPaymentMethod, 'moov/models/components/moovwallettransferpaymentmethod.rb'
315
+ autoload :MoovWalletTransferPaymentMethodPaymentMethodType, 'moov/models/components/moovwallettransferpaymentmethod_paymentmethodtype.rb'
300
316
  autoload :MxPayload, 'moov/models/components/mxpayload.rb'
301
317
  autoload :Occurrence, 'moov/models/components/occurrence.rb'
302
318
  autoload :OccurrenceStatus, 'moov/models/components/occurrencestatus.rb'
@@ -359,8 +375,12 @@ module Moov
359
375
  autoload :Profile, 'moov/models/components/profile.rb'
360
376
  autoload :PullFromCardPaymentMethod, 'moov/models/components/pullfromcardpaymentmethod.rb'
361
377
  autoload :PullFromCardPaymentMethodPaymentMethodType, 'moov/models/components/pullfromcardpaymentmethod_paymentmethodtype.rb'
378
+ autoload :PullFromCardTransferPaymentMethod, 'moov/models/components/pullfromcardtransferpaymentmethod.rb'
379
+ autoload :PullFromCardTransferPaymentMethodPaymentMethodType, 'moov/models/components/pullfromcardtransferpaymentmethod_paymentmethodtype.rb'
362
380
  autoload :PushToCardPaymentMethod, 'moov/models/components/pushtocardpaymentmethod.rb'
363
381
  autoload :PushToCardPaymentMethodPaymentMethodType, 'moov/models/components/pushtocardpaymentmethod_paymentmethodtype.rb'
382
+ autoload :PushToCardTransferPaymentMethod, 'moov/models/components/pushtocardtransferpaymentmethod.rb'
383
+ autoload :PushToCardTransferPaymentMethodPaymentMethodType, 'moov/models/components/pushtocardtransferpaymentmethod_paymentmethodtype.rb'
364
384
  autoload :QRCode, 'moov/models/components/qrcode.rb'
365
385
  autoload :RTPFailureCode, 'moov/models/components/rtpfailurecode.rb'
366
386
  autoload :RTPInstitution, 'moov/models/components/rtpinstitution.rb'
@@ -393,6 +413,8 @@ module Moov
393
413
  autoload :RevokeTokenRequest, 'moov/models/components/revoketokenrequest.rb'
394
414
  autoload :RtpCreditPaymentMethod, 'moov/models/components/rtpcreditpaymentmethod.rb'
395
415
  autoload :RtpCreditPaymentMethodPaymentMethodType, 'moov/models/components/rtpcreditpaymentmethod_paymentmethodtype.rb'
416
+ autoload :RtpCreditTransferPaymentMethod, 'moov/models/components/rtpcredittransferpaymentmethod.rb'
417
+ autoload :RtpCreditTransferPaymentMethodPaymentMethodType, 'moov/models/components/rtpcredittransferpaymentmethod_paymentmethodtype.rb'
396
418
  autoload :RunTransfer, 'moov/models/components/runtransfer.rb'
397
419
  autoload :SECCode, 'moov/models/components/seccode.rb'
398
420
  autoload :ScheduleListResponse, 'moov/models/components/schedulelistresponse.rb'
@@ -436,6 +458,7 @@ module Moov
436
458
  autoload :TransferACHAddendaRecord, 'moov/models/components/transferachaddendarecord.rb'
437
459
  autoload :TransferAccount, 'moov/models/components/transferaccount.rb'
438
460
  autoload :TransferDestination, 'moov/models/components/transferdestination.rb'
461
+ autoload :TransferEntryMode, 'moov/models/components/transferentrymode.rb'
439
462
  autoload :TransferFailureReason, 'moov/models/components/transferfailurereason.rb'
440
463
  autoload :TransferLineItem, 'moov/models/components/transferlineitem.rb'
441
464
  autoload :TransferLineItemImageMetadata, 'moov/models/components/transferlineitemimagemetadata.rb'
@@ -443,8 +466,14 @@ module Moov
443
466
  autoload :TransferLineItems, 'moov/models/components/transferlineitems.rb'
444
467
  autoload :TransferOptions, 'moov/models/components/transferoptions.rb'
445
468
  autoload :TransferParty, 'moov/models/components/transferparty.rb'
469
+ autoload :TransferPaymentMethod, 'moov/models/components/transferpaymentmethod.rb'
470
+ autoload :TransferPaymentMethodType, 'moov/models/components/transferpaymentmethodtype.rb'
471
+ autoload :TransferPaymentMethodsBankAccount, 'moov/models/components/transferpaymentmethodsbankaccount.rb'
472
+ autoload :TransferPaymentMethodsCard, 'moov/models/components/transferpaymentmethodscard.rb'
473
+ autoload :TransferPaymentMethodsWallet, 'moov/models/components/transferpaymentmethodswallet.rb'
446
474
  autoload :TransferSource, 'moov/models/components/transfersource.rb'
447
475
  autoload :TransferStatus, 'moov/models/components/transferstatus.rb'
476
+ autoload :TransferTerminalCard, 'moov/models/components/transferterminalcard.rb'
448
477
  autoload :TransferWaitFor, 'moov/models/components/transferwaitfor.rb'
449
478
  autoload :Underwriting, 'moov/models/components/underwriting.rb'
450
479
  autoload :UnderwritingStatus, 'moov/models/components/underwritingstatus.rb'
@@ -95,9 +95,9 @@ module Moov
95
95
  @globals = globals.nil? ? {} : globals
96
96
  @language = 'ruby'
97
97
  @openapi_doc_version = 'v2025.04.00'
98
- @sdk_version = '25.4.4'
99
- @gen_version = '2.821.8'
100
- @user_agent = 'speakeasy-sdk/ruby 25.4.4 2.821.8 v2025.04.00 moov_ruby'
98
+ @sdk_version = '25.4.6'
99
+ @gen_version = '2.824.1'
100
+ @user_agent = 'speakeasy-sdk/ruby 25.4.6 2.824.1 v2025.04.00 moov_ruby'
101
101
  end
102
102
 
103
103
  sig { returns([String, T::Hash[Symbol, String]]) }