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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63762dd8c3e3a4ae9d16ac53f296d0b2bf8dfa61fac02a57bdad4143d93f6b13
4
- data.tar.gz: 862d48a8f35ceaec9802992676fb80e7a7e500d38bf0dda80438feeedad91b01
3
+ metadata.gz: f9c1f340af3cb696364cadc3fecf90620d25874254a25452c1babdbf48eb7b86
4
+ data.tar.gz: 4cdbc936def2e56be3d9aa74bdda4db0ea553ed5c3beb56762be8c6b0455afea
5
5
  SHA512:
6
- metadata.gz: 538880aeed279865b7c3b6d42fd0bdaa4d7ec356e057a01cbb538492dff17dea9a5bc1fb3e42b9615f7262790be701374020c27d33b24bf81aff58b9a52179de
7
- data.tar.gz: 2aa79fa1927966c77923d8d4e3b822bf37e8664771e9543f79f4e3ffd615b01c1cf5f375baeb50ca982cc2ce89f27465bd150499e2dc8494b6a86066f5abff3f
6
+ metadata.gz: 1835450e38c0856107dd456a3bbe8328e9f997038754b800470bbd0458181cc42dfe73f5abfa891513ffba03258a1c50fdfd68a27e11f3f82ae9a22fc5937601
7
+ data.tar.gz: 1b21586a4bbbe0562040fec3671ae78e613674d481d919597b8c6b63a2e99f016e1c39f0fec42ca668a8cc5c4486d9bc6a2ae76fe96afeff08f5438cb90da1b3
data/lib/moov/client.rb CHANGED
@@ -16,7 +16,7 @@ module Moov
16
16
  class Client
17
17
  extend T::Sig
18
18
 
19
- attr_accessor :accounts, :adjustments, :apple_pay, :bank_accounts, :branding, :capabilities, :cards, :disputes, :fee_plans, :files, :google_pay, :images, :invoices, :payment_links, :payment_methods, :products, :representatives, :resolution_links, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :webhooks, :industries, :institutions, :issuing_transactions, :card_issuing, :authentication, :onboarding, :ping, :receipts, :terminal_applications
19
+ attr_accessor :accounts, :adjustments, :apple_pay, :bank_accounts, :branding, :capabilities, :cards, :disputes, :fee_plans, :files, :google_pay, :images, :invoices, :payment_links, :payment_methods, :products, :representatives, :resolution_links, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfer_config, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :webhooks, :industries, :institutions, :issuing_transactions, :card_issuing, :authentication, :onboarding, :ping, :receipts, :terminal_applications
20
20
 
21
21
  # Instantiates the SDK, configuring it with the provided parameters.
22
22
  #
@@ -101,6 +101,7 @@ module Moov
101
101
  @sweeps = Sweeps.new(@sdk_configuration)
102
102
  @account_terminal_applications = AccountTerminalApplications.new(@sdk_configuration)
103
103
  @support = Support.new(@sdk_configuration)
104
+ @transfer_config = TransferConfig.new(@sdk_configuration)
104
105
  @transfers = Transfers.new(@sdk_configuration)
105
106
  @underwriting = Underwriting.new(@sdk_configuration)
106
107
  @wallets = Wallets.new(@sdk_configuration)
@@ -45,7 +45,9 @@ module Moov
45
45
  def link_token(link_google_pay:, account_id:, timeout_ms: nil, http_headers: nil)
46
46
  # link_token - Connect a Google Pay token to the specified account.
47
47
  #
48
- # The `token` data is defined by Google Pay and should be passed through from Google Pay's response unmodified.
48
+ # The `paymentMethodData` field should contain the `paymentMethodData` property from Google Pay's
49
+ # [PaymentData](https://developers.google.com/pay/api/web/reference/response-objects#PaymentData) response,
50
+ # passed through unmodified.
49
51
  #
50
52
  # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
51
53
  # you'll need to specify the `/accounts/{accountID}/cards.write` scope.
