straddle 0.3.0 → 0.5.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 (265) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +127 -0
  3. data/README.md +32 -1
  4. data/lib/straddle/client.rb +49 -1
  5. data/lib/straddle/internal/transport/base_client.rb +5 -0
  6. data/lib/straddle/internal/transport/pooled_net_requester.rb +13 -11
  7. data/lib/straddle/internal/util.rb +61 -10
  8. data/lib/straddle/models/bridge/link_create_paykey_response.rb +8 -0
  9. data/lib/straddle/models/bridge/link_create_tan_response.rb +8 -0
  10. data/lib/straddle/models/charge_cancel_params.rb +8 -1
  11. data/lib/straddle/models/charge_create_params.rb +22 -4
  12. data/lib/straddle/models/charge_get_params.rb +7 -1
  13. data/lib/straddle/models/charge_hold_params.rb +8 -1
  14. data/lib/straddle/models/charge_release_params.rb +8 -1
  15. data/lib/straddle/models/charge_unmask_params.rb +7 -1
  16. data/lib/straddle/models/charge_unmask_response.rb +190 -5
  17. data/lib/straddle/models/charge_update_params.rb +11 -4
  18. data/lib/straddle/models/charge_v1.rb +188 -5
  19. data/lib/straddle/models/customer_delete_params.rb +7 -1
  20. data/lib/straddle/models/customer_get_params.rb +7 -1
  21. data/lib/straddle/models/customer_unmasked_params.rb +7 -1
  22. data/lib/straddle/models/customer_update_params.rb +8 -1
  23. data/lib/straddle/models/customers/review_decision_params.rb +8 -1
  24. data/lib/straddle/models/customers/review_get_params.rb +7 -1
  25. data/lib/straddle/models/customers/review_refresh_review_params.rb +7 -1
  26. data/lib/straddle/models/embed/account_get_params.rb +11 -1
  27. data/lib/straddle/models/embed/account_list_params.rb +8 -1
  28. data/lib/straddle/models/embed/account_onboard_params.rb +7 -1
  29. data/lib/straddle/models/embed/account_paged_v1.rb +4 -0
  30. data/lib/straddle/models/embed/account_simulate_params.rb +7 -1
  31. data/lib/straddle/models/embed/account_update_params.rb +8 -1
  32. data/lib/straddle/models/embed/account_v1.rb +4 -0
  33. data/lib/straddle/models/embed/accounts/capability_request_create_params.rb +8 -1
  34. data/lib/straddle/models/embed/accounts/capability_request_list_params.rb +8 -1
  35. data/lib/straddle/models/embed/accounts/capability_request_paged_v1.rb +9 -1
  36. data/lib/straddle/models/embed/address_v1.rb +14 -38
  37. data/lib/straddle/models/embed/linked_bank_account_cancel_params.rb +7 -1
  38. data/lib/straddle/models/embed/linked_bank_account_get_params.rb +7 -1
  39. data/lib/straddle/models/embed/linked_bank_account_unmask_params.rb +7 -1
  40. data/lib/straddle/models/embed/linked_bank_account_update_params.rb +8 -1
  41. data/lib/straddle/models/embed/organization_get_params.rb +7 -1
  42. data/lib/straddle/models/embed/representative.rb +2 -2
  43. data/lib/straddle/models/embed/representative_create_params.rb +2 -2
  44. data/lib/straddle/models/embed/representative_get_params.rb +7 -1
  45. data/lib/straddle/models/embed/representative_paged.rb +2 -2
  46. data/lib/straddle/models/embed/representative_unmask_params.rb +7 -1
  47. data/lib/straddle/models/embed/representative_update_params.rb +10 -3
  48. data/lib/straddle/models/funding_event_get_params.rb +7 -1
  49. data/lib/straddle/models/funding_event_list_params.rb +105 -1
  50. data/lib/straddle/models/funding_event_summary_item_v1.rb +128 -1
  51. data/lib/straddle/models/funding_event_summary_paged_v1.rb +128 -1
  52. data/lib/straddle/models/paykey_cancel_params.rb +7 -1
  53. data/lib/straddle/models/paykey_get_params.rb +7 -1
  54. data/lib/straddle/models/paykey_list_params.rb +40 -1
  55. data/lib/straddle/models/paykey_reveal_params.rb +7 -1
  56. data/lib/straddle/models/paykey_reveal_response.rb +8 -0
  57. data/lib/straddle/models/paykey_summary_paged_v1.rb +19 -1
  58. data/lib/straddle/models/paykey_unmasked_params.rb +7 -1
  59. data/lib/straddle/models/paykey_unmasked_v1.rb +8 -0
  60. data/lib/straddle/models/paykey_update_balance_params.rb +7 -1
  61. data/lib/straddle/models/paykey_v1.rb +19 -1
  62. data/lib/straddle/models/paykeys/review_decision_params.rb +7 -1
  63. data/lib/straddle/models/paykeys/review_get_params.rb +7 -1
  64. data/lib/straddle/models/paykeys/review_get_response.rb +19 -4
  65. data/lib/straddle/models/paykeys/review_refresh_review_params.rb +7 -1
  66. data/lib/straddle/models/payment_list_params.rb +71 -1
  67. data/lib/straddle/models/payment_summary_paged_v1.rb +110 -4
  68. data/lib/straddle/models/payout_cancel_params.rb +8 -1
  69. data/lib/straddle/models/payout_create_params.rb +22 -4
  70. data/lib/straddle/models/payout_get_params.rb +7 -1
  71. data/lib/straddle/models/payout_hold_params.rb +8 -1
  72. data/lib/straddle/models/payout_release_params.rb +8 -1
  73. data/lib/straddle/models/payout_unmask_params.rb +7 -1
  74. data/lib/straddle/models/payout_unmask_response.rb +193 -5
  75. data/lib/straddle/models/payout_update_params.rb +11 -4
  76. data/lib/straddle/models/payout_upload_authorization_document_params.rb +57 -0
  77. data/lib/straddle/models/payout_v1.rb +188 -5
  78. data/lib/straddle/models/status_details_v1.rb +7 -0
  79. data/lib/straddle/models.rb +2 -0
  80. data/lib/straddle/resources/bridge/link.rb +12 -6
  81. data/lib/straddle/resources/bridge.rb +13 -1
  82. data/lib/straddle/resources/charges.rb +13 -8
  83. data/lib/straddle/resources/customers/review.rb +7 -1
  84. data/lib/straddle/resources/customers.rb +23 -10
  85. data/lib/straddle/resources/embed/accounts/capability_requests.rb +9 -4
  86. data/lib/straddle/resources/embed/accounts.rb +29 -15
  87. data/lib/straddle/resources/embed/linked_bank_accounts.rb +11 -6
  88. data/lib/straddle/resources/embed/organizations.rb +7 -2
  89. data/lib/straddle/resources/embed/representatives.rb +15 -8
  90. data/lib/straddle/resources/embed.rb +19 -0
  91. data/lib/straddle/resources/funding_events.rb +22 -3
  92. data/lib/straddle/resources/paykeys/review.rb +7 -2
  93. data/lib/straddle/resources/paykeys.rb +42 -11
  94. data/lib/straddle/resources/payments.rb +30 -6
  95. data/lib/straddle/resources/payouts.rb +60 -7
  96. data/lib/straddle/version.rb +1 -1
  97. data/lib/straddle.rb +2 -0
  98. data/manifest.yaml +1 -0
  99. data/rbi/straddle/client.rbi +34 -0
  100. data/rbi/straddle/internal/util.rbi +29 -1
  101. data/rbi/straddle/models/bridge/link_create_paykey_response.rbi +40 -0
  102. data/rbi/straddle/models/bridge/link_create_tan_response.rbi +40 -0
  103. data/rbi/straddle/models/charge_cancel_params.rbi +6 -0
  104. data/rbi/straddle/models/charge_create_params.rbi +29 -3
  105. data/rbi/straddle/models/charge_get_params.rbi +6 -0
  106. data/rbi/straddle/models/charge_hold_params.rbi +6 -0
  107. data/rbi/straddle/models/charge_release_params.rbi +6 -0
  108. data/rbi/straddle/models/charge_unmask_params.rbi +6 -0
  109. data/rbi/straddle/models/charge_unmask_response.rbi +396 -6
  110. data/rbi/straddle/models/charge_update_params.rbi +9 -3
  111. data/rbi/straddle/models/charge_v1.rbi +364 -6
  112. data/rbi/straddle/models/customer_delete_params.rbi +6 -0
  113. data/rbi/straddle/models/customer_get_params.rbi +6 -0
  114. data/rbi/straddle/models/customer_unmasked_params.rbi +6 -0
  115. data/rbi/straddle/models/customer_update_params.rbi +6 -0
  116. data/rbi/straddle/models/customers/review_decision_params.rbi +6 -0
  117. data/rbi/straddle/models/customers/review_get_params.rbi +6 -0
  118. data/rbi/straddle/models/customers/review_refresh_review_params.rbi +6 -0
  119. data/rbi/straddle/models/embed/account_get_params.rbi +13 -1
  120. data/rbi/straddle/models/embed/account_list_params.rbi +9 -0
  121. data/rbi/straddle/models/embed/account_onboard_params.rbi +6 -0
  122. data/rbi/straddle/models/embed/account_paged_v1.rbi +20 -0
  123. data/rbi/straddle/models/embed/account_simulate_params.rbi +6 -0
  124. data/rbi/straddle/models/embed/account_update_params.rbi +6 -0
  125. data/rbi/straddle/models/embed/account_v1.rbi +20 -0
  126. data/rbi/straddle/models/embed/accounts/capability_request_create_params.rbi +6 -0
  127. data/rbi/straddle/models/embed/accounts/capability_request_list_params.rbi +6 -0
  128. data/rbi/straddle/models/embed/accounts/capability_request_paged_v1.rbi +8 -0
  129. data/rbi/straddle/models/embed/address_v1.rbi +18 -42
  130. data/rbi/straddle/models/embed/linked_bank_account_cancel_params.rbi +6 -0
  131. data/rbi/straddle/models/embed/linked_bank_account_get_params.rbi +11 -1
  132. data/rbi/straddle/models/embed/linked_bank_account_unmask_params.rbi +11 -1
  133. data/rbi/straddle/models/embed/linked_bank_account_update_params.rbi +6 -0
  134. data/rbi/straddle/models/embed/organization_get_params.rbi +11 -1
  135. data/rbi/straddle/models/embed/representative.rbi +2 -2
  136. data/rbi/straddle/models/embed/representative_create_params.rbi +2 -2
  137. data/rbi/straddle/models/embed/representative_get_params.rbi +11 -1
  138. data/rbi/straddle/models/embed/representative_paged.rbi +2 -2
  139. data/rbi/straddle/models/embed/representative_unmask_params.rbi +11 -1
  140. data/rbi/straddle/models/embed/representative_update_params.rbi +8 -2
  141. data/rbi/straddle/models/funding_event_get_params.rbi +6 -0
  142. data/rbi/straddle/models/funding_event_list_params.rbi +333 -0
  143. data/rbi/straddle/models/funding_event_summary_item_v1.rbi +392 -0
  144. data/rbi/straddle/models/funding_event_summary_paged_v1.rbi +393 -0
  145. data/rbi/straddle/models/paykey_cancel_params.rbi +6 -0
  146. data/rbi/straddle/models/paykey_get_params.rbi +6 -0
  147. data/rbi/straddle/models/paykey_list_params.rbi +52 -0
  148. data/rbi/straddle/models/paykey_reveal_params.rbi +6 -0
  149. data/rbi/straddle/models/paykey_reveal_response.rbi +40 -0
  150. data/rbi/straddle/models/paykey_summary_paged_v1.rbi +55 -3
  151. data/rbi/straddle/models/paykey_unmasked_params.rbi +6 -0
  152. data/rbi/straddle/models/paykey_unmasked_v1.rbi +40 -0
  153. data/rbi/straddle/models/paykey_update_balance_params.rbi +6 -0
  154. data/rbi/straddle/models/paykey_v1.rbi +52 -3
  155. data/rbi/straddle/models/paykeys/review_decision_params.rbi +6 -0
  156. data/rbi/straddle/models/paykeys/review_get_params.rbi +6 -0
  157. data/rbi/straddle/models/paykeys/review_get_response.rbi +55 -18
  158. data/rbi/straddle/models/paykeys/review_refresh_review_params.rbi +6 -0
  159. data/rbi/straddle/models/payment_list_params.rbi +126 -0
  160. data/rbi/straddle/models/payment_summary_paged_v1.rbi +214 -6
  161. data/rbi/straddle/models/payout_cancel_params.rbi +6 -0
  162. data/rbi/straddle/models/payout_create_params.rbi +29 -3
  163. data/rbi/straddle/models/payout_get_params.rbi +6 -0
  164. data/rbi/straddle/models/payout_hold_params.rbi +6 -0
  165. data/rbi/straddle/models/payout_release_params.rbi +6 -0
  166. data/rbi/straddle/models/payout_unmask_params.rbi +6 -0
  167. data/rbi/straddle/models/payout_unmask_response.rbi +393 -3
  168. data/rbi/straddle/models/payout_update_params.rbi +9 -3
  169. data/rbi/straddle/models/payout_upload_authorization_document_params.rbi +88 -0
  170. data/rbi/straddle/models/payout_v1.rbi +361 -3
  171. data/rbi/straddle/models/status_details_v1.rbi +29 -0
  172. data/rbi/straddle/models.rbi +3 -0
  173. data/rbi/straddle/resources/bridge/link.rbi +12 -6
  174. data/rbi/straddle/resources/bridge.rbi +13 -1
  175. data/rbi/straddle/resources/charges.rbi +13 -8
  176. data/rbi/straddle/resources/customers/review.rbi +7 -1
  177. data/rbi/straddle/resources/customers.rbi +20 -8
  178. data/rbi/straddle/resources/embed/accounts/capability_requests.rbi +6 -2
  179. data/rbi/straddle/resources/embed/accounts.rbi +22 -10
  180. data/rbi/straddle/resources/embed/linked_bank_accounts.rbi +8 -4
  181. data/rbi/straddle/resources/embed/organizations.rbi +4 -0
  182. data/rbi/straddle/resources/embed/representatives.rbi +12 -6
  183. data/rbi/straddle/resources/embed.rbi +19 -0
  184. data/rbi/straddle/resources/funding_events.rbi +27 -0
  185. data/rbi/straddle/resources/paykeys/review.rbi +7 -2
  186. data/rbi/straddle/resources/paykeys.rbi +32 -8
  187. data/rbi/straddle/resources/payments.rbi +28 -3
  188. data/rbi/straddle/resources/payouts.rbi +44 -7
  189. data/sig/straddle/internal/util.rbs +14 -0
  190. data/sig/straddle/models/bridge/link_create_paykey_response.rbs +17 -1
  191. data/sig/straddle/models/bridge/link_create_tan_response.rbs +17 -1
  192. data/sig/straddle/models/charge_cancel_params.rbs +5 -0
  193. data/sig/straddle/models/charge_create_params.rbs +18 -4
  194. data/sig/straddle/models/charge_get_params.rbs +5 -0
  195. data/sig/straddle/models/charge_hold_params.rbs +5 -0
  196. data/sig/straddle/models/charge_release_params.rbs +5 -0
  197. data/sig/straddle/models/charge_unmask_params.rbs +5 -0
  198. data/sig/straddle/models/charge_unmask_response.rbs +166 -7
  199. data/sig/straddle/models/charge_update_params.rbs +9 -4
  200. data/sig/straddle/models/charge_v1.rbs +166 -7
  201. data/sig/straddle/models/customer_delete_params.rbs +5 -0
  202. data/sig/straddle/models/customer_get_params.rbs +5 -0
  203. data/sig/straddle/models/customer_unmasked_params.rbs +5 -0
  204. data/sig/straddle/models/customer_update_params.rbs +5 -0
  205. data/sig/straddle/models/customers/review_decision_params.rbs +5 -0
  206. data/sig/straddle/models/customers/review_get_params.rbs +5 -0
  207. data/sig/straddle/models/customers/review_refresh_review_params.rbs +5 -0
  208. data/sig/straddle/models/embed/account_get_params.rbs +5 -1
  209. data/sig/straddle/models/embed/account_list_params.rbs +7 -0
  210. data/sig/straddle/models/embed/account_onboard_params.rbs +5 -0
  211. data/sig/straddle/models/embed/account_paged_v1.rbs +18 -2
  212. data/sig/straddle/models/embed/account_simulate_params.rbs +5 -0
  213. data/sig/straddle/models/embed/account_update_params.rbs +5 -0
  214. data/sig/straddle/models/embed/account_v1.rbs +18 -2
  215. data/sig/straddle/models/embed/accounts/capability_request_create_params.rbs +5 -0
  216. data/sig/straddle/models/embed/accounts/capability_request_list_params.rbs +5 -0
  217. data/sig/straddle/models/embed/accounts/capability_request_paged_v1.rbs +5 -0
  218. data/sig/straddle/models/embed/address_v1.rbs +12 -27
  219. data/sig/straddle/models/embed/linked_bank_account_cancel_params.rbs +10 -1
  220. data/sig/straddle/models/embed/linked_bank_account_get_params.rbs +9 -1
  221. data/sig/straddle/models/embed/linked_bank_account_unmask_params.rbs +9 -1
  222. data/sig/straddle/models/embed/linked_bank_account_update_params.rbs +5 -0
  223. data/sig/straddle/models/embed/organization_get_params.rbs +5 -1
  224. data/sig/straddle/models/embed/representative_get_params.rbs +9 -1
  225. data/sig/straddle/models/embed/representative_unmask_params.rbs +9 -1
  226. data/sig/straddle/models/embed/representative_update_params.rbs +5 -0
  227. data/sig/straddle/models/funding_event_get_params.rbs +5 -0
  228. data/sig/straddle/models/funding_event_list_params.rbs +125 -0
  229. data/sig/straddle/models/funding_event_summary_item_v1.rbs +164 -0
  230. data/sig/straddle/models/funding_event_summary_paged_v1.rbs +164 -0
  231. data/sig/straddle/models/paykey_cancel_params.rbs +5 -0
  232. data/sig/straddle/models/paykey_get_params.rbs +5 -0
  233. data/sig/straddle/models/paykey_list_params.rbs +31 -1
  234. data/sig/straddle/models/paykey_reveal_params.rbs +5 -0
  235. data/sig/straddle/models/paykey_reveal_response.rbs +17 -1
  236. data/sig/straddle/models/paykey_summary_paged_v1.rbs +25 -4
  237. data/sig/straddle/models/paykey_unmasked_params.rbs +5 -0
  238. data/sig/straddle/models/paykey_unmasked_v1.rbs +17 -1
  239. data/sig/straddle/models/paykey_update_balance_params.rbs +5 -0
  240. data/sig/straddle/models/paykey_v1.rbs +25 -4
  241. data/sig/straddle/models/paykeys/review_decision_params.rbs +5 -0
  242. data/sig/straddle/models/paykeys/review_get_params.rbs +5 -0
  243. data/sig/straddle/models/paykeys/review_get_response.rbs +28 -10
  244. data/sig/straddle/models/paykeys/review_refresh_review_params.rbs +5 -0
  245. data/sig/straddle/models/payment_list_params.rbs +80 -2
  246. data/sig/straddle/models/payment_summary_paged_v1.rbs +89 -7
  247. data/sig/straddle/models/payout_cancel_params.rbs +5 -0
  248. data/sig/straddle/models/payout_create_params.rbs +18 -4
  249. data/sig/straddle/models/payout_get_params.rbs +5 -0
  250. data/sig/straddle/models/payout_hold_params.rbs +5 -0
  251. data/sig/straddle/models/payout_release_params.rbs +5 -0
  252. data/sig/straddle/models/payout_unmask_params.rbs +5 -0
  253. data/sig/straddle/models/payout_unmask_response.rbs +163 -4
  254. data/sig/straddle/models/payout_update_params.rbs +9 -4
  255. data/sig/straddle/models/payout_upload_authorization_document_params.rbs +59 -0
  256. data/sig/straddle/models/payout_v1.rbs +163 -4
  257. data/sig/straddle/models/status_details_v1.rbs +14 -0
  258. data/sig/straddle/models.rbs +2 -0
  259. data/sig/straddle/resources/charges.rbs +2 -2
  260. data/sig/straddle/resources/embed/accounts.rbs +1 -0
  261. data/sig/straddle/resources/funding_events.rbs +4 -0
  262. data/sig/straddle/resources/paykeys.rbs +4 -0
  263. data/sig/straddle/resources/payments.rbs +7 -0
  264. data/sig/straddle/resources/payouts.rbs +12 -2
  265. metadata +19 -2
