stripe 5.55.0 → 13.5.1

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 (380) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +567 -4
  3. data/Gemfile +12 -4
  4. data/Makefile +18 -3
  5. data/OPENAPI_VERSION +1 -0
  6. data/README.md +93 -21
  7. data/Rakefile +3 -6
  8. data/VERSION +1 -1
  9. data/examples/README.md +16 -0
  10. data/examples/example_template.rb +36 -0
  11. data/examples/meter_event_stream.rb +57 -0
  12. data/examples/thinevent_webhook_handler.rb +39 -0
  13. data/{bin → exe}/stripe-console +1 -1
  14. data/justfile +43 -0
  15. data/lib/data/ca-certificates.crt +1241 -1937
  16. data/lib/stripe/api_operations/create.rb +6 -2
  17. data/lib/stripe/api_operations/delete.rb +12 -7
  18. data/lib/stripe/api_operations/list.rb +6 -9
  19. data/lib/stripe/api_operations/nested_resource.rb +63 -35
  20. data/lib/stripe/api_operations/request.rb +29 -65
  21. data/lib/stripe/api_operations/save.rb +20 -10
  22. data/lib/stripe/api_operations/search.rb +11 -9
  23. data/lib/stripe/api_operations/singleton_save.rb +90 -0
  24. data/lib/stripe/api_requestor.rb +1131 -0
  25. data/lib/stripe/api_resource.rb +48 -18
  26. data/lib/stripe/api_resource_test_helpers.rb +9 -3
  27. data/lib/stripe/api_version.rb +8 -0
  28. data/lib/stripe/connection_manager.rb +5 -7
  29. data/lib/stripe/errors.rb +11 -13
  30. data/lib/stripe/event_types.rb +14 -0
  31. data/lib/stripe/events/v1_billing_meter_error_report_triggered_event.rb +23 -0
  32. data/lib/stripe/events/v1_billing_meter_no_meter_found_event.rb +13 -0
  33. data/lib/stripe/instrumentation.rb +37 -15
  34. data/lib/stripe/list_object.rb +5 -3
  35. data/lib/stripe/multipart_encoder.rb +7 -7
  36. data/lib/stripe/oauth.rb +14 -21
  37. data/lib/stripe/object_types.rb +151 -103
  38. data/lib/stripe/request_options.rb +129 -0
  39. data/lib/stripe/resources/account.rb +129 -25
  40. data/lib/stripe/resources/account_link.rb +12 -0
  41. data/lib/stripe/resources/account_session.rb +25 -0
  42. data/lib/stripe/resources/alipay_account.rb +1 -1
  43. data/lib/stripe/resources/apple_pay_domain.rb +38 -0
  44. data/lib/stripe/resources/application_fee.rb +9 -2
  45. data/lib/stripe/resources/application_fee_refund.rb +9 -2
  46. data/lib/stripe/resources/apps/secret.rb +55 -0
  47. data/lib/stripe/resources/balance.rb +14 -0
  48. data/lib/stripe/resources/balance_transaction.rb +19 -0
  49. data/lib/stripe/resources/bank_account.rb +53 -4
  50. data/lib/stripe/resources/billing/alert.rb +87 -0
  51. data/lib/stripe/resources/billing/credit_balance_summary.rb +14 -0
  52. data/lib/stripe/resources/billing/credit_balance_transaction.rb +26 -0
  53. data/lib/stripe/resources/billing/credit_grant.rb +90 -0
  54. data/lib/stripe/resources/billing/meter.rb +85 -0
  55. data/lib/stripe/resources/billing/meter_event.rb +26 -0
  56. data/lib/stripe/resources/billing/meter_event_adjustment.rb +26 -0
  57. data/lib/stripe/resources/billing/meter_event_summary.rb +17 -0
  58. data/lib/stripe/resources/billing_portal/configuration.rb +34 -0
  59. data/lib/stripe/resources/billing_portal/session.rb +27 -0
  60. data/lib/stripe/resources/capability.rb +7 -2
  61. data/lib/stripe/resources/card.rb +34 -3
  62. data/lib/stripe/resources/cash_balance.rb +4 -0
  63. data/lib/stripe/resources/charge.rb +52 -3
  64. data/lib/stripe/resources/checkout/session.rb +83 -5
  65. data/lib/stripe/resources/climate/order.rb +67 -0
  66. data/lib/stripe/resources/climate/product.rb +27 -0
  67. data/lib/stripe/resources/climate/supplier.rb +26 -0
  68. data/lib/stripe/resources/confirmation_token.rb +39 -0
  69. data/lib/stripe/resources/country_spec.rb +14 -0
  70. data/lib/stripe/resources/coupon.rb +48 -0
  71. data/lib/stripe/resources/credit_note.rb +67 -9
  72. data/lib/stripe/resources/credit_note_line_item.rb +4 -0
  73. data/lib/stripe/resources/customer.rb +172 -28
  74. data/lib/stripe/resources/customer_balance_transaction.rb +9 -1
  75. data/lib/stripe/resources/customer_cash_balance_transaction.rb +15 -0
  76. data/lib/stripe/resources/customer_session.rb +29 -0
  77. data/lib/stripe/resources/discount.rb +7 -0
  78. data/lib/stripe/resources/dispute.rb +41 -3
  79. data/lib/stripe/resources/entitlements/active_entitlement.rb +26 -0
  80. data/lib/stripe/resources/entitlements/feature.rb +49 -0
  81. data/lib/stripe/resources/ephemeral_key.rb +23 -0
  82. data/lib/stripe/resources/event.rb +38 -0
  83. data/lib/stripe/resources/exchange_rate.rb +34 -0
  84. data/lib/stripe/resources/file.rb +37 -15
  85. data/lib/stripe/resources/file_link.rb +26 -0
  86. data/lib/stripe/resources/financial_connections/account.rb +101 -6
  87. data/lib/stripe/resources/financial_connections/account_owner.rb +4 -0
  88. data/lib/stripe/resources/financial_connections/account_ownership.rb +4 -0
  89. data/lib/stripe/resources/financial_connections/session.rb +14 -0
  90. data/lib/stripe/resources/financial_connections/transaction.rb +26 -0
  91. data/lib/stripe/resources/forwarding/request.rb +52 -0
  92. data/lib/stripe/resources/funding_instructions.rb +8 -0
  93. data/lib/stripe/resources/identity/verification_report.rb +24 -0
  94. data/lib/stripe/resources/identity/verification_session.rb +117 -5
  95. data/lib/stripe/resources/invoice.rb +247 -20
  96. data/lib/stripe/resources/invoice_item.rb +54 -0
  97. data/lib/stripe/resources/invoice_line_item.rb +22 -1
  98. data/lib/stripe/resources/invoice_rendering_template.rb +65 -0
  99. data/lib/stripe/resources/issuing/authorization.rb +210 -5
  100. data/lib/stripe/resources/issuing/card.rb +128 -4
  101. data/lib/stripe/resources/issuing/cardholder.rb +36 -0
  102. data/lib/stripe/resources/issuing/dispute.rb +47 -2
  103. data/lib/stripe/resources/issuing/personalization_design.rb +119 -0
  104. data/lib/stripe/resources/issuing/physical_bundle.rb +26 -0
  105. data/lib/stripe/resources/issuing/token.rb +32 -0
  106. data/lib/stripe/resources/issuing/transaction.rb +79 -0
  107. data/lib/stripe/resources/line_item.rb +4 -0
  108. data/lib/stripe/resources/login_link.rb +4 -0
  109. data/lib/stripe/resources/mandate.rb +4 -0
  110. data/lib/stripe/resources/payment_intent.rb +238 -15
  111. data/lib/stripe/resources/payment_link.rb +39 -2
  112. data/lib/stripe/resources/payment_method.rb +78 -5
  113. data/lib/stripe/resources/payment_method_configuration.rb +59 -0
  114. data/lib/stripe/resources/payment_method_domain.rb +79 -0
  115. data/lib/stripe/resources/payout.rb +63 -5
  116. data/lib/stripe/resources/person.rb +8 -1
  117. data/lib/stripe/resources/plan.rb +51 -0
  118. data/lib/stripe/resources/price.rb +30 -1
  119. data/lib/stripe/resources/product.rb +55 -1
  120. data/lib/stripe/resources/product_feature.rb +13 -0
  121. data/lib/stripe/resources/promotion_code.rb +25 -0
  122. data/lib/stripe/resources/quote.rb +97 -39
  123. data/lib/stripe/resources/radar/early_fraud_warning.rb +17 -0
  124. data/lib/stripe/resources/radar/value_list.rb +56 -0
  125. data/lib/stripe/resources/radar/value_list_item.rb +46 -0
  126. data/lib/stripe/resources/refund.rb +70 -5
  127. data/lib/stripe/resources/reporting/report_run.rb +31 -0
  128. data/lib/stripe/resources/reporting/report_type.rb +21 -1
  129. data/lib/stripe/resources/reversal.rb +17 -2
  130. data/lib/stripe/resources/review.rb +24 -3
  131. data/lib/stripe/resources/setup_attempt.rb +12 -0
  132. data/lib/stripe/resources/setup_intent.rb +113 -7
  133. data/lib/stripe/resources/shipping_rate.rb +25 -0
  134. data/lib/stripe/resources/sigma/scheduled_query_run.rb +17 -0
  135. data/lib/stripe/resources/source.rb +52 -10
  136. data/lib/stripe/resources/source_transaction.rb +7 -0
  137. data/lib/stripe/resources/subscription.rb +118 -5
  138. data/lib/stripe/resources/subscription_item.rb +54 -6
  139. data/lib/stripe/resources/subscription_schedule.rb +60 -5
  140. data/lib/stripe/resources/tax/calculation.rb +48 -0
  141. data/lib/stripe/resources/tax/calculation_line_item.rb +13 -0
  142. data/lib/stripe/resources/tax/registration.rb +54 -0
  143. data/lib/stripe/resources/tax/settings.rb +17 -0
  144. data/lib/stripe/resources/tax/transaction.rb +56 -0
  145. data/lib/stripe/resources/tax/transaction_line_item.rb +13 -0
  146. data/lib/stripe/resources/tax_code.rb +9 -0
  147. data/lib/stripe/resources/tax_id.rb +34 -12
  148. data/lib/stripe/resources/tax_rate.rb +26 -0
  149. data/lib/stripe/resources/terminal/configuration.rb +54 -0
  150. data/lib/stripe/resources/terminal/connection_token.rb +16 -0
  151. data/lib/stripe/resources/terminal/location.rb +57 -0
  152. data/lib/stripe/resources/terminal/reader.rb +138 -11
  153. data/lib/stripe/resources/test_helpers/test_clock.rb +58 -3
  154. data/lib/stripe/resources/token.rb +29 -0
  155. data/lib/stripe/resources/topup.rb +40 -3
  156. data/lib/stripe/resources/transfer.rb +29 -6
  157. data/lib/stripe/resources/treasury/credit_reversal.rb +37 -0
  158. data/lib/stripe/resources/treasury/debit_reversal.rb +37 -0
  159. data/lib/stripe/resources/treasury/financial_account.rb +109 -0
  160. data/lib/stripe/resources/treasury/financial_account_features.rb +15 -0
  161. data/lib/stripe/resources/treasury/inbound_transfer.rb +130 -0
  162. data/lib/stripe/resources/treasury/outbound_payment.rb +152 -0
  163. data/lib/stripe/resources/treasury/outbound_transfer.rb +152 -0
  164. data/lib/stripe/resources/treasury/received_credit.rb +47 -0
  165. data/lib/stripe/resources/treasury/received_debit.rb +47 -0
  166. data/lib/stripe/resources/treasury/transaction.rb +26 -0
  167. data/lib/stripe/resources/treasury/transaction_entry.rb +30 -0
  168. data/lib/stripe/resources/usage_record.rb +9 -0
  169. data/lib/stripe/resources/usage_record_summary.rb +4 -0
  170. data/lib/stripe/resources/v2/billing/meter_event.rb +16 -0
  171. data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +15 -0
  172. data/lib/stripe/resources/v2/billing/meter_event_session.rb +15 -0
  173. data/lib/stripe/resources/v2/event.rb +13 -0
  174. data/lib/stripe/resources/v2/event_destination.rb +13 -0
  175. data/lib/stripe/resources/webhook_endpoint.rb +55 -0
  176. data/lib/stripe/resources.rb +51 -10
  177. data/lib/stripe/search_result_object.rb +5 -2
  178. data/lib/stripe/services/account_capability_service.rb +39 -0
  179. data/lib/stripe/services/account_external_account_service.rb +68 -0
  180. data/lib/stripe/services/account_link_service.rb +17 -0
  181. data/lib/stripe/services/account_login_link_service.rb +19 -0
  182. data/lib/stripe/services/account_person_service.rb +61 -0
  183. data/lib/stripe/services/account_service.rb +100 -0
  184. data/lib/stripe/services/account_session_service.rb +17 -0
  185. data/lib/stripe/services/apple_pay_domain_service.rb +50 -0
  186. data/lib/stripe/services/application_fee_refund_service.rb +60 -0
  187. data/lib/stripe/services/application_fee_service.rb +35 -0
  188. data/lib/stripe/services/apps/secret_service.rb +52 -0
  189. data/lib/stripe/services/apps_service.rb +13 -0
  190. data/lib/stripe/services/balance_service.rb +12 -0
  191. data/lib/stripe/services/balance_transaction_service.rb +32 -0
  192. data/lib/stripe/services/billing/alert_service.rb +74 -0
  193. data/lib/stripe/services/billing/credit_balance_summary_service.rb +19 -0
  194. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +30 -0
  195. data/lib/stripe/services/billing/credit_grant_service.rb +74 -0
  196. data/lib/stripe/services/billing/meter_event_adjustment_service.rb +19 -0
  197. data/lib/stripe/services/billing/meter_event_service.rb +19 -0
  198. data/lib/stripe/services/billing/meter_event_summary_service.rb +19 -0
  199. data/lib/stripe/services/billing/meter_service.rb +81 -0
  200. data/lib/stripe/services/billing_portal/configuration_service.rb +52 -0
  201. data/lib/stripe/services/billing_portal/session_service.rb +19 -0
  202. data/lib/stripe/services/billing_portal_service.rb +14 -0
  203. data/lib/stripe/services/billing_service.rb +20 -0
  204. data/lib/stripe/services/charge_service.rb +69 -0
  205. data/lib/stripe/services/checkout/session_line_item_service.rb +19 -0
  206. data/lib/stripe/services/checkout/session_service.rb +72 -0
  207. data/lib/stripe/services/checkout_service.rb +13 -0
  208. data/lib/stripe/services/climate/order_service.rb +68 -0
  209. data/lib/stripe/services/climate/product_service.rb +30 -0
  210. data/lib/stripe/services/climate/supplier_service.rb +30 -0
  211. data/lib/stripe/services/climate_service.rb +15 -0
  212. data/lib/stripe/services/confirmation_token_service.rb +17 -0
  213. data/lib/stripe/services/country_spec_service.rb +28 -0
  214. data/lib/stripe/services/coupon_service.rb +51 -0
  215. data/lib/stripe/services/credit_note_line_item_service.rb +17 -0
  216. data/lib/stripe/services/credit_note_preview_lines_service.rb +17 -0
  217. data/lib/stripe/services/credit_note_service.rb +93 -0
  218. data/lib/stripe/services/customer_balance_transaction_service.rb +50 -0
  219. data/lib/stripe/services/customer_cash_balance_service.rb +28 -0
  220. data/lib/stripe/services/customer_cash_balance_transaction_service.rb +28 -0
  221. data/lib/stripe/services/customer_funding_instructions_service.rb +19 -0
  222. data/lib/stripe/services/customer_payment_method_service.rb +28 -0
  223. data/lib/stripe/services/customer_payment_source_service.rb +76 -0
  224. data/lib/stripe/services/customer_service.rb +89 -0
  225. data/lib/stripe/services/customer_session_service.rb +17 -0
  226. data/lib/stripe/services/customer_tax_id_service.rb +50 -0
  227. data/lib/stripe/services/dispute_service.rb +48 -0
  228. data/lib/stripe/services/entitlements/active_entitlement_service.rb +30 -0
  229. data/lib/stripe/services/entitlements/feature_service.rb +52 -0
  230. data/lib/stripe/services/entitlements_service.rb +14 -0
  231. data/lib/stripe/services/ephemeral_key_service.rb +28 -0
  232. data/lib/stripe/services/event_service.rb +22 -0
  233. data/lib/stripe/services/exchange_rate_service.rb +28 -0
  234. data/lib/stripe/services/file_link_service.rb +38 -0
  235. data/lib/stripe/services/file_service.rb +35 -0
  236. data/lib/stripe/services/financial_connections/account_owner_service.rb +19 -0
  237. data/lib/stripe/services/financial_connections/account_service.rb +81 -0
  238. data/lib/stripe/services/financial_connections/session_service.rb +30 -0
  239. data/lib/stripe/services/financial_connections/transaction_service.rb +30 -0
  240. data/lib/stripe/services/financial_connections_service.rb +15 -0
  241. data/lib/stripe/services/forwarding/request_service.rb +41 -0
  242. data/lib/stripe/services/forwarding_service.rb +13 -0
  243. data/lib/stripe/services/identity/verification_report_service.rb +30 -0
  244. data/lib/stripe/services/identity/verification_session_service.rb +106 -0
  245. data/lib/stripe/services/identity_service.rb +14 -0
  246. data/lib/stripe/services/invoice_item_service.rb +61 -0
  247. data/lib/stripe/services/invoice_line_item_service.rb +31 -0
  248. data/lib/stripe/services/invoice_rendering_template_service.rb +50 -0
  249. data/lib/stripe/services/invoice_service.rb +202 -0
  250. data/lib/stripe/services/invoice_upcoming_lines_service.rb +17 -0
  251. data/lib/stripe/services/issuing/authorization_service.rb +65 -0
  252. data/lib/stripe/services/issuing/card_service.rb +52 -0
  253. data/lib/stripe/services/issuing/cardholder_service.rb +52 -0
  254. data/lib/stripe/services/issuing/dispute_service.rb +63 -0
  255. data/lib/stripe/services/issuing/personalization_design_service.rb +52 -0
  256. data/lib/stripe/services/issuing/physical_bundle_service.rb +30 -0
  257. data/lib/stripe/services/issuing/token_service.rb +41 -0
  258. data/lib/stripe/services/issuing/transaction_service.rb +41 -0
  259. data/lib/stripe/services/issuing_service.rb +20 -0
  260. data/lib/stripe/services/mandate_service.rb +17 -0
  261. data/lib/stripe/services/oauth_service.rb +63 -0
  262. data/lib/stripe/services/payment_intent_service.rb +204 -0
  263. data/lib/stripe/services/payment_link_line_item_service.rb +17 -0
  264. data/lib/stripe/services/payment_link_service.rb +57 -0
  265. data/lib/stripe/services/payment_method_configuration_service.rb +50 -0
  266. data/lib/stripe/services/payment_method_domain_service.rb +66 -0
  267. data/lib/stripe/services/payment_method_service.rb +86 -0
  268. data/lib/stripe/services/payout_service.rb +66 -0
  269. data/lib/stripe/services/plan_service.rb +49 -0
  270. data/lib/stripe/services/price_service.rb +52 -0
  271. data/lib/stripe/services/product_feature_service.rb +50 -0
  272. data/lib/stripe/services/product_service.rb +70 -0
  273. data/lib/stripe/services/promotion_code_service.rb +50 -0
  274. data/lib/stripe/services/quote_computed_upfront_line_items_service.rb +17 -0
  275. data/lib/stripe/services/quote_line_item_service.rb +17 -0
  276. data/lib/stripe/services/quote_service.rb +92 -0
  277. data/lib/stripe/services/radar/early_fraud_warning_service.rb +32 -0
  278. data/lib/stripe/services/radar/value_list_item_service.rb +52 -0
  279. data/lib/stripe/services/radar/value_list_service.rb +63 -0
  280. data/lib/stripe/services/radar_service.rb +15 -0
  281. data/lib/stripe/services/refund_service.rb +63 -0
  282. data/lib/stripe/services/reporting/report_run_service.rb +41 -0
  283. data/lib/stripe/services/reporting/report_type_service.rb +30 -0
  284. data/lib/stripe/services/reporting_service.rb +14 -0
  285. data/lib/stripe/services/review_service.rb +33 -0
  286. data/lib/stripe/services/setup_attempt_service.rb +17 -0
  287. data/lib/stripe/services/setup_intent_service.rb +105 -0
  288. data/lib/stripe/services/shipping_rate_service.rb +50 -0
  289. data/lib/stripe/services/sigma/scheduled_query_run_service.rb +30 -0
  290. data/lib/stripe/services/sigma_service.rb +13 -0
  291. data/lib/stripe/services/source_service.rb +64 -0
  292. data/lib/stripe/services/source_transaction_service.rb +17 -0
  293. data/lib/stripe/services/subscription_item_service.rb +69 -0
  294. data/lib/stripe/services/subscription_item_usage_record_service.rb +23 -0
  295. data/lib/stripe/services/subscription_item_usage_record_summary_service.rb +19 -0
  296. data/lib/stripe/services/subscription_schedule_service.rb +72 -0
  297. data/lib/stripe/services/subscription_service.rb +127 -0
  298. data/lib/stripe/services/tax/calculation_line_item_service.rb +19 -0
  299. data/lib/stripe/services/tax/calculation_service.rb +37 -0
  300. data/lib/stripe/services/tax/registration_service.rb +54 -0
  301. data/lib/stripe/services/tax/settings_service.rb +30 -0
  302. data/lib/stripe/services/tax/transaction_line_item_service.rb +19 -0
  303. data/lib/stripe/services/tax/transaction_service.rb +48 -0
  304. data/lib/stripe/services/tax_code_service.rb +22 -0
  305. data/lib/stripe/services/tax_id_service.rb +38 -0
  306. data/lib/stripe/services/tax_rate_service.rb +38 -0
  307. data/lib/stripe/services/tax_service.rb +16 -0
  308. data/lib/stripe/services/terminal/configuration_service.rb +63 -0
  309. data/lib/stripe/services/terminal/connection_token_service.rb +19 -0
  310. data/lib/stripe/services/terminal/location_service.rb +64 -0
  311. data/lib/stripe/services/terminal/reader_service.rb +118 -0
  312. data/lib/stripe/services/terminal_service.rb +16 -0
  313. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +19 -0
  314. data/lib/stripe/services/test_helpers/customer_service.rb +19 -0
  315. data/lib/stripe/services/test_helpers/issuing/authorization_service.rb +87 -0
  316. data/lib/stripe/services/test_helpers/issuing/card_service.rb +65 -0
  317. data/lib/stripe/services/test_helpers/issuing/personalization_design_service.rb +43 -0
  318. data/lib/stripe/services/test_helpers/issuing/transaction_service.rb +43 -0
  319. data/lib/stripe/services/test_helpers/issuing_service.rb +19 -0
  320. data/lib/stripe/services/test_helpers/refund_service.rb +19 -0
  321. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +21 -0
  322. data/lib/stripe/services/test_helpers/terminal_service.rb +15 -0
  323. data/lib/stripe/services/test_helpers/test_clock_service.rb +63 -0
  324. data/lib/stripe/services/test_helpers/treasury/inbound_transfer_service.rb +43 -0
  325. data/lib/stripe/services/test_helpers/treasury/outbound_payment_service.rb +54 -0
  326. data/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.rb +54 -0
  327. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +21 -0
  328. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +21 -0
  329. data/lib/stripe/services/test_helpers/treasury_service.rb +19 -0
  330. data/lib/stripe/services/test_helpers_service.rb +19 -0
  331. data/lib/stripe/services/token_service.rb +23 -0
  332. data/lib/stripe/services/topup_service.rb +49 -0
  333. data/lib/stripe/services/transfer_reversal_service.rb +56 -0
  334. data/lib/stripe/services/transfer_service.rb +47 -0
  335. data/lib/stripe/services/treasury/credit_reversal_service.rb +41 -0
  336. data/lib/stripe/services/treasury/debit_reversal_service.rb +41 -0
  337. data/lib/stripe/services/treasury/financial_account_features_service.rb +30 -0
  338. data/lib/stripe/services/treasury/financial_account_service.rb +70 -0
  339. data/lib/stripe/services/treasury/inbound_transfer_service.rb +52 -0
  340. data/lib/stripe/services/treasury/outbound_payment_service.rb +52 -0
  341. data/lib/stripe/services/treasury/outbound_transfer_service.rb +52 -0
  342. data/lib/stripe/services/treasury/received_credit_service.rb +30 -0
  343. data/lib/stripe/services/treasury/received_debit_service.rb +30 -0
  344. data/lib/stripe/services/treasury/transaction_entry_service.rb +30 -0
  345. data/lib/stripe/services/treasury/transaction_service.rb +30 -0
  346. data/lib/stripe/services/treasury_service.rb +22 -0
  347. data/lib/stripe/services/v1_services.rb +89 -0
  348. data/lib/stripe/services/v2/billing/meter_event_adjustment_service.rb +21 -0
  349. data/lib/stripe/services/v2/billing/meter_event_service.rb +21 -0
  350. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +21 -0
  351. data/lib/stripe/services/v2/billing/meter_event_stream_service.rb +23 -0
  352. data/lib/stripe/services/v2/billing_service.rb +18 -0
  353. data/lib/stripe/services/v2/core/event_destination_service.rb +98 -0
  354. data/lib/stripe/services/v2/core/event_service.rb +32 -0
  355. data/lib/stripe/services/v2/core_service.rb +16 -0
  356. data/lib/stripe/services/v2_services.rb +14 -0
  357. data/lib/stripe/services/webhook_endpoint_service.rb +61 -0
  358. data/lib/stripe/services.rb +182 -0
  359. data/lib/stripe/singleton_api_resource.rb +3 -3
  360. data/lib/stripe/stripe_client.rb +55 -1028
  361. data/lib/stripe/stripe_configuration.rb +63 -42
  362. data/lib/stripe/stripe_object.rb +60 -38
  363. data/lib/stripe/stripe_response.rb +1 -3
  364. data/lib/stripe/stripe_service.rb +32 -0
  365. data/lib/stripe/thin_event.rb +37 -0
  366. data/lib/stripe/util.rb +109 -45
  367. data/lib/stripe/v2_list_object.rb +84 -0
  368. data/lib/stripe/version.rb +1 -1
  369. data/lib/stripe/webhook.rb +3 -2
  370. data/lib/stripe.rb +39 -0
  371. data/stripe.gemspec +7 -4
  372. metadata +252 -13
  373. data/lib/stripe/resources/bitcoin_receiver.rb +0 -24
  374. data/lib/stripe/resources/bitcoin_transaction.rb +0 -16
  375. data/lib/stripe/resources/issuing/card_details.rb +0 -10
  376. data/lib/stripe/resources/order.rb +0 -33
  377. data/lib/stripe/resources/order_return.rb +0 -10
  378. data/lib/stripe/resources/recipient.rb +0 -14
  379. data/lib/stripe/resources/sku.rb +0 -13
  380. data/lib/stripe/resources/three_d_secure.rb +0 -14
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module V2
6
+ class EventDestination < APIResource
7
+ OBJECT_NAME = "v2.core.event_destination"
8
+ def self.object_name
9
+ "v2.core.event_destination"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -2,6 +2,13 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Stripe
5
+ # You can configure [webhook endpoints](https://docs.stripe.com/webhooks/) via the API to be
6
+ # notified about events that happen in your Stripe account or connected
7
+ # accounts.
8
+ #
9
+ # Most users configure webhooks from [the dashboard](https://dashboard.stripe.com/webhooks), which provides a user interface for registering and testing your webhook endpoints.
10
+ #
11
+ # Related guide: [Setting up webhooks](https://docs.stripe.com/webhooks/configure)
5
12
  class WebhookEndpoint < APIResource
