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
@@ -111,6 +111,12 @@ module Straddle
111
111
  # @return [Straddle::Models::StatusDetailsV1]
112
112
  required :status_details, -> { Straddle::StatusDetailsV1 }
113
113
 
114
+ # @!attribute trace_ids
115
+ # Trace ids.
116
+ #
117
+ # @return [Hash{Symbol=>String}]
118
+ required :trace_ids, Straddle::Internal::Type::HashOf[String]
119
+
114
120
  # @!attribute updated_at
115
121
  # The time the `charge` or `payout` was last updated.
116
122
  #
@@ -144,7 +150,7 @@ module Straddle
144
150
  # @return [Straddle::Models::PaykeyDetailsV1, nil]
145
151
  optional :paykey_details, -> { Straddle::PaykeyDetailsV1 }
146
152
 
147
- # @!method initialize(id:, amount:, created_at:, currency:, description:, external_id:, funding_ids:, paykey:, payment_date:, payment_type:, status:, status_details:, updated_at:, customer_details: nil, effective_at: nil, funding_id: nil, paykey_details: nil)
153
+ # @!method initialize(id:, amount:, created_at:, currency:, description:, external_id:, funding_ids:, paykey:, payment_date:, payment_type:, status:, status_details:, trace_ids:, updated_at:, customer_details: nil, effective_at: nil, funding_id: nil, paykey_details: nil)
148
154
  # Some parameter documentations has been truncated, see
149
155
  # {Straddle::Models::PaymentSummaryPagedV1::Data} for more details.
150
156
  #
@@ -172,6 +178,8 @@ module Straddle
172
178
  #
173
179
  # @param status_details [Straddle::Models::StatusDetailsV1] Details about the current status of the `charge` or `payout`.
174
180
  #
181
+ # @param trace_ids [Hash{Symbol=>String}] Trace ids.
182
+ #
175
183
  # @param updated_at [Time] The time the `charge` or `payout` was last updated.
176
184
  #
177
185
  # @param customer_details [Straddle::Models::CustomerDetailsV1] Information about the customer associated with the charge or payout.
@@ -73,8 +73,6 @@ module Straddle
73
73
 
74
74
  CustomerListParams = Straddle::Models::CustomerListParams
75
75
 
76
- CustomerRefreshReviewParams = Straddle::Models::CustomerRefreshReviewParams
77
-
78
76
  Customers = Straddle::Models::Customers
79
77
 
80
78
  CustomerSummaryPagedV1 = Straddle::Models::CustomerSummaryPagedV1
@@ -113,7 +111,7 @@ module Straddle
113
111
 
114
112
  PaykeyRevealParams = Straddle::Models::PaykeyRevealParams
115
113
 
116
- PaykeyReviewParams = Straddle::Models::PaykeyReviewParams
114
+ Paykeys = Straddle::Models::Paykeys
117
115
 
118
116
  PaykeySummaryPagedV1 = Straddle::Models::PaykeySummaryPagedV1
119
117
 
@@ -121,6 +119,8 @@ module Straddle
121
119
 
122
120
  PaykeyUnmaskedV1 = Straddle::Models::PaykeyUnmaskedV1
123
121
 
122
+ PaykeyUpdateBalanceParams = Straddle::Models::PaykeyUpdateBalanceParams
123
+
124
124
  PaykeyV1 = Straddle::Models::PaykeyV1
125
125
 
126
126
  PaymentListParams = Straddle::Models::PaymentListParams
@@ -11,7 +11,7 @@ module Straddle
11
11
  # source. This endpoint allows you to create a secure payment token linked to a
12
12
  # specific bank account.
13
13
  #
14
- # @overload bank_account(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: {})
14
+ # @overload bank_account(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: {})
15
15
  #
16
16
  # @param account_number [String] Body param: The bank account number.
17
17
  #
@@ -23,6 +23,8 @@ module Straddle
23
23
  #
24
24
  # @param config [Straddle::Models::Bridge::LinkBankAccountParams::Config] Body param:
25
25
  #
