moov_ruby 0.0.0.pre.dev.11 → 0.0.0.pre.dev.13

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 (116) 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/client.rb +2 -1
  5. data/lib/moov/google_pay.rb +210 -0
  6. data/lib/moov/models/components/batchgettransfersrequest.rb +32 -0
  7. data/lib/moov/models/components/batchgettransfersrequest.rbi +13 -0
  8. data/lib/moov/models/components/cardpayouttype.rb +18 -0
  9. data/lib/moov/models/components/cardpayouttype.rbi +11 -0
  10. data/lib/moov/models/components/createdtransfer.rb +6 -2
  11. data/lib/moov/models/components/createdtransfer.rbi +2 -0
  12. data/lib/moov/models/components/createtransferdestinationcard.rb +6 -2
  13. data/lib/moov/models/components/createtransferdestinationcard.rbi +2 -0
  14. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +2 -0
  15. data/lib/moov/models/components/googlepayintermediatesigningkey.rb +36 -0
  16. data/lib/moov/models/components/googlepayintermediatesigningkey.rbi +15 -0
  17. data/lib/moov/models/components/googlepaypaymentmethod.rb +40 -0
  18. data/lib/moov/models/components/googlepaypaymentmethod.rbi +17 -0
  19. data/lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rb +18 -0
  20. data/lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rbi +11 -0
  21. data/lib/moov/models/components/googlepayresponse.rb +50 -0
  22. data/lib/moov/models/components/googlepayresponse.rbi +21 -0
  23. data/lib/moov/models/components/googlepaytoken.rb +47 -0
  24. data/lib/moov/models/components/googlepaytoken.rbi +19 -0
  25. data/lib/moov/models/components/googlepaytransferpaymentmethod.rb +40 -0
  26. data/lib/moov/models/components/googlepaytransferpaymentmethod.rbi +17 -0
  27. data/lib/moov/models/components/googlepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  28. data/lib/moov/models/components/googlepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  29. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +40 -0
  30. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rbi +17 -0
  31. data/lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rb +18 -0
  32. data/lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rbi +11 -0
  33. data/lib/moov/models/components/linkgooglepay.rb +38 -0
  34. data/lib/moov/models/components/linkgooglepay.rbi +13 -0
  35. data/lib/moov/models/components/paymentmethodtype.rb +5 -0
  36. data/lib/moov/models/components/pullfromapplepaypaymentmethod.rb +40 -0
  37. data/lib/moov/models/components/pullfromapplepaypaymentmethod.rbi +17 -0
  38. data/lib/moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rb +18 -0
  39. data/lib/moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rbi +11 -0
  40. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod.rb +40 -0
  41. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod.rbi +17 -0
  42. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  43. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  44. data/lib/moov/models/components/pullfromgooglepaypaymentmethod.rb +40 -0
  45. data/lib/moov/models/components/pullfromgooglepaypaymentmethod.rbi +17 -0
  46. data/lib/moov/models/components/pullfromgooglepaypaymentmethod_paymentmethodtype.rb +18 -0
  47. data/lib/moov/models/components/pullfromgooglepaypaymentmethod_paymentmethodtype.rbi +11 -0
  48. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod.rb +40 -0
  49. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod.rbi +17 -0
  50. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  51. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  52. data/lib/moov/models/components/pushtoapplepaypaymentmethod.rb +40 -0
  53. data/lib/moov/models/components/pushtoapplepaypaymentmethod.rbi +17 -0
  54. data/lib/moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rb +18 -0
  55. data/lib/moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rbi +11 -0
  56. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod.rb +40 -0
  57. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod.rbi +17 -0
  58. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  59. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  60. data/lib/moov/models/components/pushtogooglepaypaymentmethod.rb +40 -0
  61. data/lib/moov/models/components/pushtogooglepaypaymentmethod.rbi +17 -0
  62. data/lib/moov/models/components/pushtogooglepaypaymentmethod_paymentmethodtype.rb +18 -0
  63. data/lib/moov/models/components/pushtogooglepaypaymentmethod_paymentmethodtype.rbi +11 -0
  64. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod.rb +40 -0
  65. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod.rbi +17 -0
  66. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  67. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  68. data/lib/moov/models/components/resolutionlink.rb +6 -2
  69. data/lib/moov/models/components/resolutionlink.rbi +2 -0
  70. data/lib/moov/models/components/resolutionlinkstatus.rb +22 -0
  71. data/lib/moov/models/components/resolutionlinkstatus.rbi +11 -0
  72. data/lib/moov/models/components/rtpdetails.rb +58 -0
  73. data/lib/moov/models/components/rtpdetails.rbi +25 -0
  74. data/lib/moov/models/components/rtpfailurecode.rb +27 -0
  75. data/lib/moov/models/components/rtpfailurecode.rbi +11 -0
  76. data/lib/moov/models/components/rtptransactionstatus.rb +21 -0
  77. data/lib/moov/models/components/rtptransactionstatus.rbi +11 -0
  78. data/lib/moov/models/components/transfer.rb +6 -2
  79. data/lib/moov/models/components/transfer.rbi +2 -0
  80. data/lib/moov/models/components/transfercapture.rb +36 -0
  81. data/lib/moov/models/components/transfercapture.rbi +15 -0
  82. data/lib/moov/models/components/transferdestination.rb +6 -2
  83. data/lib/moov/models/components/transferdestination.rbi +2 -0
  84. data/lib/moov/models/components/transferoptions.rb +3 -3
  85. data/lib/moov/models/components/transferpaymentmethodtype.rb +5 -0
  86. data/lib/moov/models/components/webhookbillingstatementcreated.rb +6 -2
  87. data/lib/moov/models/components/webhookbillingstatementcreated.rbi +2 -0
  88. data/lib/moov/models/components.rb +33 -0
  89. data/lib/moov/models/errors/linkgooglepayerror.rb +40 -0
  90. data/lib/moov/models/errors/linkgooglepayerror.rbi +17 -0
  91. data/lib/moov/models/errors/transfer_error.rb +6 -2
  92. data/lib/moov/models/errors/transfer_error.rbi +2 -0
  93. data/lib/moov/models/errors.rb +1 -0
  94. data/lib/moov/models/operations/batchgettransfers_request.rb +36 -0
  95. data/lib/moov/models/operations/batchgettransfers_request.rbi +15 -0
  96. data/lib/moov/models/operations/batchgettransfers_response.rb +48 -0
  97. data/lib/moov/models/operations/batchgettransfers_response.rbi +21 -0
  98. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  99. data/lib/moov/models/operations/linkapplepaytoken_response.rb +5 -5
  100. data/lib/moov/models/operations/linkapplepaytoken_response.rbi +2 -2
  101. data/lib/moov/models/operations/linkgooglepaytoken_request.rb +36 -0
  102. data/lib/moov/models/operations/linkgooglepaytoken_request.rbi +15 -0
  103. data/lib/moov/models/operations/linkgooglepaytoken_response.rb +48 -0
  104. data/lib/moov/models/operations/linkgooglepaytoken_response.rbi +21 -0
  105. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  106. data/lib/moov/models/operations/listtransfers_request.rb +10 -2
  107. data/lib/moov/models/operations/listtransfers_request.rbi +4 -0
  108. data/lib/moov/models/operations/updateissuedcard_response.rb +6 -2
  109. data/lib/moov/models/operations/updateissuedcard_response.rbi +2 -0
  110. data/lib/moov/models/operations.rb +4 -0
  111. data/lib/moov/payment_methods.rb +2 -2
  112. data/lib/moov/sdkconfiguration.rb +5 -6
  113. data/lib/moov/transfers.rb +139 -0
  114. data/lib/moov/utils/security.rb +22 -11
  115. data/lib/moov_ruby.rb +1 -0
  116. metadata +79 -2