6
13
  extend Stripe::APIOperations::Create
7
14
  include Stripe::APIOperations::Delete
@@ -9,5 +16,53 @@ module Stripe
9
16
  include Stripe::APIOperations::Save
10
17
 
11
18
  OBJECT_NAME = "webhook_endpoint"
19
+ def self.object_name
20
+ "webhook_endpoint"
21
+ end
22
+
23
+ # A webhook endpoint must have a url and a list of enabled_events. You may optionally specify the Boolean connect parameter. If set to true, then a Connect webhook endpoint that notifies the specified url about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url only about events from your account is created. You can also create webhook endpoints in the [webhooks settings](https://dashboard.stripe.com/account/webhooks) section of the Dashboard.
24
+ def self.create(params = {}, opts = {})
25
+ request_stripe_object(
26
+ method: :post,
27
+ path: "/v1/webhook_endpoints",
28
+ params: params,
29
+ opts: opts
30
+ )
31
+ end
32
+
33
+ # You can also delete webhook endpoints via the [webhook endpoint management](https://dashboard.stripe.com/account/webhooks) page of the Stripe dashboard.
34
+ def self.delete(webhook_endpoint, params = {}, opts = {})
35
+ request_stripe_object(
36
+ method: :delete,
37
+ path: format("/v1/webhook_endpoints/%<webhook_endpoint>s", { webhook_endpoint: CGI.escape(webhook_endpoint) }),
38
+ params: params,
39
+ opts: opts
40
+ )
41
+ end
42
+
43
+ # You can also delete webhook endpoints via the [webhook endpoint management](https://dashboard.stripe.com/account/webhooks) page of the Stripe dashboard.
44
+ def delete(params = {}, opts = {})
45
+ request_stripe_object(
46
+ method: :delete,
47
+ path: format("/v1/webhook_endpoints/%<webhook_endpoint>s", { webhook_endpoint: CGI.escape(self["id"]) }),
48
+ params: params,
49
+ opts: opts
50
+ )
51
+ end
52
+
53
+ # Returns a list of your webhook endpoints.
54
+ def self.list(params = {}, opts = {})
55
+ request_stripe_object(method: :get, path: "/v1/webhook_endpoints", params: params, opts: opts)
56
+ end
57
+
58
+ # Updates the webhook endpoint. You may edit the url, the list of enabled_events, and the status of your endpoint.
59
+ def self.update(webhook_endpoint, params = {}, opts = {})
60
+ request_stripe_object(
61
+ method: :post,
62
+ path: format("/v1/webhook_endpoints/%<webhook_endpoint>s", { webhook_endpoint: CGI.escape(webhook_endpoint) }),
63
+ params: params,
64
+ opts: opts
65
+ )
66
+ end
12
67
  end
