moov_ruby 26.4.0 → 26.4.1

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 (90) 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/cardfundingsource.rb +21 -0
  5. data/lib/moov/models/components/cardfundingsource.rbi +11 -0
  6. data/lib/moov/models/components/cardnetwork.rb +24 -0
  7. data/lib/moov/models/components/cardnetwork.rbi +11 -0
  8. data/lib/moov/models/components/createdtransfer.rb +7 -3
  9. data/lib/moov/models/components/createdtransfer.rbi +2 -0
  10. data/lib/moov/models/components/createpaymentlink.rb +8 -3
  11. data/lib/moov/models/components/createtippresets.rb +42 -0
  12. data/lib/moov/models/components/createtippresets.rbi +17 -0
  13. data/lib/moov/models/components/createtransfer.rb +7 -3
  14. data/lib/moov/models/components/createtransfer.rbi +2 -0
  15. data/lib/moov/models/components/createtransferamountdetails.rb +32 -0
  16. data/lib/moov/models/components/createtransferamountdetails.rbi +13 -0
  17. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rb +32 -0
  18. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rbi +13 -0
  19. data/lib/moov/models/components/createtransferconfig.rb +32 -0
  20. data/lib/moov/models/components/createtransferconfig.rbi +13 -0
  21. data/lib/moov/models/components/googlepayassurancedetails.rb +36 -0
  22. data/lib/moov/models/components/googlepayassurancedetails.rbi +15 -0
  23. data/lib/moov/models/components/googlepaybillingaddress.rb +71 -0
  24. data/lib/moov/models/components/googlepaybillingaddress.rbi +31 -0
  25. data/lib/moov/models/components/googlepaycardinfo.rb +52 -0
  26. data/lib/moov/models/components/googlepaycardinfo.rbi +21 -0
  27. data/lib/moov/models/components/googlepaypaymentmethoddata.rb +48 -0
  28. data/lib/moov/models/components/googlepaypaymentmethoddata.rbi +19 -0
  29. data/lib/moov/models/components/{linkedgooglepaypaymentmethod_paymentmethodtype.rb → googlepaypaymentmethoddata_type.rb} +3 -3
  30. data/lib/moov/models/components/googlepaypaymentmethoddata_type.rbi +11 -0
  31. data/lib/moov/models/components/googlepaytokenizationdata.rb +38 -0
  32. data/lib/moov/models/components/googlepaytokenizationdata.rbi +15 -0
  33. data/lib/moov/models/components/googlepaytokenizationdata_type.rb +18 -0
  34. data/lib/moov/models/components/googlepaytokenizationdata_type.rbi +11 -0
  35. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +3 -3
  36. data/lib/moov/models/components/linkgooglepay.rb +17 -12
  37. data/lib/moov/models/components/linkgooglepay.rbi +4 -2
  38. data/lib/moov/models/components/paymentlink.rb +7 -2
  39. data/lib/moov/models/components/paymentlinkcustomeroptions.rb +6 -2
  40. data/lib/moov/models/components/paymentlinkcustomeroptions.rbi +2 -0
  41. data/lib/moov/models/components/puttippresets.rb +42 -0
  42. data/lib/moov/models/components/puttippresets.rbi +17 -0
  43. data/lib/moov/models/components/puttransferconfig.rb +32 -0
  44. data/lib/moov/models/components/puttransferconfig.rbi +13 -0
  45. data/lib/moov/models/components/tipcalculationbasis.rb +21 -0
  46. data/lib/moov/models/components/tipcalculationbasis.rbi +11 -0
  47. data/lib/moov/models/components/tippresets.rb +42 -0
  48. data/lib/moov/models/components/tippresets.rbi +17 -0
  49. data/lib/moov/models/components/transfer.rb +7 -3
  50. data/lib/moov/models/components/transfer.rbi +2 -0
  51. data/lib/moov/models/components/transferamountdetails.rb +32 -0
  52. data/lib/moov/models/components/transferamountdetails.rbi +13 -0
  53. data/lib/moov/models/components/transferconfig.rb +32 -0
  54. data/lib/moov/models/components/transferconfig.rbi +13 -0
  55. data/lib/moov/models/components/transferdestination.rb +6 -2
  56. data/lib/moov/models/components/transferdestination.rbi +2 -0
  57. data/lib/moov/models/components/transfersource.rb +6 -2
  58. data/lib/moov/models/components/transfersource.rbi +2 -0
  59. data/lib/moov/models/components.rb +19 -3
  60. data/lib/moov/models/errors/linkgooglepayerror.rb +10 -6
  61. data/lib/moov/models/errors/linkgooglepayerror.rbi +4 -2
  62. data/lib/moov/models/errors/transfer_error.rb +7 -3
  63. data/lib/moov/models/errors/transfer_error.rbi +2 -0
  64. data/lib/moov/models/errors/transferconfigvalidationerror.rb +44 -0
  65. data/lib/moov/models/errors/transferconfigvalidationerror.rbi +19 -0
  66. data/lib/moov/models/errors/transfervalidationerror.rb +6 -2
  67. data/lib/moov/models/errors/transfervalidationerror.rbi +2 -0
  68. data/lib/moov/models/errors.rb +1 -0
  69. data/lib/moov/models/operations/createtransferconfig_request.rb +36 -0
  70. data/lib/moov/models/operations/createtransferconfig_request.rbi +15 -0
  71. data/lib/moov/models/operations/createtransferconfig_response.rb +48 -0
  72. data/lib/moov/models/operations/createtransferconfig_response.rbi +21 -0
  73. data/lib/moov/models/operations/gettransferconfig_request.rb +32 -0
  74. data/lib/moov/models/operations/gettransferconfig_request.rbi +13 -0
  75. data/lib/moov/models/operations/gettransferconfig_response.rb +48 -0
  76. data/lib/moov/models/operations/gettransferconfig_response.rbi +21 -0
  77. data/lib/moov/models/operations/updatetransferconfig_request.rb +36 -0
  78. data/lib/moov/models/operations/updatetransferconfig_request.rbi +15 -0
  79. data/lib/moov/models/operations/updatetransferconfig_response.rb +48 -0
  80. data/lib/moov/models/operations/updatetransferconfig_response.rbi +21 -0
  81. data/lib/moov/models/operations.rb +6 -0
  82. data/lib/moov/sdkconfiguration.rb +3 -3
  83. data/lib/moov/transfer_config.rb +486 -0
  84. data/lib/moov_ruby.rb +1 -0
  85. metadata +55 -8
  86. data/lib/moov/models/components/googlepayintermediatesigningkey.rb +0 -36
  87. data/lib/moov/models/components/googlepayintermediatesigningkey.rbi +0 -15
  88. data/lib/moov/models/components/googlepaytoken.rb +0 -47
  89. data/lib/moov/models/components/googlepaytoken.rbi +0 -19
  90. data/lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rbi +0 -11
