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
@@ -14,7 +14,7 @@ module Stripe
14
14
  end
15
15
 
16
16
  "#{Customer.resource_url}/#{CGI.escape(customer)}/sources" \
17
- "/#{CGI.escape(id)}"
17
+ "/#{CGI.escape(id)}"
18
18
  end
19
19
 
20
20
  def self.update(_id, _params = nil, _opts = nil)
@@ -9,6 +9,44 @@ module Stripe
9
9
  extend Stripe::APIOperations::List
10
10
 
11
11
  OBJECT_NAME = "apple_pay_domain"
12
+ def self.object_name
13
+ "apple_pay_domain"
14
+ end
15
+
16
+ # Create an apple pay domain.
17
+ def self.create(params = {}, opts = {})
18
+ request_stripe_object(
19
+ method: :post,
20
+ path: "/v1/apple_pay/domains",
21
+ params: params,
22
+ opts: opts
23
+ )
24
+ end
25
+
26
+ # Delete an apple pay domain.
27
+ def self.delete(domain, params = {}, opts = {})
28
+ request_stripe_object(
29
+ method: :delete,
30
+ path: format("/v1/apple_pay/domains/%<domain>s", { domain: CGI.escape(domain) }),
31
+ params: params,
32
+ opts: opts
33
+ )
34
+ end
35
+
36
+ # Delete an apple pay domain.
37
+ def delete(params = {}, opts = {})
38
+ request_stripe_object(
39
+ method: :delete,
40
+ path: format("/v1/apple_pay/domains/%<domain>s", { domain: CGI.escape(self["id"]) }),
41
+ params: params,
42
+ opts: opts
43
+ )
44
+ end
45
+
46
+ # List apple pay domains.
47
+ def self.list(params = {}, opts = {})
48
+ request_stripe_object(method: :get, path: "/v1/apple_pay/domains", params: params, opts: opts)
49
+ end
12
50
 
13
51
  def self.resource_url
14
52
  "/v1/apple_pay/domains"
@@ -7,8 +7,15 @@ module Stripe
7
7
  extend Stripe::APIOperations::NestedResource
8
8
 
9
9
  OBJECT_NAME = "application_fee"
10
+ def self.object_name
11
+ "application_fee"
12
+ end
10
13
 
11
- nested_resource_class_methods :refund,
12
- operations: %i[create retrieve update list]
14
+ nested_resource_class_methods :refund, operations: %i[create retrieve update list]
15
+
16
+ # Returns a list of application fees you've previously collected. The application fees are returned in sorted order, with the most recent fees appearing first.
17
+ def self.list(params = {}, opts = {})
18
+ request_stripe_object(method: :get, path: "/v1/application_fees", params: params, opts: opts)
19
+ end
13
20
  end
14
21
  end
@@ -2,15 +2,22 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Stripe
5
+ # `Application Fee Refund` objects allow you to refund an application fee that
6
+ # has previously been created but not yet refunded. Funds will be refunded to
7
+ # the Stripe account from which the fee was originally collected.
8
+ #
9
+ # Related guide: [Refunding application fees](https://stripe.com/docs/connect/destination-charges#refunding-app-fee)
5
10
  class ApplicationFeeRefund < APIResource
6
- extend Stripe::APIOperations::List
7
11
  include Stripe::APIOperations::Save
8
12
 
9
13
  OBJECT_NAME = "fee_refund"
14
+ def self.object_name
15
+ "fee_refund"
16
+ end
10
17
 
11
18
  def resource_url
12
19
  "#{ApplicationFee.resource_url}/#{CGI.escape(fee)}/refunds" \
13
- "/#{CGI.escape(id)}"
20
+ "/#{CGI.escape(id)}"
14
21
  end
15
22
 
16
23
  def self.update(_id, _params = nil, _opts = nil)