@@ -123,7 +123,7 @@ module Straddle
123
123
  attr_accessor :currency
124
124
 
125
125
  # Description.
126
- sig { returns(String) }
126
+ sig { returns(T.nilable(String)) }
127
127
  attr_accessor :description
128
128
 
129
129
  sig { returns(Straddle::Models::ChargeUnmaskResponse::Data::Device) }
@@ -144,6 +144,18 @@ module Straddle
144
144
  sig { returns(T::Array[String]) }
145
145
  attr_accessor :funding_ids
146
146
 
147
+ # Has the charge been refunded by an associated payout.
148
+ sig { returns(T::Boolean) }
149
+ attr_accessor :has_refund
150
+
151
+ # Has the charge been resubmitted.
152
+ sig { returns(T::Boolean) }
153
+ attr_accessor :has_resubmit
154
+
155
+ # Is the charge a resubmit of an original charge.
156
+ sig { returns(T::Boolean) }
157
+ attr_accessor :is_resubmit
158
+
147
159
  # Paykey.
148
160
  sig { returns(String) }
149
161
  attr_accessor :paykey
@@ -176,6 +188,10 @@ module Straddle
176
188
  end
177
189
  attr_accessor :status_history
178
190
 
191
+ # Trace Ids.
192
+ sig { returns(T::Hash[Symbol, String]) }
193
+ attr_accessor :trace_ids
194
+
179
195
  # Updated at.