@@ -0,0 +1,486 @@
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 TransferConfig
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(create_transfer_config: Models::Components::CreateTransferConfig, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateTransferConfigResponse) }
45
+ def create(create_transfer_config:, account_id:, timeout_ms: nil, http_headers: nil)
46
+ # create - Create a transfer config for an account.
47
+ request = Models::Operations::CreateTransferConfigRequest.new(
48
+ account_id: account_id,
49
+ create_transfer_config: create_transfer_config
50
+ )
51
+ url, params = @sdk_configuration.get_server_details
52
+ base_url = Utils.template_url(url, params)
53
+ url = Utils.generate_url(
54
+ Models::Operations::CreateTransferConfigRequest,
55
+ base_url,
56
+ '/accounts/{accountID}/transfer-config',
57
+ request
58
+ )
59
+ headers = {}
60
+ headers = T.cast(headers, T::Hash[String, String])
61
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :create_transfer_config, :json)
62
+ headers['content-type'] = req_content_type
63
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
64
+
65
+ if form && !form.empty?
66
+ body = Utils.encode_form(form)
67
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
68
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
69
+ else
70
+ body = data
71
+ end
72
+ headers['Accept'] = 'application/json'
73
+ headers['user-agent'] = @sdk_configuration.user_agent
74
+
75
+ security = @sdk_configuration.security_source&.call
76
+
77
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
78
+ timeout ||= @sdk_configuration.timeout
79
+
80
+
81
+ connection = @sdk_configuration.client
82
+
83
+ hook_ctx = SDKHooks::HookContext.new(
84
+ config: @sdk_configuration,
85
+ base_url: base_url,
86
+ oauth2_scopes: nil,
87
+ operation_id: 'createTransferConfig',
88
+ security_source: @sdk_configuration.security_source
89
+ )
90
+
91
+ error = T.let(nil, T.nilable(StandardError))
92
+ http_response = T.let(nil, T.nilable(Faraday::Response))
93
+
94
+
95
+ begin
96
+ http_response = T.must(connection).post(url) do |req|
97
+ req.body = body
98
+ req.headers.merge!(headers)
99
+ req.options.timeout = timeout unless timeout.nil?
100
+ Utils.configure_request_security(req, security)
101
+ http_headers&.each do |key, value|
102
+ req.headers[key.to_s] = value
103
+ end
104
+
105
+ @sdk_configuration.hooks.before_request(
106
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
107
+ hook_ctx: hook_ctx
108
+ ),
109
+ request: req
110
+ )
111
+ end
112
+ rescue StandardError => e
113
+ error = e
114
+ ensure
115
+ if http_response.nil? || Utils.error_status?(http_response.status)
116
+ http_response = @sdk_configuration.hooks.after_error(
117
+ error: error,
118
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
119
+ hook_ctx: hook_ctx
120
+ ),
121
+ response: http_response
122
+ )
123
+ else
124
+ http_response = @sdk_configuration.hooks.after_success(
125
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
126
+ hook_ctx: hook_ctx
127
+ ),
128
+ response: http_response
129
+ )
130
+ end
131
+
132
+ if http_response.nil?
133
+ raise error if !error.nil?
134
+ raise 'no response'
135
+ end
136
+ end
137
+
138
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
139
+ if Utils.match_status_code(http_response.status, ['201'])
140
+ if Utils.match_content_type(content_type, 'application/json')
141
+ http_response = @sdk_configuration.hooks.after_success(
142
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
143
+ hook_ctx: hook_ctx
144
+ ),
145
+ response: http_response
146
+ )
147
+ response_data = http_response.env.response_body
148
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::TransferConfig)
149
+ response = Models::Operations::CreateTransferConfigResponse.new(
150
+ status_code: http_response.status,
151
+ content_type: content_type,
152
+ raw_response: http_response,
153
+ headers: http_response.headers,
154
+ transfer_config: T.unsafe(obj)
155
+ )
156
+
157
+ return response
158
+ else
159
+ 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'
160
+ end
161
+ elsif Utils.match_status_code(http_response.status, ['400'])
162
+ if Utils.match_content_type(content_type, 'application/json')
163
+ http_response = @sdk_configuration.hooks.after_success(
164
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
165
+ hook_ctx: hook_ctx
166
+ ),
167
+ response: http_response
168
+ )
169
+ response_data = http_response.env.response_body
170
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
171
+ obj.raw_response = http_response
172
+ raise obj
173
+ else
174
+ 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'
175
+ end
176
+ elsif Utils.match_status_code(http_response.status, ['422'])
177
+ if Utils.match_content_type(content_type, 'application/json')
178
+ http_response = @sdk_configuration.hooks.after_success(
179
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
180
+ hook_ctx: hook_ctx
181
+ ),
182
+ response: http_response
183
+ )
184
+ response_data = http_response.env.response_body
185
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::TransferConfigValidationError)
186
+ obj.raw_response = http_response
187
+ raise obj
188
+ else
189
+ 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'
190
+ end
191
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
192
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
193
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
194
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
195
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
196
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
197
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
198
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
199
+ else
200
+ 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'
201
+
202
+ end
203
+ end
204
+
205
+
206
+ sig { params(account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetTransferConfigResponse) }
207
+ def get(account_id:, timeout_ms: nil, http_headers: nil)
208
+ # get - Get the transfer config for an account.
209
+ request = Models::Operations::GetTransferConfigRequest.new(
210
+ account_id: account_id
211
+ )
212
+ url, params = @sdk_configuration.get_server_details
213
+ base_url = Utils.template_url(url, params)
214
+ url = Utils.generate_url(
215
+ Models::Operations::GetTransferConfigRequest,
216
+ base_url,
217
+ '/accounts/{accountID}/transfer-config',
218
+ request
219
+ )
220
+ headers = {}
221
+ headers = T.cast(headers, T::Hash[String, String])
222
+ headers['Accept'] = 'application/json'
223
+ headers['user-agent'] = @sdk_configuration.user_agent
224
+
225
+ security = @sdk_configuration.security_source&.call
226
+
227
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
228
+ timeout ||= @sdk_configuration.timeout
229
+
230
+
231
+ connection = @sdk_configuration.client
232
+
233
+ hook_ctx = SDKHooks::HookContext.new(
234
+ config: @sdk_configuration,
235
+ base_url: base_url,
236
+ oauth2_scopes: nil,
237
+ operation_id: 'getTransferConfig',
238
+ security_source: @sdk_configuration.security_source
239
+ )
240
+
241
+ error = T.let(nil, T.nilable(StandardError))
242
+ http_response = T.let(nil, T.nilable(Faraday::Response))
243
+
244
+
245
+ begin
246
+ http_response = T.must(connection).get(url) do |req|
247
+ req.headers.merge!(headers)
248
+ req.options.timeout = timeout unless timeout.nil?
249
+ Utils.configure_request_security(req, security)
250
+ http_headers&.each do |key, value|
251
+ req.headers[key.to_s] = value
252
+ end
253
+
254
+ @sdk_configuration.hooks.before_request(
255
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
256
+ hook_ctx: hook_ctx
257
+ ),
258
+ request: req
259
+ )
260
+ end
261
+ rescue StandardError => e
262
+ error = e
263
+ ensure
264
+ if http_response.nil? || Utils.error_status?(http_response.status)
265
+ http_response = @sdk_configuration.hooks.after_error(
266
+ error: error,
267
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
268
+ hook_ctx: hook_ctx
269
+ ),
270
+ response: http_response
271
+ )
272
+ else
273
+ http_response = @sdk_configuration.hooks.after_success(
274
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
275
+ hook_ctx: hook_ctx
276
+ ),
277
+ response: http_response
278
+ )
279
+ end
280
+
281
+ if http_response.nil?
282
+ raise error if !error.nil?
283
+ raise 'no response'
284
+ end
285
+ end
286
+
287
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
288
+ if Utils.match_status_code(http_response.status, ['200'])
289
+ if Utils.match_content_type(content_type, 'application/json')
290
+ http_response = @sdk_configuration.hooks.after_success(
291
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
292
+ hook_ctx: hook_ctx
293
+ ),
294
+ response: http_response
295
+ )
296
+ response_data = http_response.env.response_body
297
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::TransferConfig)
298
+ response = Models::Operations::GetTransferConfigResponse.new(
299
+ status_code: http_response.status,
300
+ content_type: content_type,
301
+ raw_response: http_response,
302
+ headers: http_response.headers,
303
+ transfer_config: T.unsafe(obj)
304
+ )
305
+
306
+ return response
307
+ else
308
+ 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'
309
+ end
310
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
311
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
312
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
313
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
314
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
315
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
316
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
317
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
318
+ else
319
+ 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'
320
+
321
+ end
322
+ end
323
+
324
+
325
+ sig { params(put_transfer_config: Models::Components::PutTransferConfig, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::UpdateTransferConfigResponse) }
326
+ def update(put_transfer_config:, account_id:, timeout_ms: nil, http_headers: nil)
327
+ # update - Update the transfer config for an account.
328
+ request = Models::Operations::UpdateTransferConfigRequest.new(
329
+ account_id: account_id,
330
+ put_transfer_config: put_transfer_config
331
+ )
332
+ url, params = @sdk_configuration.get_server_details
333
+ base_url = Utils.template_url(url, params)
334
+ url = Utils.generate_url(
335
+ Models::Operations::UpdateTransferConfigRequest,
336
+ base_url,
337
+ '/accounts/{accountID}/transfer-config',
338
+ request
339
+ )
340
+ headers = {}
341
+ headers = T.cast(headers, T::Hash[String, String])
342
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :put_transfer_config, :json)
343
+ headers['content-type'] = req_content_type
344
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
345
+
346
+ if form && !form.empty?
347
+ body = Utils.encode_form(form)
348
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
349
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
350
+ else
351
+ body = data
352
+ end
353
+ headers['Accept'] = 'application/json'
354
+ headers['user-agent'] = @sdk_configuration.user_agent
355
+
356
+ security = @sdk_configuration.security_source&.call
357
+
358
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
359
+ timeout ||= @sdk_configuration.timeout
360
+
361
+
362
+ connection = @sdk_configuration.client
363
+
364
+ hook_ctx = SDKHooks::HookContext.new(
365
+ config: @sdk_configuration,
366
+ base_url: base_url,
367
+ oauth2_scopes: nil,
368
+ operation_id: 'updateTransferConfig',
369
+ security_source: @sdk_configuration.security_source
370
+ )
371
+
372
+ error = T.let(nil, T.nilable(StandardError))
373
+ http_response = T.let(nil, T.nilable(Faraday::Response))
374
+
375
+
376
+ begin
377
+ http_response = T.must(connection).put(url) do |req|
378
+ req.body = body
379
+ req.headers.merge!(headers)
380
+ req.options.timeout = timeout unless timeout.nil?
381
+ Utils.configure_request_security(req, security)
382
+ http_headers&.each do |key, value|
383
+ req.headers[key.to_s] = value
384
+ end
385
+
386
+ @sdk_configuration.hooks.before_request(
387
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
388
+ hook_ctx: hook_ctx
389
+ ),
390
+ request: req
391
+ )
392
+ end
393
+ rescue StandardError => e
394
+ error = e
395
+ ensure
396
+ if http_response.nil? || Utils.error_status?(http_response.status)
397
+ http_response = @sdk_configuration.hooks.after_error(
398
+ error: error,
399
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
400
+ hook_ctx: hook_ctx
401
+ ),
402
+ response: http_response
403
+ )
404
+ else
405
+ http_response = @sdk_configuration.hooks.after_success(
406
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
407
+ hook_ctx: hook_ctx
408
+ ),
409
+ response: http_response
410
+ )
411
+ end
412
+
413
+ if http_response.nil?
414
+ raise error if !error.nil?
415
+ raise 'no response'
416
+ end
417
+ end
418
+
419
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
420
+ if Utils.match_status_code(http_response.status, ['200'])
421
+ if Utils.match_content_type(content_type, 'application/json')
422
+ http_response = @sdk_configuration.hooks.after_success(
423
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
424
+ hook_ctx: hook_ctx
425
+ ),
426
+ response: http_response
427
+ )
428
+ response_data = http_response.env.response_body
429
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::TransferConfig)
430
+ response = Models::Operations::UpdateTransferConfigResponse.new(
431
+ status_code: http_response.status,
432
+ content_type: content_type,
433
+ raw_response: http_response,
434
+ headers: http_response.headers,
435
+ transfer_config: T.unsafe(obj)
436
+ )
437
+
438
+ return response
439
+ else
440
+ 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'
441
+ end
442
+ elsif Utils.match_status_code(http_response.status, ['400'])
443
+ if Utils.match_content_type(content_type, 'application/json')
444
+ http_response = @sdk_configuration.hooks.after_success(
445
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
446
+ hook_ctx: hook_ctx
447
+ ),
448
+ response: http_response
449
+ )
450
+ response_data = http_response.env.response_body
451
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
452
+ obj.raw_response = http_response
453
+ raise obj
454
+ else
455
+ 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'
456
+ end
457
+ elsif Utils.match_status_code(http_response.status, ['422'])
458
+ if Utils.match_content_type(content_type, 'application/json')
459
+ http_response = @sdk_configuration.hooks.after_success(
460
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
461
+ hook_ctx: hook_ctx
462
+ ),
463
+ response: http_response
464
+ )
465
+ response_data = http_response.env.response_body
466
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::TransferConfigValidationError)
467
+ obj.raw_response = http_response
468
+ raise obj
469
+ else
470
+ 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'
471
+ end
472
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
473
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
474
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
475
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
476
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
477
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
478
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
479
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
480
+ else
481
+ 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'
482
+
483
+ end
484
+ end
485
+ end
486
+ end
data/lib/moov_ruby.rb CHANGED
@@ -28,6 +28,7 @@ module Moov
28
28
  autoload :Sweeps, 'moov/sweeps'