@@ -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 AmountDecimalRange
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Minimum amount allowed in the range
16
+ field :minimum, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('minimum'), required: true } }
17
+ # Maximum amount allowed in the range
18
+ field :maximum, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('maximum'), required: true } }
19
+
20
+ sig { params(minimum: Models::Components::AmountDecimal, maximum: Models::Components::AmountDecimal).void }
21
+ def initialize(minimum:, maximum:)
22
+ @minimum = minimum
23
+ @maximum = maximum
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 @minimum == other.minimum
30
+ return false unless @maximum == other.maximum
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::AmountDecimalRange
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::AmountDecimalRange
11
+ def minimum(); end
12
+ def minimum=(str_); end
13
+ def maximum(); end
14
+ def maximum=(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 AmountDecimalRangeUpdate
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Minimum amount allowed in the range
16
+ field :minimum, Crystalline::Nilable.new(Models::Components::AmountDecimalUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('minimum') } }
17
+ # Maximum amount allowed in the range
18
+ field :maximum, Crystalline::Nilable.new(Models::Components::AmountDecimalUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('maximum') } }
19
+
20
+ sig { params(minimum: T.nilable(Models::Components::AmountDecimalUpdate), maximum: T.nilable(Models::Components::AmountDecimalUpdate)).void }
21
+ def initialize(minimum: nil, maximum: nil)
22
+ @minimum = minimum
23
+ @maximum = maximum
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 @minimum == other.minimum
30
+ return false unless @maximum == other.maximum
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::AmountDecimalRangeUpdate
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::AmountDecimalRangeUpdate
11
+ def minimum(); end
12
+ def minimum=(str_); end
13
+ def maximum(); end
14
+ def maximum=(str_); end
15
+ end
@@ -19,11 +19,14 @@ module Moov
19
19
 
20
20
  field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
21
21
 