180
196
  sig { returns(Time) }
181
197
  attr_accessor :updated_at
@@ -189,6 +205,17 @@ module Straddle
189
205
  end
190
206
  attr_writer :customer_details
191
207
 
208
+ # Documents uploaded for this charge (e.g. proof of authorization), in the order
209
+ # they were uploaded.
210
+ sig do
211
+ returns(
212
+ T.nilable(
213
+ T::Array[Straddle::Models::ChargeUnmaskResponse::Data::Document]
214
+ )
215
+ )
216
+ end
217
+ attr_accessor :documents
218
+
192
219
  # Effective at.
193
220
  sig { returns(T.nilable(Time)) }
194
221
  attr_accessor :effective_at
@@ -225,6 +252,18 @@ module Straddle
225
252
  sig { returns(T.nilable(Time)) }
226
253
  attr_accessor :processed_at
227
254
 
255
+ # Related payments.
256
+ sig do
257
+ returns(
258
+ T.nilable(
259
+ T::Array[
260
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment
261
+ ]
262
+ )
263
+ )
264
+ end
265
+ attr_accessor :related_payments
266
+
228
267
  sig do
229
268
  params(
230
269
  id: String,
@@ -235,11 +274,14 @@ module Straddle
235
274
  Straddle::Models::ChargeUnmaskResponse::Data::ConsentType::OrSymbol,
236
275
  created_at: Time,
237
276
  currency: String,
238
- description: String,
277
+ description: T.nilable(String),
239
278
  device:
240
279
  Straddle::Models::ChargeUnmaskResponse::Data::Device::OrHash,
241
280
  external_id: String,
242
281
  funding_ids: T::Array[String],
282
+ has_refund: T::Boolean,
283
+ has_resubmit: T::Boolean,
284
+ is_resubmit: T::Boolean,
243
285
  paykey: String,
244
286
  payment_date: Date,
245
287
  status:
@@ -249,14 +291,27 @@ module Straddle
249
291
  T::Array[
250
292
  Straddle::Models::ChargeUnmaskResponse::Data::StatusHistory::OrHash
251
293
  ],
294
+ trace_ids: T::Hash[Symbol, String],
252
295
  updated_at: Time,
253
296
  customer_details: Straddle::CustomerDetailsV1::OrHash,
297
+ documents:
298
+ T.nilable(
299
+ T::Array[
300
+ Straddle::Models::ChargeUnmaskResponse::Data::Document::OrHash
301
+ ]
302
+ ),
254
303
  effective_at: T.nilable(Time),
255
304
  metadata: T.nilable(T::Hash[Symbol, String]),
256
305
  paykey_details: Straddle::PaykeyDetailsV1::OrHash,
257
306
  payment_rail:
258
307
  Straddle::Models::ChargeUnmaskResponse::Data::PaymentRail::OrSymbol,
259
- processed_at: T.nilable(Time)
308
+ processed_at: T.nilable(Time),
309
+ related_payments:
310
+ T.nilable(
311
+ T::Array[
312
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::OrHash
313
+ ]
314
+ )
260
315
  ).returns(T.attached_class)