29
29
  autoload :AccountTerminalApplications, 'moov/account_terminal_applications'
30
30
  autoload :Support, 'moov/support'
31
+ autoload :TransferConfig, 'moov/transfer_config'
31
32
  autoload :Transfers, 'moov/transfers'
32
33
  autoload :Underwriting, 'moov/underwriting'
33
34
  autoload :Wallets, 'moov/wallets'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moov_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 26.4.0
4
+ version: 26.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speakeasy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-20 00:00:00.000000000 Z
11
+ date: 2026-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -510,8 +510,12 @@ files:
510
510
  - lib/moov/models/components/cardexpiration.rbi
511
511
  - lib/moov/models/components/cardexpirationerror.rb
512
512
  - lib/moov/models/components/cardexpirationerror.rbi
513
+ - lib/moov/models/components/cardfundingsource.rb
514
+ - lib/moov/models/components/cardfundingsource.rbi
513
515
  - lib/moov/models/components/cardissuingnetwork.rb
514
516
  - lib/moov/models/components/cardissuingnetwork.rbi
517
+ - lib/moov/models/components/cardnetwork.rb
518
+ - lib/moov/models/components/cardnetwork.rbi
515
519
  - lib/moov/models/components/cardpayment.rb
516
520
  - lib/moov/models/components/cardpayment.rbi