13
68
  end
@@ -3,30 +3,45 @@
3
3
 
4
4
  require "stripe/resources/account"
5
5
  require "stripe/resources/account_link"
6
- require "stripe/resources/alipay_account"
6
+ require "stripe/resources/account_session"
7
7
  require "stripe/resources/apple_pay_domain"
8
8
  require "stripe/resources/application_fee"
9
9
  require "stripe/resources/application_fee_refund"
10
+ require "stripe/resources/apps/secret"
10
11
  require "stripe/resources/balance"
11
12
  require "stripe/resources/balance_transaction"
12
13
  require "stripe/resources/bank_account"
14
+ require "stripe/resources/billing/alert"
15
+ require "stripe/resources/billing/credit_balance_summary"
16
+ require "stripe/resources/billing/credit_balance_transaction"
17
+ require "stripe/resources/billing/credit_grant"
18
+ require "stripe/resources/billing/meter"
19
+ require "stripe/resources/billing/meter_event"
20
+ require "stripe/resources/billing/meter_event_adjustment"
21
+ require "stripe/resources/billing/meter_event_summary"
13
22
  require "stripe/resources/billing_portal/configuration"
14
23
  require "stripe/resources/billing_portal/session"
15
- require "stripe/resources/bitcoin_receiver"
16
- require "stripe/resources/bitcoin_transaction"
17
24
  require "stripe/resources/capability"
