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
@@ -100,7 +100,7 @@ module Straddle
100
100
  attr_accessor :currency
101
101
 
102
102
  # An arbitrary description for the charge.
103
- sig { returns(String) }
103
+ sig { returns(T.nilable(String)) }
104
104
  attr_accessor :description
105
105
 
106
106
  # Information about the device used when the customer authorized the payment.
@@ -119,6 +119,18 @@ module Straddle
119
119
  sig { returns(T::Array[String]) }
120
120
  attr_accessor :funding_ids
121
121
 
122
+ # Has the charge been refunded by an associated payout.
123
+ sig { returns(T::Boolean) }
124
+ attr_accessor :has_refund
125
+
126
+ # Has the charge been resubmitted.
127
+ sig { returns(T::Boolean) }
128
+ attr_accessor :has_resubmit
129
+
130
+ # Is the charge a resubmit of an original charge.
131
+ sig { returns(T::Boolean) }
132
+ attr_accessor :is_resubmit
133
+
122
134
  # Value of the `paykey` used for the charge.
123
135
  sig { returns(String) }
124
136
  attr_accessor :paykey
@@ -143,6 +155,10 @@ module Straddle
143
155
  sig { returns(T::Array[Straddle::ChargeV1::Data::StatusHistory]) }
144
156
  attr_accessor :status_history
145
157
 
158
+ # Trace Ids.
159
+ sig { returns(T::Hash[Symbol, String]) }
160
+ attr_accessor :trace_ids
161
+
146
162
  # Timestamp of when the charge was last updated.
147
163
  sig { returns(T.nilable(Time)) }
148
164
  attr_accessor :updated_at
@@ -156,6 +172,11 @@ module Straddle
156
172
  end
157
173
  attr_writer :customer_details
158
174
 
175
+ # Documents uploaded for this charge (e.g. proof of authorization), in the order
176
+ # they were uploaded.
177
+ sig { returns(T.nilable(T::Array[Straddle::ChargeV1::Data::Document])) }
178
+ attr_accessor :documents
179
+
159
180
  # Timestamp of when the charge was effective in the customer's bank account,
160
181
  # otherwise known as the date on which the customer is debited.
161
182
  sig { returns(T.nilable(Time)) }
@@ -193,6 +214,12 @@ module Straddle
193
214
  sig { returns(T.nilable(Time)) }
194
215
  attr_accessor :processed_at
195
216
 
217
+ # Related payments.
218
+ sig do
219
+ returns(T.nilable(T::Array[Straddle::ChargeV1::Data::RelatedPayment]))
220
+ end
221
+ attr_accessor :related_payments
222
+
196
223
  sig do
197
224
  params(
198
225
  id: String,
@@ -201,23 +228,33 @@ module Straddle
201
228
  consent_type: Straddle::ChargeV1::Data::ConsentType::OrSymbol,
202
229
  created_at: T.nilable(Time),
203
230
  currency: String,
204
- description: String,
231
+ description: T.nilable(String),
205
232
  device: Straddle::DeviceInfoV1::OrHash,
206
233
  external_id: String,
207
234
  funding_ids: T::Array[String],
235
+ has_refund: T::Boolean,
236
+ has_resubmit: T::Boolean,
237
+ is_resubmit: T::Boolean,
208
238
  paykey: String,
209
239
  payment_date: Date,
210
240
  status: Straddle::ChargeV1::Data::Status::OrSymbol,
211
241
  status_details: Straddle::StatusDetailsV1::OrHash,
212
242
  status_history:
213
243
  T::Array[Straddle::ChargeV1::Data::StatusHistory::OrHash],
244
+ trace_ids: T::Hash[Symbol, String],
214
245
  updated_at: T.nilable(Time),
215
246
  customer_details: Straddle::CustomerDetailsV1::OrHash,
247
+ documents:
248
+ T.nilable(T::Array[Straddle::ChargeV1::Data::Document::OrHash]),
216
249
  effective_at: T.nilable(Time),
217
250
  metadata: T.nilable(T::Hash[Symbol, String]),
218
251
  paykey_details: Straddle::PaykeyDetailsV1::OrHash,
219
252
  payment_rail: Straddle::ChargeV1::Data::PaymentRail::OrSymbol,
220
- processed_at: T.nilable(Time)
253
+ processed_at: T.nilable(Time),
254
+ related_payments:
255
+ T.nilable(
256
+ T::Array[Straddle::ChargeV1::Data::RelatedPayment::OrHash]
257
+ )
221
258
  ).returns(T.attached_class)
