straddle 0.1.1 → 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 (248) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +66 -0
  3. data/README.md +2 -2
  4. data/SECURITY.md +1 -1
  5. data/lib/straddle/client.rb +3 -3
  6. data/lib/straddle/errors.rb +25 -11
  7. data/lib/straddle/file_part.rb +10 -7
  8. data/lib/straddle/internal/page_number_schema.rb +1 -1
  9. data/lib/straddle/internal/transport/base_client.rb +19 -9
  10. data/lib/straddle/internal/transport/pooled_net_requester.rb +41 -42
  11. data/lib/straddle/internal/type/array_of.rb +1 -0
  12. data/lib/straddle/internal/type/base_model.rb +4 -9
  13. data/lib/straddle/internal/type/base_page.rb +1 -1
  14. data/lib/straddle/internal/type/converter.rb +27 -0
  15. data/lib/straddle/internal/type/file_input.rb +7 -4
  16. data/lib/straddle/internal/type/hash_of.rb +1 -0
  17. data/lib/straddle/internal/type/union.rb +9 -7
  18. data/lib/straddle/internal/util.rb +9 -8
  19. data/lib/straddle/models/bridge/link_bank_account_params.rb +39 -6
  20. data/lib/straddle/models/bridge/link_create_paykey_params.rb +39 -6
  21. data/lib/straddle/models/bridge/link_create_paykey_response.rb +31 -2
  22. data/lib/straddle/models/bridge/link_create_tan_params.rb +38 -6
  23. data/lib/straddle/models/bridge/link_create_tan_response.rb +31 -2
  24. data/lib/straddle/models/bridge/link_plaid_params.rb +37 -2
  25. data/lib/straddle/models/bridge_initialize_params.rb +37 -2
  26. data/lib/straddle/models/charge_cancel_params.rb +8 -1
  27. data/lib/straddle/models/charge_create_params.rb +8 -1
  28. data/lib/straddle/models/charge_hold_params.rb +8 -1
  29. data/lib/straddle/models/charge_release_params.rb +8 -1
  30. data/lib/straddle/models/charge_update_params.rb +8 -1
  31. data/lib/straddle/models/customer_create_params.rb +8 -1
  32. data/lib/straddle/models/customer_delete_params.rb +7 -1
  33. data/lib/straddle/models/customer_unmasked_v1.rb +1 -4
  34. data/lib/straddle/models/customer_update_params.rb +8 -1
  35. data/lib/straddle/models/customers/customer_review_v1.rb +15 -50
  36. data/lib/straddle/models/customers/review_decision_params.rb +8 -1
  37. data/lib/straddle/models/customers/review_refresh_review_params.rb +40 -0
  38. data/lib/straddle/models/embed/account_create_params.rb +8 -1
  39. data/lib/straddle/models/embed/account_onboard_params.rb +7 -1
  40. data/lib/straddle/models/embed/account_paged_v1.rb +3 -12
  41. data/lib/straddle/models/embed/account_simulate_params.rb +7 -1
  42. data/lib/straddle/models/embed/account_update_params.rb +8 -1
  43. data/lib/straddle/models/embed/account_v1.rb +2 -8
  44. data/lib/straddle/models/embed/accounts/capability_request_create_params.rb +8 -1
  45. data/lib/straddle/models/embed/accounts/capability_request_paged_v1.rb +3 -11
  46. data/lib/straddle/models/embed/linked_bank_account_cancel_params.rb +34 -0
  47. data/lib/straddle/models/embed/linked_bank_account_create_params.rb +51 -4
  48. data/lib/straddle/models/embed/linked_bank_account_list_params.rb +51 -1
  49. data/lib/straddle/models/embed/linked_bank_account_paged_v1.rb +33 -13
  50. data/lib/straddle/models/embed/linked_bank_account_unmask_v1.rb +3 -8
  51. data/lib/straddle/models/embed/linked_bank_account_update_params.rb +8 -1
  52. data/lib/straddle/models/embed/linked_bank_account_v1.rb +30 -1
  53. data/lib/straddle/models/embed/organization_create_params.rb +8 -1
  54. data/lib/straddle/models/embed/representative.rb +10 -1
  55. data/lib/straddle/models/embed/representative_create_params.rb +17 -1
  56. data/lib/straddle/models/embed/representative_paged.rb +10 -1
  57. data/lib/straddle/models/embed/representative_update_params.rb +17 -1
  58. data/lib/straddle/models/funding_event_list_params.rb +9 -1
  59. data/lib/straddle/models/funding_event_summary_item_v1.rb +25 -1
  60. data/lib/straddle/models/funding_event_summary_paged_v1.rb +25 -1
  61. data/lib/straddle/models/paykey_cancel_params.rb +7 -1
  62. data/lib/straddle/models/paykey_reveal_response.rb +31 -2
  63. data/lib/straddle/models/paykey_summary_paged_v1.rb +30 -2
  64. data/lib/straddle/models/paykey_unmasked_v1.rb +30 -2
  65. data/lib/straddle/models/{customer_refresh_review_params.rb → paykey_update_balance_params.rb} +9 -3
  66. data/lib/straddle/models/paykey_v1.rb +30 -2
  67. data/lib/straddle/models/paykeys/review_decision_params.rb +56 -0
  68. data/lib/straddle/models/paykeys/review_get_params.rb +34 -0
  69. data/lib/straddle/models/paykeys/review_get_response.rb +642 -0
  70. data/lib/straddle/models/paykeys/review_refresh_review_params.rb +40 -0
  71. data/lib/straddle/models/payment_summary_paged_v1.rb +9 -1
  72. data/lib/straddle/models/payout_cancel_params.rb +8 -1
  73. data/lib/straddle/models/payout_create_params.rb +8 -1
  74. data/lib/straddle/models/payout_hold_params.rb +8 -1
  75. data/lib/straddle/models/payout_release_params.rb +8 -1
  76. data/lib/straddle/models/payout_update_params.rb +8 -1
  77. data/lib/straddle/models.rb +4 -2
  78. data/lib/straddle/resources/bridge/link.rb +24 -4
  79. data/lib/straddle/resources/bridge.rb +6 -1
  80. data/lib/straddle/resources/charges.rb +20 -5
  81. data/lib/straddle/resources/customers/review.rb +41 -1
  82. data/lib/straddle/resources/customers.rb +12 -37
  83. data/lib/straddle/resources/embed/accounts/capability_requests.rb +5 -2
  84. data/lib/straddle/resources/embed/accounts.rb +19 -7
  85. data/lib/straddle/resources/embed/linked_bank_accounts.rb +66 -7
  86. data/lib/straddle/resources/embed/organizations.rb +5 -2
  87. data/lib/straddle/resources/embed/representatives.rb +14 -4
  88. data/lib/straddle/resources/funding_events.rb +4 -1
  89. data/lib/straddle/resources/paykeys/review.rb +128 -0
  90. data/lib/straddle/resources/paykeys.rb +44 -1
  91. data/lib/straddle/resources/payouts.rb +20 -5
  92. data/lib/straddle/version.rb +1 -1
  93. data/lib/straddle.rb +9 -1
  94. data/manifest.yaml +1 -0
  95. data/rbi/straddle/client.rbi +4 -4
  96. data/rbi/straddle/errors.rbi +31 -4
  97. data/rbi/straddle/file_part.rbi +1 -1
  98. data/rbi/straddle/internal/transport/base_client.rbi +10 -6
  99. data/rbi/straddle/internal/transport/pooled_net_requester.rbi +6 -2
  100. data/rbi/straddle/internal/type/base_model.rbi +8 -4
  101. data/rbi/straddle/internal/type/base_page.rbi +1 -1
  102. data/rbi/straddle/internal/type/converter.rbi +54 -0
  103. data/rbi/straddle/internal/type/union.rbi +9 -2
  104. data/rbi/straddle/internal/util.rbi +1 -1
  105. data/rbi/straddle/models/bridge/link_bank_account_params.rbi +85 -1
  106. data/rbi/straddle/models/bridge/link_create_paykey_params.rbi +85 -1
  107. data/rbi/straddle/models/bridge/link_create_paykey_response.rbi +76 -1
  108. data/rbi/straddle/models/bridge/link_create_tan_params.rbi +85 -1
  109. data/rbi/straddle/models/bridge/link_create_tan_response.rbi +76 -1
  110. data/rbi/straddle/models/bridge/link_plaid_params.rbi +85 -1
  111. data/rbi/straddle/models/bridge_initialize_params.rbi +85 -1
  112. data/rbi/straddle/models/charge_cancel_params.rbi +9 -0
  113. data/rbi/straddle/models/charge_create_params.rbi +9 -0
  114. data/rbi/straddle/models/charge_hold_params.rbi +9 -0
  115. data/rbi/straddle/models/charge_release_params.rbi +9 -0
  116. data/rbi/straddle/models/charge_update_params.rbi +9 -0
  117. data/rbi/straddle/models/customer_create_params.rbi +9 -0
  118. data/rbi/straddle/models/customer_delete_params.rbi +9 -0
  119. data/rbi/straddle/models/customer_update_params.rbi +9 -0
  120. data/rbi/straddle/models/customers/review_decision_params.rbi +9 -0
  121. data/rbi/straddle/models/customers/review_refresh_review_params.rbi +76 -0
  122. data/rbi/straddle/models/embed/account_create_params.rbi +9 -0
  123. data/rbi/straddle/models/embed/account_onboard_params.rbi +9 -0
  124. data/rbi/straddle/models/embed/account_simulate_params.rbi +9 -0
  125. data/rbi/straddle/models/embed/account_update_params.rbi +9 -0
  126. data/rbi/straddle/models/embed/accounts/capability_request_create_params.rbi +9 -0
  127. data/rbi/straddle/models/embed/linked_bank_account_cancel_params.rbi +67 -0
  128. data/rbi/straddle/models/embed/linked_bank_account_create_params.rbi +95 -3
  129. data/rbi/straddle/models/embed/linked_bank_account_list_params.rbi +149 -0
  130. data/rbi/straddle/models/embed/linked_bank_account_paged_v1.rbi +72 -0
  131. data/rbi/straddle/models/embed/linked_bank_account_unmask_v1.rbi +5 -0
  132. data/rbi/straddle/models/embed/linked_bank_account_update_params.rbi +9 -0
  133. data/rbi/straddle/models/embed/linked_bank_account_v1.rbi +72 -0
  134. data/rbi/straddle/models/embed/organization_create_params.rbi +9 -0
  135. data/rbi/straddle/models/embed/representative.rbi +10 -0
  136. data/rbi/straddle/models/embed/representative_create_params.rbi +19 -0
  137. data/rbi/straddle/models/embed/representative_paged.rbi +10 -0
  138. data/rbi/straddle/models/embed/representative_update_params.rbi +19 -0
  139. data/rbi/straddle/models/funding_event_list_params.rbi +8 -0
  140. data/rbi/straddle/models/funding_event_summary_item_v1.rbi +24 -0
  141. data/rbi/straddle/models/funding_event_summary_paged_v1.rbi +24 -0
  142. data/rbi/straddle/models/paykey_cancel_params.rbi +9 -0
  143. data/rbi/straddle/models/paykey_reveal_response.rbi +76 -1
  144. data/rbi/straddle/models/paykey_summary_paged_v1.rbi +76 -1
  145. data/rbi/straddle/models/paykey_unmasked_v1.rbi +76 -1
  146. data/rbi/straddle/models/{customer_refresh_review_params.rbi → paykey_update_balance_params.rbi} +11 -2
  147. data/rbi/straddle/models/paykey_v1.rbi +76 -1
  148. data/rbi/straddle/models/paykeys/review_decision_params.rbi +115 -0
  149. data/rbi/straddle/models/paykeys/review_get_params.rbi +67 -0
  150. data/rbi/straddle/models/paykeys/review_get_response.rbi +1524 -0
  151. data/rbi/straddle/models/paykeys/review_refresh_review_params.rbi +76 -0
  152. data/rbi/straddle/models/payment_summary_paged_v1.rbi +8 -0
  153. data/rbi/straddle/models/payout_cancel_params.rbi +9 -0
  154. data/rbi/straddle/models/payout_create_params.rbi +9 -0
  155. data/rbi/straddle/models/payout_hold_params.rbi +9 -0
  156. data/rbi/straddle/models/payout_release_params.rbi +9 -0
  157. data/rbi/straddle/models/payout_update_params.rbi +9 -0
  158. data/rbi/straddle/models.rbi +4 -2
  159. data/rbi/straddle/resources/bridge/link.rbi +28 -0
  160. data/rbi/straddle/resources/bridge.rbi +7 -0
  161. data/rbi/straddle/resources/charges.rbi +15 -0
  162. data/rbi/straddle/resources/customers/review.rbi +30 -0
  163. data/rbi/straddle/resources/customers.rbi +9 -24
  164. data/rbi/straddle/resources/embed/accounts/capability_requests.rbi +3 -0
  165. data/rbi/straddle/resources/embed/accounts.rbi +12 -0
  166. data/rbi/straddle/resources/embed/linked_bank_accounts.rbi +56 -1
  167. data/rbi/straddle/resources/embed/organizations.rbi +3 -0
  168. data/rbi/straddle/resources/embed/representatives.rbi +14 -0
  169. data/rbi/straddle/resources/funding_events.rbi +3 -0
  170. data/rbi/straddle/resources/paykeys/review.rbi +94 -0
  171. data/rbi/straddle/resources/paykeys.rbi +32 -0
  172. data/rbi/straddle/resources/payouts.rbi +15 -0
  173. data/sig/straddle/client.rbs +2 -2
  174. data/sig/straddle/errors.rbs +7 -0
  175. data/sig/straddle/file_part.rbs +1 -1
  176. data/sig/straddle/internal/transport/base_client.rbs +3 -1
  177. data/sig/straddle/internal/transport/pooled_net_requester.rbs +4 -1
  178. data/sig/straddle/internal/type/converter.rbs +17 -0
  179. data/sig/straddle/internal/type/union.rbs +2 -2
  180. data/sig/straddle/models/bridge/link_bank_account_params.rbs +35 -1
  181. data/sig/straddle/models/bridge/link_create_paykey_params.rbs +35 -1
  182. data/sig/straddle/models/bridge/link_create_paykey_response.rbs +28 -1
  183. data/sig/straddle/models/bridge/link_create_tan_params.rbs +35 -1
  184. data/sig/straddle/models/bridge/link_create_tan_response.rbs +28 -1
  185. data/sig/straddle/models/bridge/link_plaid_params.rbs +35 -1
  186. data/sig/straddle/models/bridge_initialize_params.rbs +35 -1
  187. data/sig/straddle/models/charge_cancel_params.rbs +7 -0
  188. data/sig/straddle/models/charge_create_params.rbs +7 -0
  189. data/sig/straddle/models/charge_hold_params.rbs +7 -0
  190. data/sig/straddle/models/charge_release_params.rbs +7 -0
  191. data/sig/straddle/models/charge_update_params.rbs +7 -0
  192. data/sig/straddle/models/customer_create_params.rbs +7 -0
  193. data/sig/straddle/models/customer_delete_params.rbs +7 -0
  194. data/sig/straddle/models/customer_update_params.rbs +7 -0
  195. data/sig/straddle/models/customers/review_decision_params.rbs +7 -0
  196. data/sig/straddle/models/customers/review_refresh_review_params.rbs +51 -0
  197. data/sig/straddle/models/embed/account_create_params.rbs +7 -0
  198. data/sig/straddle/models/embed/account_onboard_params.rbs +7 -0
  199. data/sig/straddle/models/embed/account_simulate_params.rbs +7 -0
  200. data/sig/straddle/models/embed/account_update_params.rbs +7 -0
  201. data/sig/straddle/models/embed/accounts/capability_request_create_params.rbs +7 -0
  202. data/sig/straddle/models/embed/linked_bank_account_cancel_params.rbs +40 -0
  203. data/sig/straddle/models/embed/linked_bank_account_create_params.rbs +38 -4
  204. data/sig/straddle/models/embed/linked_bank_account_list_params.rbs +46 -0
  205. data/sig/straddle/models/embed/linked_bank_account_paged_v1.rbs +25 -1
  206. data/sig/straddle/models/embed/linked_bank_account_unmask_v1.rbs +3 -1
  207. data/sig/straddle/models/embed/linked_bank_account_update_params.rbs +7 -0
  208. data/sig/straddle/models/embed/linked_bank_account_v1.rbs +25 -1
  209. data/sig/straddle/models/embed/organization_create_params.rbs +7 -0
  210. data/sig/straddle/models/embed/representative.rbs +5 -0
  211. data/sig/straddle/models/embed/representative_create_params.rbs +12 -0
  212. data/sig/straddle/models/embed/representative_paged.rbs +5 -0
  213. data/sig/straddle/models/embed/representative_update_params.rbs +12 -0
  214. data/sig/straddle/models/funding_event_list_params.rbs +5 -0
  215. data/sig/straddle/models/funding_event_summary_item_v1.rbs +15 -0
  216. data/sig/straddle/models/funding_event_summary_paged_v1.rbs +15 -0
  217. data/sig/straddle/models/paykey_cancel_params.rbs +7 -0
  218. data/sig/straddle/models/paykey_reveal_response.rbs +28 -1
  219. data/sig/straddle/models/paykey_summary_paged_v1.rbs +28 -1
  220. data/sig/straddle/models/paykey_unmasked_v1.rbs +28 -1
  221. data/sig/straddle/models/{customer_refresh_review_params.rbs → paykey_update_balance_params.rbs} +9 -2
  222. data/sig/straddle/models/paykey_v1.rbs +28 -1
  223. data/sig/straddle/models/paykeys/review_decision_params.rbs +67 -0
  224. data/sig/straddle/models/paykeys/review_get_params.rbs +44 -0
  225. data/sig/straddle/models/paykeys/review_get_response.rbs +627 -0
  226. data/sig/straddle/models/paykeys/review_refresh_review_params.rbs +51 -0
  227. data/sig/straddle/models/payment_summary_paged_v1.rbs +5 -0
  228. data/sig/straddle/models/payout_cancel_params.rbs +7 -0
  229. data/sig/straddle/models/payout_create_params.rbs +7 -0
  230. data/sig/straddle/models/payout_hold_params.rbs +7 -0
  231. data/sig/straddle/models/payout_release_params.rbs +7 -0
  232. data/sig/straddle/models/payout_update_params.rbs +7 -0
  233. data/sig/straddle/models.rbs +4 -2
  234. data/sig/straddle/resources/bridge/link.rbs +8 -0
  235. data/sig/straddle/resources/bridge.rbs +2 -0
  236. data/sig/straddle/resources/charges.rbs +5 -0
  237. data/sig/straddle/resources/customers/review.rbs +10 -0
  238. data/sig/straddle/resources/customers.rbs +3 -8
  239. data/sig/straddle/resources/embed/accounts/capability_requests.rbs +1 -0
  240. data/sig/straddle/resources/embed/accounts.rbs +4 -0
  241. data/sig/straddle/resources/embed/linked_bank_accounts.rbs +16 -1
  242. data/sig/straddle/resources/embed/organizations.rbs +1 -0
  243. data/sig/straddle/resources/embed/representatives.rbs +4 -0
  244. data/sig/straddle/resources/funding_events.rbs +1 -0
  245. data/sig/straddle/resources/paykeys/review.rbs +36 -0
  246. data/sig/straddle/resources/paykeys.rbs +12 -0
  247. data/sig/straddle/resources/payouts.rbs +5 -0
  248. metadata +27 -6
