moov_ruby 0.0.0.pre.dev.10 → 0.0.0.pre.dev.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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/apple_pay.rb +5 -5
  3. data/lib/moov/card_issuing.rb +22 -13
  4. data/lib/moov/models/components/accountnameverification.rb +4 -4
  5. data/lib/moov/models/components/batchgettransfersrequest.rb +32 -0
  6. data/lib/moov/models/components/batchgettransfersrequest.rbi +13 -0
  7. data/lib/moov/models/components/card.rb +3 -2
  8. data/lib/moov/models/components/cardaccountupdater.rb +1 -1
  9. data/lib/moov/models/components/cardaddress.rb +6 -6
  10. data/lib/moov/models/components/cardexpiration.rb +2 -2
  11. data/lib/moov/models/components/cardpayouttype.rb +18 -0
  12. data/lib/moov/models/components/cardpayouttype.rbi +11 -0
  13. data/lib/moov/models/components/cardverification.rb +6 -4
  14. data/lib/moov/models/components/cardverificationresult.rb +1 -1
  15. data/lib/moov/models/components/createtransferdestinationcard.rb +6 -2
  16. data/lib/moov/models/components/createtransferdestinationcard.rbi +2 -0
  17. data/lib/moov/models/components/linkcard.rb +10 -7
  18. data/lib/moov/models/components/paymentmethodscard.rb +3 -2
  19. data/lib/moov/models/components/paymentmethodtype.rb +2 -0
  20. data/lib/moov/models/components/pullfromapplepaypaymentmethod.rb +40 -0
  21. data/lib/moov/models/components/pullfromapplepaypaymentmethod.rbi +17 -0
  22. data/lib/moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rb +18 -0
  23. data/lib/moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rbi +11 -0
  24. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod.rb +40 -0
  25. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod.rbi +17 -0
  26. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  27. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  28. data/lib/moov/models/components/pushtoapplepaypaymentmethod.rb +40 -0
  29. data/lib/moov/models/components/pushtoapplepaypaymentmethod.rbi +17 -0
  30. data/lib/moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rb +18 -0
  31. data/lib/moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rbi +11 -0
  32. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod.rb +40 -0
  33. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod.rbi +17 -0
  34. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  35. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  36. data/lib/moov/models/components/rtpdetails.rb +58 -0
  37. data/lib/moov/models/components/rtpdetails.rbi +25 -0
  38. data/lib/moov/models/components/rtpfailurecode.rb +27 -0
  39. data/lib/moov/models/components/rtpfailurecode.rbi +11 -0
  40. data/lib/moov/models/components/rtptransactionstatus.rb +21 -0
  41. data/lib/moov/models/components/rtptransactionstatus.rbi +11 -0
  42. data/lib/moov/models/components/transferdestination.rb +6 -2
  43. data/lib/moov/models/components/transferdestination.rbi +2 -0
  44. data/lib/moov/models/components/transferoptions.rb +3 -3
  45. data/lib/moov/models/components/transferpaymentmethodscard.rb +3 -2
  46. data/lib/moov/models/components/transferpaymentmethodtype.rb +2 -0
  47. data/lib/moov/models/components/updatecard.rb +9 -6
  48. data/lib/moov/models/components/updatecardaddress.rb +6 -6
  49. data/lib/moov/models/components/updatecardexpiration.rb +2 -2
  50. data/lib/moov/models/components/webhookbillingstatementcreated.rb +6 -2
  51. data/lib/moov/models/components/webhookbillingstatementcreated.rbi +2 -0
  52. data/lib/moov/models/components.rb +13 -0
  53. data/lib/moov/models/operations/batchgettransfers_request.rb +36 -0
  54. data/lib/moov/models/operations/batchgettransfers_request.rbi +15 -0
  55. data/lib/moov/models/operations/batchgettransfers_response.rb +48 -0
  56. data/lib/moov/models/operations/batchgettransfers_response.rbi +21 -0
  57. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  58. data/lib/moov/models/operations/linkapplepaytoken_response.rb +5 -5
  59. data/lib/moov/models/operations/linkapplepaytoken_response.rbi +2 -2
  60. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  61. data/lib/moov/models/operations/updateissuedcard_response.rb +6 -2
  62. data/lib/moov/models/operations/updateissuedcard_response.rbi +2 -0
  63. data/lib/moov/models/operations.rb +2 -0
  64. data/lib/moov/payment_methods.rb +2 -2
  65. data/lib/moov/sdkconfiguration.rb +5 -6
  66. data/lib/moov/transfers.rb +139 -0
  67. data/lib/moov/utils/security.rb +22 -11
  68. metadata +32 -2