517
521
  - lib/moov/models/components/cardpaymentdetails.rb
@@ -692,10 +696,18 @@ files:
692
696
  - lib/moov/models/components/createticket.rbi
693
697
  - lib/moov/models/components/createticketcontacterror.rb
694
698
  - lib/moov/models/components/createticketcontacterror.rbi
699
+ - lib/moov/models/components/createtippresets.rb
700
+ - lib/moov/models/components/createtippresets.rbi
695
701
  - lib/moov/models/components/createtransfer.rb
696
702
  - lib/moov/models/components/createtransfer.rbi
697
703
  - lib/moov/models/components/createtransferachaddendarecord.rb
698
704
  - lib/moov/models/components/createtransferachaddendarecord.rbi
705
+ - lib/moov/models/components/createtransferamountdetails.rb
706
+ - lib/moov/models/components/createtransferamountdetails.rbi
707
+ - lib/moov/models/components/createtransferamountdetailsvalidationerror.rb
708
+ - lib/moov/models/components/createtransferamountdetailsvalidationerror.rbi
709
+ - lib/moov/models/components/createtransferconfig.rb
710
+ - lib/moov/models/components/createtransferconfig.rbi
699
711
  - lib/moov/models/components/createtransferdestination.rb
700
712
  - lib/moov/models/components/createtransferdestination.rbi
