moov_ruby 0.0.0.pre.dev.13 → 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 (134) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/client.rb +2 -1
  3. data/lib/moov/google_pay.rb +3 -1
  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 +7 -3
  17. data/lib/moov/models/components/createdtransfer.rbi +2 -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/googlepayassurancedetails.rb +36 -0
  37. data/lib/moov/models/components/googlepayassurancedetails.rbi +15 -0
  38. data/lib/moov/models/components/googlepaybillingaddress.rb +71 -0
  39. data/lib/moov/models/components/googlepaybillingaddress.rbi +31 -0
  40. data/lib/moov/models/components/googlepaycardinfo.rb +52 -0
  41. data/lib/moov/models/components/googlepaycardinfo.rbi +21 -0
  42. data/lib/moov/models/components/googlepaypaymentmethoddata.rb +48 -0
  43. data/lib/moov/models/components/googlepaypaymentmethoddata.rbi +19 -0
  44. data/lib/moov/models/components/{linkedgooglepaypaymentmethod_paymentmethodtype.rb → googlepaypaymentmethoddata_type.rb} +3 -3
  45. data/lib/moov/models/components/googlepaypaymentmethoddata_type.rbi +11 -0
  46. data/lib/moov/models/components/googlepaytokenizationdata.rb +38 -0
  47. data/lib/moov/models/components/googlepaytokenizationdata.rbi +15 -0
  48. data/lib/moov/models/components/googlepaytokenizationdata_type.rb +18 -0
  49. data/lib/moov/models/components/googlepaytokenizationdata_type.rbi +11 -0
  50. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +3 -3
  51. data/lib/moov/models/components/linkgooglepay.rb +17 -12
  52. data/lib/moov/models/components/linkgooglepay.rbi +4 -2
  53. data/lib/moov/models/components/paymentlink.rb +16 -7
  54. data/lib/moov/models/components/paymentlink.rbi +4 -2
  55. data/lib/moov/models/components/paymentlinkamountdetails.rb +32 -0
  56. data/lib/moov/models/components/paymentlinkamountdetails.rbi +13 -0
  57. data/lib/moov/models/components/paymentlinkcustomeroptions.rb +6 -2
  58. data/lib/moov/models/components/paymentlinkcustomeroptions.rbi +2 -0
  59. data/lib/moov/models/components/paymentlinkpaymentdetails.rb +14 -2
  60. data/lib/moov/models/components/paymentlinkpaymentdetails.rbi +6 -0
  61. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rb +19 -0
  62. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rbi +11 -0
  63. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rb +14 -2
  64. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rbi +6 -0
  65. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rb +19 -0
  66. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rbi +11 -0
  67. data/lib/moov/models/components/puttippresets.rb +42 -0
  68. data/lib/moov/models/components/puttippresets.rbi +17 -0
  69. data/lib/moov/models/components/puttransferconfig.rb +32 -0
  70. data/lib/moov/models/components/puttransferconfig.rbi +13 -0
  71. data/lib/moov/models/components/refundamountdetails.rb +32 -0
  72. data/lib/moov/models/components/refundamountdetails.rbi +13 -0
  73. data/lib/moov/models/components/refundamountdetailsvalidationerror.rb +32 -0
  74. data/lib/moov/models/components/refundamountdetailsvalidationerror.rbi +13 -0
  75. data/lib/moov/models/components/tipcalculationbasis.rb +21 -0
  76. data/lib/moov/models/components/tipcalculationbasis.rbi +11 -0
  77. data/lib/moov/models/components/tippresets.rb +42 -0
  78. data/lib/moov/models/components/tippresets.rbi +17 -0
  79. data/lib/moov/models/components/transfer.rb +7 -3
  80. data/lib/moov/models/components/transfer.rbi +2 -0
  81. data/lib/moov/models/components/transferamountdetails.rb +36 -0
  82. data/lib/moov/models/components/transferamountdetails.rbi +15 -0
  83. data/lib/moov/models/components/transferconfig.rb +32 -0
  84. data/lib/moov/models/components/transferconfig.rbi +13 -0
  85. data/lib/moov/models/components/transferdestination.rb +6 -2
  86. data/lib/moov/models/components/transferdestination.rbi +2 -0
  87. data/lib/moov/models/components/transfersource.rb +6 -2
  88. data/lib/moov/models/components/transfersource.rbi +2 -0
  89. data/lib/moov/models/components/updatepaymentlink.rb +6 -2
  90. data/lib/moov/models/components/updatepaymentlink.rbi +2 -0
  91. data/lib/moov/models/components/updatepaymentlinkamountdetails.rb +32 -0
  92. data/lib/moov/models/components/updatepaymentlinkamountdetails.rbi +13 -0
  93. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rb +32 -0
  94. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rbi +13 -0
  95. data/lib/moov/models/components.rb +30 -3
  96. data/lib/moov/models/errors/cardacquiringrefund_error.rb +6 -2
  97. data/lib/moov/models/errors/cardacquiringrefund_error.rbi +2 -0
  98. data/lib/moov/models/errors/createpaymentlinkerror.rb +6 -2
  99. data/lib/moov/models/errors/createpaymentlinkerror.rbi +2 -0
  100. data/lib/moov/models/errors/linkgooglepayerror.rb +10 -6
  101. data/lib/moov/models/errors/linkgooglepayerror.rbi +4 -2
  102. data/lib/moov/models/errors/refundvalidationerror.rb +6 -2
  103. data/lib/moov/models/errors/refundvalidationerror.rbi +2 -0
  104. data/lib/moov/models/errors/transfer_error.rb +7 -3
  105. data/lib/moov/models/errors/transfer_error.rbi +2 -0
  106. data/lib/moov/models/errors/transferconfigvalidationerror.rb +44 -0
  107. data/lib/moov/models/errors/transferconfigvalidationerror.rbi +19 -0
  108. data/lib/moov/models/errors/transfervalidationerror.rb +6 -2
  109. data/lib/moov/models/errors/transfervalidationerror.rbi +2 -0
  110. data/lib/moov/models/errors/updatepaymentlinkerror.rb +6 -2
  111. data/lib/moov/models/errors/updatepaymentlinkerror.rbi +2 -0
  112. data/lib/moov/models/errors.rb +1 -0
  113. data/lib/moov/models/operations/createtransferconfig_request.rb +36 -0
  114. data/lib/moov/models/operations/createtransferconfig_request.rbi +15 -0
  115. data/lib/moov/models/operations/createtransferconfig_response.rb +48 -0
  116. data/lib/moov/models/operations/createtransferconfig_response.rbi +21 -0
  117. data/lib/moov/models/operations/gettransferconfig_request.rb +32 -0
  118. data/lib/moov/models/operations/gettransferconfig_request.rbi +13 -0
  119. data/lib/moov/models/operations/gettransferconfig_response.rb +48 -0
  120. data/lib/moov/models/operations/gettransferconfig_response.rbi +21 -0
  121. data/lib/moov/models/operations/updatetransferconfig_request.rb +36 -0
  122. data/lib/moov/models/operations/updatetransferconfig_request.rbi +15 -0
  123. data/lib/moov/models/operations/updatetransferconfig_response.rb +48 -0
  124. data/lib/moov/models/operations/updatetransferconfig_response.rbi +21 -0
  125. data/lib/moov/models/operations.rb +6 -0
  126. data/lib/moov/sdkconfiguration.rb +2 -2
  127. data/lib/moov/transfer_config.rb +486 -0
  128. data/lib/moov_ruby.rb +1 -0
  129. metadata +77 -8
  130. data/lib/moov/models/components/googlepayintermediatesigningkey.rb +0 -36
  131. data/lib/moov/models/components/googlepayintermediatesigningkey.rbi +0 -15
  132. data/lib/moov/models/components/googlepaytoken.rb +0 -47
  133. data/lib/moov/models/components/googlepaytoken.rbi +0 -19
  134. data/lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rbi +0 -11
