straddle 0.2.0 → 0.3.0

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 (111) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +1 -1
  4. data/lib/straddle/internal/transport/base_client.rb +7 -1
  5. data/lib/straddle/internal/transport/pooled_net_requester.rb +36 -26
  6. data/lib/straddle/internal/util.rb +5 -5
  7. data/lib/straddle/models/bridge/link_bank_account_params.rb +31 -2
  8. data/lib/straddle/models/bridge/link_create_paykey_params.rb +31 -2
  9. data/lib/straddle/models/bridge/link_create_paykey_response.rb +31 -2
  10. data/lib/straddle/models/bridge/link_create_tan_params.rb +30 -2
  11. data/lib/straddle/models/bridge/link_create_tan_response.rb +31 -2
  12. data/lib/straddle/models/bridge/link_plaid_params.rb +30 -2
  13. data/lib/straddle/models/bridge_initialize_params.rb +30 -2
  14. data/lib/straddle/models/customers/review_refresh_review_params.rb +40 -0
  15. data/lib/straddle/models/embed/linked_bank_account_list_params.rb +51 -1
  16. data/lib/straddle/models/funding_event_list_params.rb +9 -1
  17. data/lib/straddle/models/funding_event_summary_item_v1.rb +25 -1
  18. data/lib/straddle/models/funding_event_summary_paged_v1.rb +25 -1
  19. data/lib/straddle/models/paykey_reveal_response.rb +31 -2
  20. data/lib/straddle/models/paykey_summary_paged_v1.rb +30 -2
  21. data/lib/straddle/models/paykey_unmasked_v1.rb +30 -2
  22. data/lib/straddle/models/{customer_refresh_review_params.rb → paykey_update_balance_params.rb} +2 -2
  23. data/lib/straddle/models/paykey_v1.rb +30 -2
  24. data/lib/straddle/models/paykeys/review_decision_params.rb +56 -0
  25. data/lib/straddle/models/paykeys/review_get_params.rb +34 -0
  26. data/lib/straddle/models/paykeys/review_get_response.rb +642 -0
  27. data/lib/straddle/models/paykeys/review_refresh_review_params.rb +40 -0
  28. data/lib/straddle/models/payment_summary_paged_v1.rb +9 -1
  29. data/lib/straddle/models.rb +3 -3
  30. data/lib/straddle/resources/bridge/link.rb +12 -4
  31. data/lib/straddle/resources/bridge.rb +3 -1
  32. data/lib/straddle/resources/customers/review.rb +37 -0
  33. data/lib/straddle/resources/customers.rb +0 -37
  34. data/lib/straddle/resources/embed/linked_bank_accounts.rb +15 -2
  35. data/lib/straddle/resources/funding_events.rb +4 -1
  36. data/lib/straddle/resources/paykeys/review.rb +128 -0
  37. data/lib/straddle/resources/paykeys.rb +36 -39
  38. data/lib/straddle/version.rb +1 -1
  39. data/lib/straddle.rb +8 -2
  40. data/manifest.yaml +1 -0
  41. data/rbi/straddle/internal/transport/base_client.rbi +5 -0
  42. data/rbi/straddle/internal/transport/pooled_net_requester.rbi +6 -2
  43. data/rbi/straddle/internal/type/base_model.rbi +8 -4
  44. data/rbi/straddle/models/bridge/link_bank_account_params.rbi +76 -1
  45. data/rbi/straddle/models/bridge/link_create_paykey_params.rbi +76 -1
  46. data/rbi/straddle/models/bridge/link_create_paykey_response.rbi +76 -1
  47. data/rbi/straddle/models/bridge/link_create_tan_params.rbi +76 -1
  48. data/rbi/straddle/models/bridge/link_create_tan_response.rbi +76 -1
  49. data/rbi/straddle/models/bridge/link_plaid_params.rbi +76 -1
  50. data/rbi/straddle/models/bridge_initialize_params.rbi +76 -1
  51. data/rbi/straddle/models/customers/review_refresh_review_params.rbi +76 -0
  52. data/rbi/straddle/models/embed/linked_bank_account_list_params.rbi +149 -0
  53. data/rbi/straddle/models/funding_event_list_params.rbi +8 -0
  54. data/rbi/straddle/models/funding_event_summary_item_v1.rbi +24 -0
  55. data/rbi/straddle/models/funding_event_summary_paged_v1.rbi +24 -0
  56. data/rbi/straddle/models/paykey_reveal_response.rbi +76 -1
  57. data/rbi/straddle/models/paykey_summary_paged_v1.rbi +76 -1
  58. data/rbi/straddle/models/paykey_unmasked_v1.rbi +76 -1
  59. data/rbi/straddle/models/{customer_refresh_review_params.rbi → paykey_update_balance_params.rbi} +2 -2
  60. data/rbi/straddle/models/paykey_v1.rbi +76 -1
  61. data/rbi/straddle/models/paykeys/review_decision_params.rbi +115 -0
  62. data/rbi/straddle/models/paykeys/review_get_params.rbi +67 -0
  63. data/rbi/straddle/models/paykeys/review_get_response.rbi +1524 -0
  64. data/rbi/straddle/models/paykeys/review_refresh_review_params.rbi +76 -0
  65. data/rbi/straddle/models/payment_summary_paged_v1.rbi +8 -0
  66. data/rbi/straddle/models.rbi +3 -3
  67. data/rbi/straddle/resources/bridge/link.rbi +16 -0
  68. data/rbi/straddle/resources/bridge.rbi +4 -0
  69. data/rbi/straddle/resources/customers/review.rbi +27 -0
  70. data/rbi/straddle/resources/customers.rbi +0 -27
  71. data/rbi/straddle/resources/embed/linked_bank_accounts.rbi +10 -0
  72. data/rbi/straddle/resources/funding_events.rbi +3 -0
  73. data/rbi/straddle/resources/paykeys/review.rbi +94 -0
  74. data/rbi/straddle/resources/paykeys.rbi +19 -21
  75. data/sig/straddle/internal/transport/base_client.rbs +2 -0
  76. data/sig/straddle/internal/transport/pooled_net_requester.rbs +4 -1
  77. data/sig/straddle/models/bridge/link_bank_account_params.rbs +28 -1
  78. data/sig/straddle/models/bridge/link_create_paykey_params.rbs +28 -1
  79. data/sig/straddle/models/bridge/link_create_paykey_response.rbs +28 -1
  80. data/sig/straddle/models/bridge/link_create_tan_params.rbs +28 -1
  81. data/sig/straddle/models/bridge/link_create_tan_response.rbs +28 -1
  82. data/sig/straddle/models/bridge/link_plaid_params.rbs +28 -1
  83. data/sig/straddle/models/bridge_initialize_params.rbs +28 -1
  84. data/sig/straddle/models/customers/review_refresh_review_params.rbs +51 -0
  85. data/sig/straddle/models/embed/linked_bank_account_list_params.rbs +46 -0
  86. data/sig/straddle/models/funding_event_list_params.rbs +5 -0
  87. data/sig/straddle/models/funding_event_summary_item_v1.rbs +15 -0
  88. data/sig/straddle/models/funding_event_summary_paged_v1.rbs +15 -0
  89. data/sig/straddle/models/paykey_reveal_response.rbs +28 -1
  90. data/sig/straddle/models/paykey_summary_paged_v1.rbs +28 -1
  91. data/sig/straddle/models/paykey_unmasked_v1.rbs +28 -1
  92. data/sig/straddle/models/{customer_refresh_review_params.rbs → paykey_update_balance_params.rbs} +2 -2
  93. data/sig/straddle/models/paykey_v1.rbs +28 -1
  94. data/sig/straddle/models/paykeys/review_decision_params.rbs +67 -0
  95. data/sig/straddle/models/paykeys/review_get_params.rbs +44 -0
  96. data/sig/straddle/models/paykeys/review_get_response.rbs +627 -0
  97. data/sig/straddle/models/paykeys/review_refresh_review_params.rbs +51 -0
  98. data/sig/straddle/models/payment_summary_paged_v1.rbs +5 -0
  99. data/sig/straddle/models.rbs +3 -3
  100. data/sig/straddle/resources/bridge/link.rbs +4 -0
  101. data/sig/straddle/resources/bridge.rbs +1 -0
  102. data/sig/straddle/resources/customers/review.rbs +9 -0
  103. data/sig/straddle/resources/customers.rbs +0 -9
  104. data/sig/straddle/resources/embed/linked_bank_accounts.rbs +2 -0
  105. data/sig/straddle/resources/funding_events.rbs +1 -0
  106. data/sig/straddle/resources/paykeys/review.rbs +36 -0
  107. data/sig/straddle/resources/paykeys.rbs +7 -6
  108. metadata +23 -8
  109. data/lib/straddle/models/paykey_review_params.rb +0 -54
  110. data/rbi/straddle/models/paykey_review_params.rbi +0 -98
  111. data/sig/straddle/models/paykey_review_params.rbs +0 -65
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bd6a208e41cae35818c5b73da6eea68f300efe8558ca6e148ce0b6564a89a9ea
4
- data.tar.gz: 8c4db4234dfd2f4991d261c31dfd6cc98baefafb3b42b137858abc054477f128
3
+ metadata.gz: 3e5e80a1c1b53b3a5f149984bc7e7fbb1ae782caee1a4c9683ffcb96559733a7
4
+ data.tar.gz: 376d8c6d7ee586b2d7e61dad2947fae516565306f9ad6d4754273c38568bfa8d
5
5
  SHA512:
6
- metadata.gz: 1439876ed4778c79dd1088bed876cf236f441c616f4b67e229e1e2854b0535b02a0db5f1fa0ab6190b0ae8e1f268ae8a7d330ef6c3e5c84ae4bc6fdf4707185a
7
- data.tar.gz: 29c6b8fc541b1a42da83ebbfb372bb6a2fd6aabb6b2803277f11c40fd4c2933afed19e11ecfc87b37590ccd444e031ec58780f95c4d2ed5a1bdfd44b9ef3a55c
6
+ metadata.gz: 57024a8ac2cbc21595f1d7eb0896f367273cda63b109d206fe0ef5168f8eb9c91bf47550c509c5b74bac8ff745366678acd1a433566d67278cc780c4698f1a24
7
+ data.tar.gz: 7128242298fe0136fdbaa3b3e87ead934ba990d6bf99aed938229b034cd90e903a8fb51989dd8cd89c1eb53ae9d70411547aad962c7812898e966fde32292bc3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0 (2025-11-16)
4
+
5
+ Full Changelog: [v0.2.0...v0.3.0](https://github.com/straddleio/straddle-ruby/compare/v0.2.0...v0.3.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([c048e53](https://github.com/straddleio/straddle-ruby/commit/c048e539bb7e3851302e4ddbd166a58fb593a52b))
10
+ * **docs:** Preliminary update to SDK Spec ([8d573e9](https://github.com/straddleio/straddle-ruby/commit/8d573e9c1d39e407dae8a1ec8cc716c0e86a8b46))
11
+ * handle thread interrupts in the core HTTP client ([0e8ff22](https://github.com/straddleio/straddle-ruby/commit/0e8ff229d3f4e5bb905f807338896f8999cc1f44))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * absolutely qualified uris should always override the default ([9ec59a0](https://github.com/straddleio/straddle-ruby/commit/9ec59a081f213bbef52a0deb0e05229f047ec4b3))
17
+ * better thread safety via early initializing SSL store during HTTP client creation ([44dd717](https://github.com/straddleio/straddle-ruby/commit/44dd7179fdf7a912e6c0df4016cd7976ceaaa3f9))
18
+ * should not reuse buffers for `IO.copy_stream` interop ([ab1134b](https://github.com/straddleio/straddle-ruby/commit/ab1134bebd96319b18959ef961f303b7fa92cf18))
19
+
20
+
21
+ ### Chores
22
+
23
+ * bump dependency version and update sorbet types ([19ed027](https://github.com/straddleio/straddle-ruby/commit/19ed0274aeb5f8303d0170817a1520591c6e484b))
24
+ * ignore linter error for tests having large collections ([bc64eef](https://github.com/straddleio/straddle-ruby/commit/bc64eefa88be0777031542098b605f2677a8c29f))
25
+
3
26
  ## 0.2.0 (2025-10-08)
4
27
 
5
28
  Full Changelog: [v0.1.1...v0.2.0](https://github.com/straddleio/straddle-ruby/compare/v0.1.1...v0.2.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "straddle", "~> 0.2.0"
20
+ gem "straddle", "~> 0.3.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -201,7 +201,8 @@ module Straddle
201
201
  self.class::PLATFORM_HEADERS,
202
202
  {
203
203
  "accept" => "application/json",
204
- "content-type" => "application/json"
204
+ "content-type" => "application/json",
205
+ "user-agent" => user_agent
205
206
  },
206
207
  headers
207
208
  )
@@ -219,6 +220,11 @@ module Straddle
219
220
  # @return [Hash{String=>String}]
220
221
  private def auth_headers = {}
221
222
 
223
+ # @api private
224
+ #
225
+ # @return [String]
226
+ private def user_agent = "#{self.class.name}/Ruby #{Straddle::VERSION}"
227
+
222
228
  # @api private
223
229
  #
224
230
  # @return [String]
@@ -16,10 +16,11 @@ module Straddle
16
16
  class << self
17
17
  # @api private
18
18
  #
19
+ # @param cert_store [OpenSSL::X509::Store]
19
20
  # @param url [URI::Generic]
20
21
  #
21
22
  # @return [Net::HTTP]
22
- def connect(url)
23
+ def connect(cert_store:, url:)
23
24
  port =
24
25
  case [url.port, url.scheme]
25
26
  in [Integer, _]
@@ -33,6 +34,8 @@ module Straddle
33
34
  Net::HTTP.new(url.host, port).tap do
34
35
  _1.use_ssl = %w[https wss].include?(url.scheme)
35
36
  _1.max_retries = 0
37
+
38
+ (_1.cert_store = cert_store) if _1.use_ssl?
36
39
  end
37
40
  end
38
41
 
@@ -102,7 +105,7 @@ module Straddle
102
105
  pool =
103
106
  @mutex.synchronize do
104
107
  @pools[origin] ||= ConnectionPool.new(size: @size) do
105
- self.class.connect(url)
108
+ self.class.connect(cert_store: @cert_store, url: url)
106
109
  end
107
110
  end
108
111
 
@@ -128,40 +131,48 @@ module Straddle
128
131
  url, deadline = request.fetch_values(:url, :deadline)
129
132
 
130
133
  req = nil
131
- eof = false
132
134
  finished = false
133
- closing = nil
134
135
 
135
136
  # rubocop:disable Metrics/BlockLength
136
137
  enum = Enumerator.new do |y|
137
138
  next if finished
138
139
 
139
140
  with_pool(url, deadline: deadline) do |conn|
140
- req, closing = self.class.build_request(request) do
141
- self.class.calibrate_socket_timeout(conn, deadline)
142
- end
143
-
144
- self.class.calibrate_socket_timeout(conn, deadline)
145
- unless conn.started?
146
- conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
147
- conn.start
148
- end
141
+ eof = false
142
+ closing = nil
143
+ ::Thread.handle_interrupt(Object => :never) do
144
+ ::Thread.handle_interrupt(Object => :immediate) do
145
+ req, closing = self.class.build_request(request) do
146
+ self.class.calibrate_socket_timeout(conn, deadline)
147
+ end
149
148
 
150
- self.class.calibrate_socket_timeout(conn, deadline)
151
- conn.request(req) do |rsp|
152
- y << [req, rsp]
153
- break if finished
154
-
155
- rsp.read_body do |bytes|
156
- y << bytes.force_encoding(Encoding::BINARY)
157
- break if finished
149
+ self.class.calibrate_socket_timeout(conn, deadline)
150
+ unless conn.started?
151
+ conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
152
+ conn.start
153
+ end
158
154
 
159
155
  self.class.calibrate_socket_timeout(conn, deadline)
156
+ conn.request(req) do |rsp|
157
+ y << [req, rsp]
158
+ break if finished
159
+
160
+ rsp.read_body do |bytes|
161
+ y << bytes.force_encoding(Encoding::BINARY)
162
+ break if finished
163
+
164
+ self.class.calibrate_socket_timeout(conn, deadline)
165
+ end
166
+ eof = true
167
+ end
168
+ end
169
+ ensure
170
+ begin
171
+ conn.finish if !eof && conn&.started?
172
+ ensure
173
+ closing&.call
160
174
  end
161
- eof = true
162
175
  end
163
- ensure
164
- conn.finish if !eof && conn&.started?
165
176
  end
166
177
  rescue Timeout::Error
167
178
  raise Straddle::Errors::APITimeoutError.new(url: url, request: req)
@@ -174,8 +185,6 @@ module Straddle
174
185
  body = Straddle::Internal::Util.fused_enum(enum, external: true) do
175
186
  finished = true
176
187
  loop { enum.next }
177
- ensure
178
- closing&.call
179
188
  end
180
189
  [Integer(response.code), response, body]
181
190
  end
@@ -186,6 +195,7 @@ module Straddle
186
195
  def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS)
187
196
  @mutex = Mutex.new
188
197
  @size = size
198
+ @cert_store = OpenSSL::X509::Store.new.tap(&:set_default_paths)
189
199
  @pools = {}
190
200
  end
191
201
 
@@ -346,8 +346,9 @@ module Straddle
346
346
  base_path, base_query = lhs.fetch_values(:path, :query)
347
347
  slashed = base_path.end_with?("/") ? base_path : "#{base_path}/"
348
348
 
349
- parsed_path, parsed_query = parse_uri(rhs.fetch(:path)).fetch_values(:path, :query)
350
- override = URI::Generic.build(**rhs.slice(:scheme, :host, :port), path: parsed_path)
349
+ merged = {**parse_uri(rhs.fetch(:path)), **rhs.except(:path, :query)}
350
+ parsed_path, parsed_query = merged.fetch_values(:path, :query)
351
+ override = URI::Generic.build(**merged.slice(:scheme, :host, :port), path: parsed_path)
351
352
 
352
353
  joined = URI.join(URI::Generic.build(lhs.except(:path, :query)), slashed, override)
353
354
  query = deep_merge(
@@ -473,10 +474,9 @@ module Straddle
473
474
  # @return [Enumerable<String>]
474
475
  def writable_enum(&blk)
475
476
  Enumerator.new do |y|
476
- buf = String.new
477
477
  y.define_singleton_method(:write) do
478
- self << buf.replace(_1)
479
- buf.bytesize
478
+ self << _1.dup
479
+ _1.bytesize
480
480
  end
481
481
 
482
482
  blk.call(y)
@@ -36,6 +36,13 @@ module Straddle
36
36
  # @return [Straddle::Models::Bridge::LinkBankAccountParams::Config, nil]
37
37
  optional :config, -> { Straddle::Bridge::LinkBankAccountParams::Config }
38
38
 
39
+ # @!attribute external_id
40
+ # Unique identifier for the paykey in your database, used for cross-referencing
41
+ # between Straddle and your systems.
42
+ #
43
+ # @return [String, nil]
44
+ optional :external_id, String, nil?: true
45
+
39
46
  # @!attribute metadata
40
47
  # Up to 20 additional user-defined key-value pairs. Useful for storing additional
41
48
  # information about the paykey in a structured format.
@@ -63,7 +70,7 @@ module Straddle
63
70
  # @return [String, nil]
64
71
  optional :straddle_account_id, String
65
72
 
66
- # @!method initialize(account_number:, account_type:, customer_id:, routing_number:, config: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
73
+ # @!method initialize(account_number:, account_type:, customer_id:, routing_number:, config: nil, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
67
74
  # Some parameter documentations has been truncated, see
68
75
  # {Straddle::Models::Bridge::LinkBankAccountParams} for more details.
69
76
  #
@@ -77,6 +84,8 @@ module Straddle
77
84
  #
78
85
  # @param config [Straddle::Models::Bridge::LinkBankAccountParams::Config]
79
86
  #
87
+ # @param external_id [String, nil] Unique identifier for the paykey in your database, used for cross-referencing be
88
+ #
80
89
  # @param metadata [Hash{Symbol=>String}, nil] Up to 20 additional user-defined key-value pairs. Useful for storing additional
81
90
  #
82
91
  # @param correlation_id [String]
@@ -100,14 +109,33 @@ module Straddle
100
109
  end
101
110
 
102
111
  class Config < Straddle::Internal::Type::BaseModel
112
+ # @!attribute processing_method
113
+ #
114
+ # @return [Symbol, Straddle::Models::Bridge::LinkBankAccountParams::Config::ProcessingMethod, nil]
115
+ optional :processing_method,
116
+ enum: -> { Straddle::Bridge::LinkBankAccountParams::Config::ProcessingMethod }
117
+
103
118
  # @!attribute sandbox_outcome
104
119
  #
105
120
  # @return [Symbol, Straddle::Models::Bridge::LinkBankAccountParams::Config::SandboxOutcome, nil]
106
121
  optional :sandbox_outcome, enum: -> { Straddle::Bridge::LinkBankAccountParams::Config::SandboxOutcome }
107
122
 
108
- # @!method initialize(sandbox_outcome: nil)
123
+ # @!method initialize(processing_method: nil, sandbox_outcome: nil)
124
+ # @param processing_method [Symbol, Straddle::Models::Bridge::LinkBankAccountParams::Config::ProcessingMethod]
109
125
  # @param sandbox_outcome [Symbol, Straddle::Models::Bridge::LinkBankAccountParams::Config::SandboxOutcome]
110
126
 
127
+ # @see Straddle::Models::Bridge::LinkBankAccountParams::Config#processing_method
128
+ module ProcessingMethod
129
+ extend Straddle::Internal::Type::Enum
130
+
131
+ INLINE = :inline
132
+ BACKGROUND = :background
133
+ SKIP = :skip
134
+
135
+ # @!method self.values
136
+ # @return [Array<Symbol>]
137
+ end
138
+
111
139
  # @see Straddle::Models::Bridge::LinkBankAccountParams::Config#sandbox_outcome
112
140
  module SandboxOutcome
113
141
  extend Straddle::Internal::Type::Enum
@@ -115,6 +143,7 @@ module Straddle
115
143
  STANDARD = :standard
116
144
  ACTIVE = :active
117
145
  REJECTED = :rejected
146
+ REVIEW = :review
118
147
 
119
148
  # @!method self.values
120
149
  # @return [Array<Symbol>]
@@ -26,6 +26,13 @@ module Straddle
26
26
  # @return [Straddle::Models::Bridge::LinkCreatePaykeyParams::Config, nil]
27
27
  optional :config, -> { Straddle::Bridge::LinkCreatePaykeyParams::Config }
28
28
 
29
+ # @!attribute external_id
30
+ # Unique identifier for the paykey in your database, used for cross-referencing
31
+ # between Straddle and your systems.
32
+ #
33
+ # @return [String, nil]
34
+ optional :external_id, String, nil?: true
35
+
29
36
  # @!attribute metadata
30
37
  # Up to 20 additional user-defined key-value pairs. Useful for storing additional
31
38
  # information about the paykey in a structured format.
@@ -53,7 +60,7 @@ module Straddle
53
60
  # @return [String, nil]
54
61
  optional :straddle_account_id, String
55
62
 
56
- # @!method initialize(customer_id:, quiltt_token:, config: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
63
+ # @!method initialize(customer_id:, quiltt_token:, config: nil, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
57
64
  # Some parameter documentations has been truncated, see
58
65
  # {Straddle::Models::Bridge::LinkCreatePaykeyParams} for more details.
59
66
  #
@@ -63,6 +70,8 @@ module Straddle
63
70
  #
64
71
  # @param config [Straddle::Models::Bridge::LinkCreatePaykeyParams::Config]
65
72
  #
73
+ # @param external_id [String, nil] Unique identifier for the paykey in your database, used for cross-referencing be
74
+ #
66
75
  # @param metadata [Hash{Symbol=>String}, nil] Up to 20 additional user-defined key-value pairs. Useful for storing additional
67
76
  #
68
77
  # @param correlation_id [String]
@@ -76,14 +85,33 @@ module Straddle
76
85
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}]
77
86
 
78
87
  class Config < Straddle::Internal::Type::BaseModel
88
+ # @!attribute processing_method
89
+ #
90
+ # @return [Symbol, Straddle::Models::Bridge::LinkCreatePaykeyParams::Config::ProcessingMethod, nil]
91
+ optional :processing_method,
92
+ enum: -> { Straddle::Bridge::LinkCreatePaykeyParams::Config::ProcessingMethod }
93
+
79
94
  # @!attribute sandbox_outcome
80
95
  #
81
96
  # @return [Symbol, Straddle::Models::Bridge::LinkCreatePaykeyParams::Config::SandboxOutcome, nil]
82
97
  optional :sandbox_outcome, enum: -> { Straddle::Bridge::LinkCreatePaykeyParams::Config::SandboxOutcome }
83
98
 
84
- # @!method initialize(sandbox_outcome: nil)
99
+ # @!method initialize(processing_method: nil, sandbox_outcome: nil)
100
+ # @param processing_method [Symbol, Straddle::Models::Bridge::LinkCreatePaykeyParams::Config::ProcessingMethod]
85
101
  # @param sandbox_outcome [Symbol, Straddle::Models::Bridge::LinkCreatePaykeyParams::Config::SandboxOutcome]
86
102
 
103
+ # @see Straddle::Models::Bridge::LinkCreatePaykeyParams::Config#processing_method
104
+ module ProcessingMethod
105
+ extend Straddle::Internal::Type::Enum
106
+
107
+ INLINE = :inline
108
+ BACKGROUND = :background
109
+ SKIP = :skip
110
+
111
+ # @!method self.values
112
+ # @return [Array<Symbol>]
113
+ end
114
+
87
115
  # @see Straddle::Models::Bridge::LinkCreatePaykeyParams::Config#sandbox_outcome
88
116
  module SandboxOutcome
89
117
  extend Straddle::Internal::Type::Enum
@@ -91,6 +119,7 @@ module Straddle
91
119
  STANDARD = :standard
92
120
  ACTIVE = :active
93
121
  REJECTED = :rejected
122
+ REVIEW = :review
94
123
 
95
124
  # @!method self.values
96
125
  # @return [Array<Symbol>]
@@ -109,6 +109,13 @@ module Straddle
109
109
  # @return [Time, nil]
110
110
  optional :expires_at, Time, nil?: true
111
111
 
112
+ # @!attribute external_id
113
+ # Unique identifier for the paykey in your database, used for cross-referencing
114
+ # between Straddle and your systems.
115
+ #
116
+ # @return [String, nil]
117
+ optional :external_id, String, nil?: true
118
+
112
119
  # @!attribute institution_name
113
120
  # Name of the financial institution.
114
121
  #
@@ -127,7 +134,7 @@ module Straddle
127
134
  # @return [Straddle::Models::Bridge::LinkCreatePaykeyResponse::Data::StatusDetails, nil]
128
135
  optional :status_details, -> { Straddle::Models::Bridge::LinkCreatePaykeyResponse::Data::StatusDetails }
129
136
 
130
- # @!method initialize(id:, config:, created_at:, label:, paykey:, source:, status:, updated_at:, balance: nil, bank_data: nil, customer_id: nil, expires_at: nil, institution_name: nil, metadata: nil, status_details: nil)
137
+ # @!method initialize(id:, config:, created_at:, label:, paykey:, source:, status:, updated_at:, balance: nil, bank_data: nil, customer_id: nil, expires_at: nil, external_id: nil, institution_name: nil, metadata: nil, status_details: nil)
131
138
  # Some parameter documentations has been truncated, see
132
139
  # {Straddle::Models::Bridge::LinkCreatePaykeyResponse::Data} for more details.
133
140
  #
@@ -155,6 +162,8 @@ module Straddle
155
162
  #
156
163
  # @param expires_at [Time, nil] Expiration date and time of the paykey, if applicable.
157
164
  #
165
+ # @param external_id [String, nil] Unique identifier for the paykey in your database, used for cross-referencing be
166
+ #
158
167
  # @param institution_name [String, nil] Name of the financial institution.
159
168
  #
160
169
  # @param metadata [Hash{Symbol=>String}, nil] Up to 20 additional user-defined key-value pairs. Useful for storing additional
@@ -163,15 +172,34 @@ module Straddle
163
172
 
164
173
  # @see Straddle::Models::Bridge::LinkCreatePaykeyResponse::Data#config
165
174
  class Config < Straddle::Internal::Type::BaseModel
175
+ # @!attribute processing_method
176
+ #
177
+ # @return [Symbol, Straddle::Models::Bridge::LinkCreatePaykeyResponse::Data::Config::ProcessingMethod, nil]
178
+ optional :processing_method,
179
+ enum: -> { Straddle::Models::Bridge::LinkCreatePaykeyResponse::Data::Config::ProcessingMethod }
180
+
166
181
  # @!attribute sandbox_outcome
167
182
  #
168
183
  # @return [Symbol, Straddle::Models::Bridge::LinkCreatePaykeyResponse::Data::Config::SandboxOutcome, nil]
169
184
  optional :sandbox_outcome,
170
185
  enum: -> { Straddle::Models::Bridge::LinkCreatePaykeyResponse::Data::Config::SandboxOutcome }
171
186
 
172
- # @!method initialize(sandbox_outcome: nil)
187
+ # @!method initialize(processing_method: nil, sandbox_outcome: nil)
188
+ # @param processing_method [Symbol, Straddle::Models::Bridge::LinkCreatePaykeyResponse::Data::Config::ProcessingMethod]
173
189
  # @param sandbox_outcome [Symbol, Straddle::Models::Bridge::LinkCreatePaykeyResponse::Data::Config::SandboxOutcome]
174
190
 
191
+ # @see Straddle::Models::Bridge::LinkCreatePaykeyResponse::Data::Config#processing_method
192
+ module ProcessingMethod
193
+ extend Straddle::Internal::Type::Enum
194
+
195
+ INLINE = :inline
196
+ BACKGROUND = :background
197
+ SKIP = :skip
198
+
199
+ # @!method self.values
200
+ # @return [Array<Symbol>]
201
+ end
202
+
175
203
  # @see Straddle::Models::Bridge::LinkCreatePaykeyResponse::Data::Config#sandbox_outcome
176
204
  module SandboxOutcome
177
205
  extend Straddle::Internal::Type::Enum
@@ -179,6 +207,7 @@ module Straddle
179
207
  STANDARD = :standard
180
208
  ACTIVE = :active
181
209
  REJECTED = :rejected
210
+ REVIEW = :review
182
211
 
183
212
  # @!method self.values
184
213
  # @return [Array<Symbol>]
@@ -36,6 +36,13 @@ module Straddle
36
36
  # @return [Straddle::Models::Bridge::LinkCreateTanParams::Config, nil]
37
37
  optional :config, -> { Straddle::Bridge::LinkCreateTanParams::Config }
38
38
 
39
+ # @!attribute external_id
40
+ # Unique identifier for the paykey in your database, used for cross-referencing
41
+ # between Straddle and your systems.
42
+ #
43
+ # @return [String, nil]
44
+ optional :external_id, String, nil?: true
45
+
39
46
  # @!attribute metadata
40
47
  # Up to 20 additional user-defined key-value pairs. Useful for storing additional
41
48
  # information about the paykey in a structured format.
@@ -63,7 +70,7 @@ module Straddle
63
70
  # @return [String, nil]
64
71
  optional :straddle_account_id, String
65
72
 
66
- # @!method initialize(account_type:, customer_id:, routing_number:, tan:, config: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
73
+ # @!method initialize(account_type:, customer_id:, routing_number:, tan:, config: nil, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
67
74
  # Some parameter documentations has been truncated, see
68
75
  # {Straddle::Models::Bridge::LinkCreateTanParams} for more details.
69
76
  #
@@ -77,6 +84,8 @@ module Straddle
77
84
  #
78
85
  # @param config [Straddle::Models::Bridge::LinkCreateTanParams::Config]
79
86
  #
87
+ # @param external_id [String, nil] Unique identifier for the paykey in your database, used for cross-referencing be
88
+ #
80
89
  # @param metadata [Hash{Symbol=>String}, nil] Up to 20 additional user-defined key-value pairs. Useful for storing additional
81
90
  #
82
91
  # @param correlation_id [String]
@@ -100,14 +109,32 @@ module Straddle
100
109
  end
101
110
 
102
111
  class Config < Straddle::Internal::Type::BaseModel
112
+ # @!attribute processing_method
113
+ #
114
+ # @return [Symbol, Straddle::Models::Bridge::LinkCreateTanParams::Config::ProcessingMethod, nil]
115
+ optional :processing_method, enum: -> { Straddle::Bridge::LinkCreateTanParams::Config::ProcessingMethod }
116
+
103
117
  # @!attribute sandbox_outcome
104
118
  #
105
119
  # @return [Symbol, Straddle::Models::Bridge::LinkCreateTanParams::Config::SandboxOutcome, nil]
106
120
  optional :sandbox_outcome, enum: -> { Straddle::Bridge::LinkCreateTanParams::Config::SandboxOutcome }
107
121
 
108
- # @!method initialize(sandbox_outcome: nil)
122
+ # @!method initialize(processing_method: nil, sandbox_outcome: nil)
123
+ # @param processing_method [Symbol, Straddle::Models::Bridge::LinkCreateTanParams::Config::ProcessingMethod]
109
124
  # @param sandbox_outcome [Symbol, Straddle::Models::Bridge::LinkCreateTanParams::Config::SandboxOutcome]
110
125
 
126
+ # @see Straddle::Models::Bridge::LinkCreateTanParams::Config#processing_method
127
+ module ProcessingMethod
128
+ extend Straddle::Internal::Type::Enum
129
+
130
+ INLINE = :inline
131
+ BACKGROUND = :background
132
+ SKIP = :skip
133
+
134
+ # @!method self.values
135
+ # @return [Array<Symbol>]
136
+ end
137
+
111
138
  # @see Straddle::Models::Bridge::LinkCreateTanParams::Config#sandbox_outcome
112
139
  module SandboxOutcome
113
140
  extend Straddle::Internal::Type::Enum
@@ -115,6 +142,7 @@ module Straddle
115
142
  STANDARD = :standard
116
143
  ACTIVE = :active
117
144
  REJECTED = :rejected
145
+ REVIEW = :review
118
146
 
119
147
  # @!method self.values
120
148
  # @return [Array<Symbol>]
@@ -109,6 +109,13 @@ module Straddle
109
109
  # @return [Time, nil]
110
110
  optional :expires_at, Time, nil?: true
111
111
 
112
+ # @!attribute external_id
113
+ # Unique identifier for the paykey in your database, used for cross-referencing
114
+ # between Straddle and your systems.
115
+ #
116
+ # @return [String, nil]
117
+ optional :external_id, String, nil?: true
118
+
112
119
  # @!attribute institution_name
113
120
  # Name of the financial institution.
114
121
  #
@@ -127,7 +134,7 @@ module Straddle
127
134
  # @return [Straddle::Models::Bridge::LinkCreateTanResponse::Data::StatusDetails, nil]
128
135
  optional :status_details, -> { Straddle::Models::Bridge::LinkCreateTanResponse::Data::StatusDetails }
129
136
 
130
- # @!method initialize(id:, config:, created_at:, label:, paykey:, source:, status:, updated_at:, balance: nil, bank_data: nil, customer_id: nil, expires_at: nil, institution_name: nil, metadata: nil, status_details: nil)
137
+ # @!method initialize(id:, config:, created_at:, label:, paykey:, source:, status:, updated_at:, balance: nil, bank_data: nil, customer_id: nil, expires_at: nil, external_id: nil, institution_name: nil, metadata: nil, status_details: nil)
131
138
  # Some parameter documentations has been truncated, see
132
139
  # {Straddle::Models::Bridge::LinkCreateTanResponse::Data} for more details.
133
140
  #
@@ -155,6 +162,8 @@ module Straddle
155
162
  #
156
163
  # @param expires_at [Time, nil] Expiration date and time of the paykey, if applicable.
157
164
  #
165
+ # @param external_id [String, nil] Unique identifier for the paykey in your database, used for cross-referencing be
166
+ #
158
167
  # @param institution_name [String, nil] Name of the financial institution.
159
168
  #
160
169
  # @param metadata [Hash{Symbol=>String}, nil] Up to 20 additional user-defined key-value pairs. Useful for storing additional
@@ -163,15 +172,34 @@ module Straddle
163
172
 
164
173
  # @see Straddle::Models::Bridge::LinkCreateTanResponse::Data#config
165
174
  class Config < Straddle::Internal::Type::BaseModel
175
+ # @!attribute processing_method
176
+ #
177
+ # @return [Symbol, Straddle::Models::Bridge::LinkCreateTanResponse::Data::Config::ProcessingMethod, nil]
178
+ optional :processing_method,
179
+ enum: -> { Straddle::Models::Bridge::LinkCreateTanResponse::Data::Config::ProcessingMethod }
180
+
166
181
  # @!attribute sandbox_outcome
167
182
  #
168
183
  # @return [Symbol, Straddle::Models::Bridge::LinkCreateTanResponse::Data::Config::SandboxOutcome, nil]
169
184
  optional :sandbox_outcome,
170
185
  enum: -> { Straddle::Models::Bridge::LinkCreateTanResponse::Data::Config::SandboxOutcome }
171
186
 
172
- # @!method initialize(sandbox_outcome: nil)
187
+ # @!method initialize(processing_method: nil, sandbox_outcome: nil)
188
+ # @param processing_method [Symbol, Straddle::Models::Bridge::LinkCreateTanResponse::Data::Config::ProcessingMethod]
173
189
  # @param sandbox_outcome [Symbol, Straddle::Models::Bridge::LinkCreateTanResponse::Data::Config::SandboxOutcome]
174
190
 
191
+ # @see Straddle::Models::Bridge::LinkCreateTanResponse::Data::Config#processing_method
192
+ module ProcessingMethod
193
+ extend Straddle::Internal::Type::Enum
194
+
195
+ INLINE = :inline
196
+ BACKGROUND = :background
197
+ SKIP = :skip
198
+
199
+ # @!method self.values
200
+ # @return [Array<Symbol>]
201
+ end
202
+
175
203
  # @see Straddle::Models::Bridge::LinkCreateTanResponse::Data::Config#sandbox_outcome
176
204
  module SandboxOutcome
177
205
  extend Straddle::Internal::Type::Enum
@@ -179,6 +207,7 @@ module Straddle
179
207
  STANDARD = :standard
180
208
  ACTIVE = :active
181
209
  REJECTED = :rejected
210
+ REVIEW = :review
182
211
 
183
212
  # @!method self.values
184
213
  # @return [Array<Symbol>]
@@ -26,6 +26,13 @@ module Straddle
26
26
  # @return [Straddle::Models::Bridge::LinkPlaidParams::Config, nil]
27
27
  optional :config, -> { Straddle::Bridge::LinkPlaidParams::Config }
28
28
 
29
+ # @!attribute external_id
30
+ # Unique identifier for the paykey in your database, used for cross-referencing
31
+ # between Straddle and your systems.
32
+ #
33
+ # @return [String, nil]
34
+ optional :external_id, String, nil?: true
35
+
29
36
  # @!attribute metadata
30
37
  # Up to 20 additional user-defined key-value pairs. Useful for storing additional
31
38
  # information about the paykey in a structured format.
@@ -53,7 +60,7 @@ module Straddle
53
60
  # @return [String, nil]
54
61
  optional :straddle_account_id, String
55
62
 
56
- # @!method initialize(customer_id:, plaid_token:, config: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
63
+ # @!method initialize(customer_id:, plaid_token:, config: nil, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
57
64
  # Some parameter documentations has been truncated, see
58
65
  # {Straddle::Models::Bridge::LinkPlaidParams} for more details.
59
66
  #
@@ -63,6 +70,8 @@ module Straddle
63
70
  #
64
71
  # @param config [Straddle::Models::Bridge::LinkPlaidParams::Config]
65
72
  #
73
+ # @param external_id [String, nil] Unique identifier for the paykey in your database, used for cross-referencing be
74
+ #
66
75
  # @param metadata [Hash{Symbol=>String}, nil] Up to 20 additional user-defined key-value pairs. Useful for storing additional
67
76
  #
68
77
  # @param correlation_id [String]
@@ -76,14 +85,32 @@ module Straddle
76
85
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}]
77
86
 
78
87
  class Config < Straddle::Internal::Type::BaseModel
88
+ # @!attribute processing_method
89
+ #
90
+ # @return [Symbol, Straddle::Models::Bridge::LinkPlaidParams::Config::ProcessingMethod, nil]
91
+ optional :processing_method, enum: -> { Straddle::Bridge::LinkPlaidParams::Config::ProcessingMethod }
92
+
79
93
  # @!attribute sandbox_outcome
80
94
  #
81
95
  # @return [Symbol, Straddle::Models::Bridge::LinkPlaidParams::Config::SandboxOutcome, nil]
82
96
  optional :sandbox_outcome, enum: -> { Straddle::Bridge::LinkPlaidParams::Config::SandboxOutcome }
83
97
 
84
- # @!method initialize(sandbox_outcome: nil)
98
+ # @!method initialize(processing_method: nil, sandbox_outcome: nil)
99
+ # @param processing_method [Symbol, Straddle::Models::Bridge::LinkPlaidParams::Config::ProcessingMethod]
85
100
  # @param sandbox_outcome [Symbol, Straddle::Models::Bridge::LinkPlaidParams::Config::SandboxOutcome]
86
101
 
102
+ # @see Straddle::Models::Bridge::LinkPlaidParams::Config#processing_method
103
+ module ProcessingMethod
104
+ extend Straddle::Internal::Type::Enum
105
+
106
+ INLINE = :inline
107
+ BACKGROUND = :background
108
+ SKIP = :skip
109
+
110
+ # @!method self.values
111
+ # @return [Array<Symbol>]
112
+ end
113
+
87
114
  # @see Straddle::Models::Bridge::LinkPlaidParams::Config#sandbox_outcome
88
115
  module SandboxOutcome
89
116
  extend Straddle::Internal::Type::Enum
@@ -91,6 +118,7 @@ module Straddle
91
118
  STANDARD = :standard
92
119
  ACTIVE = :active
93
120
  REJECTED = :rejected
121
+ REVIEW = :review
94
122
 
95
123
  # @!method self.values
96
124
  # @return [Array<Symbol>]