26
+ # @param external_id [String, nil] Body param: Unique identifier for the paykey in your database, used for cross-re
27
+ #
26
28
  # @param metadata [Hash{Symbol=>String}, nil] Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
27
29
  #
28
30
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
@@ -64,7 +66,7 @@ module Straddle
64
66
  # you to create a secure payment token linked to a bank account authenticated
65
67
  # through Quiltt.
66
68
  #
67
- # @overload create_paykey(customer_id:, quiltt_token:, config: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
69
+ # @overload create_paykey(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: {})
68
70
  #
69
71
  # @param customer_id [String] Body param: Unique identifier of the related customer object.
70
72
  #
@@ -72,6 +74,8 @@ module Straddle
72
74
  #
73
75
  # @param config [Straddle::Models::Bridge::LinkCreatePaykeyParams::Config] Body param:
74
76
  #
77
+ # @param external_id [String, nil] Body param: Unique identifier for the paykey in your database, used for cross-re
78
+ #
75
79
  # @param metadata [Hash{Symbol=>String}, nil] Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
76
80
  #
77
81
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
@@ -109,7 +113,7 @@ module Straddle
109
113
  # Some parameter documentations has been truncated, see
110
114
  # {Straddle::Models::Bridge::LinkCreateTanParams} for more details.
111
115
  #
112
- # @overload create_tan(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: {})
116
+ # @overload create_tan(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: {})
113
117
  #
114
118
  # @param account_type [Symbol, Straddle::Models::Bridge::LinkCreateTanParams::AccountType] Body param:
115
119
  #
@@ -121,6 +125,8 @@ module Straddle
121
125
  #
122
126
  # @param config [Straddle::Models::Bridge::LinkCreateTanParams::Config] Body param:
123
127
  #
128
+ # @param external_id [String, nil] Body param: Unique identifier for the paykey in your database, used for cross-re
129
+ #
124
130
  # @param metadata [Hash{Symbol=>String}, nil] Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
125
131
  #
126
132
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
@@ -162,7 +168,7 @@ module Straddle
162
168
  # endpoint allows you to create a secure payment token linked to a bank account
163
169
  # authenticated through Plaid.
164
170
  #
165
- # @overload plaid(customer_id:, plaid_token:, config: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
171
+ # @overload plaid(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: {})
166
172
  #
167
173
  # @param customer_id [String] Body param: Unique identifier of the related customer object.
168
174
  #
@@ -170,6 +176,8 @@ module Straddle
170
176
  #
171
177
  # @param config [Straddle::Models::Bridge::LinkPlaidParams::Config] Body param:
172
178
  #
179
+ # @param external_id [String, nil] Body param: Unique identifier for the paykey in your database, used for cross-re
180
+ #
173
181
  # @param metadata [Hash{Symbol=>String}, nil] Body param: Up to 20 additional user-defined key-value pairs. Useful for storing
174
182
  #
175
183
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
@@ -11,12 +11,14 @@ module Straddle
11
11
  #
12
12
  # Use this endpoint to generate a session token for use in the Bridge widget.
13
13
  #
14
- # @overload initialize_(customer_id:, config: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
14
+ # @overload initialize_(customer_id:, config: nil, external_id: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
15
15
  #
16
16
  # @param customer_id [String] Body param: The Straddle generated unique identifier of the `customer` to create
17
17
  #
18
18
  # @param config [Straddle::Models::BridgeInitializeParams::Config] Body param:
19
19
  #
20
+ # @param external_id [String, nil] Body param: Unique identifier for the paykey in your database, used for cross-re
21
+ #
20
22
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
21
23
  #
22
24
  # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
@@ -90,6 +90,43 @@ module Straddle
90
90
  )
91
91
  end
92
92
 