701
713
  - lib/moov/models/components/createtransferdestinationach.rb
@@ -834,16 +846,26 @@ files:
834
846
  - lib/moov/models/components/generatedby.rbi
835
847
  - lib/moov/models/components/geographicreach.rb
836
848
  - lib/moov/models/components/geographicreach.rbi
837
- - lib/moov/models/components/googlepayintermediatesigningkey.rb
838
- - lib/moov/models/components/googlepayintermediatesigningkey.rbi
849
+ - lib/moov/models/components/googlepayassurancedetails.rb
850
+ - lib/moov/models/components/googlepayassurancedetails.rbi
851
+ - lib/moov/models/components/googlepaybillingaddress.rb
852
+ - lib/moov/models/components/googlepaybillingaddress.rbi
853
+ - lib/moov/models/components/googlepaycardinfo.rb
854
+ - lib/moov/models/components/googlepaycardinfo.rbi
839
855
  - lib/moov/models/components/googlepaypaymentmethod.rb
840
856
  - lib/moov/models/components/googlepaypaymentmethod.rbi
841
857
  - lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rb
842
858
  - lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rbi
859
+ - lib/moov/models/components/googlepaypaymentmethoddata.rb
860
+ - lib/moov/models/components/googlepaypaymentmethoddata.rbi
861
+ - lib/moov/models/components/googlepaypaymentmethoddata_type.rb
862
+ - lib/moov/models/components/googlepaypaymentmethoddata_type.rbi
843
863
  - lib/moov/models/components/googlepayresponse.rb