261
316
  end
262
317
  def self.new(
@@ -281,6 +336,12 @@ module Straddle
281
336
  external_id:,
282
337
  # Funding Ids
283
338
  funding_ids:,
339
+ # Has the charge been refunded by an associated payout.
340
+ has_refund:,
341
+ # Has the charge been resubmitted.
342
+ has_resubmit:,
343
+ # Is the charge a resubmit of an original charge.
344
+ is_resubmit:,
284
345
  # Paykey.
285
346
  paykey:,
286
347
  # Payment date.
@@ -290,10 +351,15 @@ module Straddle
290
351
  status_details:,
291
352
  # Status history.
292
353
  status_history:,
354
+ # Trace Ids.
355
+ trace_ids:,
293
356
  # Updated at.
294
357
  updated_at:,
295
358
  # Information about the customer associated with the charge or payout.
296
359
  customer_details: nil,
360
+ # Documents uploaded for this charge (e.g. proof of authorization), in the order
361
+ # they were uploaded.
362
+ documents: nil,
297
363
  # Effective at.
298
364
  effective_at: nil,
299
365
  # Metadata.
@@ -302,7 +368,9 @@ module Straddle
302
368
  # The payment rail used for the charge or payout.
303
369
  payment_rail: nil,
304
370
  # Processed at.
305
- processed_at: nil
371
+ processed_at: nil,
372
+ # Related payments.
373
+ related_payments: nil
306
374
  )