@@ -0,0 +1,18 @@
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 PushToApplePayPaymentMethodPaymentMethodType < T::Enum
12
+ enums do
13
+ PUSH_TO_APPLE_PAY = new('push-to-apple-pay')
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PushToApplePayPaymentMethodPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PushToApplePayPaymentMethodPaymentMethodType
11
+ end
@@ -0,0 +1,40 @@
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 PushToApplePayTransferPaymentMethod
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the payment method.
16
+ field :payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodID'), required: true } }
17
+
18
+ field :payment_method_type, Models::Components::PushToApplePayTransferPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PushToApplePayTransferPaymentMethodPaymentMethodType, false) } }
19
+ # Describes an Apple Pay token on a Moov account.
20
+ field :apple_pay, Models::Components::ApplePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applePay'), required: true } }
21
+
22
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::PushToApplePayTransferPaymentMethodPaymentMethodType, apple_pay: Models::Components::ApplePayResponse).void }
23
+ def initialize(payment_method_id:, payment_method_type:, apple_pay:)
24
+ @payment_method_id = payment_method_id
25
+ @payment_method_type = payment_method_type
26
+ @apple_pay = apple_pay
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @payment_method_id == other.payment_method_id
33
+ return false unless @payment_method_type == other.payment_method_type
34
+ return false unless @apple_pay == other.apple_pay
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PushToApplePayTransferPaymentMethod
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PushToApplePayTransferPaymentMethod
11
+ def payment_method_id(); end
12
+ def payment_method_id=(str_); end
13
+ def payment_method_type(); end
14
+ def payment_method_type=(str_); end
15
+ def apple_pay(); end
16
+ def apple_pay=(str_); end
17
+ end
@@ -0,0 +1,18 @@
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 PushToApplePayTransferPaymentMethodPaymentMethodType < T::Enum
12
+ enums do
13
+ PUSH_TO_APPLE_PAY = new('push-to-apple-pay')
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PushToApplePayTransferPaymentMethodPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PushToApplePayTransferPaymentMethodPaymentMethodType
11
+ end
@@ -0,0 +1,58 @@
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
+ # DEPRECATED: use `InstantBankTransactionDetails` instead (v2026.04.00 or later). RTP specific details about the transaction.
11
+ #
12
+ # @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
13
+ class RtpDetails
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # Status of a transaction within the RTP lifecycle.
18
+ field :status, Crystalline::Nilable.new(Models::Components::RTPTransactionStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RTPTransactionStatus, true) } }
19
+ # Response code returned by network on failure.
20
+ field :network_response_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('networkResponseCode') } }
21
+ # Status codes for RTP failures.
22
+ field :failure_code, Crystalline::Nilable.new(Models::Components::RTPFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::RTPFailureCode, true) } }
23
+
24
+ field :initiated_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('initiatedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
25
+
26
+ field :completed_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('completedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
27
+
28
+ field :failed_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
29
+
30
+ field :accepted_without_posting_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedWithoutPostingOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
31
+
32
+ sig { params(status: T.nilable(Models::Components::RTPTransactionStatus), network_response_code: T.nilable(::String), failure_code: T.nilable(Models::Components::RTPFailureCode), initiated_on: T.nilable(::DateTime), completed_on: T.nilable(::DateTime), failed_on: T.nilable(::DateTime), accepted_without_posting_on: T.nilable(::DateTime)).void }
33
+ def initialize(status: nil, network_response_code: nil, failure_code: nil, initiated_on: nil, completed_on: nil, failed_on: nil, accepted_without_posting_on: nil)
34
+ @status = status
35
+ @network_response_code = network_response_code
36
+ @failure_code = failure_code
37
+ @initiated_on = initiated_on
38
+ @completed_on = completed_on
39
+ @failed_on = failed_on
40
+ @accepted_without_posting_on = accepted_without_posting_on
41
+ end
42
+
43
+ sig { params(other: T.untyped).returns(T::Boolean) }
44
+ def ==(other)
45
+ return false unless other.is_a? self.class
46
+ return false unless @status == other.status
47
+ return false unless @network_response_code == other.network_response_code
48
+ return false unless @failure_code == other.failure_code
49
+ return false unless @initiated_on == other.initiated_on
50
+ return false unless @completed_on == other.completed_on
51
+ return false unless @failed_on == other.failed_on
52
+ return false unless @accepted_without_posting_on == other.accepted_without_posting_on
53
+ true
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,25 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::RtpDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::RtpDetails
11
+ def status(); end
12
+ def status=(str_); end
13
+ def network_response_code(); end
14
+ def network_response_code=(str_); end
15
+ def failure_code(); end
16
+ def failure_code=(str_); end
17
+ def initiated_on(); end
18
+ def initiated_on=(str_); end
19
+ def completed_on(); end
20
+ def completed_on=(str_); end
21
+ def failed_on(); end
22
+ def failed_on=(str_); end
23
+ def accepted_without_posting_on(); end
24
+ def accepted_without_posting_on=(str_); end
25
+ end
@@ -0,0 +1,27 @@
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
+ # RTPFailureCode - Status codes for RTP failures.
11
+ class RTPFailureCode < T::Enum
12
+ enums do
13
+ PROCESSING_ERROR = new('processing-error')
14
+ INVALID_ACCOUNT = new('invalid-account')
15
+ ACCOUNT_CLOSED = new('account-closed')
16
+ ACCOUNT_BLOCKED = new('account-blocked')
17
+ INVALID_FIELD = new('invalid-field')
18
+ TRANSACTION_NOT_SUPPORTED = new('transaction-not-supported')
19
+ LIMIT_EXCEEDED = new('limit-exceeded')
20
+ INVALID_AMOUNT = new('invalid-amount')
21
+ CUSTOMER_DECEASED = new('customer-deceased')
22
+ OTHER = new('other')
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::RTPFailureCode
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::RTPFailureCode
11
+ end
@@ -0,0 +1,21 @@
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
+ # RTPTransactionStatus - Status of a transaction within the RTP lifecycle.
11
+ class RTPTransactionStatus < T::Enum
12
+ enums do
13
+ INITIATED = new('initiated')
14
+ COMPLETED = new('completed')
15
+ FAILED = new('failed')
16
+ ACCEPTED_WITHOUT_POSTING = new('accepted-without-posting')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::RTPTransactionStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::RTPTransactionStatus
11
+ end
@@ -30,11 +30,13 @@ module Moov
30
30
  field :apple_pay, Crystalline::Nilable.new(Models::Components::ApplePayResponse), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('applePay') } }