22
- sig { params(refund_id: ::String, created_on: ::DateTime, amount: Models::Components::Amount).void }
23
- def initialize(refund_id:, created_on:, amount:)
22
+ field :amount_details, Crystalline::Nilable.new(Models::Components::RefundAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
23
+
24
+ sig { params(refund_id: ::String, created_on: ::DateTime, amount: Models::Components::Amount, amount_details: T.nilable(Models::Components::RefundAmountDetails)).void }
25
+ def initialize(refund_id:, created_on:, amount:, amount_details: nil)
24
26
  @refund_id = refund_id
25
27
  @created_on = created_on
26
28
  @amount = amount
29
+ @amount_details = amount_details
27
30
  end
28
31
 
29
32
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -32,6 +35,7 @@ module Moov
32
35
  return false unless @refund_id == other.refund_id
33
36
  return false unless @created_on == other.created_on
34
37
  return false unless @amount == other.amount
38
+ return false unless @amount_details == other.amount_details
35
39
  true
36
40
  end
37
41
  end
@@ -14,4 +14,6 @@ class Moov::Models::Components::AsyncCreatedRefund
14
14
  def created_on=(str_); end
15
15
  def amount(); end
16
16
  def amount=(str_); end
17
+ def amount_details(); end
18
+ def amount_details=(str_); end
17
19
  end
@@ -23,15 +23,18 @@ module Moov
23
23
 
24
24
  field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
25
25
 
26
+ field :amount_details, Crystalline::Nilable.new(Models::Components::RefundAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
27
+
26
28
  field :card_details, Crystalline::Nilable.new(Models::Components::RefundCardDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardDetails') } }
27
29
 
28
- sig { params(refund_id: ::String, created_on: ::DateTime, updated_on: ::DateTime, status: Models::Components::RefundStatus, amount: Models::Components::Amount, card_details: T.nilable(Models::Components::RefundCardDetails)).void }
29
- def initialize(refund_id:, created_on:, updated_on:, status:, amount:, card_details: nil)
30
+ sig { params(refund_id: ::String, created_on: ::DateTime, updated_on: ::DateTime, status: Models::Components::RefundStatus, amount: Models::Components::Amount, amount_details: T.nilable(Models::Components::RefundAmountDetails), card_details: T.nilable(Models::Components::RefundCardDetails)).void }
31
+ def initialize(refund_id:, created_on:, updated_on:, status:, amount:, amount_details: nil, card_details: nil)
30
32
  @refund_id = refund_id
31
33
  @created_on = created_on
32
34
  @updated_on = updated_on
33
35
  @status = status
34
36
  @amount = amount
37
+ @amount_details = amount_details
35
38
  @card_details = card_details
36
39
  end
37
40
 
@@ -43,6 +46,7 @@ module Moov
43
46
  return false unless @updated_on == other.updated_on
44
47
  return false unless @status == other.status
45
48
  return false unless @amount == other.amount
49
+ return false unless @amount_details == other.amount_details
46
50
  return false unless @card_details == other.card_details
47
51
  true
48
52
  end
@@ -18,6 +18,8 @@ class Moov::Models::Components::CardAcquiringRefund
18
18
  def status=(str_); end
19
19
  def amount(); end
20
20
  def amount=(str_); end
21
+ def amount_details(); end
22
+ def amount_details=(str_); end
21
23
  def card_details(); end
22
24
  def card_details=(str_); end
23
25
  end
@@ -0,0 +1,21 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # CardFundingSource - The funding source of the card. One of CREDIT, DEBIT, PREPAID, or UNKNOWN.
11
+ class CardFundingSource < T::Enum
12
+ enums do
13
+ CREDIT = new('CREDIT')
14
+ DEBIT = new('DEBIT')
15
+ PREPAID = new('PREPAID')
16
+ UNKNOWN = new('UNKNOWN')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CardFundingSource
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CardFundingSource
11
+ end
@@ -0,0 +1,24 @@
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
+ # CardNetwork - The card network. One of AMEX, DISCOVER, INTERAC, JCB, MASTERCARD, VISA, or OTHER.
11
+ class CardNetwork < T::Enum
12
+ enums do
13
+ AMEX = new('AMEX')
14
+ DISCOVER = new('DISCOVER')
15
+ INTERAC = new('INTERAC')
16
+ JCB = new('JCB')
17
+ MASTERCARD = new('MASTERCARD')
18
+ VISA = new('VISA')
19
+ OTHER = new('OTHER')
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CardNetwork
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CardNetwork
11
+ end
@@ -60,18 +60,20 @@ module Moov
60
60
  field :occurrence_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('occurrenceID') } }
61
61
 
62
62
  field :payment_link_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkCode') } }
63
- # Optional sales tax amount. `transfer.amount.value` should be inclusive of any sales tax and represents the total amount charged.
63
+ # Optional sales tax amount.
64
64
  field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
65
65
  # Optional alias from a foreign/external system which can be used to reference this resource.
66
66
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
67
67
  # An optional collection of line items for a transfer.
68
68
  # When line items are provided, their total plus sales tax must equal the transfer amount.
69
69
  field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
70
+
71
+ field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
70
72
  # The card authorization and capture IDs associated with a transfer.
71
73
  field :capture, Crystalline::Nilable.new(Models::Components::TransferCapture), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capture') } }
72
74
 
73
- sig { params(transfer_id: ::String, created_on: ::DateTime, source: T.nilable(Models::Components::TransferSource), destination: T.nilable(Models::Components::TransferDestination), completed_on: T.nilable(::DateTime), status: T.nilable(Models::Components::TransferStatus), failure_reason: T.nilable(Models::Components::TransferFailureReason), amount: T.nilable(Models::Components::Amount), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(::Integer), moov_fee_decimal: T.nilable(::String), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), group_id: T.nilable(::String), cancellations: T.nilable(T::Array[Models::Components::Cancellation]), refunded_amount: T.nilable(Models::Components::Amount), refunds: T.nilable(T::Array[Models::Components::CardAcquiringRefund]), disputed_amount: T.nilable(Models::Components::Amount), disputes: T.nilable(T::Array[Models::Components::CardAcquiringDispute]), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), capture: T.nilable(Models::Components::TransferCapture)).void }
74
- def initialize(transfer_id:, created_on:, source: nil, destination: nil, completed_on: nil, status: nil, failure_reason: nil, amount: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: nil, group_id: nil, cancellations: nil, refunded_amount: nil, refunds: nil, disputed_amount: nil, disputes: nil, sweep_id: nil, schedule_id: nil, occurrence_id: nil, payment_link_code: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil, capture: nil)
75
+ sig { params(transfer_id: ::String, created_on: ::DateTime, source: T.nilable(Models::Components::TransferSource), destination: T.nilable(Models::Components::TransferDestination), completed_on: T.nilable(::DateTime), status: T.nilable(Models::Components::TransferStatus), failure_reason: T.nilable(Models::Components::TransferFailureReason), amount: T.nilable(Models::Components::Amount), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(::Integer), moov_fee_decimal: T.nilable(::String), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), group_id: T.nilable(::String), cancellations: T.nilable(T::Array[Models::Components::Cancellation]), refunded_amount: T.nilable(Models::Components::Amount), refunds: T.nilable(T::Array[Models::Components::CardAcquiringRefund]), disputed_amount: T.nilable(Models::Components::Amount), disputes: T.nilable(T::Array[Models::Components::CardAcquiringDispute]), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), amount_details: T.nilable(Models::Components::TransferAmountDetails), capture: T.nilable(Models::Components::TransferCapture)).void }
76
+ def initialize(transfer_id:, created_on:, source: nil, destination: nil, completed_on: nil, status: nil, failure_reason: nil, amount: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: nil, group_id: nil, cancellations: nil, refunded_amount: nil, refunds: nil, disputed_amount: nil, disputes: nil, sweep_id: nil, schedule_id: nil, occurrence_id: nil, payment_link_code: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil, amount_details: nil, capture: nil)
75
77
  @transfer_id = transfer_id