222
259
  end
223
260
  def self.new(
@@ -245,6 +282,12 @@ module Straddle
245
282
  external_id:,
246
283
  # Funding Ids
247
284
  funding_ids:,
285
+ # Has the charge been refunded by an associated payout.
286
+ has_refund:,
287
+ # Has the charge been resubmitted.
288
+ has_resubmit:,
289
+ # Is the charge a resubmit of an original charge.
290
+ is_resubmit:,
248
291
  # Value of the `paykey` used for the charge.
249
292
  paykey:,
250
293
  # The desired date on which the payment should be occur. For charges, this means
@@ -256,10 +299,15 @@ module Straddle
256
299
  status_details:,
257
300
  # Status history.
258
301
  status_history:,
302
+ # Trace Ids.
303
+ trace_ids:,
259
304
  # Timestamp of when the charge was last updated.
260
305
  updated_at:,
261
306
  # Information about the customer associated with the charge.
262
307
  customer_details: nil,
308
+ # Documents uploaded for this charge (e.g. proof of authorization), in the order
309
+ # they were uploaded.
310
+ documents: nil,
263
311
  # Timestamp of when the charge was effective in the customer's bank account,
264
312
  # otherwise known as the date on which the customer is debited.
265
313
  effective_at: nil,
@@ -272,7 +320,9 @@ module Straddle
272
320
  payment_rail: nil,
273
321
  # Timestamp of when the charge was processed by Straddle and originated to the
274
322
  # payment rail.
275
- processed_at: nil
323
+ processed_at: nil,
324
+ # Related payments.
325
+ related_payments: nil
276
326
  )
277
327
  end
278
328
 
@@ -285,22 +335,30 @@ module Straddle
285
335
  consent_type: Straddle::ChargeV1::Data::ConsentType::TaggedSymbol,
286
336
  created_at: T.nilable(Time),
287
337
  currency: String,
288
- description: String,
338
+ description: T.nilable(String),
289
339
  device: Straddle::DeviceInfoV1,
290
340
  external_id: String,
291
341
  funding_ids: T::Array[String],
342
+ has_refund: T::Boolean,
343
+ has_resubmit: T::Boolean,
344
+ is_resubmit: T::Boolean,
292
345
  paykey: String,
293
346
  payment_date: Date,
294
347
  status: Straddle::ChargeV1::Data::Status::TaggedSymbol,
295
348
  status_details: Straddle::StatusDetailsV1,
296
349
  status_history: T::Array[Straddle::ChargeV1::Data::StatusHistory],
350
+ trace_ids: T::Hash[Symbol, String],
297
351
  updated_at: T.nilable(Time),
298
352
  customer_details: Straddle::CustomerDetailsV1,
353
+ documents:
354
+ T.nilable(T::Array[Straddle::ChargeV1::Data::Document]),
299
355
  effective_at: T.nilable(Time),
300
356
  metadata: T.nilable(T::Hash[Symbol, String]),
301
357
  paykey_details: Straddle::PaykeyDetailsV1,
302
358
  payment_rail: Straddle::ChargeV1::Data::PaymentRail::TaggedSymbol,