18
25
  require "stripe/resources/card"
19
26
  require "stripe/resources/cash_balance"
20
27
  require "stripe/resources/charge"
21
28
  require "stripe/resources/checkout/session"
29
+ require "stripe/resources/climate/order"
30
+ require "stripe/resources/climate/product"
31
+ require "stripe/resources/climate/supplier"
32
+ require "stripe/resources/confirmation_token"
22
33
  require "stripe/resources/country_spec"
23
34
  require "stripe/resources/coupon"
24
35
  require "stripe/resources/credit_note"
25
36
  require "stripe/resources/credit_note_line_item"
26
37
  require "stripe/resources/customer"
27
38
  require "stripe/resources/customer_balance_transaction"
39
+ require "stripe/resources/customer_cash_balance_transaction"
40
+ require "stripe/resources/customer_session"
28
41
  require "stripe/resources/discount"
29
42
  require "stripe/resources/dispute"
43
+ require "stripe/resources/entitlements/active_entitlement"
44
+ require "stripe/resources/entitlements/feature"
30
45
  require "stripe/resources/ephemeral_key"
31
46
  require "stripe/resources/event"
32
47
  require "stripe/resources/exchange_rate"
@@ -36,38 +51,42 @@ require "stripe/resources/financial_connections/account"
36
51
  require "stripe/resources/financial_connections/account_owner"