844
864
  - lib/moov/models/components/googlepayresponse.rbi
845
- - lib/moov/models/components/googlepaytoken.rb
846
- - lib/moov/models/components/googlepaytoken.rbi
865
+ - lib/moov/models/components/googlepaytokenizationdata.rb
866
+ - lib/moov/models/components/googlepaytokenizationdata.rbi
867
+ - lib/moov/models/components/googlepaytokenizationdata_type.rb
868
+ - lib/moov/models/components/googlepaytokenizationdata_type.rbi
847
869
  - lib/moov/models/components/googlepaytransferpaymentmethod.rb
848
870
  - lib/moov/models/components/googlepaytransferpaymentmethod.rbi
849
871
  - lib/moov/models/components/googlepaytransferpaymentmethod_paymentmethodtype.rb
@@ -990,8 +1012,6 @@ files:
990
1012
  - lib/moov/models/components/linkedapplepaypaymentmethod.rbi
991
1013
  - lib/moov/models/components/linkedgooglepaypaymentmethod.rb
992
1014
  - lib/moov/models/components/linkedgooglepaypaymentmethod.rbi
993
- - lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rb
994
- - lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rbi
995
1015
  - lib/moov/models/components/linkgooglepay.rb
996
1016
  - lib/moov/models/components/linkgooglepay.rbi