31
31
  # Card-specific details about the transaction.
32
32
  field :card_details, Crystalline::Nilable.new(Models::Components::CardTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
33
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
34
+ field :rtp_details, Crystalline::Nilable.new(Models::Components::RtpDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('rtpDetails') } }
33
35
  # Instant-bank specific details about the transaction.
34
36
  field :instant_bank_details, Crystalline::Nilable.new(Models::Components::InstantBankTransactionDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBankDetails') } }
35
37
 
36
- sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), ach_details: T.nilable(Models::Components::ACHTransactionDetails), apple_pay: T.nilable(Models::Components::ApplePayResponse), card_details: T.nilable(Models::Components::CardTransactionDetails), instant_bank_details: T.nilable(Models::Components::InstantBankTransactionDetails)).void }
37
- def initialize(payment_method_id:, payment_method_type:, account:, bank_account: nil, wallet: nil, card: nil, ach_details: nil, apple_pay: nil, card_details: nil, instant_bank_details: nil)
38
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::TransferPaymentMethodType, account: Models::Components::TransferAccount, bank_account: T.nilable(Models::Components::TransferPaymentMethodsBankAccount), wallet: T.nilable(Models::Components::TransferPaymentMethodsWallet), card: T.nilable(Models::Components::TransferPaymentMethodsCard), ach_details: T.nilable(Models::Components::ACHTransactionDetails), apple_pay: T.nilable(Models::Components::ApplePayResponse), card_details: T.nilable(Models::Components::CardTransactionDetails), rtp_details: T.nilable(Models::Components::RtpDetails), instant_bank_details: T.nilable(Models::Components::InstantBankTransactionDetails)).void }
39
+ def initialize(payment_method_id:, payment_method_type:, account:, bank_account: nil, wallet: nil, card: nil, ach_details: nil, apple_pay: nil, card_details: nil, rtp_details: nil, instant_bank_details: nil)
38
40
  @payment_method_id = payment_method_id