37
52
  require "stripe/resources/financial_connections/account_ownership"
38
53
  require "stripe/resources/financial_connections/session"
54
+ require "stripe/resources/financial_connections/transaction"
55
+ require "stripe/resources/forwarding/request"
39
56
  require "stripe/resources/funding_instructions"
40
57
  require "stripe/resources/identity/verification_report"
41
58
  require "stripe/resources/identity/verification_session"
42
59
  require "stripe/resources/invoice"
43
60
  require "stripe/resources/invoice_item"
44
61
  require "stripe/resources/invoice_line_item"
62
+ require "stripe/resources/invoice_rendering_template"
45
63
  require "stripe/resources/issuing/authorization"
46
64
  require "stripe/resources/issuing/card"
47
- require "stripe/resources/issuing/card_details"
48
65
  require "stripe/resources/issuing/cardholder"
49
66
  require "stripe/resources/issuing/dispute"
67
+ require "stripe/resources/issuing/personalization_design"
68
+ require "stripe/resources/issuing/physical_bundle"
69
+ require "stripe/resources/issuing/token"
50
70
  require "stripe/resources/issuing/transaction"
51
71
  require "stripe/resources/line_item"
52
72
  require "stripe/resources/login_link"
53
73
  require "stripe/resources/mandate"
54
- require "stripe/resources/order"
55
- require "stripe/resources/order_return"
56
74
  require "stripe/resources/payment_intent"