997
1017
  - lib/moov/models/components/listfeesfetchrequest.rb
@@ -1214,6 +1234,10 @@ files:
1214
1234
  - lib/moov/models/components/pushtogooglepaytransferpaymentmethod.rbi
1215
1235
  - lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rb
1216
1236
  - lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rbi
1237
+ - lib/moov/models/components/puttippresets.rb
1238
+ - lib/moov/models/components/puttippresets.rbi
1239
+ - lib/moov/models/components/puttransferconfig.rb
1240
+ - lib/moov/models/components/puttransferconfig.rbi
1217
1241
  - lib/moov/models/components/qrcode.rb
1218
1242
  - lib/moov/models/components/qrcode.rbi
1219
1243
  - lib/moov/models/components/receiptkind.rb
@@ -1396,6 +1420,10 @@ files:
1396
1420
  - lib/moov/models/components/ticketmessage.rbi
1397
1421
  - lib/moov/models/components/ticketstatus.rb
1398
1422
  - lib/moov/models/components/ticketstatus.rbi
1423
+ - lib/moov/models/components/tipcalculationbasis.rb
1424
+ - lib/moov/models/components/tipcalculationbasis.rbi
1425
+ - lib/moov/models/components/tippresets.rb
1426
+ - lib/moov/models/components/tippresets.rbi
1399
1427
  - lib/moov/models/components/token_type_hint.rb
1400
1428
  - lib/moov/models/components/token_type_hint.rbi
1401
1429
  - lib/moov/models/components/tokentype.rb
@@ -1408,6 +1436,10 @@ files:
1408
1436
  - lib/moov/models/components/transferaccount.rbi
1409
1437
  - lib/moov/models/components/transferachaddendarecord.rb
1410
1438
  - lib/moov/models/components/transferachaddendarecord.rbi