93
+ # Updates the decision of a customer's identity validation. This endpoint allows
94
+ # you to modify the outcome of a customer decision and is useful for correcting or
95
+ # updating the status of a customer's verification.
96
+ #
97
+ # @overload refresh_review(id, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
98
+ #
99
+ # @param id [String]
100
+ #
101
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
102
+ #
103
+ # @param idempotency_key [String] Optional client generated value to use for idempotent requests.
104
+ #
105
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
106
+ #
107
+ # @param straddle_account_id [String] For use by platforms to specify an account id and set scope of a request.
108
+ #
109
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
110
+ #
111
+ # @return [Straddle::Models::CustomerV1]
112
+ #
113
+ # @see Straddle::Models::Customers::ReviewRefreshReviewParams
114
+ def refresh_review(id, params = {})
115
+ parsed, options = Straddle::Customers::ReviewRefreshReviewParams.dump_request(params)
116
+ @client.request(
117
+ method: :put,
118
+ path: ["v1/customers/%1$s/refresh_review", id],
119
+ headers: parsed.transform_keys(
120
+ correlation_id: "correlation-id",
121
+ idempotency_key: "idempotency-key",
122
+ request_id: "request-id",
123
+ straddle_account_id: "straddle-account-id"
124
+ ),
125
+ model: Straddle::CustomerV1,
126
+ options: options
127
+ )
128
+ end
129
+
93
130
  # @api private
94
131
  #
95
132
  # @param client [Straddle::Client]
@@ -276,43 +276,6 @@ module Straddle
276
276
  )
277
277
  end
278
278
 
279
- # Updates the decision of a customer's identity validation. This endpoint allows
280
- # you to modify the outcome of a customer decision and is useful for correcting or
281
- # updating the status of a customer's verification.
282
- #
283
- # @overload refresh_review(id, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
284
- #
285
- # @param id [String]
286
- #
287
- # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
288
- #
289
- # @param idempotency_key [String] Optional client generated value to use for idempotent requests.
290
- #
291
- # @param request_id [String] Optional client generated identifier to trace and debug a request.
292
- #
293
- # @param straddle_account_id [String] For use by platforms to specify an account id and set scope of a request.
294
- #
295
- # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
296
- #
297
- # @return [Straddle::Models::CustomerV1]
298
- #
299
- # @see Straddle::Models::CustomerRefreshReviewParams
300
- def refresh_review(id, params = {})
301
- parsed, options = Straddle::CustomerRefreshReviewParams.dump_request(params)
302
- @client.request(
303
- method: :put,
304
- path: ["v1/customers/%1$s/refresh_review", id],
305
- headers: parsed.transform_keys(
306
- correlation_id: "correlation-id",
307
- idempotency_key: "idempotency-key",
308
- request_id: "request-id",
309
- straddle_account_id: "straddle-account-id"
310
- ),
311
- model: Straddle::CustomerV1,
312
- options: options
313
- )
314
- end
315
-
316
279
  # Retrieves the unmasked details, including PII, of an existing customer. Supply
317
280
  # the unique customer ID that was returned from your 'create customer' request,
318
281
  # and Straddle will return the corresponding customer information. This endpoint
@@ -100,7 +100,7 @@ module Straddle
100
100
  # recently created appearing first. This endpoint supports pagination to handle
101
101
  # accounts with multiple linked bank accounts.
102
102
  #
103
- # @overload list(account_id: nil, level: nil, page_number: nil, page_size: nil, sort_by: nil, sort_order: nil, correlation_id: nil, request_id: nil, request_options: {})
103
+ # @overload list(account_id: nil, level: nil, page_number: nil, page_size: nil, purpose: nil, sort_by: nil, sort_order: nil, status: nil, correlation_id: nil, request_id: nil, request_options: {})
104
104
  #
105
105
  # @param account_id [String] Query param: The unique identifier of the related account.
106
106
  #
@@ -110,10 +110,14 @@ module Straddle
110
110
  #
111
111
  # @param page_size [Integer] Query param: Page size. Max value: 1000
112
112
  #
113
+ # @param purpose [Symbol, Straddle::Models::Embed::LinkedBankAccountListParams::Purpose] Query param: The purpose of the linked bank accounts to return. Possible values:
114
+ #
113
115
  # @param sort_by [String] Query param: Sort By.
114
116
  #
115
117
  # @param sort_order [Symbol, Straddle::Models::Embed::LinkedBankAccountListParams::SortOrder] Query param: Sort Order.