@@ -8,7 +8,7 @@ module Straddle
8
8
  #
9
9
  # Use payouts to send money to your customers.
10
10
  #
11
- # @overload create(amount:, currency:, description:, device:, external_id:, paykey:, payment_date:, config: nil, metadata: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
11
+ # @overload create(amount:, currency:, description:, device:, external_id:, paykey:, payment_date:, config: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
12
12
  #
13
13
  # @param amount [Integer] Body param: The amount of the payout in cents.
14
14
  #
@@ -30,6 +30,8 @@ module Straddle
30
30
  #
31
31
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
32
32
  #
33
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
34
+ #
33
35
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
34
36
  #
35
37
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -44,6 +46,7 @@ module Straddle
44
46
  header_params =
45
47
  {
46
48
  correlation_id: "correlation-id",
49
+ idempotency_key: "idempotency-key",
47
50
  request_id: "request-id",
48
51
  straddle_account_id: "straddle-account-id"
49
52
  }
@@ -63,7 +66,7 @@ module Straddle
63
66
  # Update the details of a payout prior to processing. The status of the payout
64
67
  # must be `created`, `scheduled`, or `on_hold`.
65
68
  #
66
- # @overload update(id, amount:, description:, payment_date:, metadata: nil, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
69
+ # @overload update(id, amount:, description:, payment_date:, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
67
70
  #
