moov_ruby 26.4.0.pre.dev.16 → 26.4.0.pre.dev.17

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 (55) 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/batchgettransfersrequest.rb +32 -0
  5. data/lib/moov/models/components/batchgettransfersrequest.rbi +13 -0
  6. data/lib/moov/models/components/cardpayouttype.rb +18 -0
  7. data/lib/moov/models/components/cardpayouttype.rbi +11 -0
  8. data/lib/moov/models/components/createtransferdestinationcard.rb +6 -2
  9. data/lib/moov/models/components/createtransferdestinationcard.rbi +2 -0
  10. data/lib/moov/models/components/paymentmethodtype.rb +2 -0
  11. data/lib/moov/models/components/pullfromapplepaypaymentmethod.rb +40 -0
  12. data/lib/moov/models/components/pullfromapplepaypaymentmethod.rbi +17 -0
  13. data/lib/moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rb +18 -0
  14. data/lib/moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rbi +11 -0
  15. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod.rb +40 -0
  16. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod.rbi +17 -0
  17. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  18. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  19. data/lib/moov/models/components/pushtoapplepaypaymentmethod.rb +40 -0
  20. data/lib/moov/models/components/pushtoapplepaypaymentmethod.rbi +17 -0
  21. data/lib/moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rb +18 -0
  22. data/lib/moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rbi +11 -0
  23. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod.rb +40 -0
  24. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod.rbi +17 -0
  25. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  26. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  27. data/lib/moov/models/components/rtpdetails.rb +58 -0
  28. data/lib/moov/models/components/rtpdetails.rbi +25 -0
  29. data/lib/moov/models/components/rtpfailurecode.rb +27 -0
  30. data/lib/moov/models/components/rtpfailurecode.rbi +11 -0
  31. data/lib/moov/models/components/rtptransactionstatus.rb +21 -0
  32. data/lib/moov/models/components/rtptransactionstatus.rbi +11 -0
  33. data/lib/moov/models/components/transferdestination.rb +6 -2
  34. data/lib/moov/models/components/transferdestination.rbi +2 -0
  35. data/lib/moov/models/components/transferoptions.rb +3 -3
  36. data/lib/moov/models/components/transferpaymentmethodtype.rb +2 -0
  37. data/lib/moov/models/components/webhookbillingstatementcreated.rb +6 -2
  38. data/lib/moov/models/components/webhookbillingstatementcreated.rbi +2 -0
  39. data/lib/moov/models/components.rb +13 -0
  40. data/lib/moov/models/operations/batchgettransfers_request.rb +36 -0
  41. data/lib/moov/models/operations/batchgettransfers_request.rbi +15 -0
  42. data/lib/moov/models/operations/batchgettransfers_response.rb +48 -0
  43. data/lib/moov/models/operations/batchgettransfers_response.rbi +21 -0
  44. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  45. data/lib/moov/models/operations/linkapplepaytoken_response.rb +5 -5
  46. data/lib/moov/models/operations/linkapplepaytoken_response.rbi +2 -2
  47. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  48. data/lib/moov/models/operations/updateissuedcard_response.rb +6 -2
  49. data/lib/moov/models/operations/updateissuedcard_response.rbi +2 -0
  50. data/lib/moov/models/operations.rb +2 -0
  51. data/lib/moov/payment_methods.rb +2 -2
  52. data/lib/moov/sdkconfiguration.rb +3 -3
  53. data/lib/moov/transfers.rb +139 -0
  54. data/lib/moov/utils/security.rb +22 -11
  55. metadata +32 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6a66ab76ab826cddf071ee0c86e98ee1033cefadf08b71c726e995d29bfc0507
4
- data.tar.gz: bf8bc9fbf1068127a2d9615e862c94baa1c19ce08270afa9ea88f589aa1cd9c1
3
+ metadata.gz: 51eb5ba52aa21cc8f7cd117cf840a4723fe61a26f6f13999e43b2359c62f51ef
4
+ data.tar.gz: 6cb5988a81fdae7c3de38cc0990f76d06a2083c040f4a08decb413058184cebf
5
5
  SHA512:
