moov_ruby 0.0.0.pre.dev.12 → 0.0.0.pre.dev.14

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 (175) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/client.rb +3 -1
  3. data/lib/moov/google_pay.rb +212 -0
  4. data/lib/moov/models/components/amountdecimalrange.rb +36 -0
  5. data/lib/moov/models/components/amountdecimalrange.rbi +15 -0
  6. data/lib/moov/models/components/amountdecimalrangeupdate.rb +36 -0
  7. data/lib/moov/models/components/amountdecimalrangeupdate.rbi +15 -0
  8. data/lib/moov/models/components/asynccreatedrefund.rb +6 -2
  9. data/lib/moov/models/components/asynccreatedrefund.rbi +2 -0
  10. data/lib/moov/models/components/cardacquiringrefund.rb +6 -2
  11. data/lib/moov/models/components/cardacquiringrefund.rbi +2 -0
  12. data/lib/moov/models/components/cardfundingsource.rb +21 -0
  13. data/lib/moov/models/components/cardfundingsource.rbi +11 -0
  14. data/lib/moov/models/components/cardnetwork.rb +24 -0
  15. data/lib/moov/models/components/cardnetwork.rbi +11 -0
  16. data/lib/moov/models/components/createdtransfer.rb +11 -3
  17. data/lib/moov/models/components/createdtransfer.rbi +4 -0
  18. data/lib/moov/models/components/createpaymentlink.rb +17 -8
  19. data/lib/moov/models/components/createpaymentlink.rbi +4 -2
  20. data/lib/moov/models/components/createpaymentlinkamountdetails.rb +32 -0
  21. data/lib/moov/models/components/createpaymentlinkamountdetails.rbi +13 -0
  22. data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rb +32 -0
  23. data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rbi +13 -0
  24. data/lib/moov/models/components/createrefund.rb +6 -2
  25. data/lib/moov/models/components/createrefund.rbi +2 -0
  26. data/lib/moov/models/components/createtippresets.rb +42 -0
  27. data/lib/moov/models/components/createtippresets.rbi +17 -0
  28. data/lib/moov/models/components/createtransfer.rb +7 -3
  29. data/lib/moov/models/components/createtransfer.rbi +2 -0
  30. data/lib/moov/models/components/createtransferamountdetails.rb +36 -0
  31. data/lib/moov/models/components/createtransferamountdetails.rbi +15 -0
  32. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rb +36 -0
  33. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rbi +15 -0
  34. data/lib/moov/models/components/createtransferconfig.rb +32 -0
  35. data/lib/moov/models/components/createtransferconfig.rbi +13 -0
  36. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +2 -0
  37. data/lib/moov/models/components/googlepayassurancedetails.rb +36 -0
  38. data/lib/moov/models/components/googlepayassurancedetails.rbi +15 -0
  39. data/lib/moov/models/components/googlepaybillingaddress.rb +71 -0
  40. data/lib/moov/models/components/googlepaybillingaddress.rbi +31 -0
  41. data/lib/moov/models/components/googlepaycardinfo.rb +52 -0
  42. data/lib/moov/models/components/googlepaycardinfo.rbi +21 -0
  43. data/lib/moov/models/components/googlepaypaymentmethod.rb +40 -0
  44. data/lib/moov/models/components/googlepaypaymentmethod.rbi +17 -0
  45. data/lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rb +18 -0
  46. data/lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rbi +11 -0
  47. data/lib/moov/models/components/googlepaypaymentmethoddata.rb +48 -0
  48. data/lib/moov/models/components/googlepaypaymentmethoddata.rbi +19 -0
  49. data/lib/moov/models/components/googlepaypaymentmethoddata_type.rb +18 -0
  50. data/lib/moov/models/components/googlepaypaymentmethoddata_type.rbi +11 -0
  51. data/lib/moov/models/components/googlepayresponse.rb +50 -0
  52. data/lib/moov/models/components/googlepayresponse.rbi +21 -0
  53. data/lib/moov/models/components/googlepaytokenizationdata.rb +38 -0
  54. data/lib/moov/models/components/googlepaytokenizationdata.rbi +15 -0
  55. data/lib/moov/models/components/googlepaytokenizationdata_type.rb +18 -0
  56. data/lib/moov/models/components/googlepaytokenizationdata_type.rbi +11 -0
  57. data/lib/moov/models/components/googlepaytransferpaymentmethod.rb +40 -0
  58. data/lib/moov/models/components/googlepaytransferpaymentmethod.rbi +17 -0
  59. data/lib/moov/models/components/googlepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  60. data/lib/moov/models/components/googlepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  61. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +40 -0
  62. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rbi +17 -0
  63. data/lib/moov/models/components/linkgooglepay.rb +43 -0
  64. data/lib/moov/models/components/linkgooglepay.rbi +15 -0
  65. data/lib/moov/models/components/paymentlink.rb +16 -7
  66. data/lib/moov/models/components/paymentlink.rbi +4 -2
  67. data/lib/moov/models/components/paymentlinkamountdetails.rb +32 -0
  68. data/lib/moov/models/components/paymentlinkamountdetails.rbi +13 -0
  69. data/lib/moov/models/components/paymentlinkcustomeroptions.rb +6 -2
  70. data/lib/moov/models/components/paymentlinkcustomeroptions.rbi +2 -0
  71. data/lib/moov/models/components/paymentlinkpaymentdetails.rb +14 -2
  72. data/lib/moov/models/components/paymentlinkpaymentdetails.rbi +6 -0
  73. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rb +19 -0
  74. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rbi +11 -0
  75. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rb +14 -2
  76. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rbi +6 -0
  77. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rb +19 -0
  78. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rbi +11 -0
  79. data/lib/moov/models/components/paymentmethodtype.rb +3 -0
  80. data/lib/moov/models/components/pullfromgooglepaypaymentmethod.rb +40 -0
  81. data/lib/moov/models/components/pullfromgooglepaypaymentmethod.rbi +17 -0
  82. data/lib/moov/models/components/pullfromgooglepaypaymentmethod_paymentmethodtype.rb +18 -0
  83. data/lib/moov/models/components/pullfromgooglepaypaymentmethod_paymentmethodtype.rbi +11 -0
  84. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod.rb +40 -0
  85. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod.rbi +17 -0
  86. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  87. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  88. data/lib/moov/models/components/pushtogooglepaypaymentmethod.rb +40 -0
  89. data/lib/moov/models/components/pushtogooglepaypaymentmethod.rbi +17 -0
  90. data/lib/moov/models/components/pushtogooglepaypaymentmethod_paymentmethodtype.rb +18 -0
  91. data/lib/moov/models/components/pushtogooglepaypaymentmethod_paymentmethodtype.rbi +11 -0
  92. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod.rb +40 -0
  93. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod.rbi +17 -0
  94. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  95. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  96. data/lib/moov/models/components/puttippresets.rb +42 -0
  97. data/lib/moov/models/components/puttippresets.rbi +17 -0
  98. data/lib/moov/models/components/puttransferconfig.rb +32 -0
  99. data/lib/moov/models/components/puttransferconfig.rbi +13 -0
  100. data/lib/moov/models/components/refundamountdetails.rb +32 -0
  101. data/lib/moov/models/components/refundamountdetails.rbi +13 -0
  102. data/lib/moov/models/components/refundamountdetailsvalidationerror.rb +32 -0
  103. data/lib/moov/models/components/refundamountdetailsvalidationerror.rbi +13 -0
  104. data/lib/moov/models/components/resolutionlink.rb +6 -2
  105. data/lib/moov/models/components/resolutionlink.rbi +2 -0
  106. data/lib/moov/models/components/resolutionlinkstatus.rb +22 -0
  107. data/lib/moov/models/components/resolutionlinkstatus.rbi +11 -0
  108. data/lib/moov/models/components/tipcalculationbasis.rb +21 -0
  109. data/lib/moov/models/components/tipcalculationbasis.rbi +11 -0
  110. data/lib/moov/models/components/tippresets.rb +42 -0
  111. data/lib/moov/models/components/tippresets.rbi +17 -0
  112. data/lib/moov/models/components/transfer.rb +11 -3
  113. data/lib/moov/models/components/transfer.rbi +4 -0
  114. data/lib/moov/models/components/transferamountdetails.rb +36 -0
  115. data/lib/moov/models/components/transferamountdetails.rbi +15 -0
  116. data/lib/moov/models/components/transfercapture.rb +36 -0
  117. data/lib/moov/models/components/transfercapture.rbi +15 -0
  118. data/lib/moov/models/components/transferconfig.rb +32 -0
  119. data/lib/moov/models/components/transferconfig.rbi +13 -0
  120. data/lib/moov/models/components/transferdestination.rb +6 -2
  121. data/lib/moov/models/components/transferdestination.rbi +2 -0
  122. data/lib/moov/models/components/transferoptions.rb +3 -3
  123. data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -0
  124. data/lib/moov/models/components/transfersource.rb +6 -2
  125. data/lib/moov/models/components/transfersource.rbi +2 -0
  126. data/lib/moov/models/components/updatepaymentlink.rb +6 -2
  127. data/lib/moov/models/components/updatepaymentlink.rbi +2 -0
  128. data/lib/moov/models/components/updatepaymentlinkamountdetails.rb +32 -0
  129. data/lib/moov/models/components/updatepaymentlinkamountdetails.rbi +13 -0
  130. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rb +32 -0
  131. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rbi +13 -0
  132. data/lib/moov/models/components.rb +47 -0
  133. data/lib/moov/models/errors/cardacquiringrefund_error.rb +6 -2
  134. data/lib/moov/models/errors/cardacquiringrefund_error.rbi +2 -0
  135. data/lib/moov/models/errors/createpaymentlinkerror.rb +6 -2
  136. data/lib/moov/models/errors/createpaymentlinkerror.rbi +2 -0
  137. data/lib/moov/models/errors/linkgooglepayerror.rb +44 -0
  138. data/lib/moov/models/errors/linkgooglepayerror.rbi +19 -0
  139. data/lib/moov/models/errors/refundvalidationerror.rb +6 -2
  140. data/lib/moov/models/errors/refundvalidationerror.rbi +2 -0
  141. data/lib/moov/models/errors/transfer_error.rb +11 -3
  142. data/lib/moov/models/errors/transfer_error.rbi +4 -0
  143. data/lib/moov/models/errors/transferconfigvalidationerror.rb +44 -0
  144. data/lib/moov/models/errors/transferconfigvalidationerror.rbi +19 -0
  145. data/lib/moov/models/errors/transfervalidationerror.rb +6 -2
  146. data/lib/moov/models/errors/transfervalidationerror.rbi +2 -0
  147. data/lib/moov/models/errors/updatepaymentlinkerror.rb +6 -2
  148. data/lib/moov/models/errors/updatepaymentlinkerror.rbi +2 -0
  149. data/lib/moov/models/errors.rb +2 -0
  150. data/lib/moov/models/operations/createtransferconfig_request.rb +36 -0
  151. data/lib/moov/models/operations/createtransferconfig_request.rbi +15 -0
  152. data/lib/moov/models/operations/createtransferconfig_response.rb +48 -0
  153. data/lib/moov/models/operations/createtransferconfig_response.rbi +21 -0
  154. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  155. data/lib/moov/models/operations/gettransferconfig_request.rb +32 -0
  156. data/lib/moov/models/operations/gettransferconfig_request.rbi +13 -0
  157. data/lib/moov/models/operations/gettransferconfig_response.rb +48 -0
  158. data/lib/moov/models/operations/gettransferconfig_response.rbi +21 -0
  159. data/lib/moov/models/operations/linkgooglepaytoken_request.rb +36 -0
  160. data/lib/moov/models/operations/linkgooglepaytoken_request.rbi +15 -0
  161. data/lib/moov/models/operations/linkgooglepaytoken_response.rb +48 -0
  162. data/lib/moov/models/operations/linkgooglepaytoken_response.rbi +21 -0
  163. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  164. data/lib/moov/models/operations/listtransfers_request.rb +10 -2
  165. data/lib/moov/models/operations/listtransfers_request.rbi +4 -0
  166. data/lib/moov/models/operations/updatetransferconfig_request.rb +36 -0
  167. data/lib/moov/models/operations/updatetransferconfig_request.rbi +15 -0
  168. data/lib/moov/models/operations/updatetransferconfig_response.rb +48 -0
  169. data/lib/moov/models/operations/updatetransferconfig_response.rbi +21 -0
  170. data/lib/moov/models/operations.rb +8 -0
  171. data/lib/moov/payment_methods.rb +2 -2
  172. data/lib/moov/sdkconfiguration.rb +3 -3
  173. data/lib/moov/transfer_config.rb +486 -0
  174. data/lib/moov_ruby.rb +2 -0
  175. metadata +118 -2