68
71
  # @param id [String] Path param:
69
72
  #
@@ -77,6 +80,8 @@ module Straddle
77
80
  #
78
81
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
79
82
  #
83
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
84
+ #
80
85
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
81
86
  #
82
87
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -91,6 +96,7 @@ module Straddle
91
96
  header_params =
92
97
  {
93
98
  correlation_id: "correlation-id",
99
+ idempotency_key: "idempotency-key",
94
100
  request_id: "request-id",
95
101
  straddle_account_id: "straddle-account-id"
96
102
  }
@@ -110,7 +116,7 @@ module Straddle
110
116
  # Cancel a payout to prevent it from being processed. The status of the payout
111
117
  # must be `created`, `scheduled`, or `on_hold`.
112
118
  #
113
- # @overload cancel(id, reason:, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
119
+ # @overload cancel(id, reason:, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
114
120
  #
115
121
  # @param id [String] Path param:
116
122
  #
@@ -118,6 +124,8 @@ module Straddle
118
124
  #
119
125
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
120
126
  #
127
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
128
+ #
121
129
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
122
130
  #
123
131
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -132,6 +140,7 @@ module Straddle
132
140
  header_params =
133
141
  {
134
142
  correlation_id: "correlation-id",
143
+ idempotency_key: "idempotency-key",
135
144
  request_id: "request-id",
136
145
  straddle_account_id: "straddle-account-id"
137
146
  }