39
41
  @payment_method_type = payment_method_type
40
42
  @account = account
@@ -44,6 +46,7 @@ module Moov
44
46
  @ach_details = ach_details
45
47
  @apple_pay = apple_pay
46
48
  @card_details = card_details
49
+ @rtp_details = rtp_details
47
50
  @instant_bank_details = instant_bank_details
48
51
  end
49
52
 
@@ -59,6 +62,7 @@ module Moov
59
62
  return false unless @ach_details == other.ach_details
60
63
  return false unless @apple_pay == other.apple_pay
61
64
  return false unless @card_details == other.card_details
65
+ return false unless @rtp_details == other.rtp_details
62
66
  return false unless @instant_bank_details == other.instant_bank_details
63
67
  true
64
68
  end
@@ -26,6 +26,8 @@ class Moov::Models::Components::TransferDestination
26
26
  def apple_pay=(str_); end
27
27
  def card_details(); end
28
28
  def card_details=(str_); end
29
+ def rtp_details(); end
30
+ def rtp_details=(str_); end
29
31
  def instant_bank_details(); end
30
32
  def instant_bank_details=(str_); end
31
33
  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))), { '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))), { '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))), { '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))), { '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)]), 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)])).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)]), 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)])).void }
21
21
  def initialize(source_options: nil, destination_options: nil)
22
22
  @source_options = source_options
23
23
  @destination_options = destination_options
@@ -28,7 +28,7 @@ module Moov
28
28
  field :bin, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('bin'), required: true } }
29
29
  # The expiration date of the card or token.
30
30
  field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
31
-
31
+ # The billing address associated with the card.
32
32
  field :billing_address, Models::Components::CardAddress, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress'), required: true } }
33
33
  # The results of submitting cardholder data to a card network for verification.
34
34
  field :card_verification, Models::Components::CardVerification, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardVerification'), required: true } }
@@ -40,7 +40,8 @@ module Moov
40
40
  field :issuer_country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuerCountry') } }
41
41
  # Indicates cardholder has authorized card to be stored for future payments.
42
42
  field :card_on_file, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardOnFile') } }
43
-
43
+ # Merchant account whose details (statement descriptor, address, etc.) are used for the card verification authorization.
44
+ # If omitted, the partner account's details are used instead.
44
45
  field :merchant_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantAccountID') } }
45
46
  # The results of the most recent card update request.
46
47
  field :card_account_updater, Crystalline::Nilable.new(Models::Components::CardAccountUpdater), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardAccountUpdater') } }