76
78
  @created_on = created_on
77
79
  @source = source
@@ -99,6 +101,7 @@ module Moov
99
101
  @sales_tax_amount = sales_tax_amount
100
102
  @foreign_id = foreign_id
101
103
  @line_items = line_items
104
+ @amount_details = amount_details
102
105
  @capture = capture
103
106
  end
104
107
 
@@ -132,6 +135,7 @@ module Moov
132
135
  return false unless @sales_tax_amount == other.sales_tax_amount
133
136
  return false unless @foreign_id == other.foreign_id
134
137
  return false unless @line_items == other.line_items
138
+ return false unless @amount_details == other.amount_details
135
139
  return false unless @capture == other.capture
136
140
  true
137
141
  end
@@ -62,6 +62,8 @@ class Moov::Models::Components::CreatedTransfer
62
62
  def foreign_id=(str_); end
63
63
  def line_items(); end
64
64
  def line_items=(str_); end
65
+ def amount_details(); end
66
+ def amount_details=(str_); end
65
67
  def capture(); end
66
68
  def capture=(str_); end
67
69
  end
@@ -21,13 +21,18 @@ module Moov
21
21
  field :partner_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('partnerAccountID'), required: true } }
22
22
  # The merchant's preferred payment method ID. Must be a wallet payment method.
23
23
  field :merchant_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantPaymentMethodID'), required: true } }
24
-
25
- field :amount, Models::Components::Amount, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
26
24
  # Customizable display options for a payment link.
27
25
  field :display, Models::Components::PaymentLinkDisplayOptions, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('display'), required: true } }
28
-
26
+ # The fixed amount of the payment link.
27
+ #
28
+ # In API versions before `2026.07.00`, this was a required field.
29
+ #
30
+ # In API version `2026.07.00` and beyond, this field is required for `fixed` payment amount types and omitted
31
+ # for `open` payment amount types.
32
+ field :amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
33
+ # Optional sales tax amount.
29
34
  field :sales_tax_amount, Crystalline::Nilable.new(Models::Components::Amount), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('salesTaxAmount') } }
30
- # An optional limit on the number of times this payment link can be used.
35
+ # An optional limit on the number of times this payment link can be used.
31
36
  #
32
37
  # **For payouts, `maxUses` is always 1.**