307
375
  end
308
376
 
@@ -316,10 +384,13 @@ module Straddle
316
384
  Straddle::Models::ChargeUnmaskResponse::Data::ConsentType::TaggedSymbol,
317
385
  created_at: Time,
318
386
  currency: String,
319
- description: String,
387
+ description: T.nilable(String),
320
388
  device: Straddle::Models::ChargeUnmaskResponse::Data::Device,
321
389
  external_id: String,
322
390
  funding_ids: T::Array[String],
391
+ has_refund: T::Boolean,
392
+ has_resubmit: T::Boolean,
393
+ is_resubmit: T::Boolean,
323
394
  paykey: String,
324
395
  payment_date: Date,
325
396
  status:
@@ -329,14 +400,27 @@ module Straddle
329
400
  T::Array[
330
401
  Straddle::Models::ChargeUnmaskResponse::Data::StatusHistory
331
402
  ],
403
+ trace_ids: T::Hash[Symbol, String],
332
404
  updated_at: Time,
333
405
  customer_details: Straddle::CustomerDetailsV1,
406
+ documents:
407
+ T.nilable(
408
+ T::Array[
409
+ Straddle::Models::ChargeUnmaskResponse::Data::Document
410
+ ]
411
+ ),
334
412
  effective_at: T.nilable(Time),