@@ -22,6 +22,8 @@ module Moov
22
22
  APPLE_PAY = new('apple-pay')
23
23
  CARD_PRESENT_PAYMENT = new('card-present-payment')
24
24
  INSTANT_BANK_CREDIT = new('instant-bank-credit')
25
+ PUSH_TO_APPLE_PAY = new('push-to-apple-pay')
26
+ PULL_FROM_APPLE_PAY = new('pull-from-apple-pay')
25
27
  end
26
28
  end
27
29
  end
@@ -16,19 +16,22 @@ module Moov
16
16
  # This token is encrypted using the public key from /end-to-end-keys and wraps an AES key. For details and examples, refer to our
17
17
  # [GitHub repository](https://github.com/moovfinancial/moov-go/blob/main/examples/e2ee/e2ee_test.go).
18
18
  field :e2ee, Crystalline::Nilable.new(Models::Components::E2EETokenUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('e2ee') } }
19
-
19
+ # Updated billing address to store on file for the card.
20
20
  field :billing_address, Crystalline::Nilable.new(Models::Components::UpdateCardAddress), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
21
21
 
22
22
  field :expiration, Crystalline::Nilable.new(Models::Components::UpdateCardExpiration), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration') } }
23
-
23
+ # The card's 3- or 4-digit card verification value. Providing this triggers a new $0 verification authorization, which performs both CVV and address verification.
24
24
  field :card_cvv, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardCvv') } }
25
-
25
+ # Indicates cardholder has authorized card to be stored for future payments (e.g., recurring payments).
26
+ # If true and no `merchantAccountID` is provided, the partner account's ID is automatically used as the merchant account for verification.
26
27
  field :card_on_file, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardOnFile') } }
27
-
28
+ # Merchant account whose details (statement descriptor, address, etc.) are used for the card verification authorization.
29
+ # If omitted, the partner account's details are used instead.
28
30
  field :merchant_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantAccountID') } }
29
-
31
+ # If true, submits the cardholder's name to the card network for verification as part of the $0 authorization.
32
+ # Only supported for Visa and Mastercard; requesting name verification for American Express or Discover will return an error.
30
33
  field :verify_name, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('verifyName') } }
31
-
34
+ # Updated name of the cardholder as it appears on the card.
32
35
  field :holder_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('holderName') } }
33
36
 
34
37
  sig { params(e2ee: T.nilable(Models::Components::E2EETokenUpdate), billing_address: T.nilable(Models::Components::UpdateCardAddress), expiration: T.nilable(Models::Components::UpdateCardExpiration), card_cvv: T.nilable(::String), card_on_file: T.nilable(T::Boolean), merchant_account_id: T.nilable(::String), verify_name: T.nilable(T::Boolean), holder_name: T.nilable(::String)).void }
@@ -12,17 +12,17 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
-
15
+ # Street address line 1.
16
16
  field :address_line1, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addressLine1') } }
17
-
17
+ # Street address line 2 (e.g., apartment or suite number).
18
18
  field :address_line2, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('addressLine2') } }
19
-
19
+ # City name.
20
20
  field :city, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('city') } }
21
-
21
+ # Two-letter state or province code.
22
22
  field :state_or_province, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('stateOrProvince') } }
23
-
23
+ # Postal or ZIP code.
24
24
  field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('postalCode') } }
25
-
25
+ # Two-letter ISO 3166-1 country code.
26
26
  field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('country') } }
27
27
 
28
28
  sig { params(address_line1: T.nilable(::String), address_line2: T.nilable(::String), city: T.nilable(::String), state_or_province: T.nilable(::String), postal_code: T.nilable(::String), country: T.nilable(::String)).void }
@@ -12,9 +12,9 @@ module Moov
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
-
15
+ # Two-digit month the card expires.
16
16
  field :month, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('month') } }
17
-
17
+ # Two-digit year the card expires.
18
18
  field :year, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('year') } }
