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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 65f1085953193d0c6f760f04b505064cf762404636cc701953f7cc3fe95d2871
4
- data.tar.gz: 93643f718860312d468393e5b18bd1222c0e25c5161b5b0b12f2379a8b3c3cbe
3
+ metadata.gz: f9c1f340af3cb696364cadc3fecf90620d25874254a25452c1babdbf48eb7b86
4
+ data.tar.gz: 4cdbc936def2e56be3d9aa74bdda4db0ea553ed5c3beb56762be8c6b0455afea
5
5
  SHA512:
6
- metadata.gz: 39cab29f0738b28876d4fd3095872db80d11374b151295aaaed0e202b8ca2b69deefc8ec375373ab4c820f08c17f43710de305a9c6bfa0cd5f0f73d807931f99
7
- data.tar.gz: 3e362cea509bce9e4caab9ef028eec4be9fa8280c9597630ffd147fa19b8a35a1f6a54e780e63b0294924cc0885acc303ddd2d35b9f2baa771dfd1d2717a0d33
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, :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
  #
@@ -88,6 +88,7 @@ module Moov
88
88
  @disputes = Disputes.new(@sdk_configuration)
89
89
  @fee_plans = FeePlans.new(@sdk_configuration)
90
90
  @files = Files.new(@sdk_configuration)
91
+ @google_pay = GooglePay.new(@sdk_configuration)
91
92
  @images = Images.new(@sdk_configuration)
92
93
  @invoices = Invoices.new(@sdk_configuration)
93
94
  @payment_links = PaymentLinks.new(@sdk_configuration)
@@ -100,6 +101,7 @@ module Moov
100
101
  @sweeps = Sweeps.new(@sdk_configuration)
101
102
  @account_terminal_applications = AccountTerminalApplications.new(@sdk_configuration)
102
103
  @support = Support.new(@sdk_configuration)
104
+ @transfer_config = TransferConfig.new(@sdk_configuration)
103
105
  @transfers = Transfers.new(@sdk_configuration)
104
106
  @underwriting = Underwriting.new(@sdk_configuration)
105
107
  @wallets = Wallets.new(@sdk_configuration)