@@ -0,0 +1,55 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Apps
6
+ # Secret Store is an API that allows Stripe Apps developers to securely persist secrets for use by UI Extensions and app backends.
7
+ #
8
+ # The primary resource in Secret Store is a `secret`. Other apps can't view secrets created by an app. Additionally, secrets are scoped to provide further permission control.
9
+ #
10
+ # All Dashboard users and the app backend share `account` scoped secrets. Use the `account` scope for secrets that don't change per-user, like a third-party API key.
11
+ #
12
+ # A `user` scoped secret is accessible by the app backend and one specific Dashboard user. Use the `user` scope for per-user secrets like per-user OAuth tokens, where different users might have different permissions.
13
+ #
14
+ # Related guide: [Store data between page reloads](https://stripe.com/docs/stripe-apps/store-auth-data-custom-objects)
15
+ class Secret < APIResource
16
+ extend Stripe::APIOperations::Create
17
+ extend Stripe::APIOperations::List
18
+
19
+ OBJECT_NAME = "apps.secret"
20
+ def self.object_name
21
+ "apps.secret"
22
+ end
23
+
24
+ # Create or replace a secret in the secret store.
25
+ def self.create(params = {}, opts = {})
26
+ request_stripe_object(method: :post, path: "/v1/apps/secrets", params: params, opts: opts)
27
+ end
28
+
29
+ # Deletes a secret from the secret store by name and scope.
30
+ def self.delete_where(params = {}, opts = {})
31
+ request_stripe_object(
32
+ method: :post,
33
+ path: "/v1/apps/secrets/delete",
34
+ params: params,
35
+ opts: opts
36
+ )
37
+ end
38
+
39
+ # Finds a secret in the secret store by name and scope.
40
+ def self.find(params = {}, opts = {})
41
+ request_stripe_object(
42
+ method: :get,
43
+ path: "/v1/apps/secrets/find",
44
+ params: params,
45
+ opts: opts
46
+ )
47
+ end
48
+
49
+ # List all secrets stored on the given scope.
50
+ def self.list(params = {}, opts = {})
51
+ request_stripe_object(method: :get, path: "/v1/apps/secrets", params: params, opts: opts)
52
+ end
53
+ end
54
+ end
55
+ end
@@ -2,7 +2,21 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Stripe
5
+ # This is an object representing your Stripe balance. You can retrieve it to see
6
+ # the balance currently on your Stripe account.
7
+ #
8
+ # You can also retrieve the balance history, which contains a list of
9
+ # [transactions](https://stripe.com/docs/reporting/balance-transaction-types) that contributed to the balance
10
+ # (charges, payouts, and so forth).
11
+ #
12
+ # The available and pending amounts for each currency are broken down further by
13
+ # payment source types.
14
+ #
15
+ # Related guide: [Understanding Connect account balances](https://stripe.com/docs/connect/account-balances)
5
16
  class Balance < SingletonAPIResource
6
17
  OBJECT_NAME = "balance"
18
+ def self.object_name
19
+ "balance"
20
+ end
7
21
  end
8
22
  end
@@ -2,9 +2,28 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Stripe
5
+ # Balance transactions represent funds moving through your Stripe account.
6
+ # Stripe creates them for every type of transaction that enters or leaves your Stripe account balance.
7
+ #
8
+ # Related guide: [Balance transaction types](https://stripe.com/docs/reports/balance-transaction-types)
5
9
  class BalanceTransaction < APIResource
6
10
  extend Stripe::APIOperations::List
7
11
 
8
12
  OBJECT_NAME = "balance_transaction"
13
+ def self.object_name
14
+ "balance_transaction"
15
+ end
16
+
17
+ # Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.
18
+ #
19
+ # Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history.
20
+ def self.list(params = {}, opts = {})
21
+ request_stripe_object(
22
+ method: :get,
23
+ path: "/v1/balance_transactions",
24
+ params: params,
25
+ opts: opts
26
+ )
27
+ end
9
28
  end
10
29
  end