@@ -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 GooglePayPaymentMethod
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::GooglePayPaymentMethodPaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::GooglePayPaymentMethodPaymentMethodType, 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::GooglePayPaymentMethodPaymentMethodType, 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::GooglePayPaymentMethod
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayPaymentMethod
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 GooglePayPaymentMethodPaymentMethodType < 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::GooglePayPaymentMethodPaymentMethodType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayPaymentMethodPaymentMethodType
11
+ end
@@ -0,0 +1,48 @@
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 `paymentMethodData` object from Google Pay's
11
+ # [PaymentData](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) response.
12
+ class GooglePayPaymentMethodData
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Unencrypted card metadata from
17
+ # [CardInfo](https://developers.google.com/pay/api/web/reference/response-objects#CardInfo).
18
+ field :info, Models::Components::GooglePayCardInfo, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('info'), required: true } }
19
+ # Contains the encrypted payment token from Google Pay.
20
+ #
21
+ # The `token` field is a JSON-encoded string containing the ECv2 encrypted payment token.
22
+ field :tokenization_data, Models::Components::GooglePayTokenizationData, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tokenizationData'), required: true } }
23
+ # The type of payment method. Always `CARD`.
24
+ field :type, Crystalline::Nilable.new(Models::Components::GooglePayPaymentMethodDataType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::GooglePayPaymentMethodDataType, true) } }
25
+ # A user-facing description of the payment method.
26
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
27
+
28
+ sig { params(info: Models::Components::GooglePayCardInfo, tokenization_data: Models::Components::GooglePayTokenizationData, type: T.nilable(Models::Components::GooglePayPaymentMethodDataType), description: T.nilable(::String)).void }
29
+ def initialize(info:, tokenization_data:, type: nil, description: nil)
30
+ @info = info
31
+ @tokenization_data = tokenization_data
32
+ @type = type
33
+ @description = description
34
+ end
35
+
36
+ sig { params(other: T.untyped).returns(T::Boolean) }
37
+ def ==(other)
38
+ return false unless other.is_a? self.class
39
+ return false unless @info == other.info
40
+ return false unless @tokenization_data == other.tokenization_data
41
+ return false unless @type == other.type
42
+ return false unless @description == other.description
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::GooglePayPaymentMethodData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayPaymentMethodData
11
+ def info(); end
12
+ def info=(str_); end
13
+ def tokenization_data(); end
14
+ def tokenization_data=(str_); end
15
+ def type(); end
16
+ def type=(str_); end
17
+ def description(); end
18
+ def description=(str_); end
19
+ 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
+ # GooglePayPaymentMethodDataType - The type of payment method. Always `CARD`.
11
+ class GooglePayPaymentMethodDataType < T::Enum
12
+ enums do
13
+ CARD = new('CARD')
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::GooglePayPaymentMethodDataType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayPaymentMethodDataType
11
+ end
@@ -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,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
+ # Contains the encrypted payment token from Google Pay.
11
+ #
12
+ # The `token` field is a JSON-encoded string containing the ECv2 encrypted payment token.
13
+ class GooglePayTokenizationData
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # The tokenization type. Always `PAYMENT_GATEWAY`.
18
+ field :type, Models::Components::GooglePayTokenizationDataType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::GooglePayTokenizationDataType, false) } }
19
+ # The ECv2 encrypted payment token, as a JSON-encoded string.
20
+ field :token, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('token'), required: true } }
21
+
22
+ sig { params(type: Models::Components::GooglePayTokenizationDataType, token: ::String).void }
23
+ def initialize(type:, token:)
24
+ @type = type
25
+ @token = token
26
+ end
27
+
28
+ sig { params(other: T.untyped).returns(T::Boolean) }
29
+ def ==(other)
30
+ return false unless other.is_a? self.class
31
+ return false unless @type == other.type
32
+ return false unless @token == other.token
33
+ true
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::GooglePayTokenizationData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayTokenizationData
11
+ def type(); end
12
+ def type=(str_); end
13
+ def token(); end
14
+ def token=(str_); end
15
+ 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
+ # GooglePayTokenizationDataType - The tokenization type. Always `PAYMENT_GATEWAY`.
11
+ class GooglePayTokenizationDataType < T::Enum
12
+ enums do
13
+ PAYMENT_GATEWAY = new('PAYMENT_GATEWAY')
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::GooglePayTokenizationDataType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayTokenizationDataType
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 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
+ # The payment method type that represents a payment rail and directionality
18
+ field :payment_method_type, Models::Components::PaymentMethodType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::PaymentMethodType, 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::PaymentMethodType, 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,43 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # Links a Google Pay token to a Moov account.
11
+ #
12
+ # The `paymentMethodData` field should contain the `paymentMethodData` property from the
13
+ # [PaymentData](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) response
14
+ # returned by Google Pay's client SDK. Pass it through unmodified.
15
+ class LinkGooglePay
16
+ extend T::Sig
17
+ include Crystalline::MetadataFields
18
+
19
+ # The merchant accountID this token was minted for. Must match the `gatewayMerchantId`
20
+ # value passed to Google Pay when constructing the PaymentDataRequest. card-gateway validates
21
+ # that the decrypted `gatewayMerchantId` matches this value.
22
+ field :merchant_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantAccountID'), required: true } }
23
+ # The `paymentMethodData` object from Google Pay's
24
+ # [PaymentData](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) response.
25
+ field :payment_method_data, Models::Components::GooglePayPaymentMethodData, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentMethodData'), required: true } }
26
+
27
+ sig { params(merchant_account_id: ::String, payment_method_data: Models::Components::GooglePayPaymentMethodData).void }
28
+ def initialize(merchant_account_id:, payment_method_data:)
29
+ @merchant_account_id = merchant_account_id
30
+ @payment_method_data = payment_method_data
31
+ end
32
+
33
+ sig { params(other: T.untyped).returns(T::Boolean) }
34
+ def ==(other)
35
+ return false unless other.is_a? self.class
36
+ return false unless @merchant_account_id == other.merchant_account_id
37
+ return false unless @payment_method_data == other.payment_method_data
38
+ true
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,15 @@
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 merchant_account_id(); end
12
+ def merchant_account_id=(str_); end
13
+ def payment_method_data(); end
14
+ def payment_method_data=(str_); end
15
+ end
@@ -30,8 +30,6 @@ module Moov
30
30
  field :merchant_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantPaymentMethodID'), required: true } }