303
- processed_at: T.nilable(Time)
359
+ processed_at: T.nilable(Time),
360
+ related_payments:
361
+ T.nilable(T::Array[Straddle::ChargeV1::Data::RelatedPayment])
304
362
  }
305
363
  )
306
364
  end
@@ -324,6 +382,14 @@ module Straddle
324
382
  end
325
383
  attr_accessor :balance_check
326
384
 
385
+ # Defines whether to automatically place this charge on hold after being created.
386
+ sig { returns(T.nilable(T::Boolean)) }
387
+ attr_accessor :auto_hold
388
+
389
+ # The reason the charge is being automatically held on creation.
390
+ sig { returns(T.nilable(String)) }
391
+ attr_accessor :auto_hold_message
392
+
327
393
  # Payment will simulate processing if not Standard.
328
394
  sig do
329
395
  returns(
@@ -347,6 +413,8 @@ module Straddle
347
413
  params(
348
414
  balance_check:
349
415
  Straddle::ChargeV1::Data::Config::BalanceCheck::OrSymbol,
416
+ auto_hold: T.nilable(T::Boolean),
417
+ auto_hold_message: T.nilable(String),
350
418
  sandbox_outcome:
351
419
  Straddle::ChargeV1::Data::Config::SandboxOutcome::OrSymbol
352
420
  ).returns(T.attached_class)
@@ -354,6 +422,10 @@ module Straddle
354
422
  def self.new(
355
423
  # Defines whether to check the customer's balance before processing the charge.
356
424
  balance_check:,
425
+ # Defines whether to automatically place this charge on hold after being created.
426
+ auto_hold: nil,
427
+ # The reason the charge is being automatically held on creation.
428
+ auto_hold_message: nil,
357
429
  # Payment will simulate processing if not Standard.
358
430
  sandbox_outcome: nil
359
431
  )
@@ -364,6 +436,8 @@ module Straddle
364
436
  {
365
437
  balance_check:
366
438
  Straddle::ChargeV1::Data::Config::BalanceCheck::TaggedSymbol,
439
+ auto_hold: T.nilable(T::Boolean),
440
+ auto_hold_message: T.nilable(String),
367
441
  sandbox_outcome:
368
442
  Straddle::ChargeV1::Data::Config::SandboxOutcome::TaggedSymbol
369
443
  }
@@ -474,6 +548,16 @@ module Straddle
474
548
  :reversed_closed_bank_account,
475
549
  Straddle::ChargeV1::Data::Config::SandboxOutcome::TaggedSymbol
476
550
  )
551
+ FAILED_NOT_AUTHORIZED =
552
+ T.let(
553
+ :failed_not_authorized,
554
+ Straddle::ChargeV1::Data::Config::SandboxOutcome::TaggedSymbol
555
+ )
556
+ REVERSED_NOT_AUTHORIZED =
557
+ T.let(
558
+ :reversed_not_authorized,
559
+ Straddle::ChargeV1::Data::Config::SandboxOutcome::TaggedSymbol
560
+ )
477
561
 
478
562
  sig do