@@ -184,7 +193,7 @@ module Straddle
184
193
  # Hold a payout to prevent it from being processed. The status of the payout must
185
194
  # be `created`, `scheduled`, or `on_hold`.
186
195
  #
187
- # @overload hold(id, reason:, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
196
+ # @overload hold(id, reason:, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
188
197
  #
189
198
  # @param id [String] Path param:
190
199
  #
@@ -192,6 +201,8 @@ module Straddle
192
201
  #
193
202
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
194
203
  #
204
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
205
+ #
195
206
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
196
207
  #
197
208
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -206,6 +217,7 @@ module Straddle
206
217
  header_params =
207
218
  {
208
219
  correlation_id: "correlation-id",
220
+ idempotency_key: "idempotency-key",
209
221
  request_id: "request-id",
210
222
  straddle_account_id: "straddle-account-id"
211
223
  }
@@ -225,7 +237,7 @@ module Straddle
225
237
  # Release a payout from a `hold` status to allow it to be rescheduled for
226
238
  # processing.
227
239
  #
228
- # @overload release(id, reason:, correlation_id: nil, request_id: nil, straddle_account_id: nil, request_options: {})
240
+ # @overload release(id, reason:, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
229
241
  #
230
242
  # @param id [String] Path param:
231
243
  #