57
75
  require "stripe/resources/payment_link"
58
76
  require "stripe/resources/payment_method"
77
+ require "stripe/resources/payment_method_configuration"
78
+ require "stripe/resources/payment_method_domain"
59
79
  require "stripe/resources/payout"
60
80
  require "stripe/resources/person"
61
81
  require "stripe/resources/plan"
62
82
  require "stripe/resources/price"
63
83
  require "stripe/resources/product"
84
+ require "stripe/resources/product_feature"
64
85
  require "stripe/resources/promotion_code"
65
86
  require "stripe/resources/quote"
66
87
  require "stripe/resources/radar/early_fraud_warning"
67
88
  require "stripe/resources/radar/value_list"
68
89
  require "stripe/resources/radar/value_list_item"
69
- require "stripe/resources/recipient"
70
- require "stripe/resources/recipient_transfer"
71
90
  require "stripe/resources/refund"
72
91
  require "stripe/resources/reporting/report_run"
73
92
  require "stripe/resources/reporting/report_type"
@@ -77,12 +96,17 @@ require "stripe/resources/setup_attempt"
77
96
  require "stripe/resources/setup_intent"
78
97
  require "stripe/resources/shipping_rate"
79
98
  require "stripe/resources/sigma/scheduled_query_run"
80
- require "stripe/resources/sku"
81
99
  require "stripe/resources/source"
82
100
  require "stripe/resources/source_transaction"
83
101
  require "stripe/resources/subscription"
84
102
  require "stripe/resources/subscription_item"
85
103
  require "stripe/resources/subscription_schedule"
104
+ require "stripe/resources/tax/calculation"
105
+ require "stripe/resources/tax/calculation_line_item"
106
+ require "stripe/resources/tax/registration"
107
+ require "stripe/resources/tax/settings"
108
+ require "stripe/resources/tax/transaction"
109
+ require "stripe/resources/tax/transaction_line_item"
86
110
  require "stripe/resources/tax_code"
87
111
  require "stripe/resources/tax_id"
88
112
  require "stripe/resources/tax_rate"
@@ -91,10 +115,27 @@ require "stripe/resources/terminal/connection_token"
91
115
  require "stripe/resources/terminal/location"
92
116
  require "stripe/resources/terminal/reader"
93
117
  require "stripe/resources/test_helpers/test_clock"
94
- require "stripe/resources/three_d_secure"
95
118
  require "stripe/resources/token"
96
119
  require "stripe/resources/topup"
97
120
  require "stripe/resources/transfer"
121
+ require "stripe/resources/treasury/credit_reversal"
122
+ require "stripe/resources/treasury/debit_reversal"
123
+ require "stripe/resources/treasury/financial_account"
124
+ require "stripe/resources/treasury/financial_account_features"
125
+ require "stripe/resources/treasury/inbound_transfer"
126
+ require "stripe/resources/treasury/outbound_payment"
127
+ require "stripe/resources/treasury/outbound_transfer"
128
+ require "stripe/resources/treasury/received_credit"
129
+ require "stripe/resources/treasury/received_debit"
130
+ require "stripe/resources/treasury/transaction"
131
+ require "stripe/resources/treasury/transaction_entry"
98
132
  require "stripe/resources/usage_record"
99
133
  require "stripe/resources/usage_record_summary"
134
+ require "stripe/resources/v2/billing/meter_event"
135
+ require "stripe/resources/v2/billing/meter_event_adjustment"
136
+ require "stripe/resources/v2/billing/meter_event_session"
137
+ require "stripe/resources/v2/event"
138
+ require "stripe/resources/v2/event_destination"
100
139
  require "stripe/resources/webhook_endpoint"
140
+ require "stripe/events/v1_billing_meter_error_report_triggered_event"
141
+ require "stripe/events/v1_billing_meter_no_meter_found_event"
@@ -7,6 +7,9 @@ module Stripe
7
7
  include Stripe::APIOperations::Request
8
8
 
9
9
  OBJECT_NAME = "search_result"
10
+ def self.object_name
11
+ "search_result"
12
+ end
10
13
 
11
14
  # This accessor allows a `SearchResultObject` to inherit various filters
12
15
  # that were given to a predecessor. This allows for things like consistent
@@ -17,7 +20,7 @@ module Stripe
17
20
  # that there isn't a next page in order to replicate the behavior of the API