335
413
  metadata: T.nilable(T::Hash[Symbol, String]),
336
414
  paykey_details: Straddle::PaykeyDetailsV1,
337
415
  payment_rail:
338
416
  Straddle::Models::ChargeUnmaskResponse::Data::PaymentRail::TaggedSymbol,
339
- processed_at: T.nilable(Time)
417
+ processed_at: T.nilable(Time),
418
+ related_payments:
419
+ T.nilable(
420
+ T::Array[
421
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment
422
+ ]
423
+ )
340
424
  }
341
425
  )
342
426
  end
@@ -360,6 +444,14 @@ module Straddle
360
444
  end
361
445
  attr_accessor :balance_check
362
446
 
447
+ # Defines whether to automatically place this charge on hold after being created.
448
+ sig { returns(T.nilable(T::Boolean)) }
449
+ attr_accessor :auto_hold
450
+
451
+ # The reason the charge is being automatically held on creation.
452
+ sig { returns(T.nilable(String)) }
453
+ attr_accessor :auto_hold_message
454
+
363
455
  # Payment will simulate processing if not Standard.
364
456
  sig do
365
457
  returns(
@@ -382,6 +474,8 @@ module Straddle
382
474
  params(
383
475
  balance_check:
384
476
  Straddle::Models::ChargeUnmaskResponse::Data::Config::BalanceCheck::OrSymbol,
477
+ auto_hold: T.nilable(T::Boolean),
478
+ auto_hold_message: T.nilable(String),
385
479
  sandbox_outcome:
386
480
  Straddle::Models::ChargeUnmaskResponse::Data::Config::SandboxOutcome::OrSymbol
387
481
  ).returns(T.attached_class)
@@ -389,6 +483,10 @@ module Straddle
389
483
  def self.new(
390
484
  # Defines whether to check the customer's balance before processing the charge.
391
485
  balance_check:,
486
+ # Defines whether to automatically place this charge on hold after being created.
487
+ auto_hold: nil,
488
+ # The reason the charge is being automatically held on creation.
489
+ auto_hold_message: nil,
392
490
  # Payment will simulate processing if not Standard.
393
491
  sandbox_outcome: nil
394
492
  )
@@ -399,6 +497,8 @@ module Straddle
399
497
  {
400
498
  balance_check:
401
499
  Straddle::Models::ChargeUnmaskResponse::Data::Config::BalanceCheck::TaggedSymbol,
500
+ auto_hold: T.nilable(T::Boolean),
501
+ auto_hold_message: T.nilable(String),
402
502
  sandbox_outcome:
403
503
  Straddle::Models::ChargeUnmaskResponse::Data::Config::SandboxOutcome::TaggedSymbol
404
504
  }
@@ -515,6 +615,16 @@ module Straddle
515
615
  :reversed_closed_bank_account,
516
616
  Straddle::Models::ChargeUnmaskResponse::Data::Config::SandboxOutcome::TaggedSymbol
517
617
  )
618
+ FAILED_NOT_AUTHORIZED =
619
+ T.let(
620
+ :failed_not_authorized,
621
+ Straddle::Models::ChargeUnmaskResponse::Data::Config::SandboxOutcome::TaggedSymbol
622
+ )
623
+ REVERSED_NOT_AUTHORIZED =
624
+ T.let(
625
+ :reversed_not_authorized,
626
+ Straddle::Models::ChargeUnmaskResponse::Data::Config::SandboxOutcome::TaggedSymbol
627
+ )
518
628
 
519
629
  sig do
520
630
  override.returns(
@@ -644,6 +754,11 @@ module Straddle
644
754
  :reversed,
645
755
  Straddle::Models::ChargeUnmaskResponse::Data::Status::TaggedSymbol
646
756
  )
757
+ VALIDATING =
758
+ T.let(
759
+ :validating,
760
+ Straddle::Models::ChargeUnmaskResponse::Data::Status::TaggedSymbol
761
+ )
647
762
 
648
763
  sig do
649
764
  override.returns(
@@ -866,6 +981,41 @@ module Straddle
866
981
  :payout_refused,
867
982
  Straddle::Models::ChargeUnmaskResponse::Data::StatusHistory::Reason::TaggedSymbol
868
983
  )