@@ -0,0 +1,212 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'faraday/retry'
9
+ require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
12
+
13
+ module Moov
14
+ extend T::Sig
15
+ class GooglePay
16
+ extend T::Sig
17
+
18
+
19
+
20
+ sig { params(sdk_config: SDKConfiguration).void }
21
+ def initialize(sdk_config)
22
+ @sdk_configuration = sdk_config
23
+
24
+ end
25
+
26
+ sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
27
+ def get_url(base_url:, url_variables: nil)
28
+ sd_base_url, sd_options = @sdk_configuration.get_server_details
29
+
30
+ if base_url.nil?
31
+ base_url = sd_base_url
32
+ end
33
+
34
+ if url_variables.nil?
35
+ url_variables = sd_options
36
+ end
37
+
38
+ return Utils.template_url base_url, url_variables
39
+ end
40
+
41
+
42
+
43
+
44
+ sig { params(link_google_pay: Models::Components::LinkGooglePay, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::LinkGooglePayTokenResponse) }
45
+ def link_token(link_google_pay:, account_id:, timeout_ms: nil, http_headers: nil)
46
+ # link_token - Connect a Google Pay token to the specified account.
47
+ #
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.
51
+ #
52
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
53
+ # you'll need to specify the `/accounts/{accountID}/cards.write` scope.
54
+ request = Models::Operations::LinkGooglePayTokenRequest.new(
55
+ account_id: account_id,
56
+ link_google_pay: link_google_pay
57
+ )
58
+ url, params = @sdk_configuration.get_server_details
59
+ base_url = Utils.template_url(url, params)
60
+ url = Utils.generate_url(
61
+ Models::Operations::LinkGooglePayTokenRequest,
62
+ base_url,
63
+ '/accounts/{accountID}/google-pay/tokens',
64
+ request
65
+ )
66
+ headers = {}
67
+ headers = T.cast(headers, T::Hash[String, String])
68
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :link_google_pay, :json)
69
+ headers['content-type'] = req_content_type
70
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
71
+
72
+ if form && !form.empty?
73
+ body = Utils.encode_form(form)
74
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
75
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
76
+ else
77
+ body = data
78
+ end
79
+ headers['Accept'] = 'application/json'
80
+ headers['user-agent'] = @sdk_configuration.user_agent
81
+
82
+ security = @sdk_configuration.security_source&.call
83
+
84
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
85
+ timeout ||= @sdk_configuration.timeout
86
+
87
+
88
+ connection = @sdk_configuration.client
89
+
90
+ hook_ctx = SDKHooks::HookContext.new(
91
+ config: @sdk_configuration,
92
+ base_url: base_url,
93
+ oauth2_scopes: nil,
94
+ operation_id: 'linkGooglePayToken',
95
+ security_source: @sdk_configuration.security_source
96
+ )
97
+
98
+ error = T.let(nil, T.nilable(StandardError))
99
+ http_response = T.let(nil, T.nilable(Faraday::Response))
100
+
101
+
102
+ begin
103
+ http_response = T.must(connection).post(url) do |req|
104
+ req.body = body
105
+ req.headers.merge!(headers)
106
+ req.options.timeout = timeout unless timeout.nil?
107
+ Utils.configure_request_security(req, security)
108
+ http_headers&.each do |key, value|
109
+ req.headers[key.to_s] = value
110
+ end
111
+
112
+ @sdk_configuration.hooks.before_request(
113
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
114
+ hook_ctx: hook_ctx
115
+ ),
116
+ request: req
117
+ )
118
+ end
119
+ rescue StandardError => e
120
+ error = e
121
+ ensure
122
+ if http_response.nil? || Utils.error_status?(http_response.status)
123
+ http_response = @sdk_configuration.hooks.after_error(
124
+ error: error,
125
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
126
+ hook_ctx: hook_ctx
127
+ ),
128
+ response: http_response
129
+ )
130
+ else
131
+ http_response = @sdk_configuration.hooks.after_success(
132
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
133
+ hook_ctx: hook_ctx
134
+ ),
135
+ response: http_response
136
+ )
137
+ end
138
+
139
+ if http_response.nil?
140
+ raise error if !error.nil?
141
+ raise 'no response'
142
+ end
143
+ end
144
+
145
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
146
+ if Utils.match_status_code(http_response.status, ['200'])
147
+ if Utils.match_content_type(content_type, 'application/json')
148
+ http_response = @sdk_configuration.hooks.after_success(
149
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
150
+ hook_ctx: hook_ctx
151
+ ),
152
+ response: http_response
153
+ )
154
+ response_data = http_response.env.response_body
155
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Components::LinkedGooglePayPaymentMethod))
156
+ response = Models::Operations::LinkGooglePayTokenResponse.new(
157
+ status_code: http_response.status,
158
+ content_type: content_type,
159
+ raw_response: http_response,
160
+ headers: http_response.headers,
161
+ linked_google_pay_payment_methods: T.unsafe(obj)
162
+ )
163
+
164
+ return response
165
+ else
166
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
167
+ end
168
+ elsif Utils.match_status_code(http_response.status, ['400', '409'])
169
+ if Utils.match_content_type(content_type, 'application/json')
170
+ http_response = @sdk_configuration.hooks.after_success(
171
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
172
+ hook_ctx: hook_ctx
173
+ ),
174
+ response: http_response
175
+ )
176
+ response_data = http_response.env.response_body
177
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
178
+ obj.raw_response = http_response
179
+ raise obj
180
+ else
181
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
182
+ end
183
+ elsif Utils.match_status_code(http_response.status, ['422'])
184
+ if Utils.match_content_type(content_type, 'application/json')
185
+ http_response = @sdk_configuration.hooks.after_success(
186
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
187
+ hook_ctx: hook_ctx
188
+ ),
189
+ response: http_response
190
+ )
191
+ response_data = http_response.env.response_body
192
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::LinkGooglePayError)
193
+ obj.raw_response = http_response
194
+ raise obj
195
+ else
196
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
197
+ end
198
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
199
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
200
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
201
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
202
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
203
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
204
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
205
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
206
+ else
207
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
208
+
209
+ end
210
+ end
211
+ end
212
+ 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 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,7 +60,7 @@ 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') } }
@@ -68,8 +68,12 @@ module Moov
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
70
 
71
- 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)).void }
72
- 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)
71
+ field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
72
+ # The card authorization and capture IDs associated with a transfer.
73
+ field :capture, Crystalline::Nilable.new(Models::Components::TransferCapture), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capture') } }
74
+
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)
73
77
  @transfer_id = transfer_id
74
78
  @created_on = created_on
75
79
  @source = source
@@ -97,6 +101,8 @@ module Moov
97
101
  @sales_tax_amount = sales_tax_amount
98
102
  @foreign_id = foreign_id
99
103
  @line_items = line_items
104
+ @amount_details = amount_details
105
+ @capture = capture
100
106
  end
101
107
 
102
108
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -129,6 +135,8 @@ module Moov
129
135
  return false unless @sales_tax_amount == other.sales_tax_amount
130
136
  return false unless @foreign_id == other.foreign_id
131
137
  return false unless @line_items == other.line_items
138
+ return false unless @amount_details == other.amount_details
139
+ return false unless @capture == other.capture
132
140
  true
133
141
  end
134
142
  end
@@ -62,4 +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
67
+ def capture(); end
68
+ def capture=(str_); end
65
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