116
118
  #
119
+ # @param status [Symbol, Straddle::Models::Embed::LinkedBankAccountListParams::Status] Query param: The status of the linked bank accounts to return. Possible values:
120
+ #
117
121
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
118
122
  #
119
123
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
@@ -125,7 +129,16 @@ module Straddle
125
129
  # @see Straddle::Models::Embed::LinkedBankAccountListParams
126
130
  def list(params = {})
127
131
  parsed, options = Straddle::Embed::LinkedBankAccountListParams.dump_request(params)
128
- query_params = [:account_id, :level, :page_number, :page_size, :sort_by, :sort_order]
132
+ query_params = [
133
+ :account_id,
134
+ :level,
135
+ :page_number,
136
+ :page_size,
137
+ :purpose,
138
+ :sort_by,
139
+ :sort_order,
140
+ :status
141
+ ]
129
142
  @client.request(
130
143
  method: :get,
131
144
  path: "v1/linked_bank_accounts",
@@ -9,7 +9,7 @@ module Straddle
9
9
  # Retrieves a list of funding events for your account. This endpoint supports
10
10
  # advanced sorting and filtering options.
11
11
  #
12
- # @overload list(created_from: nil, created_to: nil, direction: nil, event_type: nil, page_number: nil, page_size: nil, sort_by: nil, sort_order: nil, trace_number: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
12
+ # @overload list(created_from: nil, created_to: nil, direction: nil, event_type: nil, page_number: nil, page_size: nil, search_text: nil, sort_by: nil, sort_order: nil, trace_number: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
13
13
  #
14
14
  # @param created_from [Date, nil] Query param: The start date of the range to filter by using the `YYYY-MM-DD` for
15
15
  #
@@ -23,6 +23,8 @@ module Straddle
23
23
  #
24
24
  # @param page_size [Integer] Query param: Results page size. Max value: 1000
25
25
  #
26
+ # @param search_text [String, nil] Query param: Search text.
27
+ #
26
28
  # @param sort_by [Symbol, Straddle::Models::FundingEventListParams::SortBy] Query param: The field to sort the results by.
27
29
  #
28
30
  # @param sort_order [Symbol, Straddle::Models::FundingEventListParams::SortOrder] Query param: The order in which to sort the results.
@@ -50,6 +52,7 @@ module Straddle
50
52
  :event_type,
51
53
  :page_number,
52
54
  :page_size,
55
+ :search_text,
53
56
  :sort_by,
54
57
  :sort_order,
55
58
  :trace_number
@@ -0,0 +1,128 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Straddle
4
+ module Resources
5
+ class Paykeys
6
+ class Review
7
+ # Some parameter documentations has been truncated, see
8
+ # {Straddle::Models::Paykeys::ReviewDecisionParams} for more details.
9
+ #
10
+ # Update the status of a paykey when in review status
11
+ #
12
+ # @overload decision(id, status:, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
13
+ #
14
+ # @param id [String] Path param:
15
+ #
16
+ # @param status [Symbol, Straddle::Models::Paykeys::ReviewDecisionParams::Status] Body param:
17
+ #
18
+ # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
19
+ #
20
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
21
+ #
22
+ # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
23
+ #
24
+ # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
25
+ #
26
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
27
+ #
28
+ # @return [Straddle::Models::PaykeyV1]
29
+ #
30
+ # @see Straddle::Models::Paykeys::ReviewDecisionParams
31
+ def decision(id, params)
32
+ parsed, options = Straddle::Paykeys::ReviewDecisionParams.dump_request(params)
33
+ header_params =
34
+ {
35
+ correlation_id: "correlation-id",
36
+ idempotency_key: "idempotency-key",
37
+ request_id: "request-id",
38
+ straddle_account_id: "straddle-account-id"
39
+ }
40
+ @client.request(
41
+ method: :patch,
42
+ path: ["v1/paykeys/%1$s/review", id],
43
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
44
+ body: parsed.except(*header_params.keys),
45
+ model: Straddle::PaykeyV1,
46
+ options: options
47
+ )
48
+ end
49
+
50
+ # Get additional details about a paykey.
51
+ #
52
+ # @overload get(id, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
53
+ #
54
+ # @param id [String]
55
+ #
56
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
57
+ #
58
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
59
+ #
60
+ # @param straddle_account_id [String] For use by platforms to specify an account id and set scope of a request.
61
+ #
62
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
63
+ #
64
+ # @return [Straddle::Models::Paykeys::ReviewGetResponse]
65
+ #
66
+ # @see Straddle::Models::Paykeys::ReviewGetParams
67
+ def get(id, params = {})
68
+ parsed, options = Straddle::Paykeys::ReviewGetParams.dump_request(params)
69
+ @client.request(
70
+ method: :get,
71
+ path: ["v1/paykeys/%1$s/review", id],
72
+ headers: parsed.transform_keys(
73
+ correlation_id: "correlation-id",
74
+ request_id: "request-id",
75
+ straddle_account_id: "straddle-account-id"
76
+ ),
77
+ model: Straddle::Models::Paykeys::ReviewGetResponse,
78
+ options: options
79
+ )
80
+ end
81
+
82
+ # Updates the decision of a paykey's review validation. This endpoint allows you
83
+ # to refresh the outcome of a paykey's decision and is useful for correcting or
84
+ # updating the status of a paykey's verification.
85
+ #
86
+ # @overload refresh_review(id, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
87
+ #
88
+ # @param id [String]
89
+ #
90
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
91
+ #
92
+ # @param idempotency_key [String] Optional client generated value to use for idempotent requests.
93
+ #
94
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
95
+ #
96
+ # @param straddle_account_id [String] For use by platforms to specify an account id and set scope of a request.
97
+ #
98
+ # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
99
+ #
100
+ # @return [Straddle::Models::PaykeyV1]
101
+ #
102
+ # @see Straddle::Models::Paykeys::ReviewRefreshReviewParams
103
+ def refresh_review(id, params = {})
104
+ parsed, options = Straddle::Paykeys::ReviewRefreshReviewParams.dump_request(params)
105
+ @client.request(
106
+ method: :put,
107
+ path: ["v1/paykeys/%1$s/refresh_review", id],
108
+ headers: parsed.transform_keys(
109
+ correlation_id: "correlation-id",
110
+ idempotency_key: "idempotency-key",
111
+ request_id: "request-id",
112
+ straddle_account_id: "straddle-account-id"
113
+ ),
114
+ model: Straddle::PaykeyV1,
115
+ options: options
116
+ )
117
+ end
118
+
119
+ # @api private
120
+ #
121
+ # @param client [Straddle::Client]
122
+ def initialize(client:)
123
+ @client = client
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
@@ -3,6 +3,9 @@
3
3
  module Straddle
4
4
  module Resources
5
5
  class Paykeys
6
+ # @return [Straddle::Resources::Paykeys::Review]
7
+ attr_reader :review
8
+
6
9
  # Some parameter documentations has been truncated, see
7
10
  # {Straddle::Models::PaykeyListParams} for more details.
8
11
  #
@@ -164,80 +167,73 @@ module Straddle
164
167
  )