33
38
  field :max_uses, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('maxUses') } }
@@ -43,12 +48,14 @@ module Moov
43
48
  # When line items are provided, their total plus sales tax must equal the payment link amount.
44
49
  field :line_items, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
45
50
 
46
- sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, amount: Models::Components::Amount, display: Models::Components::PaymentLinkDisplayOptions, sales_tax_amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItems)).void }
47
- def initialize(partner_account_id:, merchant_payment_method_id:, amount:, display:, sales_tax_amount: nil, max_uses: nil, expires_on: nil, customer: nil, payment: nil, payout: nil, line_items: nil)
51
+ field :amount_details, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
52
+
53
+ sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, display: Models::Components::PaymentLinkDisplayOptions, amount: T.nilable(Models::Components::Amount), sales_tax_amount: T.nilable(Models::Components::Amount), max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItems), amount_details: T.nilable(Models::Components::CreatePaymentLinkAmountDetails)).void }
54
+ def initialize(partner_account_id:, merchant_payment_method_id:, display:, amount: nil, sales_tax_amount: nil, max_uses: nil, expires_on: nil, customer: nil, payment: nil, payout: nil, line_items: nil, amount_details: nil)
48
55
  @partner_account_id = partner_account_id
49
56
  @merchant_payment_method_id = merchant_payment_method_id
50
- @amount = amount
51
57
  @display = display
58
+ @amount = amount
52
59
  @sales_tax_amount = sales_tax_amount
53
60
  @max_uses = max_uses
54
61
  @expires_on = expires_on
@@ -56,6 +63,7 @@ module Moov
56
63
  @payment = payment
57
64
  @payout = payout
58
65
  @line_items = line_items
66
+ @amount_details = amount_details
59
67
  end
60
68
 
61
69
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -63,8 +71,8 @@ module Moov
63
71
  return false unless other.is_a? self.class
64
72
  return false unless @partner_account_id == other.partner_account_id
65
73
  return false unless @merchant_payment_method_id == other.merchant_payment_method_id
66
- return false unless @amount == other.amount
67
74
  return false unless @display == other.display
75
+ return false unless @amount == other.amount
68
76
  return false unless @sales_tax_amount == other.sales_tax_amount
69
77
  return false unless @max_uses == other.max_uses
70
78
  return false unless @expires_on == other.expires_on
@@ -72,6 +80,7 @@ module Moov
72
80
  return false unless @payment == other.payment
73
81
  return false unless @payout == other.payout
74
82
  return false unless @line_items == other.line_items
83
+ return false unless @amount_details == other.amount_details
75
84
  true
76
85
  end
77
86
  end
@@ -12,10 +12,10 @@ class Moov::Models::Components::CreatePaymentLink
12
12
  def partner_account_id=(str_); end
13
13
  def merchant_payment_method_id(); end
14
14
  def merchant_payment_method_id=(str_); end
15
- def amount(); end
16
- def amount=(str_); end
17
15
  def display(); end
18
16
  def display=(str_); end
17
+ def amount(); end
18
+ def amount=(str_); end
19
19
  def sales_tax_amount(); end
20
20
  def sales_tax_amount=(str_); end
21
21
  def max_uses(); end
@@ -30,4 +30,6 @@ class Moov::Models::Components::CreatePaymentLink
30
30
  def payout=(str_); end
31
31
  def line_items(); end
32
32
  def line_items=(str_); end
33
+ def amount_details(); end
34
+ def amount_details=(str_); end
33
35
  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 CreatePaymentLinkAmountDetails
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The amount of surcharge applied to the payment link.
16
+ field :surcharge, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('surcharge') } }
17
+
18
+ sig { params(surcharge: T.nilable(Models::Components::AmountDecimal)).void }
19
+ def initialize(surcharge: nil)
20
+ @surcharge = surcharge
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 @surcharge == other.surcharge
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::CreatePaymentLinkAmountDetails
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreatePaymentLinkAmountDetails
11
+ def surcharge(); end
12
+ def surcharge=(str_); end
13
+ 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 CreatePaymentLinkAmountDetailsValidationError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :surcharge, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('surcharge') } }
17
+
18
+ sig { params(surcharge: T.nilable(::String)).void }
19
+ def initialize(surcharge: nil)
20
+ @surcharge = surcharge
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 @surcharge == other.surcharge
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::CreatePaymentLinkAmountDetailsValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreatePaymentLinkAmountDetailsValidationError
11
+ def surcharge(); end
12
+ def surcharge=(str_); end
13
+ end
@@ -16,16 +16,20 @@ module Moov
16
16
 