479
563
  override.returns(
@@ -540,6 +624,8 @@ module Straddle
540
624
  PAID = T.let(:paid, Straddle::ChargeV1::Data::Status::TaggedSymbol)
541
625
  REVERSED =
542
626
  T.let(:reversed, Straddle::ChargeV1::Data::Status::TaggedSymbol)
627
+ VALIDATING =
628
+ T.let(:validating, Straddle::ChargeV1::Data::Status::TaggedSymbol)
543
629
 
544
630
  sig do
545
631
  override.returns(
@@ -755,6 +841,41 @@ module Straddle
755
841
  :payout_refused,
756
842
  Straddle::ChargeV1::Data::StatusHistory::Reason::TaggedSymbol
757
843
  )
844
+ CANCEL_REQUEST =
845
+ T.let(
846
+ :cancel_request,
847
+ Straddle::ChargeV1::Data::StatusHistory::Reason::TaggedSymbol
848
+ )
849
+ FAILED_VERIFICATION =
850
+ T.let(
851
+ :failed_verification,
852
+ Straddle::ChargeV1::Data::StatusHistory::Reason::TaggedSymbol
853
+ )
854
+ REQUIRE_REVIEW =
855
+ T.let(
856
+ :require_review,
857
+ Straddle::ChargeV1::Data::StatusHistory::Reason::TaggedSymbol
858
+ )
859
+ BLOCKED_BY_SYSTEM =
860
+ T.let(
861
+ :blocked_by_system,
862
+ Straddle::ChargeV1::Data::StatusHistory::Reason::TaggedSymbol
863
+ )
864
+ WATCHTOWER_REVIEW =
865
+ T.let(
866
+ :watchtower_review,
867
+ Straddle::ChargeV1::Data::StatusHistory::Reason::TaggedSymbol
868
+ )
869
+ VALIDATING =
870
+ T.let(
871
+ :validating,
872
+ Straddle::ChargeV1::Data::StatusHistory::Reason::TaggedSymbol
873
+ )
874
+ AUTO_HOLD =
875
+ T.let(
876
+ :auto_hold,
877
+ Straddle::ChargeV1::Data::StatusHistory::Reason::TaggedSymbol
878
+ )
758
879
 
759
880
  sig do
760
881
  override.returns(
@@ -865,6 +986,11 @@ module Straddle
865
986
  :reversed,
866
987
  Straddle::ChargeV1::Data::StatusHistory::Status::TaggedSymbol
867
988
  )
989
+ VALIDATING =
990
+ T.let(
991
+ :validating,
992
+ Straddle::ChargeV1::Data::StatusHistory::Status::TaggedSymbol
993
+ )
868
994
 
869
995
  sig do
870
996
  override.returns(
@@ -878,6 +1004,103 @@ module Straddle
878
1004
  end
879
1005
  end
880
1006
 
1007
+ class Document < Straddle::Internal::Type::BaseModel
1008
+ OrHash =
1009
+ T.type_alias do
1010
+ T.any(
1011
+ Straddle::ChargeV1::Data::Document,
1012
+ Straddle::Internal::AnyHash
1013
+ )
1014
+ end
1015
+
1016
+ # Unique identifier for this document.
1017
+ sig { returns(String) }
1018
+ attr_accessor :document_id
1019
+
1020
+ # The file name of this document as uploaded.
1021
+ sig { returns(String) }
1022
+ attr_accessor :document_name
1023
+
1024
+ # The size of this document in bytes.
1025
+ sig { returns(Integer) }
1026
+ attr_accessor :document_size
1027
+
1028
+ sig do
1029
+ returns(
1030
+ Straddle::ChargeV1::Data::Document::DocumentType::TaggedSymbol
1031
+ )
1032
+ end
1033
+ attr_accessor :document_type
1034
+
1035
+ # The UTC timestamp when this document was uploaded.
1036
+ sig { returns(Time) }
1037
+ attr_accessor :uploaded_at
1038
+
1039
+ sig do
1040
+ params(
1041
+ document_id: String,
1042
+ document_name: String,
1043
+ document_size: Integer,
1044
+ document_type:
1045
+ Straddle::ChargeV1::Data::Document::DocumentType::OrSymbol,
1046
+ uploaded_at: Time
1047
+ ).returns(T.attached_class)
1048
+ end
1049
+ def self.new(
1050
+ # Unique identifier for this document.
1051
+ document_id:,
1052
+ # The file name of this document as uploaded.
1053
+ document_name:,
1054
+ # The size of this document in bytes.
1055
+ document_size:,
1056
+ document_type:,
1057
+ # The UTC timestamp when this document was uploaded.
1058
+ uploaded_at:
1059
+ )
1060
+ end
1061
+
1062
+ sig do
1063
+ override.returns(
1064
+ {
1065
+ document_id: String,
1066
+ document_name: String,
1067
+ document_size: Integer,
1068
+ document_type:
1069
+ Straddle::ChargeV1::Data::Document::DocumentType::TaggedSymbol,
1070
+ uploaded_at: Time
1071
+ }
1072
+ )
1073
+ end
1074
+ def to_hash
1075
+ end
1076
+
1077
+ module DocumentType
1078
+ extend Straddle::Internal::Type::Enum
1079
+
1080
+ TaggedSymbol =
1081
+ T.type_alias do
1082
+ T.all(Symbol, Straddle::ChargeV1::Data::Document::DocumentType)
1083
+ end
1084
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1085
+
1086
+ PAYMENT_AUTHORIZATION =
1087
+ T.let(
1088
+ :payment_authorization,
1089
+ Straddle::ChargeV1::Data::Document::DocumentType::TaggedSymbol
1090
+ )
1091
+
1092
+ sig do
1093
+ override.returns(
1094
+ T::Array[
1095
+ Straddle::ChargeV1::Data::Document::DocumentType::TaggedSymbol
1096
+ ]
1097
+ )
1098
+ end
1099
+ def self.values
1100
+ end
1101
+ end
1102
+ end
1103
+
881
1104
  # The payment rail that the charge will be processed through.
882
1105
  module PaymentRail
883
1106
  extend Straddle::Internal::Type::Enum
@@ -898,6 +1121,141 @@ module Straddle
898
1121
  def self.values
899
1122
  end
900
1123
  end
1124
+
1125
+ class RelatedPayment < Straddle::Internal::Type::BaseModel
1126
+ OrHash =
1127
+ T.type_alias do
1128
+ T.any(
1129
+ Straddle::ChargeV1::Data::RelatedPayment,
1130
+ Straddle::Internal::AnyHash
1131
+ )
1132
+ end
1133
+
1134
+ # The ID of the related payment.
1135
+ sig { returns(String) }
1136
+ attr_accessor :id
1137
+
1138
+ # The type of payment.
1139
+ sig do
1140
+ returns(
1141
+ Straddle::ChargeV1::Data::RelatedPayment::PaymentType::TaggedSymbol
1142
+ )
1143
+ end
1144
+ attr_accessor :payment_type
1145
+
1146
+ sig do
1147
+ returns(
1148
+ Straddle::ChargeV1::Data::RelatedPayment::Relationship::TaggedSymbol
1149
+ )
1150
+ end
1151
+ attr_accessor :relationship
1152
+
1153
+ sig do
1154
+ params(
1155
+ id: String,
1156
+ payment_type:
1157
+ Straddle::ChargeV1::Data::RelatedPayment::PaymentType::OrSymbol,
1158
+ relationship:
1159
+ Straddle::ChargeV1::Data::RelatedPayment::Relationship::OrSymbol
1160
+ ).returns(T.attached_class)
1161
+ end
1162
+ def self.new(
1163
+ # The ID of the related payment.
1164
+ id:,
1165
+ # The type of payment.
1166
+ payment_type:,
1167
+ relationship:
1168
+ )
1169
+ end
1170
+
1171
+ sig do
1172
+ override.returns(
1173
+ {
1174
+ id: String,
1175
+ payment_type:
1176
+ Straddle::ChargeV1::Data::RelatedPayment::PaymentType::TaggedSymbol,
1177
+ relationship:
1178
+ Straddle::ChargeV1::Data::RelatedPayment::Relationship::TaggedSymbol
1179
+ }
1180
+ )
1181
+ end
1182
+ def to_hash
1183
+ end
1184
+
1185
+ # The type of payment.
1186
+ module PaymentType
1187
+ extend Straddle::Internal::Type::Enum
1188
+
1189
+ TaggedSymbol =
1190
+ T.type_alias do
1191
+ T.all(
1192
+ Symbol,
1193
+ Straddle::ChargeV1::Data::RelatedPayment::PaymentType
1194
+ )
1195
+ end
1196
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1197
+
1198
+ CHARGE =
1199
+ T.let(
1200
+ :charge,
1201
+ Straddle::ChargeV1::Data::RelatedPayment::PaymentType::TaggedSymbol
1202
+ )
1203
+ PAYOUT =
1204
+ T.let(
1205
+ :payout,
1206
+ Straddle::ChargeV1::Data::RelatedPayment::PaymentType::TaggedSymbol
1207
+ )
1208
+
1209
+ sig do
1210
+ override.returns(
1211
+ T::Array[
1212
+ Straddle::ChargeV1::Data::RelatedPayment::PaymentType::TaggedSymbol
1213
+ ]
1214
+ )
1215
+ end
1216
+ def self.values
1217
+ end
1218
+ end
1219
+
1220
+ module Relationship
1221
+ extend Straddle::Internal::Type::Enum
1222
+
1223
+ TaggedSymbol =
1224
+ T.type_alias do
1225
+ T.all(
1226
+ Symbol,
1227
+ Straddle::ChargeV1::Data::RelatedPayment::Relationship
1228
+ )
1229
+ end
1230
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1231
+
1232
+ ORIGINAL =
1233
+ T.let(
1234
+ :original,
1235
+ Straddle::ChargeV1::Data::RelatedPayment::Relationship::TaggedSymbol
1236
+ )
1237
+ RESUBMIT =
1238
+ T.let(
1239
+ :resubmit,
1240
+ Straddle::ChargeV1::Data::RelatedPayment::Relationship::TaggedSymbol
1241
+ )
1242
+ REFUND =
1243
+ T.let(
1244
+ :refund,
1245
+ Straddle::ChargeV1::Data::RelatedPayment::Relationship::TaggedSymbol
1246
+ )
1247
+
1248
+ sig do
1249
+ override.returns(
1250
+ T::Array[
1251
+ Straddle::ChargeV1::Data::RelatedPayment::Relationship::TaggedSymbol
1252
+ ]
1253
+ )
1254
+ end
1255
+ def self.values
1256
+ end
1257
+ end
1258
+ end
901
1259
  end
902
1260
 
903
1261
  # Indicates the structure of the returned content.
@@ -11,6 +11,9 @@ module Straddle
11
11
  T.any(Straddle::CustomerDeleteParams, Straddle::Internal::AnyHash)
12
12
  end
13
13
 
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
14
17
  sig { returns(T.nilable(String)) }
15
18
  attr_reader :correlation_id
16
19
 
@@ -37,6 +40,7 @@ module Straddle
37
40
 
38
41
  sig do
39
42
  params(
43
+ id: String,
40
44
  correlation_id: String,
41
45
  idempotency_key: String,
42
46
  request_id: String,
@@ -45,6 +49,7 @@ module Straddle
45
49
  ).returns(T.attached_class)
46
50
  end
47
51
  def self.new(
52
+ id:,
48
53
  correlation_id: nil,
49
54
  idempotency_key: nil,
50
55
  request_id: nil,
@@ -56,6 +61,7 @@ module Straddle
56
61
  sig do
57
62
  override.returns(
58
63
  {
64
+ id: String,
59
65
  correlation_id: String,
60
66
  idempotency_key: String,
61
67
  request_id: String,
@@ -11,6 +11,9 @@ module Straddle
11
11
  T.any(Straddle::CustomerGetParams, Straddle::Internal::AnyHash)
12
12
  end
13
13
 
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
14
17
  sig { returns(T.nilable(String)) }
15
18
  attr_reader :correlation_id
16
19
 
@@ -31,6 +34,7 @@ module Straddle
31
34
 
32
35
  sig do
33
36
  params(
37
+ id: String,
34
38
  correlation_id: String,
35
39
  request_id: String,
36
40
  straddle_account_id: String,
@@ -38,6 +42,7 @@ module Straddle
38
42
  ).returns(T.attached_class)
39
43
  end
40
44
  def self.new(
45
+ id:,
41
46
  correlation_id: nil,
42
47
  request_id: nil,
43
48
  straddle_account_id: nil,
@@ -48,6 +53,7 @@ module Straddle
48
53
  sig do
49
54
  override.returns(
50
55
  {
56
+ id: String,
51
57
  correlation_id: String,
52
58
  request_id: String,
53
59
  straddle_account_id: String,
@@ -11,6 +11,9 @@ module Straddle
11
11
  T.any(Straddle::CustomerUnmaskedParams, Straddle::Internal::AnyHash)
12
12
  end
13
13
 
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
14
17
  sig { returns(T.nilable(String)) }
15
18
  attr_reader :correlation_id
16
19
 
@@ -31,6 +34,7 @@ module Straddle
31
34
 
32
35
  sig do
33
36
  params(
37
+ id: String,
34
38
  correlation_id: String,
35
39
  request_id: String,
36
40
  straddle_account_id: String,
@@ -38,6 +42,7 @@ module Straddle
38
42
  ).returns(T.attached_class)
39
43
  end
40
44
  def self.new(
45
+ id:,
41
46
  correlation_id: nil,
42
47
  request_id: nil,
43
48
  straddle_account_id: nil,
@@ -48,6 +53,7 @@ module Straddle
48
53
  sig do
49
54
  override.returns(
50
55
  {
56
+ id: String,
51
57
  correlation_id: String,
52
58
  request_id: String,
53
59
  straddle_account_id: String,
@@ -11,6 +11,9 @@ module Straddle
11
11
  T.any(Straddle::CustomerUpdateParams, Straddle::Internal::AnyHash)
12
12
  end
13
13
 
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
14
17
  sig { returns(Straddle::DeviceUnmaskedV1) }
15
18
  attr_reader :device
16
19
 
@@ -91,6 +94,7 @@ module Straddle
91
94
 
92
95
  sig do
93
96
  params(
97
+ id: String,
94
98
  device: Straddle::DeviceUnmaskedV1::OrHash,
95
99
  email: String,
96
100
  name: String,
@@ -114,6 +118,7 @@ module Straddle
114
118
  ).returns(T.attached_class)
115
119
  end
116
120
  def self.new(
121
+ id:,
117
122
  device:,
118
123
  # The customer's email address.
119
124
  email:,
@@ -144,6 +149,7 @@ module Straddle
144
149
  sig do
145
150
  override.returns(
146
151
  {
152
+ id: String,
147
153
  device: Straddle::DeviceUnmaskedV1,
148
154
  email: String,
149
155
  name: String,
@@ -15,6 +15,9 @@ module Straddle
15
15
  )
16
16
  end
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
18
21
  # The final status of the customer review.
19
22
  sig do
20
23
  returns(Straddle::Customers::ReviewDecisionParams::Status::OrSymbol)
@@ -47,6 +50,7 @@ module Straddle
47
50
 
48
51
  sig do
49
52
  params(
53
+ id: String,
50
54
  status: Straddle::Customers::ReviewDecisionParams::Status::OrSymbol,
51
55
  correlation_id: String,
52
56
  idempotency_key: String,
@@ -56,6 +60,7 @@ module Straddle
56
60
  ).returns(T.attached_class)
57
61
  end
58
62
  def self.new(
63
+ id:,
59
64
  # The final status of the customer review.
60
65
  status:,
61
66
  correlation_id: nil,
@@ -69,6 +74,7 @@ module Straddle
69
74
  sig do
70
75
  override.returns(
71
76
  {
77
+ id: String,
72
78
  status:
73
79
  Straddle::Customers::ReviewDecisionParams::Status::OrSymbol,
74
80
  correlation_id: String,