6
- metadata.gz: c88d396ab8bf831cc8d7ec1214c1c6336f7743ca02ecf6d9dae4ac2600d1c8454f90e6780bdd7ad27e2e9aa2eaab22f6c35528e2fad5b513326fc2f71b17b35b
7
- data.tar.gz: c160d643c8859349644d68d2a42aa139d5352a4067b726b5dcc7543b56104b776f91cb1d36949f5533418161e308b4761c43e640f20c83190b353c1547ee06b5
6
+ metadata.gz: 8c7afa6df2003ae441d7397e5d3d2fcead80054d7684abddebf6639c07744aa5cdab8d05164571aa6b72e99a2fb0e3fac22386539a7c3611c9636850e20daa7e
7
+ data.tar.gz: 254c8aad541070c9a5e8c9ca15032ebf7dd652ac7272cc4775f7feffc5bd6f59d447845aa38e4e715025f830a185dce7366a3e1fbbf25e2397a30c1cd1ca0107
@@ -617,12 +617,12 @@ module Moov
617
617
 
618
618
  sig { params(link_apple_pay: Models::Components::LinkApplePay, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::LinkApplePayTokenResponse) }
619
619
  def link_token(link_apple_pay:, account_id:, timeout_ms: nil, http_headers: nil)
620
- # link_token - Connect an Apple Pay token to the specified account.
620
+ # link_token - Connect an Apple Pay token to the specified account.
621
621
  #
622
- # Read our [Apple Pay tutorial](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) to learn more.
622
+ # Read our [Apple Pay tutorial](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains) to learn more.
623
623
  # The `token` data is defined by Apple Pay and should be passed through from Apple Pay's response unmodified.
624
624
  #
625
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
625
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
626
626
  # you'll need to specify the `/accounts/{accountID}/cards.write` scope.
627
627
  request = Models::Operations::LinkApplePayTokenRequest.new(
628
628
  account_id: account_id,
@@ -725,13 +725,13 @@ module Moov
725
725
  response: http_response
726
726
  )
727
727
  response_data = http_response.env.response_body
728
- obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::LinkedApplePayPaymentMethod)
728
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Components::LinkedApplePayPaymentMethod))
729
729
  response = Models::Operations::LinkApplePayTokenResponse.new(
730
730
  status_code: http_response.status,
731
731
  content_type: content_type,
732
732
  raw_response: http_response,
733
733
  headers: http_response.headers,
734
- linked_apple_pay_payment_method: T.unsafe(obj)
734
+ linked_apple_pay_payment_methods: T.unsafe(obj)
735
735
  )
736
736
 
737
737
  return response
@@ -555,19 +555,28 @@ module Moov
555
555
  end
556
556
 
557
557
  content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
558
- if Utils.match_status_code(http_response.status, ['204'])
559
- http_response = @sdk_configuration.hooks.after_success(
560
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
561
- hook_ctx: hook_ctx
562
- ),
563
- response: http_response
564
- )
565
- return Models::Operations::UpdateIssuedCardResponse.new(
566
- status_code: http_response.status,
567
- content_type: content_type,
568
- raw_response: http_response,
569
- headers: {}
570
- )
558
+ if Utils.match_status_code(http_response.status, ['200'])
559
+ if Utils.match_content_type(content_type, 'application/json')
560
+ http_response = @sdk_configuration.hooks.after_success(
561
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
562
+ hook_ctx: hook_ctx
563
+ ),
564
+ response: http_response
565
+ )
566
+ response_data = http_response.env.response_body
567
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::IssuedCard)
568
+ response = Models::Operations::UpdateIssuedCardResponse.new(
569
+ status_code: http_response.status,
570
+ content_type: content_type,
571
+ raw_response: http_response,
572
+ headers: http_response.headers,
573
+ issued_card: T.unsafe(obj)
574
+ )
575
+
576
+ return response
577
+ else
578
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
579
+ end
571
580
  elsif Utils.match_status_code(http_response.status, ['400', '409'])