31
31
  # Link to the payment landing page for this payment link.
32
32
  field :link, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('link'), required: true } }
33
-
34
- field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
35
33
  # The number of times this payment link has been used.
36
34
  field :uses, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('uses'), required: true } }
37
35
  # Customizable display options for a payment link.
@@ -42,9 +40,16 @@ module Moov
42
40
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
43
41
 
44
42
  field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
43
+ # The fixed amount of the payment link.
44
+ #
45
+ # In API versions before `2026.07.00`, this was a required field.
46
+ #
47
+ # In API version `2026.07.00` and beyond, this field is required for `fixed` payment amount types and omitted
48
+ # for `open` payment amount types.
49
+ field :amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
45
50
  # Optional sales tax amount.
46
51
  field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
47
- # An optional limit on the number of times this payment link can be used.
52
+ # An optional limit on the number of times this payment link can be used.
48
53
  #
49
54
  # **For payouts, `maxUses` is always 1.**
50
55
  field :max_uses, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('maxUses') } }
@@ -62,8 +67,10 @@ module Moov
62
67
 
63
68
  field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
64
69
 
65
- sig { params(code: ::String, payment_link_type: Models::Components::PaymentLinkType, mode: Models::Components::Mode, status: Models::Components::PaymentLinkStatus, partner_account_id: ::String, merchant_account_id: ::String, owner_account_id: ::String, merchant_payment_method_id: ::String, link: ::String, amount: Models::Components::Amount, uses: ::Integer, display: Models::Components::PaymentLinkDisplayOptions, customer: Models::Components::PaymentLinkCustomerOptions, created_on: ::DateTime, updated_on: ::DateTime, sales_tax_amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), last_used_on: T.nilable(::DateTime), expires_on: T.nilable(::DateTime), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::PaymentLinkLineItems), disabled_on: T.nilable(::DateTime)).void }
66
- def initialize(code:, payment_link_type:, mode:, status:, partner_account_id:, merchant_account_id:, owner_account_id:, merchant_payment_method_id:, link:, amount:, uses:, display:, customer:, created_on:, updated_on:, sales_tax_amount: nil, max_uses: nil, last_used_on: nil, expires_on: nil, payment: nil, payout: nil, line_items: nil, disabled_on: nil)
70
+ field :amount_details, Crystalline::Nilable.new(Models::Components::PaymentLinkAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
71
+
72
+ sig { params(code: ::String, payment_link_type: Models::Components::PaymentLinkType, mode: Models::Components::Mode, status: Models::Components::PaymentLinkStatus, partner_account_id: ::String, merchant_account_id: ::String, owner_account_id: ::String, merchant_payment_method_id: ::String, link: ::String, uses: ::Integer, display: Models::Components::PaymentLinkDisplayOptions, customer: Models::Components::PaymentLinkCustomerOptions, created_on: ::DateTime, updated_on: ::DateTime, amount: T.nilable(Models::Components::Amount), sales_tax_amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), last_used_on: T.nilable(::DateTime), expires_on: T.nilable(::DateTime), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::PaymentLinkLineItems), disabled_on: T.nilable(::DateTime), amount_details: T.nilable(Models::Components::PaymentLinkAmountDetails)).void }
73
+ def initialize(code:, payment_link_type:, mode:, status:, partner_account_id:, merchant_account_id:, owner_account_id:, merchant_payment_method_id:, link:, uses:, display:, customer:, created_on:, updated_on:, amount: nil, sales_tax_amount: nil, max_uses: nil, last_used_on: nil, expires_on: nil, payment: nil, payout: nil, line_items: nil, disabled_on: nil, amount_details: nil)
67
74
  @code = code