@@ -2,16 +2,39 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Stripe
5
+ # These bank accounts are payment methods on `Customer` objects.
6
+ #
7
+ # On the other hand [External Accounts](https://stripe.com/api#external_accounts) are transfer
8
+ # destinations on `Account` objects for connected accounts.
9
+ # They can be bank accounts or debit cards as well, and are documented in the links above.
10
+ #
11
+ # Related guide: [Bank debits and transfers](https://stripe.com/payments/bank-debits-transfers)
5
12
  class BankAccount < APIResource
6
13
  include Stripe::APIOperations::Delete
7
14
  extend Stripe::APIOperations::List
8
15
  include Stripe::APIOperations::Save
9
16
 
10
17
  OBJECT_NAME = "bank_account"
18
+ def self.object_name
19
+ "bank_account"
20
+ end
11
21
 
12
22
  def verify(params = {}, opts = {})
13
- resp, opts = execute_resource_request(:post, resource_url + "/verify", params, opts)
14
- initialize_from(resp.data, opts)
23
+ request_stripe_object(
24
+ method: :post,
25
+ path: "#{Customer.resource_url}/#{customer}/sources/#{id}/verify",
26
+ params: params,
27
+ opts: opts
28
+ )
29
+ end
30
+
31
+ def self.verify(customer, id, params = {}, opts = {})
32
+ request_stripe_object(
33
+ method: :post,
34
+ path: "#{Customer.resource_url}/#{customer}/sources/#{id}/verify",
35
+ params: params,
36
+ opts: opts
37
+ )
15
38
  end
16
39
 
17
40
  def resource_url
@@ -24,8 +47,8 @@ module Stripe
24
47
 
25
48
  def self.update(_id, _params = nil, _opts = nil)
26
49
  raise NotImplementedError,
27
- "Bank accounts cannot be updated without a customer ID or an " \
28
- " account ID. Update a bank account using " \
50
+ "Bank accounts cannot be updated without a customer ID or an " \
51
+ "account ID. Update a bank account using " \
29
52
  "`Customer.update_source('customer_id', 'bank_account_id', " \
30
53
  "update_params)` or `Account.update_external_account(" \
31
54
  "'account_id', 'bank_account_id', update_params)`"
@@ -39,5 +62,31 @@ module Stripe
39
62
  "or `Account.retrieve_external_account('account_id', " \
40
63
  "'bank_account_id')`"
41
64
  end
65
+
66
+ def self.delete(id, params = {}, opts = {})
67
+ raise NotImplementedError,
68
+ "Bank accounts cannot be deleted without a customer ID or an " \
69
+ "account ID. Delete a bank account using " \
70
+ "`Customer.delete_source('customer_id', 'bank_account_id')` " \
71
+ "or `Account.delete_external_account('account_id', " \
72
+ "'bank_account_id')`"
73
+ end
74
+
75
+ def delete(params = {}, opts = {})
76
+ request_stripe_object(
77
+ method: :delete,
78
+ path: resource_url.to_s,
79
+ params: params,
80
+ opts: opts
81
+ )
82
+ end
83
+
84
+ def self.list(params = {}, opts = {})
85
+ raise NotImplementedError,
86
+ "Bank accounts cannot be listed without a customer ID or an " \
87
+ "account ID. List bank accounts using " \
88
+ "`Customer.list_sources('customer_id')` " \
89
+ "or `Account.list_external_accounts('account_id')`"
90
+ end
42
91
  end
43
92
  end