984
+ CANCEL_REQUEST =
985
+ T.let(
986
+ :cancel_request,
987
+ Straddle::Models::ChargeUnmaskResponse::Data::StatusHistory::Reason::TaggedSymbol
988
+ )
989
+ FAILED_VERIFICATION =
990
+ T.let(
991
+ :failed_verification,
992
+ Straddle::Models::ChargeUnmaskResponse::Data::StatusHistory::Reason::TaggedSymbol
993
+ )
994
+ REQUIRE_REVIEW =
995
+ T.let(
996
+ :require_review,
997
+ Straddle::Models::ChargeUnmaskResponse::Data::StatusHistory::Reason::TaggedSymbol
998
+ )
999
+ BLOCKED_BY_SYSTEM =
1000
+ T.let(
1001
+ :blocked_by_system,
1002
+ Straddle::Models::ChargeUnmaskResponse::Data::StatusHistory::Reason::TaggedSymbol
1003
+ )
1004
+ WATCHTOWER_REVIEW =
1005
+ T.let(
1006
+ :watchtower_review,
1007
+ Straddle::Models::ChargeUnmaskResponse::Data::StatusHistory::Reason::TaggedSymbol
1008
+ )
1009
+ VALIDATING =
1010
+ T.let(
1011
+ :validating,
1012
+ Straddle::Models::ChargeUnmaskResponse::Data::StatusHistory::Reason::TaggedSymbol
1013
+ )
1014
+ AUTO_HOLD =
1015
+ T.let(
1016
+ :auto_hold,
1017
+ Straddle::Models::ChargeUnmaskResponse::Data::StatusHistory::Reason::TaggedSymbol
1018
+ )
869
1019
 
870
1020
  sig do
871
1021
  override.returns(
@@ -982,6 +1132,11 @@ module Straddle
982
1132
  :reversed,
983
1133
  Straddle::Models::ChargeUnmaskResponse::Data::StatusHistory::Status::TaggedSymbol
984
1134
  )
1135
+ VALIDATING =
1136
+ T.let(
1137
+ :validating,
1138
+ Straddle::Models::ChargeUnmaskResponse::Data::StatusHistory::Status::TaggedSymbol
1139
+ )
985
1140
 
986
1141
  sig do