17
17
  # Amount to refund in cents. If null, the original transfer's full amount will be refunded.
18
18
  field :amount, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
19
+ # Breakdown of the refunded amount.
20
+ field :amount_details, Crystalline::Nilable.new(Models::Components::RefundAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
19
21
 
20
- sig { params(amount: T.nilable(::Integer)).void }
21
- def initialize(amount: nil)
22
+ sig { params(amount: T.nilable(::Integer), amount_details: T.nilable(Models::Components::RefundAmountDetails)).void }
23
+ def initialize(amount: nil, amount_details: nil)
22
24
  @amount = amount
25
+ @amount_details = amount_details
23
26
  end
24
27
 
25
28
  sig { params(other: T.untyped).returns(T::Boolean) }
26
29
  def ==(other)
27
30
  return false unless other.is_a? self.class
28
31
  return false unless @amount == other.amount
32
+ return false unless @amount_details == other.amount_details
29
33
  true
30
34
  end
31
35
  end
@@ -10,4 +10,6 @@ end
10
10
  class Moov::Models::Components::CreateRefund
11
11
  def amount(); end
12
12
  def amount=(str_); end
13
+ def amount_details(); end
14
+ def amount_details=(str_); end
13
15
  end
@@ -0,0 +1,42 @@
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 CreateTipPresets
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Defines which amount should be used when calculating the final payment total. This calculation applies for percentage tip values.
16
+ # - `pre-tax`: Tip amounts are calculated using the subtotal amount before taxes
17
+ # - `post-tax`: Tip amounts are calculated using the subtotal amount + taxes
18
+ field :calculation_basis, Crystalline::Nilable.new(Models::Components::TipCalculationBasis), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('calculationBasis'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::TipCalculationBasis, true) } }
19
+ # Defines the set of suggested tip preset values presented to customers. Percentages must be between 0 and 100 (exclusive) and must be unique. A maximum of 3 values are allowed.
20
+ field :percentage_options, Crystalline::Nilable.new(Crystalline::Array.new(::Integer)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('percentageOptions') } }
21
+ # Defines the set of suggested tip preset values presented to customers. Fixed amounts must be positive and unique. A maximum of 3 values are allowed.
22
+ field :fixed_amount_options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AmountDecimal)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fixedAmountOptions') } }
23
+
24
+ sig { params(calculation_basis: T.nilable(Models::Components::TipCalculationBasis), percentage_options: T.nilable(T::Array[::Integer]), fixed_amount_options: T.nilable(T::Array[Models::Components::AmountDecimal])).void }
25
+ def initialize(calculation_basis: nil, percentage_options: nil, fixed_amount_options: nil)
26
+ @calculation_basis = calculation_basis
27
+ @percentage_options = percentage_options
28
+ @fixed_amount_options = fixed_amount_options
29
+ end
30
+
31
+ sig { params(other: T.untyped).returns(T::Boolean) }
32
+ def ==(other)
33
+ return false unless other.is_a? self.class
34
+ return false unless @calculation_basis == other.calculation_basis
35
+ return false unless @percentage_options == other.percentage_options
36
+ return false unless @fixed_amount_options == other.fixed_amount_options
37
+ true
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateTipPresets
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateTipPresets
11
+ def calculation_basis(); end
12
+ def calculation_basis=(str_); end
13
+ def percentage_options(); end
14
+ def percentage_options=(str_); end
15
+ def fixed_amount_options(); end
16
+ def fixed_amount_options=(str_); end
17
+ end