@@ -0,0 +1,50 @@
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 a Google Pay token on a Moov account.
11
+ class GooglePayResponse
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The card brand.
16
+ field :brand, Models::Components::CardBrand, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('brand'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardBrand, false) } }
17
+ # The last four digits of the underlying card number.
18
+ field :card_details, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails'), required: true } }
19
+ # Uniquely identifies a linked payment card or token.
20
+ # For Apple Pay, the fingerprint is based on the tokenized card number and may vary based on the user's device.
21
+ # This field can be used to identify specific payment methods across multiple accounts on your platform.
22
+ field :fingerprint, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fingerprint'), required: true } }
23
+ # The expiration date of the card or token.
24
+ field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
25
+ # Country where the underlying card was issued.
26
+ field :issuer_country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('issuerCountry') } }
27
+
28
+ sig { params(brand: Models::Components::CardBrand, card_details: ::String, fingerprint: ::String, expiration: Models::Components::CardExpiration, issuer_country: T.nilable(::String)).void }
29
+ def initialize(brand:, card_details:, fingerprint:, expiration:, issuer_country: nil)
30
+ @brand = brand
31
+ @card_details = card_details
32
+ @fingerprint = fingerprint
33
+ @expiration = expiration
34
+ @issuer_country = issuer_country
35
+ end
36
+
37
+ sig { params(other: T.untyped).returns(T::Boolean) }
38
+ def ==(other)
39
+ return false unless other.is_a? self.class
40
+ return false unless @brand == other.brand
41
+ return false unless @card_details == other.card_details
42
+ return false unless @fingerprint == other.fingerprint
43
+ return false unless @expiration == other.expiration
44
+ return false unless @issuer_country == other.issuer_country
45
+ true
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::GooglePayResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayResponse
11
+ def brand(); end
12
+ def brand=(str_); end
13
+ def card_details(); end
14
+ def card_details=(str_); end
15
+ def fingerprint(); end
16
+ def fingerprint=(str_); end
17
+ def expiration(); end
18
+ def expiration=(str_); end
19
+ def issuer_country(); end
20
+ def issuer_country=(str_); end
21
+ end
@@ -0,0 +1,47 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # Contains the encrypted payment token as returned from Google Pay.
11
+ #
12
+ # Refer to [Google's documentation](https://developers.google.com/pay/api/web/guides/resources/payment-data-cryptography#payment-method-token-structure)
13
+ # for more information.
14
+ class GooglePayToken
15
+ extend T::Sig
16
+ include Crystalline::MetadataFields
17
+
18
+ # The version of the encryption/signing protocol. Must be `ECv2`.
19
+ field :protocol_version, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('protocolVersion'), required: true } }
20
+ # A Base64-encoded signature of the `signedMessage`.
21
+ field :signature, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('signature'), required: true } }
22
+ # Contains the intermediate signing key for verification.
23
+ field :intermediate_signing_key, Models::Components::GooglePayIntermediateSigningKey, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('intermediateSigningKey'), required: true } }
24
+ # A JSON-encoded serialized string containing the encrypted payment data.
25
+ field :signed_message, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('signedMessage'), required: true } }
26
+
27
+ sig { params(protocol_version: ::String, signature: ::String, intermediate_signing_key: Models::Components::GooglePayIntermediateSigningKey, signed_message: ::String).void }
28
+ def initialize(protocol_version:, signature:, intermediate_signing_key:, signed_message:)
29
+ @protocol_version = protocol_version
30
+ @signature = signature
31
+ @intermediate_signing_key = intermediate_signing_key
32
+ @signed_message = signed_message
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @protocol_version == other.protocol_version
39
+ return false unless @signature == other.signature
40
+ return false unless @intermediate_signing_key == other.intermediate_signing_key
41
+ return false unless @signed_message == other.signed_message
42
+ true
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::GooglePayToken
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayToken
11
+ def protocol_version(); end
12
+ def protocol_version=(str_); end
13
+ def signature(); end
14
+ def signature=(str_); end
15
+ def intermediate_signing_key(); end
16
+ def intermediate_signing_key=(str_); end
17
+ def signed_message(); end
18
+ def signed_message=(str_); end
19
+ 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 GooglePayTransferPaymentMethod
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::GooglePayTransferPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::GooglePayTransferPaymentMethodPaymentMethodType, false) } }
19
+ # Describes a Google Pay token on a Moov account.
20
+ field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
21
+
22
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::GooglePayTransferPaymentMethodPaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
23
+ def initialize(payment_method_id:, payment_method_type:, google_pay:)
24
+ @payment_method_id = payment_method_id
25
+ @payment_method_type = payment_method_type
26
+ @google_pay = google_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 @google_pay == other.google_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::GooglePayTransferPaymentMethod
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayTransferPaymentMethod
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 google_pay(); end
16
+ def google_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 GooglePayTransferPaymentMethodPaymentMethodType < T::Enum
12
+ enums do
13
+ GOOGLE_PAY = new('google-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::GooglePayTransferPaymentMethodPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayTransferPaymentMethodPaymentMethodType
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 LinkedGooglePayPaymentMethod
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The new payment method's ID.
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::LinkedGooglePayPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::LinkedGooglePayPaymentMethodPaymentMethodType, false) } }
19
+ # Describes a Google Pay token on a Moov account.
20
+ field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
21
+
22
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::LinkedGooglePayPaymentMethodPaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
23
+ def initialize(payment_method_id:, payment_method_type:, google_pay:)
24
+ @payment_method_id = payment_method_id
25
+ @payment_method_type = payment_method_type
26
+ @google_pay = google_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 @google_pay == other.google_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::LinkedGooglePayPaymentMethod
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::LinkedGooglePayPaymentMethod
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 google_pay(); end
16
+ def google_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 LinkedGooglePayPaymentMethodPaymentMethodType < T::Enum
12
+ enums do
13
+ GOOGLE_PAY = new('google-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::LinkedGooglePayPaymentMethodPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::LinkedGooglePayPaymentMethodPaymentMethodType
11
+ end
@@ -0,0 +1,38 @@
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
+ # The encrypted Google Pay payment token (ECv2 format).
11
+ #
12
+ # Refer to [Google's documentation](https://developers.google.com/pay/api/web/guides/resources/payment-data-cryptography#payment-method-token-structure)
13
+ # for more information.
14
+ class LinkGooglePay
15
+ extend T::Sig
16
+ include Crystalline::MetadataFields
17
+
18
+ # Contains the encrypted payment token as returned from Google Pay.
19
+ #
20
+ # Refer to [Google's documentation](https://developers.google.com/pay/api/web/guides/resources/payment-data-cryptography#payment-method-token-structure)
21
+ # for more information.
22
+ field :token, Models::Components::GooglePayToken, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('token'), required: true } }
23
+
24
+ sig { params(token: Models::Components::GooglePayToken).void }
25
+ def initialize(token:)
26
+ @token = token
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 @token == other.token
33
+ true
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::LinkGooglePay
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::LinkGooglePay
11
+ def token(); end
12
+ def token=(str_); end
13
+ end
@@ -22,6 +22,11 @@ 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')
27
+ GOOGLE_PAY = new('google-pay')
28
+ PUSH_TO_GOOGLE_PAY = new('push-to-google-pay')
29
+ PULL_FROM_GOOGLE_PAY = new('pull-from-google-pay')
25
30
  end
26
31
  end
27
32
  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 PullFromGooglePayPaymentMethod
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::PullFromGooglePayPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PullFromGooglePayPaymentMethodPaymentMethodType, false) } }
19
+ # Describes a Google Pay token on a Moov account.
20
+ field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
21
+
22
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::PullFromGooglePayPaymentMethodPaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
23
+ def initialize(payment_method_id:, payment_method_type:, google_pay:)
24
+ @payment_method_id = payment_method_id
25
+ @payment_method_type = payment_method_type
26
+ @google_pay = google_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 @google_pay == other.google_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::PullFromGooglePayPaymentMethod
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PullFromGooglePayPaymentMethod
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 google_pay(); end
16
+ def google_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 PullFromGooglePayPaymentMethodPaymentMethodType < T::Enum
12
+ enums do
13
+ PULL_FROM_GOOGLE_PAY = new('pull-from-google-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::PullFromGooglePayPaymentMethodPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PullFromGooglePayPaymentMethodPaymentMethodType
11
+ end