165
168
  end
166
169
 
167
- # Some parameter documentations has been truncated, see
168
- # {Straddle::Models::PaykeyReviewParams} for more details.
169
- #
170
- # Update the status of a paykey when in review status
171
- #
172
- # @overload review(id, status:, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
173
- #
174
- # @param id [String] Path param:
170
+ # Retrieves the unmasked details of an existing paykey. Supply the unique paykey
171
+ # `id` and Straddle will return the corresponding paykey record, including the
172
+ # unmasked bank account details. This endpoint needs to be enabled by Straddle for
173
+ # your account and should only be used when absolutely necessary.
175
174
  #
176
- # @param status [Symbol, Straddle::Models::PaykeyReviewParams::Status] Body param:
175
+ # @overload unmasked(id, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
177
176
  #
178
- # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
177
+ # @param id [String]
179
178
  #
180
- # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
179
+ # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
181
180
  #
182
- # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
181
+ # @param request_id [String] Optional client generated identifier to trace and debug a request.
183
182
  #
184
- # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
183
+ # @param straddle_account_id [String] For use by platforms to specify an account id and set scope of a request.
185
184
  #
186
185
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
187
186
  #
188
- # @return [Straddle::Models::PaykeyV1]
187
+ # @return [Straddle::Models::PaykeyUnmaskedV1]
189
188
  #