19
19
 
20
20
  sig { params(month: T.nilable(::String), year: T.nilable(::String)).void }
@@ -13,16 +13,20 @@ module Moov
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
 
16
+ field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
17
+
16
18
  field :statement_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statementID'), required: true } }
17
19
 
18
- sig { params(statement_id: ::String).void }
19
- def initialize(statement_id:)
20
+ sig { params(account_id: ::String, statement_id: ::String).void }
21
+ def initialize(account_id:, statement_id:)
22
+ @account_id = account_id
20
23
  @statement_id = statement_id
21
24
  end
22
25
 
23
26
  sig { params(other: T.untyped).returns(T::Boolean) }
24
27
  def ==(other)
25
28
  return false unless other.is_a? self.class
29
+ return false unless @account_id == other.account_id
26
30
  return false unless @statement_id == other.statement_id
27
31
  true
28
32
  end
@@ -8,6 +8,8 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Components::WebhookBillingStatementCreated
11
+ def account_id(); end
12
+ def account_id=(str_); end
11
13
  def statement_id(); end
12
14
  def statement_id=(str_); end
13
15
  end
@@ -83,6 +83,7 @@ module Moov
83
83
  autoload :BankAccountVerificationStatus, 'moov/models/components/bankaccountverificationstatus.rb'
84
84
  autoload :BankAccountWaitFor, 'moov/models/components/bankaccountwaitfor.rb'
85
85
  autoload :BasicPaymentMethod, 'moov/models/components/basicpaymentmethod.rb'
86
+ autoload :BatchGetTransfersRequest, 'moov/models/components/batchgettransfersrequest.rb'
86
87
  autoload :BillableFee, 'moov/models/components/billablefee.rb'
87
88
  autoload :BillingCountAndAmount, 'moov/models/components/billingcountandamount.rb'
88
89
  autoload :BillingInterchangeProgramFee, 'moov/models/components/billinginterchangeprogramfee.rb'
@@ -131,6 +132,7 @@ module Moov
131
132
  autoload :CardPaymentSettings, 'moov/models/components/cardpaymentsettings.rb'
132
133
  autoload :CardPaymentTransferPaymentMethod, 'moov/models/components/cardpaymenttransferpaymentmethod.rb'
133
134
  autoload :CardPaymentTransferPaymentMethodPaymentMethodType, 'moov/models/components/cardpaymenttransferpaymentmethod_paymentmethodtype.rb'
135
+ autoload :CardPayoutType, 'moov/models/components/cardpayouttype.rb'
134
136
  autoload :CardPresentPaymentPaymentMethod, 'moov/models/components/cardpresentpaymentpaymentmethod.rb'
135
137
  autoload :CardPresentPaymentPaymentMethodPaymentMethodType, 'moov/models/components/cardpresentpaymentpaymentmethod_paymentmethodtype.rb'
136
138
  autoload :CardPresentPaymentTransferPaymentMethod, 'moov/models/components/cardpresentpaymenttransferpaymentmethod.rb'
@@ -433,18 +435,28 @@ module Moov
433
435
  autoload :ProductOptionValidationError, 'moov/models/components/productoptionvalidationerror.rb'
434
436
  autoload :ProductRequest, 'moov/models/components/productrequest.rb'
435
437
  autoload :Profile, 'moov/models/components/profile.rb'
438
+ autoload :PullFromApplePayPaymentMethod, 'moov/models/components/pullfromapplepaypaymentmethod.rb'
439
+ autoload :PullFromApplePayPaymentMethodPaymentMethodType, 'moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rb'
440
+ autoload :PullFromApplePayTransferPaymentMethod, 'moov/models/components/pullfromapplepaytransferpaymentmethod.rb'
441
+ autoload :PullFromApplePayTransferPaymentMethodPaymentMethodType, 'moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rb'
436
442
  autoload :PullFromCardPaymentMethod, 'moov/models/components/pullfromcardpaymentmethod.rb'