18
21
  # when it attempts to return a page beyond the last.
19
22
  def self.empty_search_result(opts = {})
20
- SearchResultObject.construct_from({ data: [] }, opts)
23
+ SearchResultObject.construct_from({ data: [] }, opts, :v1)
21
24
  end
22
25
 
23
26
  def initialize(*args)
@@ -80,7 +83,7 @@ module Stripe
80
83
 
81
84
  params = filters.merge(page: next_page).merge(params)
82
85
 
83
- _search(url, params, opts)
86
+ request_stripe_object(method: :get, path: url, params: params, opts: opts)
84
87
  end
85
88
  end
86
89
  end
@@ -0,0 +1,39 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class AccountCapabilityService < StripeService
6
+ # Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.
7
+ def list(account, params = {}, opts = {})
8
+ request(
9
+ method: :get,
10
+ path: format("/v1/accounts/%<account>s/capabilities", { account: CGI.escape(account) }),
11
+ params: params,
12
+ opts: opts,
13
+ base_address: :api
14
+ )
15
+ end
16
+
17
+ # Retrieves information about the specified Account Capability.
18
+ def retrieve(account, capability, params = {}, opts = {})
19
+ request(
20
+ method: :get,
21
+ path: format("/v1/accounts/%<account>s/capabilities/%<capability>s", { account: CGI.escape(account), capability: CGI.escape(capability) }),
22
+ params: params,
23
+ opts: opts,
24
+ base_address: :api
25
+ )
26
+ end
27
+
28
+ # Updates an existing Account Capability. Request or remove a capability by updating its requested parameter.
29
+ def update(account, capability, params = {}, opts = {})
30
+ request(
31
+ method: :post,
32
+ path: format("/v1/accounts/%<account>s/capabilities/%<capability>s", { account: CGI.escape(account), capability: CGI.escape(capability) }),
33
+ params: params,
34
+ opts: opts,
35
+ base_address: :api
36
+ )
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,68 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class AccountExternalAccountService < StripeService
6
+ # Create an external account for a given account.
7
+ def create(account, params = {}, opts = {})
8
+ request(
9
+ method: :post,
10
+ path: format("/v1/accounts/%<account>s/external_accounts", { account: CGI.escape(account) }),
11
+ params: params,
12
+ opts: opts,
13
+ base_address: :api
14
+ )
15
+ end
16
+
17
+ # Delete a specified external account for a given account.
18
+ def delete(account, id, params = {}, opts = {})
19
+ request(
20
+ method: :delete,
21
+ path: format("/v1/accounts/%<account>s/external_accounts/%<id>s", { account: CGI.escape(account), id: CGI.escape(id) }),
22
+ params: params,
23
+ opts: opts,
24
+ base_address: :api
25
+ )
26
+ end
27
+
28
+ # List external accounts for an account.
29
+ def list(account, params = {}, opts = {})
30
+ request(
31
+ method: :get,
32
+ path: format("/v1/accounts/%<account>s/external_accounts", { account: CGI.escape(account) }),
33
+ params: params,
34
+ opts: opts,
35
+ base_address: :api
36
+ )
37
+ end
38
+
39
+ # Retrieve a specified external account for a given account.
40
+ def retrieve(account, id, params = {}, opts = {})
41
+ request(
42
+ method: :get,
43
+ path: format("/v1/accounts/%<account>s/external_accounts/%<id>s", { account: CGI.escape(account), id: CGI.escape(id) }),
44
+ params: params,
45
+ opts: opts,
46
+ base_address: :api
47
+ )
48
+ end
49
+
50
+ # Updates the metadata, account holder name, account holder type of a bank account belonging to
51
+ # a connected account and optionally sets it as the default for its currency. Other bank account
52
+ # details are not editable by design.
53
+ #
54
+ # You can only update bank accounts when [account.controller.requirement_collection is application, which includes <a href="/connect/custom-accounts">Custom accounts](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection).
55
+ #
56
+ # You can re-enable a disabled bank account by performing an update call without providing any
57
+ # arguments or changes.
58
+ def update(account, id, params = {}, opts = {})
59
+ request(
60
+ method: :post,
61
+ path: format("/v1/accounts/%<account>s/external_accounts/%<id>s", { account: CGI.escape(account), id: CGI.escape(id) }),
62
+ params: params,
63
+ opts: opts,
64
+ base_address: :api
65
+ )
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class AccountLinkService < StripeService
6
+ # Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow.
7
+ def create(params = {}, opts = {})
8
+ request(
9
+ method: :post,
10
+ path: "/v1/account_links",
11
+ params: params,
12
+ opts: opts,
13
+ base_address: :api
14
+ )
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class AccountLoginLinkService < StripeService
6
+ # Creates a login link for a connected account to access the Express Dashboard.
7
+ #
8
+ # You can only create login links for accounts that use the [Express Dashboard](https://stripe.com/connect/express-dashboard) and are connected to your platform.
9
+ def create(account, params = {}, opts = {})
10
+ request(
11
+ method: :post,
12
+ path: format("/v1/accounts/%<account>s/login_links", { account: CGI.escape(account) }),
13
+ params: params,
14
+ opts: opts,
15
+ base_address: :api
16
+ )
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,61 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class AccountPersonService < StripeService
6
+ # Creates a new person.
7
+ def create(account, params = {}, opts = {})
8
+ request(
9
+ method: :post,
10
+ path: format("/v1/accounts/%<account>s/persons", { account: CGI.escape(account) }),
11
+ params: params,
12
+ opts: opts,
13
+ base_address: :api
14
+ )
15
+ end
16
+
17
+ # Deletes an existing person's relationship to the account's legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file.
18
+ def delete(account, person, params = {}, opts = {})
19
+ request(
20
+ method: :delete,
21
+ path: format("/v1/accounts/%<account>s/persons/%<person>s", { account: CGI.escape(account), person: CGI.escape(person) }),
22
+ params: params,
23
+ opts: opts,
24
+ base_address: :api
25
+ )
26
+ end
27
+
28
+ # Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
29
+ def list(account, params = {}, opts = {})
30
+ request(
31
+ method: :get,
32
+ path: format("/v1/accounts/%<account>s/persons", { account: CGI.escape(account) }),
33
+ params: params,
34
+ opts: opts,
35
+ base_address: :api
36
+ )
37
+ end
38
+
39
+ # Retrieves an existing person.
40
+ def retrieve(account, person, params = {}, opts = {})
41
+ request(
42
+ method: :get,
43
+ path: format("/v1/accounts/%<account>s/persons/%<person>s", { account: CGI.escape(account), person: CGI.escape(person) }),
44
+ params: params,
45
+ opts: opts,
46
+ base_address: :api
47
+ )
48
+ end
49
+
50
+ # Updates an existing person.
51
+ def update(account, person, params = {}, opts = {})
52
+ request(
53
+ method: :post,
54
+ path: format("/v1/accounts/%<account>s/persons/%<person>s", { account: CGI.escape(account), person: CGI.escape(person) }),
55
+ params: params,
56
+ opts: opts,
57
+ base_address: :api
58
+ )
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,100 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class AccountService < StripeService
6
+ attr_reader :capabilities, :external_accounts, :login_links, :persons
7
+
8
+ def initialize(requestor)
9
+ super(requestor)
10
+ @capabilities = Stripe::AccountCapabilityService.new(@requestor)
11
+ @external_accounts = Stripe::AccountExternalAccountService.new(@requestor)
12
+ @login_links = Stripe::AccountLoginLinkService.new(@requestor)
13
+ @persons = Stripe::AccountPersonService.new(@requestor)
14
+ end
15
+
16
+ # With [Connect](https://stripe.com/docs/connect), you can create Stripe accounts for your users.
17
+ # To do this, you'll first need to [register your platform](https://dashboard.stripe.com/account/applications/settings).
18
+ #
19
+ # If you've already collected information for your connected accounts, you [can prefill that information](https://stripe.com/docs/connect/best-practices#onboarding) when
20
+ # creating the account. Connect Onboarding won't ask for the prefilled information during account onboarding.
21
+ # You can prefill any information on the account.
22
+ def create(params = {}, opts = {})
23
+ request(method: :post, path: "/v1/accounts", params: params, opts: opts, base_address: :api)
24
+ end
25
+
26
+ # With [Connect](https://stripe.com/connect), you can delete accounts you manage.
27
+ #
28
+ # Test-mode accounts can be deleted at any time.
29
+ #
30
+ # Live-mode accounts where Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be deleted when all [balances](https://stripe.com/api/balance/balance_object) are zero.
31
+ #
32
+ # If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead.
33
+ def delete(account, params = {}, opts = {})
34
+ request(
35
+ method: :delete,
36
+ path: format("/v1/accounts/%<account>s", { account: CGI.escape(account) }),
37
+ params: params,
38
+ opts: opts,
39
+ base_address: :api
40
+ )
41
+ end
42
+
43
+ # Returns a list of accounts connected to your platform via [Connect](https://stripe.com/docs/connect). If you're not a platform, the list is empty.
44
+ def list(params = {}, opts = {})
45
+ request(method: :get, path: "/v1/accounts", params: params, opts: opts, base_address: :api)
46
+ end
47
+
48
+ # With [Connect](https://stripe.com/connect), you can reject accounts that you have flagged as suspicious.
49
+ #
50
+ # Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero.
51
+ def reject(account, params = {}, opts = {})
52
+ request(
53
+ method: :post,
54
+ path: format("/v1/accounts/%<account>s/reject", { account: CGI.escape(account) }),
55
+ params: params,
56
+ opts: opts,
57
+ base_address: :api
58
+ )
59
+ end
60
+
61
+ # Retrieves the details of an account.
62
+ def retrieve(account, params = {}, opts = {})
63
+ request(
64
+ method: :get,
65
+ path: format("/v1/accounts/%<account>s", { account: CGI.escape(account) }),
66
+ params: params,
67
+ opts: opts,
68
+ base_address: :api
69
+ )
70
+ end
71
+
72
+ # Retrieves the details of an account.
73
+ def retrieve_current(params = {}, opts = {})
74
+ request(method: :get, path: "/v1/account", params: params, opts: opts, base_address: :api)
75
+ end
76
+
77
+ # Updates a [connected account](https://stripe.com/connect/accounts) by setting the values of the parameters passed. Any parameters not provided are
78
+ # left unchanged.
79
+ #
80
+ # For accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection)
81
+ # is application, which includes Custom accounts, you can update any information on the account.
82
+ #
83
+ # For accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection)
84
+ # is stripe, which includes Standard and Express accounts, you can update all information until you create
85
+ # an [Account Link or <a href="/api/account_sessions">Account Session](https://stripe.com/api/account_links) to start Connect onboarding,
86
+ # after which some properties can no longer be updated.
87
+ #
88
+ # To update your own account, use the [Dashboard](https://dashboard.stripe.com/settings/account). Refer to our
89
+ # [Connect](https://stripe.com/docs/connect/updating-accounts) documentation to learn more about updating accounts.
90
+ def update(account, params = {}, opts = {})
91
+ request(
92
+ method: :post,
93
+ path: format("/v1/accounts/%<account>s", { account: CGI.escape(account) }),
94
+ params: params,
95
+ opts: opts,
96
+ base_address: :api
97
+ )
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class AccountSessionService < StripeService
6
+ # Creates a AccountSession object that includes a single-use token that the platform can use on their front-end to grant client-side API access.
7
+ def create(params = {}, opts = {})
8
+ request(
9
+ method: :post,
10
+ path: "/v1/account_sessions",
11
+ params: params,
12
+ opts: opts,
13
+ base_address: :api
14
+ )
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,50 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class ApplePayDomainService < StripeService
6
+ # Create an apple pay domain.
7
+ def create(params = {}, opts = {})
8
+ request(
9
+ method: :post,
10
+ path: "/v1/apple_pay/domains",
11
+ params: params,
12
+ opts: opts,
13
+ base_address: :api
14
+ )
15
+ end
16
+
17
+ # Delete an apple pay domain.
18
+ def delete(domain, params = {}, opts = {})
19
+ request(
20
+ method: :delete,
21
+ path: format("/v1/apple_pay/domains/%<domain>s", { domain: CGI.escape(domain) }),
22
+ params: params,
23
+ opts: opts,
24
+ base_address: :api
25
+ )
26
+ end
27
+
28
+ # List apple pay domains.
29
+ def list(params = {}, opts = {})
30
+ request(
31
+ method: :get,
32
+ path: "/v1/apple_pay/domains",
33
+ params: params,
34
+ opts: opts,
35
+ base_address: :api
36
+ )
37
+ end
38
+
39
+ # Retrieve an apple pay domain.
40
+ def retrieve(domain, params = {}, opts = {})
41
+ request(
42
+ method: :get,
43
+ path: format("/v1/apple_pay/domains/%<domain>s", { domain: CGI.escape(domain) }),
44
+ params: params,
45
+ opts: opts,
46
+ base_address: :api
47
+ )
48
+ end
49
+ end
50
+ end