190
- # @see Straddle::Models::PaykeyReviewParams
191
- def review(id, params)
192
- parsed, options = Straddle::PaykeyReviewParams.dump_request(params)
193
- header_params =
194
- {
189
+ # @see Straddle::Models::PaykeyUnmaskedParams
190
+ def unmasked(id, params = {})
191
+ parsed, options = Straddle::PaykeyUnmaskedParams.dump_request(params)
192
+ @client.request(
193
+ method: :get,
194
+ path: ["v1/paykeys/%1$s/unmasked", id],
195
+ headers: parsed.transform_keys(
195
196
  correlation_id: "correlation-id",
196
- idempotency_key: "idempotency-key",
197
197
  request_id: "request-id",
198
198
  straddle_account_id: "straddle-account-id"
199
- }
200
- @client.request(
201
- method: :patch,
202
- path: ["v1/paykeys/%1$s/review", id],
203
- headers: parsed.slice(*header_params.keys).transform_keys(header_params),
204
- body: parsed.except(*header_params.keys),
205
- model: Straddle::PaykeyV1,
199
+ ),
200
+ model: Straddle::PaykeyUnmaskedV1,
206
201
  options: options
207
202
  )
208
203
  end
209
204
 
210
- # Retrieves the unmasked details of an existing paykey. Supply the unique paykey
211
- # `id` and Straddle will return the corresponding paykey record, including the
212
- # unmasked bank account details. This endpoint needs to be enabled by Straddle for
213
- # your account and should only be used when absolutely necessary.
205
+ # Updates the balance of a paykey. This endpoint allows you to refresh the balance
206
+ # of a paykey.
214
207
  #
215
- # @overload unmasked(id, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
208
+ # @overload update_balance(id, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
216
209
  #
217
210
  # @param id [String]
218
211
  #
219
212
  # @param correlation_id [String] Optional client generated identifier to trace and debug a series of requests.
220
213
  #
214
+ # @param idempotency_key [String] Optional client generated value to use for idempotent requests.
215
+ #
221
216
  # @param request_id [String] Optional client generated identifier to trace and debug a request.
222
217
  #
223
218
  # @param straddle_account_id [String] For use by platforms to specify an account id and set scope of a request.
224
219
  #
225
220
  # @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}, nil]
226
221
  #
227
- # @return [Straddle::Models::PaykeyUnmaskedV1]
222
+ # @return [Straddle::Models::PaykeyV1]
228
223
  #
229
- # @see Straddle::Models::PaykeyUnmaskedParams
230
- def unmasked(id, params = {})
231
- parsed, options = Straddle::PaykeyUnmaskedParams.dump_request(params)
224
+ # @see Straddle::Models::PaykeyUpdateBalanceParams
225
+ def update_balance(id, params = {})
226
+ parsed, options = Straddle::PaykeyUpdateBalanceParams.dump_request(params)
232
227
  @client.request(
233
- method: :get,
234
- path: ["v1/paykeys/%1$s/unmasked", id],
228
+ method: :put,
229
+ path: ["v1/paykeys/%1$s/refresh_balance", id],
235
230
  headers: parsed.transform_keys(
236
231
  correlation_id: "correlation-id",
232
+ idempotency_key: "idempotency-key",
237
233
  request_id: "request-id",
238
234
  straddle_account_id: "straddle-account-id"
239
235
  ),
240
- model: Straddle::PaykeyUnmaskedV1,
236
+ model: Straddle::PaykeyV1,
241
237
  options: options
242
238
  )
243
239
  end
@@ -247,6 +243,7 @@ module Straddle
247
243
  # @param client [Straddle::Client]
248
244
  def initialize(client:)
249
245
  @client = client
246
+ @review = Straddle::Resources::Paykeys::Review.new(client: client)
250
247
  end
251
248
  end
252
249
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Straddle
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
data/lib/straddle.rb CHANGED
@@ -9,6 +9,7 @@ require "erb"
9
9
  require "etc"
10
10
  require "json"
11
11
  require "net/http"
12
+ require "openssl"
12
13
  require "pathname"
13
14
  require "rbconfig"
14
15
  require "securerandom"
@@ -74,11 +75,11 @@ require_relative "straddle/models/customer_delete_params"
74
75
  require_relative "straddle/models/customer_details_v1"
75
76
  require_relative "straddle/models/customer_get_params"
76
77
  require_relative "straddle/models/customer_list_params"
77
- require_relative "straddle/models/customer_refresh_review_params"
78
78
  require_relative "straddle/models/customers/customer_review_v1"
79
79
  require_relative "straddle/models/customers/identity_verification_breakdown_v1"
80
80
  require_relative "straddle/models/customers/review_decision_params"
81
81
  require_relative "straddle/models/customers/review_get_params"
82
+ require_relative "straddle/models/customers/review_refresh_review_params"
82
83
  require_relative "straddle/models/customer_summary_paged_v1"
83
84
  require_relative "straddle/models/customer_unmasked_params"
84
85
  require_relative "straddle/models/customer_unmasked_v1"
@@ -135,10 +136,14 @@ require_relative "straddle/models/paykey_get_params"
135
136
  require_relative "straddle/models/paykey_list_params"
136
137
  require_relative "straddle/models/paykey_reveal_params"
137
138
  require_relative "straddle/models/paykey_reveal_response"
138
- require_relative "straddle/models/paykey_review_params"
139
+ require_relative "straddle/models/paykeys/review_decision_params"
140
+ require_relative "straddle/models/paykeys/review_get_params"
141
+ require_relative "straddle/models/paykeys/review_get_response"
142
+ require_relative "straddle/models/paykeys/review_refresh_review_params"
139
143
  require_relative "straddle/models/paykey_summary_paged_v1"
140
144
  require_relative "straddle/models/paykey_unmasked_params"
141
145
  require_relative "straddle/models/paykey_unmasked_v1"
146
+ require_relative "straddle/models/paykey_update_balance_params"
142
147
  require_relative "straddle/models/paykey_v1"
143
148
  require_relative "straddle/models/payment_list_params"
144
149
  require_relative "straddle/models/payment_summary_paged_v1"
@@ -169,6 +174,7 @@ require_relative "straddle/resources/embed/organizations"
169
174
  require_relative "straddle/resources/embed/representatives"
170
175
  require_relative "straddle/resources/funding_events"
171
176
  require_relative "straddle/resources/paykeys"
177
+ require_relative "straddle/resources/paykeys/review"
172
178
  require_relative "straddle/resources/payments"
173
179
  require_relative "straddle/resources/payouts"
174
180
  require_relative "straddle/resources/reports"
data/manifest.yaml CHANGED
@@ -6,6 +6,7 @@ dependencies:
6
6
  - etc
7
7
  - json
8
8
  - net/http
9
+ - openssl
9
10
  - pathname
10
11
  - rbconfig
11
12
  - securerandom
@@ -176,6 +176,11 @@ module Straddle
176
176
  private def auth_headers
177
177
  end
178
178
 
179
+ # @api private
180
+ sig { returns(String) }
181
+ private def user_agent
182
+ end
183
+
179
184
  # @api private
180
185
  sig { returns(String) }
181
186
  private def generate_idempotency_key
@@ -26,8 +26,12 @@ module Straddle
26
26
 
27
27
  class << self
28
28
  # @api private
29
- sig { params(url: URI::Generic).returns(Net::HTTP) }
30
- def connect(url)
29
+ sig do
30
+ params(cert_store: OpenSSL::X509::Store, url: URI::Generic).returns(
31
+ Net::HTTP
32
+ )
33
+ end
34
+ def connect(cert_store:, url:)
31
35
  end
32
36
 
33
37
  # @api private