@@ -24,7 +24,7 @@ module Moov
24
24
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
25
25
  # Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
26
26
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
27
- # Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
27
+
28
28
  field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
29
29
  # Optional alias from a foreign/external system which can be used to reference this resource.
30
30
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
@@ -32,8 +32,10 @@ module Moov
32
32
  # When line items are provided, their total plus sales tax must equal the transfer amount.
33
33
  field :line_items, Crystalline::Nilable.new(Models::Components::CreateTransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
34
34
 
35
- sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::Amount, facilitator_fee: T.nilable(Models::Components::FacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems)).void }
36
- def initialize(source:, destination:, amount:, facilitator_fee: nil, description: nil, metadata: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil)
35
+ field :amount_details, Crystalline::Nilable.new(Models::Components::CreateTransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
36
+
37
+ sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::Amount, facilitator_fee: T.nilable(Models::Components::FacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails)).void }
38
+ def initialize(source:, destination:, amount:, facilitator_fee: nil, description: nil, metadata: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil, amount_details: nil)
37
39
  @source = source
38
40
  @destination = destination
39
41
  @amount = amount
@@ -43,6 +45,7 @@ module Moov
43
45
  @sales_tax_amount = sales_tax_amount
44
46
  @foreign_id = foreign_id
45
47
  @line_items = line_items