987
1142
  override.returns(
@@ -995,6 +1150,106 @@ module Straddle
995
1150
  end
996
1151
  end
997
1152
 
1153
+ class Document < Straddle::Internal::Type::BaseModel
1154
+ OrHash =
1155
+ T.type_alias do
1156
+ T.any(
1157
+ Straddle::Models::ChargeUnmaskResponse::Data::Document,
1158
+ Straddle::Internal::AnyHash
1159
+ )
1160
+ end
1161
+
1162
+ # Unique identifier for this document.
1163
+ sig { returns(String) }
1164
+ attr_accessor :document_id
1165
+
1166
+ # The file name of this document as uploaded.
1167
+ sig { returns(String) }
1168
+ attr_accessor :document_name
1169
+
1170
+ # The size of this document in bytes.
1171
+ sig { returns(Integer) }
1172
+ attr_accessor :document_size
1173
+
1174
+ sig do
1175
+ returns(
1176
+ Straddle::Models::ChargeUnmaskResponse::Data::Document::DocumentType::TaggedSymbol
1177
+ )
1178
+ end
1179
+ attr_accessor :document_type
1180
+
1181
+ # The UTC timestamp when this document was uploaded.
1182
+ sig { returns(Time) }
1183
+ attr_accessor :uploaded_at
1184
+
1185
+ sig do
1186
+ params(
1187
+ document_id: String,
1188
+ document_name: String,
1189
+ document_size: Integer,
1190
+ document_type:
1191
+ Straddle::Models::ChargeUnmaskResponse::Data::Document::DocumentType::OrSymbol,
1192
+ uploaded_at: Time
1193
+ ).returns(T.attached_class)
1194
+ end
1195
+ def self.new(
1196
+ # Unique identifier for this document.
1197
+ document_id:,
1198
+ # The file name of this document as uploaded.
1199
+ document_name:,
1200
+ # The size of this document in bytes.
1201
+ document_size:,
1202
+ document_type:,
1203
+ # The UTC timestamp when this document was uploaded.
1204
+ uploaded_at:
1205
+ )
1206
+ end
1207
+
1208
+ sig do
1209
+ override.returns(
1210
+ {
1211
+ document_id: String,
1212
+ document_name: String,
1213
+ document_size: Integer,
1214
+ document_type:
1215
+ Straddle::Models::ChargeUnmaskResponse::Data::Document::DocumentType::TaggedSymbol,
1216
+ uploaded_at: Time
1217
+ }
1218
+ )
1219
+ end
1220
+ def to_hash
1221
+ end
1222
+
1223
+ module DocumentType
1224
+ extend Straddle::Internal::Type::Enum
1225
+
1226
+ TaggedSymbol =
1227
+ T.type_alias do
1228
+ T.all(
1229
+ Symbol,
1230
+ Straddle::Models::ChargeUnmaskResponse::Data::Document::DocumentType
1231
+ )
1232
+ end
1233
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1234
+
1235
+ PAYMENT_AUTHORIZATION =
1236
+ T.let(
1237
+ :payment_authorization,
1238
+ Straddle::Models::ChargeUnmaskResponse::Data::Document::DocumentType::TaggedSymbol
1239
+ )
1240
+
1241
+ sig do
1242
+ override.returns(
1243
+ T::Array[
1244
+ Straddle::Models::ChargeUnmaskResponse::Data::Document::DocumentType::TaggedSymbol
1245
+ ]
1246
+ )
1247
+ end
1248
+ def self.values
1249
+ end
1250
+ end
1251
+ end
1252
+
998
1253
  # The payment rail used for the charge or payout.
999
1254
  module PaymentRail
1000
1255
  extend Straddle::Internal::Type::Enum
@@ -1024,6 +1279,141 @@ module Straddle
1024
1279
  def self.values
1025
1280
  end
1026
1281
  end
1282
+
1283
+ class RelatedPayment < Straddle::Internal::Type::BaseModel
1284
+ OrHash =
1285
+ T.type_alias do
1286
+ T.any(
1287
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment,
1288
+ Straddle::Internal::AnyHash
1289
+ )
1290
+ end
1291
+
1292
+ # The ID of the related payment.
1293
+ sig { returns(String) }
1294
+ attr_accessor :id
1295
+
1296
+ # The type of payment.
1297
+ sig do
1298
+ returns(
1299
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::PaymentType::TaggedSymbol
1300
+ )
1301
+ end
1302
+ attr_accessor :payment_type
1303
+
1304
+ sig do
1305
+ returns(
1306
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::Relationship::TaggedSymbol
1307
+ )
1308
+ end
1309
+ attr_accessor :relationship
1310
+
1311
+ sig do
1312
+ params(
1313
+ id: String,
1314
+ payment_type:
1315
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::PaymentType::OrSymbol,
1316
+ relationship:
1317
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::Relationship::OrSymbol
1318
+ ).returns(T.attached_class)
1319
+ end
1320
+ def self.new(
1321
+ # The ID of the related payment.
1322
+ id:,
1323
+ # The type of payment.
1324
+ payment_type:,
1325
+ relationship:
1326
+ )
1327
+ end
1328
+
1329
+ sig do
1330
+ override.returns(
1331
+ {
1332
+ id: String,
1333
+ payment_type:
1334
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::PaymentType::TaggedSymbol,
1335
+ relationship:
1336
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::Relationship::TaggedSymbol
1337
+ }
1338
+ )
1339
+ end
1340
+ def to_hash
1341
+ end
1342
+
1343
+ # The type of payment.
1344
+ module PaymentType
1345
+ extend Straddle::Internal::Type::Enum
1346
+
1347
+ TaggedSymbol =
1348
+ T.type_alias do
1349
+ T.all(
1350
+ Symbol,
1351
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::PaymentType
1352
+ )
1353
+ end
1354
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1355
+
1356
+ CHARGE =
1357
+ T.let(
1358
+ :charge,
1359
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::PaymentType::TaggedSymbol
1360
+ )
1361
+ PAYOUT =
1362
+ T.let(
1363
+ :payout,
1364
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::PaymentType::TaggedSymbol
1365
+ )
1366
+
1367
+ sig do
1368
+ override.returns(
1369
+ T::Array[
1370
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::PaymentType::TaggedSymbol
1371
+ ]
1372
+ )
1373
+ end
1374
+ def self.values
1375
+ end
1376
+ end
1377
+
1378
+ module Relationship
1379
+ extend Straddle::Internal::Type::Enum
1380
+
1381
+ TaggedSymbol =
1382
+ T.type_alias do
1383
+ T.all(
1384
+ Symbol,
1385
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::Relationship
1386
+ )
1387
+ end
1388
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1389
+
1390
+ ORIGINAL =
1391
+ T.let(
1392
+ :original,
1393
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::Relationship::TaggedSymbol
1394
+ )
1395
+ RESUBMIT =
1396
+ T.let(
1397
+ :resubmit,
1398
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::Relationship::TaggedSymbol
1399
+ )
1400
+ REFUND =
1401
+ T.let(
1402
+ :refund,
1403
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::Relationship::TaggedSymbol
1404
+ )
1405
+
1406
+ sig do
1407
+ override.returns(
1408
+ T::Array[
1409
+ Straddle::Models::ChargeUnmaskResponse::Data::RelatedPayment::Relationship::TaggedSymbol
1410
+ ]
1411
+ )
1412
+ end
1413
+ def self.values
1414
+ end
1415
+ end
1416
+ end
1027
1417
  end
1028
1418
 
1029
1419
  # Indicates the structure of the returned content.
@@ -11,12 +11,15 @@ module Straddle
11
11
  T.any(Straddle::ChargeUpdateParams, Straddle::Internal::AnyHash)
12
12
  end
13
13
 
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
14
17
  # The amount of the charge in cents.
15
18
  sig { returns(Integer) }
16
19
  attr_accessor :amount
17
20
 
18
21
  # An arbitrary description for the charge.
19
- sig { returns(String) }
22
+ sig { returns(T.nilable(String)) }
20
23
  attr_accessor :description
21
24
 
22
25
  # The desired date on which the payment should be occur. For charges, this means
@@ -55,8 +58,9 @@ module Straddle
55
58
 
56
59
  sig do
57
60
  params(
61
+ id: String,
58
62
  amount: Integer,
59
- description: String,
63
+ description: T.nilable(String),
60
64
  payment_date: Date,
61
65
  metadata: T.nilable(T::Hash[Symbol, String]),
62
66
  correlation_id: String,
@@ -67,6 +71,7 @@ module Straddle
67
71
  ).returns(T.attached_class)
68
72
  end
69
73
  def self.new(
74
+ id:,
70
75
  # The amount of the charge in cents.
71
76
  amount:,
72
77
  # An arbitrary description for the charge.
@@ -88,8 +93,9 @@ module Straddle
88
93
  sig do
89
94
  override.returns(
90
95
  {
96
+ id: String,
91
97
  amount: Integer,
92
- description: String,
98
+ description: T.nilable(String),
93
99
  payment_date: Date,
94
100
  metadata: T.nilable(T::Hash[Symbol, String]),
95
101
  correlation_id: String,