@@ -233,6 +245,8 @@ module Straddle
233
245
  #
234
246
  # @param correlation_id [String] Header param: Optional client generated identifier to trace and debug a series o
235
247
  #
248
+ # @param idempotency_key [String] Header param: Optional client generated value to use for idempotent requests.
249
+ #
236
250
  # @param request_id [String] Header param: Optional client generated identifier to trace and debug a request.
237
251
  #
238
252
  # @param straddle_account_id [String] Header param: For use by platforms to specify an account id and set scope of a r
@@ -247,6 +261,7 @@ module Straddle
247
261
  header_params =
248
262
  {
249
263
  correlation_id: "correlation-id",
264
+ idempotency_key: "idempotency-key",
250
265
  request_id: "request-id",
251
266
  straddle_account_id: "straddle-account-id"
252
267
  }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Straddle
4
- VERSION = "0.1.1"
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"
@@ -101,6 +102,7 @@ require_relative "straddle/models/embed/address_v1"
101
102
  require_relative "straddle/models/embed/business_profile_v1"
102
103
  require_relative "straddle/models/embed/capability_v1"
103
104
  require_relative "straddle/models/embed/industry_v1"
105
+ require_relative "straddle/models/embed/linked_bank_account_cancel_params"
104
106
  require_relative "straddle/models/embed/linked_bank_account_create_params"