48
+ @amount_details = amount_details
46
49
  end
47
50
 
48
51
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -57,6 +60,7 @@ module Moov
57
60
  return false unless @sales_tax_amount == other.sales_tax_amount
58
61
  return false unless @foreign_id == other.foreign_id
59
62
  return false unless @line_items == other.line_items
63
+ return false unless @amount_details == other.amount_details
60
64
  true
61
65
  end
62
66
  end
@@ -26,4 +26,6 @@ class Moov::Models::Components::CreateTransfer
26
26
  def foreign_id=(str_); end
27
27
  def line_items(); end
28
28
  def line_items=(str_); end
29
+ def amount_details(); end
30
+ def amount_details=(str_); end
29
31
  end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class CreateTransferAmountDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The amount of tip applied to the transfer.
16
+ field :tip, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tip') } }
17
+ # The amount of surcharge applied to the transfer.
18
+ field :surcharge, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('surcharge') } }
19
+
20
+ sig { params(tip: T.nilable(Models::Components::AmountDecimal), surcharge: T.nilable(Models::Components::AmountDecimal)).void }
21
+ def initialize(tip: nil, surcharge: nil)
22
+ @tip = tip
23
+ @surcharge = surcharge
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @tip == other.tip
30
+ return false unless @surcharge == other.surcharge
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateTransferAmountDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateTransferAmountDetails
11
+ def tip(); end
12
+ def tip=(str_); end
13
+ def surcharge(); end
14
+ def surcharge=(str_); end
15
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ class CreateTransferAmountDetailsValidationError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :tip, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tip') } }
17
+
18
+ field :surcharge, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('surcharge') } }
19
+
20
+ sig { params(tip: T.nilable(::String), surcharge: T.nilable(::String)).void }
21
+ def initialize(tip: nil, surcharge: nil)
22
+ @tip = tip
23
+ @surcharge = surcharge
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @tip == other.tip
30
+ return false unless @surcharge == other.surcharge
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateTransferAmountDetailsValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateTransferAmountDetailsValidationError
11
+ def tip(); end
12
+ def tip=(str_); end
13
+ def surcharge(); end
14
+ def surcharge=(str_); end
15
+ end
@@ -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
+
11
+ class CreateTransferConfig
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :tip_presets, Crystalline::Nilable.new(Models::Components::CreateTipPresets), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('tipPresets') } }
17
+
18
+ sig { params(tip_presets: T.nilable(Models::Components::CreateTipPresets)).void }
19
+ def initialize(tip_presets: nil)
20
+ @tip_presets = tip_presets
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 @tip_presets == other.tip_presets
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::CreateTransferConfig
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateTransferConfig
11
+ def tip_presets(); end
12
+ def tip_presets=(str_); end
13
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # 3-D Secure assurance details from Google Pay.
11
+ class GooglePayAssuranceDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Whether the card is verified via 3-D Secure authentication.
16
+ field :card_holder_authenticated, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardHolderAuthenticated') } }
17
+ # Whether the returned payment credential can be used for a transaction.
18
+ field :account_verified, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountVerified') } }
19
+
20
+ sig { params(card_holder_authenticated: T.nilable(T::Boolean), account_verified: T.nilable(T::Boolean)).void }
21
+ def initialize(card_holder_authenticated: nil, account_verified: nil)
22
+ @card_holder_authenticated = card_holder_authenticated
23
+ @account_verified = account_verified
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @card_holder_authenticated == other.card_holder_authenticated
30
+ return false unless @account_verified == other.account_verified
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::GooglePayAssuranceDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayAssuranceDetails
11
+ def card_holder_authenticated(); end
12
+ def card_holder_authenticated=(str_); end
13
+ def account_verified(); end
14
+ def account_verified=(str_); end
15
+ end
@@ -0,0 +1,71 @@
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
+ # Billing address as returned by Google Pay.
11
+ #
12
+ # Refer to [Google's documentation](https://developers.google.com/pay/api/web/reference/response-objects#Address)
13
+ # for more information.
14
+ class GooglePayBillingAddress
15
+ extend T::Sig
16
+ include Crystalline::MetadataFields
17
+
18
+ # First line of the street address.
19
+ field :address1, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('address1') } }
20
+ # Second line of the street address.
21
+ field :address2, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('address2') } }
22
+ # Third line of the street address.
23
+ field :address3, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('address3') } }
24
+ # City, town, neighborhood, or suburb.
25
+ field :locality, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('locality') } }
26
+ # State, province, or region.
27
+ field :administrative_area, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('administrativeArea') } }
28
+ # Postal or ZIP code.
29
+ field :postal_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('postalCode') } }
30
+ # ISO 3166-1 alpha-2 country code.
31
+ field :country_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('countryCode') } }
32
+ # Name of the cardholder.
33
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name') } }
34
+ # Phone number.
35
+ field :phone_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('phoneNumber') } }
36
+ # Sorting code (used in some countries).
37
+ field :sorting_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sortingCode') } }
38
+
39
+ sig { params(address1: T.nilable(::String), address2: T.nilable(::String), address3: T.nilable(::String), locality: T.nilable(::String), administrative_area: T.nilable(::String), postal_code: T.nilable(::String), country_code: T.nilable(::String), name: T.nilable(::String), phone_number: T.nilable(::String), sorting_code: T.nilable(::String)).void }
40
+ def initialize(address1: nil, address2: nil, address3: nil, locality: nil, administrative_area: nil, postal_code: nil, country_code: nil, name: nil, phone_number: nil, sorting_code: nil)
41
+ @address1 = address1
42
+ @address2 = address2
43
+ @address3 = address3
44
+ @locality = locality
45
+ @administrative_area = administrative_area
46
+ @postal_code = postal_code
47
+ @country_code = country_code
48
+ @name = name
49
+ @phone_number = phone_number
50
+ @sorting_code = sorting_code
51
+ end
52
+
53
+ sig { params(other: T.untyped).returns(T::Boolean) }
54
+ def ==(other)
55
+ return false unless other.is_a? self.class
56
+ return false unless @address1 == other.address1
57
+ return false unless @address2 == other.address2
58
+ return false unless @address3 == other.address3
59
+ return false unless @locality == other.locality
60
+ return false unless @administrative_area == other.administrative_area
61
+ return false unless @postal_code == other.postal_code
62
+ return false unless @country_code == other.country_code
63
+ return false unless @name == other.name
64
+ return false unless @phone_number == other.phone_number
65
+ return false unless @sorting_code == other.sorting_code
66
+ true
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,31 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::GooglePayBillingAddress
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayBillingAddress
11
+ def address1(); end
12
+ def address1=(str_); end
13
+ def address2(); end
14
+ def address2=(str_); end
15
+ def address3(); end
16
+ def address3=(str_); end
17
+ def locality(); end
18
+ def locality=(str_); end
19
+ def administrative_area(); end
20
+ def administrative_area=(str_); end
21
+ def postal_code(); end
22
+ def postal_code=(str_); end
23
+ def country_code(); end
24
+ def country_code=(str_); end
25
+ def name(); end
26
+ def name=(str_); end
27
+ def phone_number(); end
28
+ def phone_number=(str_); end
29
+ def sorting_code(); end
30
+ def sorting_code=(str_); end
31
+ end
@@ -0,0 +1,52 @@
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
+ # Unencrypted card metadata from
11
+ # [CardInfo](https://developers.google.com/pay/api/web/reference/response-objects#CardInfo).
12
+ class GooglePayCardInfo
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The card network. One of AMEX, DISCOVER, INTERAC, JCB, MASTERCARD, VISA, or OTHER.
17
+ field :card_network, Models::Components::CardNetwork, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardNetwork'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardNetwork, false) } }
18
+ # The last four digits of the card number.
19
+ field :card_details, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails'), required: true } }
20
+ # The funding source of the card. One of CREDIT, DEBIT, PREPAID, or UNKNOWN.
21
+ field :card_funding_source, Crystalline::Nilable.new(Models::Components::CardFundingSource), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardFundingSource'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardFundingSource, true) } }
22
+ # Billing address as returned by Google Pay.
23
+ #
24
+ # Refer to [Google's documentation](https://developers.google.com/pay/api/web/reference/response-objects#Address)
25
+ # for more information.
26
+ field :billing_address, Crystalline::Nilable.new(Models::Components::GooglePayBillingAddress), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
27
+ # 3-D Secure assurance details from Google Pay.
28
+ field :assurance_details, Crystalline::Nilable.new(Models::Components::GooglePayAssuranceDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('assuranceDetails') } }
29
+
30
+ sig { params(card_network: Models::Components::CardNetwork, card_details: ::String, card_funding_source: T.nilable(Models::Components::CardFundingSource), billing_address: T.nilable(Models::Components::GooglePayBillingAddress), assurance_details: T.nilable(Models::Components::GooglePayAssuranceDetails)).void }
31
+ def initialize(card_network:, card_details:, card_funding_source: nil, billing_address: nil, assurance_details: nil)
32
+ @card_network = card_network
33
+ @card_details = card_details
34
+ @card_funding_source = card_funding_source
35
+ @billing_address = billing_address
36
+ @assurance_details = assurance_details
37
+ end
38
+
39
+ sig { params(other: T.untyped).returns(T::Boolean) }
40
+ def ==(other)
41
+ return false unless other.is_a? self.class
42
+ return false unless @card_network == other.card_network
43
+ return false unless @card_details == other.card_details
44
+ return false unless @card_funding_source == other.card_funding_source
45
+ return false unless @billing_address == other.billing_address
46
+ return false unless @assurance_details == other.assurance_details
47
+ true
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::GooglePayCardInfo
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::GooglePayCardInfo
11
+ def card_network(); end
12
+ def card_network=(str_); end
13
+ def card_details(); end
14
+ def card_details=(str_); end
15
+ def card_funding_source(); end
16
+ def card_funding_source=(str_); end
17
+ def billing_address(); end
18
+ def billing_address=(str_); end
19
+ def assurance_details(); end
20
+ def assurance_details=(str_); end
21
+ 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
@@ -7,10 +7,10 @@
7
7
  module Moov
8
8
  module Models
9
9
  module Components
10
-
11
- class LinkedGooglePayPaymentMethodPaymentMethodType < T::Enum
10
+ # GooglePayPaymentMethodDataType - The type of payment method. Always `CARD`.
11
+ class GooglePayPaymentMethodDataType < T::Enum
12
12
  enums do
13
- GOOGLE_PAY = new('google-pay')
13
+ CARD = new('CARD')
14
14
  end
15
15
  end
16
16
  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,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
@@ -14,12 +14,12 @@ module Moov
14
14
 
15
15
  # The new payment method's ID.
16
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) } }
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
19
  # Describes a Google Pay token on a Moov account.
20
20
  field :google_pay, Models::Components::GooglePayResponse, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('googlePay'), required: true } }
21
21
 
22
- sig { params(payment_method_id: ::String, payment_method_type: Models::Components::LinkedGooglePayPaymentMethodPaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
22
+ sig { params(payment_method_id: ::String, payment_method_type: Models::Components::PaymentMethodType, google_pay: Models::Components::GooglePayResponse).void }
23
23
  def initialize(payment_method_id:, payment_method_type:, google_pay:)
24
24
  @payment_method_id = payment_method_id
25
25
  @payment_method_type = payment_method_type