572
581
  if Utils.match_content_type(content_type, 'application/json')
573
582
  http_response = @sdk_configuration.hooks.after_success(
@@ -0,0 +1,32 @@
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
+ # Array of transfer IDs to fetch.
11
+ class BatchGetTransfersRequest
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :transfer_i_ds, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferIDs'), required: true } }
17
+
18
+ sig { params(transfer_i_ds: T::Array[::String]).void }
19
+ def initialize(transfer_i_ds:)
20
+ @transfer_i_ds = transfer_i_ds
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @transfer_i_ds == other.transfer_i_ds
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::BatchGetTransfersRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::BatchGetTransfersRequest
11
+ def transfer_i_ds(); end
12
+ def transfer_i_ds=(str_); end
13
+ 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
+ # CardPayoutType - Specifies the type of card payout for push-to-card transfers, used to determine the business application identifier (BAI) sent to the card network.
11
+ class CardPayoutType < T::Enum
12
+ enums do
13
+ LOYALTY = new('loyalty')
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::CardPayoutType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CardPayoutType
11
+ end
@@ -14,16 +14,20 @@ module Moov
14
14
 
15
15
  # An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
16
16
  field :dynamic_descriptor, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dynamicDescriptor') } }
17
+ # An optional field to specify the type of card payout, used to route the transfer with the appropriate business application identifier (BAI).
18
+ field :payout_type, Crystalline::Nilable.new(Models::Components::CardPayoutType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payoutType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardPayoutType, true) } }
17
19
 
18
- sig { params(dynamic_descriptor: T.nilable(::String)).void }
19
- def initialize(dynamic_descriptor: nil)
20
+ sig { params(dynamic_descriptor: T.nilable(::String), payout_type: T.nilable(Models::Components::CardPayoutType)).void }
21
+ def initialize(dynamic_descriptor: nil, payout_type: nil)
20
22
  @dynamic_descriptor = dynamic_descriptor
23
+ @payout_type = payout_type
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
26
29
  return false unless @dynamic_descriptor == other.dynamic_descriptor
30
+ return false unless @payout_type == other.payout_type
27
31
  true
28
32
  end
29
33
  end
@@ -10,4 +10,6 @@ end
10
10
  class Moov::Models::Components::CreateTransferDestinationCard
11
11
  def dynamic_descriptor(); end
12
12
  def dynamic_descriptor=(str_); end
13
+ def payout_type(); end
14
+ def payout_type=(str_); end
13
15
  end
@@ -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
@@ -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 PullFromApplePayPaymentMethod
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::PullFromApplePayPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PullFromApplePayPaymentMethodPaymentMethodType, 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::PullFromApplePayPaymentMethodPaymentMethodType, 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::PullFromApplePayPaymentMethod
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PullFromApplePayPaymentMethod
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 PullFromApplePayPaymentMethodPaymentMethodType < T::Enum
12
+ enums do
13
+ PULL_FROM_APPLE_PAY = new('pull-from-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::PullFromApplePayPaymentMethodPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PullFromApplePayPaymentMethodPaymentMethodType
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 PullFromApplePayTransferPaymentMethod
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::PullFromApplePayTransferPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PullFromApplePayTransferPaymentMethodPaymentMethodType, 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::PullFromApplePayTransferPaymentMethodPaymentMethodType, 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::PullFromApplePayTransferPaymentMethod
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PullFromApplePayTransferPaymentMethod
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 PullFromApplePayTransferPaymentMethodPaymentMethodType < T::Enum
12
+ enums do
13
+ PULL_FROM_APPLE_PAY = new('pull-from-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::PullFromApplePayTransferPaymentMethodPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PullFromApplePayTransferPaymentMethodPaymentMethodType
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 PushToApplePayPaymentMethod
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::PushToApplePayPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PushToApplePayPaymentMethodPaymentMethodType, 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::PushToApplePayPaymentMethodPaymentMethodType, 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::PushToApplePayPaymentMethod
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PushToApplePayPaymentMethod
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 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