105
107
  require_relative "straddle/models/embed/linked_bank_account_get_params"
106
108
  require_relative "straddle/models/embed/linked_bank_account_list_params"
@@ -134,9 +136,14 @@ require_relative "straddle/models/paykey_get_params"
134
136
  require_relative "straddle/models/paykey_list_params"
135
137
  require_relative "straddle/models/paykey_reveal_params"
136
138
  require_relative "straddle/models/paykey_reveal_response"
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"
137
143
  require_relative "straddle/models/paykey_summary_paged_v1"
138
144
  require_relative "straddle/models/paykey_unmasked_params"
139
145
  require_relative "straddle/models/paykey_unmasked_v1"
146
+ require_relative "straddle/models/paykey_update_balance_params"
140
147
  require_relative "straddle/models/paykey_v1"
141
148
  require_relative "straddle/models/payment_list_params"
142
149
  require_relative "straddle/models/payment_summary_paged_v1"
@@ -167,6 +174,7 @@ require_relative "straddle/resources/embed/organizations"
167
174
  require_relative "straddle/resources/embed/representatives"
168
175
  require_relative "straddle/resources/funding_events"
169
176
  require_relative "straddle/resources/paykeys"
177
+ require_relative "straddle/resources/paykeys/review"
170
178
  require_relative "straddle/resources/payments"
171
179
  require_relative "straddle/resources/payouts"
172
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
@@ -13,8 +13,8 @@ module Straddle
13
13
  ENVIRONMENTS =
14
14
  T.let(
15
15
  {
16
- sandbox: "https://sandbox.straddle.io",
17
- production: "https://production.straddle.io"
16
+ sandbox: "https://sandbox.straddle.com",
17
+ production: "https://production.straddle.com"
18
18
  },
19
19
  T::Hash[Symbol, String]
20
20
  )
@@ -76,8 +76,8 @@ module Straddle
76
76
  #
77
77
  # Each environment maps to a different base URL:
78
78
  #
79
- # - `sandbox` corresponds to `https://sandbox.straddle.io`
80
- # - `production` corresponds to `https://production.straddle.io`
79
+ # - `sandbox` corresponds to `https://sandbox.straddle.com`
80
+ # - `production` corresponds to `https://production.straddle.com`
81
81
  environment: nil,
82
82
  # Override the default base URL for the API, e.g.,
83
83
  # `"https://api.example.com/v2/"`. Defaults to `ENV["STRADDLE_BASE_URL"]`
@@ -33,6 +33,9 @@ module Straddle
33
33
  sig { returns(T.nilable(Integer)) }
34
34
  attr_accessor :status
35
35
 
36
+ sig { returns(T.nilable(T::Hash[String, String])) }
37
+ attr_accessor :headers
38
+
36
39
  sig { returns(T.nilable(T.anything)) }
37
40
  attr_accessor :body
38
41
 