@@ -0,0 +1,87 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Billing
6
+ # A billing alert is a resource that notifies you when a certain usage threshold on a meter is crossed. For example, you might create a billing alert to notify you when a certain user made 100 API requests.
7
+ class Alert < APIResource
8
+ extend Stripe::APIOperations::Create
9
+ extend Stripe::APIOperations::List
10
+
11
+ OBJECT_NAME = "billing.alert"
12
+ def self.object_name
13
+ "billing.alert"
14
+ end
15
+
16
+ # Reactivates this alert, allowing it to trigger again.
17
+ def activate(params = {}, opts = {})
18
+ request_stripe_object(
19
+ method: :post,
20
+ path: format("/v1/billing/alerts/%<id>s/activate", { id: CGI.escape(self["id"]) }),
21
+ params: params,
22
+ opts: opts
23
+ )
24
+ end
25
+
26
+ # Reactivates this alert, allowing it to trigger again.
27
+ def self.activate(id, params = {}, opts = {})
28
+ request_stripe_object(
29
+ method: :post,
30
+ path: format("/v1/billing/alerts/%<id>s/activate", { id: CGI.escape(id) }),
31
+ params: params,
32
+ opts: opts
33
+ )
34
+ end
35
+
36
+ # Archives this alert, removing it from the list view and APIs. This is non-reversible.
37
+ def archive(params = {}, opts = {})
38
+ request_stripe_object(
39
+ method: :post,
40
+ path: format("/v1/billing/alerts/%<id>s/archive", { id: CGI.escape(self["id"]) }),
41
+ params: params,
42
+ opts: opts
43
+ )
44
+ end
45
+
46
+ # Archives this alert, removing it from the list view and APIs. This is non-reversible.
47
+ def self.archive(id, params = {}, opts = {})
48
+ request_stripe_object(
49
+ method: :post,
50
+ path: format("/v1/billing/alerts/%<id>s/archive", { id: CGI.escape(id) }),
51
+ params: params,
52
+ opts: opts
53
+ )
54
+ end
55
+
56
+ # Creates a billing alert
57
+ def self.create(params = {}, opts = {})
58
+ request_stripe_object(method: :post, path: "/v1/billing/alerts", params: params, opts: opts)
59
+ end
60
+
61
+ # Deactivates this alert, preventing it from triggering.
62
+ def deactivate(params = {}, opts = {})
63
+ request_stripe_object(
64
+ method: :post,
65
+ path: format("/v1/billing/alerts/%<id>s/deactivate", { id: CGI.escape(self["id"]) }),
66
+ params: params,
67
+ opts: opts
68
+ )
69
+ end
70
+
71
+ # Deactivates this alert, preventing it from triggering.
72
+ def self.deactivate(id, params = {}, opts = {})
73
+ request_stripe_object(
74
+ method: :post,
75
+ path: format("/v1/billing/alerts/%<id>s/deactivate", { id: CGI.escape(id) }),
76
+ params: params,
77
+ opts: opts
78
+ )
79
+ end
80
+
81
+ # Lists billing active and inactive alerts
82
+ def self.list(params = {}, opts = {})
83
+ request_stripe_object(method: :get, path: "/v1/billing/alerts", params: params, opts: opts)
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,14 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Billing
6
+ # Indicates the billing credit balance for billing credits granted to a customer.
7
+ class CreditBalanceSummary < SingletonAPIResource
8
+ OBJECT_NAME = "billing.credit_balance_summary"
9
+ def self.object_name
10
+ "billing.credit_balance_summary"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,26 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Billing
6
+ # A credit balance transaction is a resource representing a transaction (either a credit or a debit) against an existing credit grant.
7
+ class CreditBalanceTransaction < APIResource
8
+ extend Stripe::APIOperations::List
9
+
10
+ OBJECT_NAME = "billing.credit_balance_transaction"
11
+ def self.object_name
12
+ "billing.credit_balance_transaction"
13
+ end
14
+
15
+ # Retrieve a list of credit balance transactions.
16
+ def self.list(params = {}, opts = {})
17
+ request_stripe_object(
18
+ method: :get,
19
+ path: "/v1/billing/credit_balance_transactions",
20
+ params: params,
21
+ opts: opts
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,90 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Billing
6
+ # A credit grant is an API resource that documents the allocation of some billing credits to a customer.
7
+ #
8
+ # Related guide: [Billing credits](https://docs.stripe.com/billing/subscriptions/usage-based/billing-credits)
9
+ class CreditGrant < APIResource
10
+ extend Stripe::APIOperations::Create
11
+ extend Stripe::APIOperations::List
12
+ include Stripe::APIOperations::Save
13
+
14
+ OBJECT_NAME = "billing.credit_grant"
15
+ def self.object_name
16
+ "billing.credit_grant"
17
+ end
18
+
19
+ # Creates a credit grant.
20
+ def self.create(params = {}, opts = {})
21
+ request_stripe_object(
22
+ method: :post,
23
+ path: "/v1/billing/credit_grants",
24
+ params: params,
25
+ opts: opts
26
+ )
27
+ end
28
+
29
+ # Expires a credit grant.
30
+ def expire(params = {}, opts = {})
31
+ request_stripe_object(
32
+ method: :post,
33
+ path: format("/v1/billing/credit_grants/%<id>s/expire", { id: CGI.escape(self["id"]) }),
34
+ params: params,
35
+ opts: opts
36
+ )
37
+ end
38
+
39
+ # Expires a credit grant.
40
+ def self.expire(id, params = {}, opts = {})
41
+ request_stripe_object(
42
+ method: :post,
43
+ path: format("/v1/billing/credit_grants/%<id>s/expire", { id: CGI.escape(id) }),
44
+ params: params,
45
+ opts: opts
46
+ )
47
+ end
48
+
49
+ # Retrieve a list of credit grants.
50
+ def self.list(params = {}, opts = {})
51
+ request_stripe_object(
52
+ method: :get,
53
+ path: "/v1/billing/credit_grants",
54
+ params: params,
55
+ opts: opts
56
+ )
57
+ end
58
+
59
+ # Updates a credit grant.
60
+ def self.update(id, params = {}, opts = {})
61
+ request_stripe_object(
62
+ method: :post,
63
+ path: format("/v1/billing/credit_grants/%<id>s", { id: CGI.escape(id) }),
64
+ params: params,
65
+ opts: opts
66
+ )
67
+ end
68
+
69
+ # Voids a credit grant.
70
+ def void_grant(params = {}, opts = {})
71
+ request_stripe_object(
72
+ method: :post,
73
+ path: format("/v1/billing/credit_grants/%<id>s/void", { id: CGI.escape(self["id"]) }),
74
+ params: params,
75
+ opts: opts
76
+ )
77
+ end
78
+
79
+ # Voids a credit grant.
80
+ def self.void_grant(id, params = {}, opts = {})
81
+ request_stripe_object(
82
+ method: :post,
83
+ path: format("/v1/billing/credit_grants/%<id>s/void", { id: CGI.escape(id) }),
84
+ params: params,
85
+ opts: opts
86
+ )
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,85 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Billing
6
+ # Meters specify how to aggregate meter events over a billing period. Meter events represent the actions that customers take in your system. Meters attach to prices and form the basis of the bill.
7
+ #
8
+ # Related guide: [Usage based billing](https://docs.stripe.com/billing/subscriptions/usage-based)
9
+ class Meter < APIResource
10
+ extend Stripe::APIOperations::Create
11
+ extend Stripe::APIOperations::List
12
+ extend Stripe::APIOperations::NestedResource
13
+ include Stripe::APIOperations::Save
14
+
15
+ OBJECT_NAME = "billing.meter"
16
+ def self.object_name
17
+ "billing.meter"
18
+ end
19
+
20
+ nested_resource_class_methods :event_summary,
21
+ operations: %i[list],
22
+ resource_plural: "event_summaries"
23
+
24
+ # Creates a billing meter.
25
+ def self.create(params = {}, opts = {})
26
+ request_stripe_object(method: :post, path: "/v1/billing/meters", params: params, opts: opts)
27
+ end
28
+
29
+ # When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price.
30
+ def deactivate(params = {}, opts = {})
31
+ request_stripe_object(
32
+ method: :post,
33
+ path: format("/v1/billing/meters/%<id>s/deactivate", { id: CGI.escape(self["id"]) }),
34
+ params: params,
35
+ opts: opts
36
+ )
37
+ end
38
+
39
+ # When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price.
40
+ def self.deactivate(id, params = {}, opts = {})
41
+ request_stripe_object(
42
+ method: :post,
43
+ path: format("/v1/billing/meters/%<id>s/deactivate", { id: CGI.escape(id) }),
44
+ params: params,
45
+ opts: opts
46
+ )
47
+ end
48
+
49
+ # Retrieve a list of billing meters.
50
+ def self.list(params = {}, opts = {})
51
+ request_stripe_object(method: :get, path: "/v1/billing/meters", params: params, opts: opts)
52
+ end
53
+
54
+ # When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price.
55
+ def reactivate(params = {}, opts = {})
56
+ request_stripe_object(
57
+ method: :post,
58
+ path: format("/v1/billing/meters/%<id>s/reactivate", { id: CGI.escape(self["id"]) }),
59
+ params: params,
60
+ opts: opts
61
+ )
62
+ end
63
+
64
+ # When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price.
65
+ def self.reactivate(id, params = {}, opts = {})
66
+ request_stripe_object(
67
+ method: :post,
68
+ path: format("/v1/billing/meters/%<id>s/reactivate", { id: CGI.escape(id) }),
69
+ params: params,
70
+ opts: opts
71
+ )
72
+ end
73
+
74
+ # Updates a billing meter.
75
+ def self.update(id, params = {}, opts = {})
76
+ request_stripe_object(
77
+ method: :post,
78
+ path: format("/v1/billing/meters/%<id>s", { id: CGI.escape(id) }),
79
+ params: params,
80
+ opts: opts
81
+ )
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,26 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Billing
6
+ # Meter events represent actions that customers take in your system. You can use meter events to bill a customer based on their usage. Meter events are associated with billing meters, which define both the contents of the event's payload and how to aggregate those events.
7
+ class MeterEvent < APIResource
8
+ extend Stripe::APIOperations::Create
9
+
10
+ OBJECT_NAME = "billing.meter_event"
11
+ def self.object_name
12
+ "billing.meter_event"
13
+ end
14
+
15
+ # Creates a billing meter event.
16
+ def self.create(params = {}, opts = {})
17
+ request_stripe_object(
18
+ method: :post,
19
+ path: "/v1/billing/meter_events",
20
+ params: params,
21
+ opts: opts
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Billing
6
+ # A billing meter event adjustment is a resource that allows you to cancel a meter event. For example, you might create a billing meter event adjustment to cancel a meter event that was created in error or attached to the wrong customer.
7
+ class MeterEventAdjustment < APIResource
8
+ extend Stripe::APIOperations::Create
9
+
10
+ OBJECT_NAME = "billing.meter_event_adjustment"
11
+ def self.object_name
12
+ "billing.meter_event_adjustment"
13
+ end
14
+
15
+ # Creates a billing meter event adjustment.
16
+ def self.create(params = {}, opts = {})
17
+ request_stripe_object(
18
+ method: :post,
19
+ path: "/v1/billing/meter_event_adjustments",
20
+ params: params,
21
+ opts: opts
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Billing
6
+ # A billing meter event summary represents an aggregated view of a customer's billing meter events within a specified timeframe. It indicates how much
7
+ # usage was accrued by a customer for that period.
8
+ #
9
+ # Note: Meters events are aggregated asynchronously so the meter event summaries provide an eventually consistent view of the reported usage.
10
+ class MeterEventSummary < APIResource
11
+ OBJECT_NAME = "billing.meter_event_summary"
12
+ def self.object_name
13
+ "billing.meter_event_summary"
14
+ end
15
+ end
16
+ end
17
+ end