1439
+ - lib/moov/models/components/transferamountdetails.rb
1440
+ - lib/moov/models/components/transferamountdetails.rbi
1441
+ - lib/moov/models/components/transferconfig.rb
1442
+ - lib/moov/models/components/transferconfig.rbi
1411
1443
  - lib/moov/models/components/transferdestination.rb
1412
1444
  - lib/moov/models/components/transferdestination.rbi
1413
1445
  - lib/moov/models/components/transferentrymode.rb
@@ -1715,6 +1747,8 @@ files:
1715
1747
  - lib/moov/models/errors/terminalapplicationerror.rbi
1716
1748
  - lib/moov/models/errors/transfer_error.rb
1717
1749
  - lib/moov/models/errors/transfer_error.rbi
1750
+ - lib/moov/models/errors/transferconfigvalidationerror.rb
1751
+ - lib/moov/models/errors/transferconfigvalidationerror.rbi
1718
1752
  - lib/moov/models/errors/transferoptionsvalidationerror.rb
1719
1753
  - lib/moov/models/errors/transferoptionsvalidationerror.rbi
1720
1754
  - lib/moov/models/errors/transfervalidationerror.rb
@@ -1838,6 +1872,10 @@ files:
1838
1872
  - lib/moov/models/operations/createtransfer_request.rbi
1839
1873
  - lib/moov/models/operations/createtransfer_response.rb
1840
1874
  - lib/moov/models/operations/createtransfer_response.rbi
1875
+ - lib/moov/models/operations/createtransferconfig_request.rb
1876
+ - lib/moov/models/operations/createtransferconfig_request.rbi
1877
+ - lib/moov/models/operations/createtransferconfig_response.rb
1878
+ - lib/moov/models/operations/createtransferconfig_response.rbi
1841
1879
  - lib/moov/models/operations/createtransferoptions_request.rb
1842
1880
  - lib/moov/models/operations/createtransferoptions_request.rbi
1843
1881
  - lib/moov/models/operations/createtransferoptions_response.rb
@@ -2082,6 +2120,10 @@ files:
2082
2120
  - lib/moov/models/operations/gettransfer_request.rbi
2083
2121
  - lib/moov/models/operations/gettransfer_response.rb
2084
2122
  - lib/moov/models/operations/gettransfer_response.rbi
2123
+ - lib/moov/models/operations/gettransferconfig_request.rb
2124
+ - lib/moov/models/operations/gettransferconfig_request.rbi
2125
+ - lib/moov/models/operations/gettransferconfig_response.rb
2126
+ - lib/moov/models/operations/gettransferconfig_response.rbi
2085
2127
  - lib/moov/models/operations/getunderwriting_request.rb
2086
2128
  - lib/moov/models/operations/getunderwriting_request.rbi
2087
2129
  - lib/moov/models/operations/getunderwriting_response.rb
@@ -2414,6 +2456,10 @@ files:
2414
2456
  - lib/moov/models/operations/updatetransfer_request.rbi
2415
2457
  - lib/moov/models/operations/updatetransfer_response.rb
2416
2458
  - lib/moov/models/operations/updatetransfer_response.rbi
2459
+ - lib/moov/models/operations/updatetransferconfig_request.rb
2460
+ - lib/moov/models/operations/updatetransferconfig_request.rbi
2461
+ - lib/moov/models/operations/updatetransferconfig_response.rb
2462
+ - lib/moov/models/operations/updatetransferconfig_response.rbi
2417
2463
  - lib/moov/models/operations/updatewallet_request.rb
2418
2464
  - lib/moov/models/operations/updatewallet_request.rbi
2419
2465
  - lib/moov/models/operations/updatewallet_response.rb
@@ -2465,6 +2511,7 @@ files:
2465
2511
  - lib/moov/support.rb
2466
2512
  - lib/moov/sweeps.rb
2467
2513
  - lib/moov/terminal_applications.rb
2514
+ - lib/moov/transfer_config.rb
2468
2515
  - lib/moov/transfers.rb
2469
2516
  - lib/moov/underwriting.rb
2470
2517
  - lib/moov/utils/forms.rb