68
75
  @payment_link_type = payment_link_type
69
76
  @mode = mode
@@ -73,12 +80,12 @@ module Moov
73
80
  @owner_account_id = owner_account_id
74
81
  @merchant_payment_method_id = merchant_payment_method_id
75
82
  @link = link
76
- @amount = amount
77
83
  @uses = uses
78
84
  @display = display
79
85
  @customer = customer
80
86
  @created_on = created_on
81
87
  @updated_on = updated_on
88
+ @amount = amount
82
89
  @sales_tax_amount = sales_tax_amount
83
90
  @max_uses = max_uses
84
91
  @last_used_on = last_used_on
@@ -87,6 +94,7 @@ module Moov
87
94
  @payout = payout
88
95
  @line_items = line_items
89
96
  @disabled_on = disabled_on
97
+ @amount_details = amount_details
90
98
  end
91
99
 
92
100
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -101,12 +109,12 @@ module Moov
101
109
  return false unless @owner_account_id == other.owner_account_id
102
110
  return false unless @merchant_payment_method_id == other.merchant_payment_method_id
103
111
  return false unless @link == other.link
104
- return false unless @amount == other.amount
105
112
  return false unless @uses == other.uses
106
113
  return false unless @display == other.display
107
114
  return false unless @customer == other.customer
108
115
  return false unless @created_on == other.created_on
109
116
  return false unless @updated_on == other.updated_on
117
+ return false unless @amount == other.amount
110
118
  return false unless @sales_tax_amount == other.sales_tax_amount
111
119
  return false unless @max_uses == other.max_uses
112
120
  return false unless @last_used_on == other.last_used_on
@@ -115,6 +123,7 @@ module Moov
115
123
  return false unless @payout == other.payout
116
124
  return false unless @line_items == other.line_items
117
125
  return false unless @disabled_on == other.disabled_on
126
+ return false unless @amount_details == other.amount_details
118
127
  true
119
128
  end
120
129
  end