437
443
  autoload :PullFromCardPaymentMethodPaymentMethodType, 'moov/models/components/pullfromcardpaymentmethod_paymentmethodtype.rb'
438
444
  autoload :PullFromCardTransferPaymentMethod, 'moov/models/components/pullfromcardtransferpaymentmethod.rb'
439
445
  autoload :PullFromCardTransferPaymentMethodPaymentMethodType, 'moov/models/components/pullfromcardtransferpaymentmethod_paymentmethodtype.rb'
446
+ autoload :PushToApplePayPaymentMethod, 'moov/models/components/pushtoapplepaypaymentmethod.rb'
447
+ autoload :PushToApplePayPaymentMethodPaymentMethodType, 'moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rb'
448
+ autoload :PushToApplePayTransferPaymentMethod, 'moov/models/components/pushtoapplepaytransferpaymentmethod.rb'
449
+ autoload :PushToApplePayTransferPaymentMethodPaymentMethodType, 'moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rb'
440
450
  autoload :PushToCardPaymentMethod, 'moov/models/components/pushtocardpaymentmethod.rb'
441
451
  autoload :PushToCardPaymentMethodPaymentMethodType, 'moov/models/components/pushtocardpaymentmethod_paymentmethodtype.rb'
442
452
  autoload :PushToCardTransferPaymentMethod, 'moov/models/components/pushtocardtransferpaymentmethod.rb'
443
453
  autoload :PushToCardTransferPaymentMethodPaymentMethodType, 'moov/models/components/pushtocardtransferpaymentmethod_paymentmethodtype.rb'
444
454
  autoload :QRCode, 'moov/models/components/qrcode.rb'
455
+ autoload :RTPFailureCode, 'moov/models/components/rtpfailurecode.rb'
445
456
  autoload :RTPInstitution, 'moov/models/components/rtpinstitution.rb'
446
457
  autoload :RTPRejectionCode, 'moov/models/components/rtprejectioncode.rb'
447
458
  autoload :RTPServices, 'moov/models/components/rtpservices.rb'
459
+ autoload :RTPTransactionStatus, 'moov/models/components/rtptransactionstatus.rb'
448
460
  autoload :ReceiptKind, 'moov/models/components/receiptkind.rb'
449
461
  autoload :ReceiptRequest, 'moov/models/components/receiptrequest.rb'
450
462
  autoload :ReceiptResponse, 'moov/models/components/receiptresponse.rb'
@@ -649,6 +661,7 @@ module Moov
649
661
  autoload :OtherFees, 'moov/models/components/otherfees.rb'
650
662
  autoload :Phone, 'moov/models/components/phone.rb'
651
663
  autoload :Responsibilities, 'moov/models/components/responsibilities.rb'
664
+ autoload :RtpDetails, 'moov/models/components/rtpdetails.rb'
652
665
  autoload :Status, 'moov/models/components/status.rb'
653
666
  autoload :TokenTypeHint, 'moov/models/components/token_type_hint.rb'
654
667
  autoload :Use, 'moov/models/components/use.rb'
@@ -0,0 +1,36 @@
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 Operations
10
+
11
+ class BatchGetTransfersRequest
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
17
+
18
+ field :batch_get_transfers_request, Models::Components::BatchGetTransfersRequest, { 'request': { 'media_type': 'application/json' } }
19
+
20
+ sig { params(account_id: ::String, batch_get_transfers_request: Models::Components::BatchGetTransfersRequest).void }
21
+ def initialize(account_id:, batch_get_transfers_request:)
22
+ @account_id = account_id
23
+ @batch_get_transfers_request = batch_get_transfers_request
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @account_id == other.account_id
30
+ return false unless @batch_get_transfers_request == other.batch_get_transfers_request
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::BatchGetTransfersRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::BatchGetTransfersRequest
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def batch_get_transfers_request(); end
14
+ def batch_get_transfers_request=(str_); end
15
+ end