@@ -41,6 +44,7 @@ module Straddle
41
44
  params(
42
45
  url: URI::Generic,
43
46
  status: T.nilable(Integer),
47
+ headers: T.nilable(T::Hash[String, String]),
44
48
  body: T.nilable(Object),
45
49
  request: NilClass,
46
50
  response: NilClass,
@@ -50,6 +54,7 @@ module Straddle
50
54
  def self.new(
51
55
  url:,
52
56
  status: nil,
57
+ headers: nil,
53
58
  body: nil,
54
59
  request: nil,
55
60
  response: nil,
@@ -59,10 +64,10 @@ module Straddle
59
64
  end
60
65
 
61
66
  class APIConnectionError < Straddle::Errors::APIError
62
- sig { void }
67
+ sig { returns(NilClass) }
63
68
  attr_accessor :status
64
69
 
65
- sig { void }
70
+ sig { returns(NilClass) }
66
71
  attr_accessor :body
67
72
 
68
73
  # @api private
@@ -70,6 +75,7 @@ module Straddle
70
75
  params(
71
76
  url: URI::Generic,
72
77
  status: NilClass,
78
+ headers: T.nilable(T::Hash[String, String]),
73
79
  body: NilClass,
74
80
  request: NilClass,
75
81
  response: NilClass,
@@ -79,6 +85,7 @@ module Straddle
79
85
  def self.new(
80
86
  url:,
81
87
  status: nil,
88
+ headers: nil,
82
89
  body: nil,
83
90
  request: nil,
84
91
  response: nil,
@@ -93,6 +100,7 @@ module Straddle
93
100
  params(
94
101
  url: URI::Generic,
95
102
  status: NilClass,
103
+ headers: T.nilable(T::Hash[String, String]),
96
104
  body: NilClass,
97
105
  request: NilClass,
98
106
  response: NilClass,
@@ -102,6 +110,7 @@ module Straddle
102
110
  def self.new(
103
111
  url:,
104
112
  status: nil,
113
+ headers: nil,
105
114
  body: nil,
106
115
  request: nil,
107
116
  response: nil,
@@ -116,13 +125,22 @@ module Straddle
116
125
  params(
117
126
  url: URI::Generic,
118
127
  status: Integer,
128
+ headers: T.nilable(T::Hash[String, String]),
119
129
  body: T.nilable(Object),
120
130
  request: NilClass,
121
131
  response: NilClass,
122
132
  message: T.nilable(String)
123
133
  ).returns(T.attached_class)
124
134
  end
125
- def self.for(url:, status:, body:, request:, response:, message: nil)
135
+ def self.for(
136
+ url:,
137
+ status:,
138
+ headers:,
139
+ body:,
140
+ request:,
141
+ response:,
142
+ message: nil
143
+ )
126
144
  end
127
145
 
128
146
  sig { returns(Integer) }
@@ -133,13 +151,22 @@ module Straddle
133
151
  params(
134
152
  url: URI::Generic,
135
153
  status: Integer,
154
+ headers: T.nilable(T::Hash[String, String]),
136
155
  body: T.nilable(Object),
137
156
  request: NilClass,
138
157
  response: NilClass,
139
158
  message: T.nilable(String)
140
159
  ).returns(T.attached_class)
141
160
  end
142
- def self.new(url:, status:, body:, request:, response:, message: nil)
161
+ def self.new(
162
+ url:,
163
+ status:,
164
+ headers:,
165
+ body:,
166
+ request:,
167
+ response:,
168
+ message: nil
169
+ )
143
170
  end
144
171
  end
145
172
 
@@ -27,7 +27,7 @@ module Straddle
27
27
  sig do
28
28
  params(
29
29
  content: T.any(Pathname, StringIO, IO, String),
30
- filename: T.nilable(String),
30
+ filename: T.nilable(T.any(Pathname, String)),
31
31
  content_type: T.nilable(String)
32
32
  ).returns(T.attached_class)
33
33
  end
@@ -84,10 +84,9 @@ module Straddle
84
84
 
85
85
  # @api private
86
86
  sig do
87
- params(
88
- status: Integer,
89
- headers: T.any(T::Hash[String, String], Net::HTTPHeader)
90
- ).returns(T::Boolean)
87
+ params(status: Integer, headers: T::Hash[String, String]).returns(
88
+ T::Boolean
89
+ )
91
90
  end
92
91
  def should_retry?(status, headers:)
93
92
  end
@@ -97,7 +96,7 @@ module Straddle
97
96
  params(
98
97
  request: Straddle::Internal::Transport::BaseClient::RequestInput,
99
98
  status: Integer,
100
- response_headers: T.any(T::Hash[String, String], Net::HTTPHeader)
99
+ response_headers: T::Hash[String, String]
101
100
  ).returns(Straddle::Internal::Transport::BaseClient::RequestInput)
102
101
  end
103
102
  def follow_redirect(request, status:, response_headers:)
@@ -177,6 +176,11 @@ module Straddle
177
176
  private def auth_headers
178
177
  end
179
178
 
179
+ # @api private
180
+ sig { returns(String) }
181
+ private def user_agent
182
+ end
183
+
180
184
  # @api private
181
185
  sig { returns(String) }
182
186
  private def generate_idempotency_key
@@ -213,7 +217,7 @@ module Straddle
213
217
  send_retry_header: T::Boolean
214
218
  ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
215
219
  end
216
- private def send_request(
220
+ def send_request(
217
221
  request,
218
222
  redirect_count:,
219
223
  retry_count:,
@@ -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
@@ -31,7 +31,7 @@ module Straddle
31
31
  #
32
32
  # Assumes superclass fields are totally defined before fields are accessed /
33
33
  # defined on subclasses.
34
- sig { params(child: T.self_type).void }
34
+ sig { params(child: Straddle::Internal::Type::BaseModel).void }
35
35
  def inherited(child)
36
36
  end
37
37
 
@@ -274,9 +274,13 @@ module Straddle
274
274
 
275
275
  # Create a new instance of a model.
276
276
  sig do
277
- params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(
278
- T.attached_class
279
- )
277
+ params(
278
+ data:
279
+ T.any(
280
+ T::Hash[Symbol, T.anything],
281
+ Straddle::Internal::Type::BaseModel
282
+ )
283
+ ).returns(T.attached_class)
280
284
  end
281
285
  def self.new(data = {})
282
286
  end
@@ -30,7 +30,7 @@ module Straddle
30
30
  params(
31
31
  client: Straddle::Internal::Transport::BaseClient,
32
32
  req: Straddle::Internal::Transport::BaseClient::RequestComponents,
33
- headers: T.any(T::Hash[String, String], Net::HTTPHeader),
33
+ headers: T::Hash[String, String],
34
34
  page_data: T.anything
35
35
  ).void
36
36
  end
@@ -90,6 +90,60 @@ module Straddle
90
90
  def self.type_info(spec)
91
91
  end
92
92
 
93
+ # @api private
94
+ sig do
95
+ params(
96
+ type_info:
97
+ T.any(
98
+ {
99
+ const:
100
+ T.nilable(
101
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
102
+ ),
103
+ enum:
104
+ T.nilable(
105
+ T.proc.returns(
106
+ Straddle::Internal::Type::Converter::Input
107
+ )
108
+ ),
109
+ union:
110
+ T.nilable(
111
+ T.proc.returns(
112
+ Straddle::Internal::Type::Converter::Input
113
+ )
114
+ )
115
+ },
116
+ T.proc.returns(Straddle::Internal::Type::Converter::Input),
117
+ Straddle::Internal::Type::Converter::Input
118
+ ),
119
+ spec:
120
+ T.any(
121
+ {
122
+ const:
123
+ T.nilable(
124
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
125
+ ),
126
+ enum:
127
+ T.nilable(
128
+ T.proc.returns(
129
+ Straddle::Internal::Type::Converter::Input
130
+ )
131
+ ),
132
+ union:
133
+ T.nilable(
134
+ T.proc.returns(
135
+ Straddle::Internal::Type::Converter::Input
136
+ )
137
+ )
138
+ },
139
+ T.proc.returns(Straddle::Internal::Type::Converter::Input),
140
+ Straddle::Internal::Type::Converter::Input
141
+ )
142
+ ).returns(Straddle::Internal::AnyHash)
143
+ end
144
+ def self.meta_info(type_info, spec)
145
+ end
146
+
93
147
  # @api private
94
148
  sig do
95
149
  params(translate_names: T::Boolean).returns(
@@ -16,7 +16,8 @@ module Straddle
16
16
  T::Array[
17
17
  [
18
18
  T.nilable(Symbol),
19
- T.proc.returns(Straddle::Internal::Type::Converter::Input)
19
+ T.proc.returns(Straddle::Internal::Type::Converter::Input),
20
+ Straddle::Internal::AnyHash
20
21
  ]
21
22
  ]
22
23
  )
@@ -25,7 +26,13 @@ module Straddle
25
26
  end
26
27
 
27
28
  # @api private
28
- sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) }
29
+ sig do
30
+ returns(
31
+ T::Array[
32
+ [T.nilable(Symbol), T.anything, Straddle::Internal::AnyHash]
33
+ ]
34
+ )
35
+ end
29
36
  protected def derefed_variants
30
37
  end
31
38
 
@@ -361,7 +361,7 @@ module Straddle
361
361
  # Assumes each chunk in stream has `Encoding::BINARY`.
362
362
  sig do
363
363
  params(
364
- headers: T.any(T::Hash[String, String], Net::HTTPHeader),
364
+ headers: T::Hash[String, String],
365
365
  stream: T::Enumerable[String],
366
366
  suppress_error: T::Boolean
367
367
  ).returns(T.anything)