stripe 12.7.0.pre.beta.2 → 13.1.0.pre.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (257) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +96 -9
  3. data/OPENAPI_VERSION +1 -1
  4. data/README.md +4 -3
  5. data/VERSION +1 -1
  6. data/examples/README.md +11 -0
  7. data/examples/meter_event_stream.rb +47 -0
  8. data/examples/new_example.rb +24 -0
  9. data/examples/stripe_webhook_handler.rb +28 -0
  10. data/lib/stripe/api_operations/nested_resource.rb +1 -21
  11. data/lib/stripe/api_operations/request.rb +19 -70
  12. data/lib/stripe/api_operations/save.rb +4 -3
  13. data/lib/stripe/api_operations/singleton_save.rb +5 -2
  14. data/lib/stripe/api_requestor.rb +1131 -0
  15. data/lib/stripe/api_resource.rb +22 -14
  16. data/lib/stripe/api_version.rb +1 -2
  17. data/lib/stripe/connection_manager.rb +1 -1
  18. data/lib/stripe/errors.rb +8 -2
  19. data/lib/stripe/event_types.rb +14 -0
  20. data/lib/stripe/events/v1_billing_meter_error_report_triggered_event.rb +23 -0
  21. data/lib/stripe/events/v1_billing_meter_no_meter_found_event.rb +13 -0
  22. data/lib/stripe/list_object.rb +2 -3
  23. data/lib/stripe/oauth.rb +8 -15
  24. data/lib/stripe/object_types.rb +16 -1
  25. data/lib/stripe/request_options.rb +128 -0
  26. data/lib/stripe/resources/billing/credit_balance_summary.rb +14 -0
  27. data/lib/stripe/resources/billing/credit_balance_transaction.rb +26 -0
  28. data/lib/stripe/resources/billing/credit_grant.rb +88 -0
  29. data/lib/stripe/resources/billing/meter.rb +2 -0
  30. data/lib/stripe/resources/customer.rb +2 -3
  31. data/lib/stripe/resources/file.rb +7 -5
  32. data/lib/stripe/resources/issuing/card.rb +20 -0
  33. data/lib/stripe/resources/quote.rb +4 -4
  34. data/lib/stripe/resources/source.rb +3 -2
  35. data/lib/stripe/resources/subscription.rb +6 -6
  36. data/lib/stripe/resources/tax/form.rb +4 -4
  37. data/lib/stripe/resources/usage_record_summary.rb +1 -0
  38. data/lib/stripe/resources/v2/billing/meter_event.rb +16 -0
  39. data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +15 -0
  40. data/lib/stripe/resources/v2/billing/meter_event_session.rb +15 -0
  41. data/lib/stripe/resources/v2/event.rb +13 -0
  42. data/lib/stripe/resources.rb +9 -0
  43. data/lib/stripe/search_result_object.rb +1 -1
  44. data/lib/stripe/services/account_capability_service.rb +39 -0
  45. data/lib/stripe/services/account_external_account_service.rb +68 -0
  46. data/lib/stripe/services/account_link_service.rb +17 -0
  47. data/lib/stripe/services/account_login_link_service.rb +19 -0
  48. data/lib/stripe/services/account_notice_service.rb +39 -0
  49. data/lib/stripe/services/account_person_service.rb +61 -0
  50. data/lib/stripe/services/account_service.rb +100 -0
  51. data/lib/stripe/services/account_session_service.rb +17 -0
  52. data/lib/stripe/services/apple_pay_domain_service.rb +50 -0
  53. data/lib/stripe/services/application_fee_refund_service.rb +60 -0
  54. data/lib/stripe/services/application_fee_service.rb +35 -0
  55. data/lib/stripe/services/apps/secret_service.rb +52 -0
  56. data/lib/stripe/services/apps_service.rb +13 -0
  57. data/lib/stripe/services/balance_service.rb +12 -0
  58. data/lib/stripe/services/balance_transaction_service.rb +32 -0
  59. data/lib/stripe/services/billing/alert_service.rb +74 -0
  60. data/lib/stripe/services/billing/credit_balance_summary_service.rb +19 -0
  61. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +30 -0
  62. data/lib/stripe/services/billing/credit_grant_service.rb +74 -0
  63. data/lib/stripe/services/billing/meter_event_adjustment_service.rb +19 -0
  64. data/lib/stripe/services/billing/meter_event_service.rb +19 -0
  65. data/lib/stripe/services/billing/meter_event_summary_service.rb +19 -0
  66. data/lib/stripe/services/billing/meter_service.rb +81 -0
  67. data/lib/stripe/services/billing_portal/configuration_service.rb +52 -0
  68. data/lib/stripe/services/billing_portal/session_service.rb +19 -0
  69. data/lib/stripe/services/billing_portal_service.rb +14 -0
  70. data/lib/stripe/services/billing_service.rb +20 -0
  71. data/lib/stripe/services/capital/financing_offer_service.rb +42 -0
  72. data/lib/stripe/services/capital/financing_summary_service.rb +19 -0
  73. data/lib/stripe/services/capital/financing_transaction_service.rb +31 -0
  74. data/lib/stripe/services/capital_service.rb +15 -0
  75. data/lib/stripe/services/charge_service.rb +69 -0
  76. data/lib/stripe/services/checkout/session_line_item_service.rb +19 -0
  77. data/lib/stripe/services/checkout/session_service.rb +72 -0
  78. data/lib/stripe/services/checkout_service.rb +13 -0
  79. data/lib/stripe/services/climate/order_service.rb +68 -0
  80. data/lib/stripe/services/climate/product_service.rb +30 -0
  81. data/lib/stripe/services/climate/supplier_service.rb +30 -0
  82. data/lib/stripe/services/climate_service.rb +15 -0
  83. data/lib/stripe/services/confirmation_token_service.rb +17 -0
  84. data/lib/stripe/services/country_spec_service.rb +28 -0
  85. data/lib/stripe/services/coupon_service.rb +51 -0
  86. data/lib/stripe/services/credit_note_line_item_service.rb +17 -0
  87. data/lib/stripe/services/credit_note_preview_lines_service.rb +17 -0
  88. data/lib/stripe/services/credit_note_service.rb +93 -0
  89. data/lib/stripe/services/customer_balance_transaction_service.rb +50 -0
  90. data/lib/stripe/services/customer_cash_balance_service.rb +28 -0
  91. data/lib/stripe/services/customer_cash_balance_transaction_service.rb +28 -0
  92. data/lib/stripe/services/customer_funding_instructions_service.rb +19 -0
  93. data/lib/stripe/services/customer_payment_method_service.rb +28 -0
  94. data/lib/stripe/services/customer_payment_source_service.rb +76 -0
  95. data/lib/stripe/services/customer_service.rb +89 -0
  96. data/lib/stripe/services/customer_session_service.rb +17 -0
  97. data/lib/stripe/services/customer_tax_id_service.rb +50 -0
  98. data/lib/stripe/services/dispute_service.rb +48 -0
  99. data/lib/stripe/services/entitlements/active_entitlement_service.rb +30 -0
  100. data/lib/stripe/services/entitlements/feature_service.rb +52 -0
  101. data/lib/stripe/services/entitlements_service.rb +14 -0
  102. data/lib/stripe/services/ephemeral_key_service.rb +28 -0
  103. data/lib/stripe/services/event_service.rb +22 -0
  104. data/lib/stripe/services/exchange_rate_service.rb +28 -0
  105. data/lib/stripe/services/file_link_service.rb +38 -0
  106. data/lib/stripe/services/file_service.rb +35 -0
  107. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +19 -0
  108. data/lib/stripe/services/financial_connections/account_owner_service.rb +19 -0
  109. data/lib/stripe/services/financial_connections/account_service.rb +83 -0
  110. data/lib/stripe/services/financial_connections/institution_service.rb +30 -0
  111. data/lib/stripe/services/financial_connections/session_service.rb +30 -0
  112. data/lib/stripe/services/financial_connections/transaction_service.rb +30 -0
  113. data/lib/stripe/services/financial_connections_service.rb +16 -0
  114. data/lib/stripe/services/forwarding/request_service.rb +41 -0
  115. data/lib/stripe/services/forwarding_service.rb +13 -0
  116. data/lib/stripe/services/gift_cards/card_service.rb +63 -0
  117. data/lib/stripe/services/gift_cards/transaction_service.rb +74 -0
  118. data/lib/stripe/services/gift_cards_service.rb +14 -0
  119. data/lib/stripe/services/identity/verification_report_service.rb +30 -0
  120. data/lib/stripe/services/identity/verification_session_service.rb +106 -0
  121. data/lib/stripe/services/identity_service.rb +14 -0
  122. data/lib/stripe/services/invoice_item_service.rb +61 -0
  123. data/lib/stripe/services/invoice_line_item_service.rb +31 -0
  124. data/lib/stripe/services/invoice_payment_service.rb +28 -0
  125. data/lib/stripe/services/invoice_rendering_template_service.rb +50 -0
  126. data/lib/stripe/services/invoice_service.rb +245 -0
  127. data/lib/stripe/services/invoice_upcoming_lines_service.rb +17 -0
  128. data/lib/stripe/services/issuing/authorization_service.rb +65 -0
  129. data/lib/stripe/services/issuing/card_service.rb +52 -0
  130. data/lib/stripe/services/issuing/cardholder_service.rb +52 -0
  131. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +74 -0
  132. data/lib/stripe/services/issuing/dispute_service.rb +63 -0
  133. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +30 -0
  134. data/lib/stripe/services/issuing/personalization_design_service.rb +52 -0
  135. data/lib/stripe/services/issuing/physical_bundle_service.rb +30 -0
  136. data/lib/stripe/services/issuing/token_service.rb +41 -0
  137. data/lib/stripe/services/issuing/transaction_service.rb +41 -0
  138. data/lib/stripe/services/issuing_service.rb +23 -0
  139. data/lib/stripe/services/mandate_service.rb +17 -0
  140. data/lib/stripe/services/margin_service.rb +50 -0
  141. data/lib/stripe/services/oauth_service.rb +63 -0
  142. data/lib/stripe/services/order_line_item_service.rb +17 -0
  143. data/lib/stripe/services/order_service.rb +78 -0
  144. data/lib/stripe/services/payment_intent_service.rb +230 -0
  145. data/lib/stripe/services/payment_link_line_item_service.rb +17 -0
  146. data/lib/stripe/services/payment_link_service.rb +57 -0
  147. data/lib/stripe/services/payment_method_configuration_service.rb +50 -0
  148. data/lib/stripe/services/payment_method_domain_service.rb +66 -0
  149. data/lib/stripe/services/payment_method_service.rb +86 -0
  150. data/lib/stripe/services/payout_service.rb +66 -0
  151. data/lib/stripe/services/plan_service.rb +49 -0
  152. data/lib/stripe/services/price_service.rb +52 -0
  153. data/lib/stripe/services/product_feature_service.rb +50 -0
  154. data/lib/stripe/services/product_service.rb +70 -0
  155. data/lib/stripe/services/promotion_code_service.rb +50 -0
  156. data/lib/stripe/services/quote_computed_upfront_line_items_service.rb +17 -0
  157. data/lib/stripe/services/quote_line_item_service.rb +17 -0
  158. data/lib/stripe/services/quote_line_service.rb +17 -0
  159. data/lib/stripe/services/quote_preview_invoice_service.rb +17 -0
  160. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +17 -0
  161. data/lib/stripe/services/quote_service.rb +140 -0
  162. data/lib/stripe/services/radar/early_fraud_warning_service.rb +32 -0
  163. data/lib/stripe/services/radar/value_list_item_service.rb +52 -0
  164. data/lib/stripe/services/radar/value_list_service.rb +63 -0
  165. data/lib/stripe/services/radar_service.rb +15 -0
  166. data/lib/stripe/services/refund_service.rb +63 -0
  167. data/lib/stripe/services/reporting/report_run_service.rb +41 -0
  168. data/lib/stripe/services/reporting/report_type_service.rb +30 -0
  169. data/lib/stripe/services/reporting_service.rb +14 -0
  170. data/lib/stripe/services/review_service.rb +33 -0
  171. data/lib/stripe/services/setup_attempt_service.rb +17 -0
  172. data/lib/stripe/services/setup_intent_service.rb +105 -0
  173. data/lib/stripe/services/shipping_rate_service.rb +50 -0
  174. data/lib/stripe/services/sigma/scheduled_query_run_service.rb +30 -0
  175. data/lib/stripe/services/sigma_service.rb +13 -0
  176. data/lib/stripe/services/source_service.rb +64 -0
  177. data/lib/stripe/services/source_transaction_service.rb +17 -0
  178. data/lib/stripe/services/subscription_item_service.rb +69 -0
  179. data/lib/stripe/services/subscription_item_usage_record_service.rb +23 -0
  180. data/lib/stripe/services/subscription_item_usage_record_summary_service.rb +19 -0
  181. data/lib/stripe/services/subscription_schedule_service.rb +83 -0
  182. data/lib/stripe/services/subscription_service.rb +127 -0
  183. data/lib/stripe/services/tax/association_service.rb +19 -0
  184. data/lib/stripe/services/tax/calculation_line_item_service.rb +19 -0
  185. data/lib/stripe/services/tax/calculation_service.rb +37 -0
  186. data/lib/stripe/services/tax/form_service.rb +37 -0
  187. data/lib/stripe/services/tax/registration_service.rb +54 -0
  188. data/lib/stripe/services/tax/settings_service.rb +30 -0
  189. data/lib/stripe/services/tax/transaction_line_item_service.rb +19 -0
  190. data/lib/stripe/services/tax/transaction_service.rb +48 -0
  191. data/lib/stripe/services/tax_code_service.rb +22 -0
  192. data/lib/stripe/services/tax_id_service.rb +38 -0
  193. data/lib/stripe/services/tax_rate_service.rb +38 -0
  194. data/lib/stripe/services/tax_service.rb +18 -0
  195. data/lib/stripe/services/terminal/configuration_service.rb +63 -0
  196. data/lib/stripe/services/terminal/connection_token_service.rb +19 -0
  197. data/lib/stripe/services/terminal/location_service.rb +64 -0
  198. data/lib/stripe/services/terminal/reader_collected_data_service.rb +19 -0
  199. data/lib/stripe/services/terminal/reader_service.rb +151 -0
  200. data/lib/stripe/services/terminal_service.rb +17 -0
  201. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +19 -0
  202. data/lib/stripe/services/test_helpers/customer_service.rb +19 -0
  203. data/lib/stripe/services/test_helpers/issuing/authorization_service.rb +76 -0
  204. data/lib/stripe/services/test_helpers/issuing/card_service.rb +65 -0
  205. data/lib/stripe/services/test_helpers/issuing/personalization_design_service.rb +43 -0
  206. data/lib/stripe/services/test_helpers/issuing/transaction_service.rb +43 -0
  207. data/lib/stripe/services/test_helpers/issuing_service.rb +19 -0
  208. data/lib/stripe/services/test_helpers/refund_service.rb +19 -0
  209. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +21 -0
  210. data/lib/stripe/services/test_helpers/terminal_service.rb +15 -0
  211. data/lib/stripe/services/test_helpers/test_clock_service.rb +63 -0
  212. data/lib/stripe/services/test_helpers/treasury/inbound_transfer_service.rb +43 -0
  213. data/lib/stripe/services/test_helpers/treasury/outbound_payment_service.rb +54 -0
  214. data/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.rb +54 -0
  215. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +21 -0
  216. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +21 -0
  217. data/lib/stripe/services/test_helpers/treasury_service.rb +19 -0
  218. data/lib/stripe/services/test_helpers_service.rb +19 -0
  219. data/lib/stripe/services/token_service.rb +23 -0
  220. data/lib/stripe/services/topup_service.rb +49 -0
  221. data/lib/stripe/services/transfer_reversal_service.rb +56 -0
  222. data/lib/stripe/services/transfer_service.rb +47 -0
  223. data/lib/stripe/services/treasury/credit_reversal_service.rb +41 -0
  224. data/lib/stripe/services/treasury/debit_reversal_service.rb +41 -0
  225. data/lib/stripe/services/treasury/financial_account_features_service.rb +30 -0
  226. data/lib/stripe/services/treasury/financial_account_service.rb +59 -0
  227. data/lib/stripe/services/treasury/inbound_transfer_service.rb +52 -0
  228. data/lib/stripe/services/treasury/outbound_payment_service.rb +52 -0
  229. data/lib/stripe/services/treasury/outbound_transfer_service.rb +52 -0
  230. data/lib/stripe/services/treasury/received_credit_service.rb +30 -0
  231. data/lib/stripe/services/treasury/received_debit_service.rb +30 -0
  232. data/lib/stripe/services/treasury/transaction_entry_service.rb +30 -0
  233. data/lib/stripe/services/treasury/transaction_service.rb +30 -0
  234. data/lib/stripe/services/treasury_service.rb +22 -0
  235. data/lib/stripe/services/v1_services.rb +94 -0
  236. data/lib/stripe/services/v2/billing/meter_event_adjustment_service.rb +21 -0
  237. data/lib/stripe/services/v2/billing/meter_event_service.rb +21 -0
  238. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +21 -0
  239. data/lib/stripe/services/v2/billing/meter_event_stream_service.rb +23 -0
  240. data/lib/stripe/services/v2/billing_service.rb +18 -0
  241. data/lib/stripe/services/v2/core/event_service.rb +32 -0
  242. data/lib/stripe/services/v2/core_service.rb +15 -0
  243. data/lib/stripe/services/v2_services.rb +14 -0
  244. data/lib/stripe/services/webhook_endpoint_service.rb +61 -0
  245. data/lib/stripe/services.rb +203 -0
  246. data/lib/stripe/singleton_api_resource.rb +1 -18
  247. data/lib/stripe/stripe_client.rb +51 -1067
  248. data/lib/stripe/stripe_configuration.rb +33 -19
  249. data/lib/stripe/stripe_object.rb +37 -18
  250. data/lib/stripe/stripe_service.rb +32 -0
  251. data/lib/stripe/thin_event.rb +17 -0
  252. data/lib/stripe/util.rb +68 -39
  253. data/lib/stripe/v2_list_object.rb +84 -0
  254. data/lib/stripe/version.rb +1 -1
  255. data/lib/stripe/webhook.rb +1 -1
  256. data/lib/stripe.rb +33 -27
  257. metadata +223 -2
@@ -0,0 +1,31 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Capital
6
+ class FinancingTransactionService < StripeService
7
+ # Returns a list of financing transactions. The transactions are returned in sorted order,
8
+ # with the most recent transactions appearing first.
9
+ def list(params = {}, opts = {})
10
+ request(
11
+ method: :get,
12
+ path: "/v1/capital/financing_transactions",
13
+ params: params,
14
+ opts: opts,
15
+ base_address: :api
16
+ )
17
+ end
18
+
19
+ # Retrieves a financing transaction for a financing offer.
20
+ def retrieve(financing_transaction, params = {}, opts = {})
21
+ request(
22
+ method: :get,
23
+ path: format("/v1/capital/financing_transactions/%<financing_transaction>s", { financing_transaction: CGI.escape(financing_transaction) }),
24
+ params: params,
25
+ opts: opts,
26
+ base_address: :api
27
+ )
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class CapitalService < StripeService
6
+ attr_reader :financing_offers, :financing_summary, :financing_transactions
7
+
8
+ def initialize(requestor)
9
+ super(requestor)
10
+ @financing_offers = Stripe::Capital::FinancingOfferService.new(@requestor)
11
+ @financing_summary = Stripe::Capital::FinancingSummaryService.new(@requestor)
12
+ @financing_transactions = Stripe::Capital::FinancingTransactionService.new(@requestor)
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,69 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class ChargeService < StripeService
6
+ # Capture the payment of an existing, uncaptured charge that was created with the capture option set to false.
7
+ #
8
+ # Uncaptured payments expire a set number of days after they are created ([7 by default](https://stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail.
9
+ #
10
+ # Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://stripe.com/docs/api/payment_intents/capture).
11
+ def capture(charge, params = {}, opts = {})
12
+ request(
13
+ method: :post,
14
+ path: format("/v1/charges/%<charge>s/capture", { charge: CGI.escape(charge) }),
15
+ params: params,
16
+ opts: opts,
17
+ base_address: :api
18
+ )
19
+ end
20
+
21
+ # This method is no longer recommended—use the [Payment Intents API](https://stripe.com/docs/api/payment_intents)
22
+ # to initiate a new payment instead. Confirmation of the PaymentIntent creates the Charge
23
+ # object used to request payment.
24
+ def create(params = {}, opts = {})
25
+ request(method: :post, path: "/v1/charges", params: params, opts: opts, base_address: :api)
26
+ end
27
+
28
+ # Returns a list of charges you've previously created. The charges are returned in sorted order, with the most recent charges appearing first.
29
+ def list(params = {}, opts = {})
30
+ request(method: :get, path: "/v1/charges", params: params, opts: opts, base_address: :api)
31
+ end
32
+
33
+ # Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge.
34
+ def retrieve(charge, params = {}, opts = {})
35
+ request(
36
+ method: :get,
37
+ path: format("/v1/charges/%<charge>s", { charge: CGI.escape(charge) }),
38
+ params: params,
39
+ opts: opts,
40
+ base_address: :api
41
+ )
42
+ end
43
+
44
+ # Search for charges you've previously created using Stripe's [Search Query Language](https://stripe.com/docs/search#search-query-language).
45
+ # Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating
46
+ # conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
47
+ # to an hour behind during outages. Search functionality is not available to merchants in India.
48
+ def search(params = {}, opts = {})
49
+ request(
50
+ method: :get,
51
+ path: "/v1/charges/search",
52
+ params: params,
53
+ opts: opts,
54
+ base_address: :api
55
+ )
56
+ end
57
+
58
+ # Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
59
+ def update(charge, params = {}, opts = {})
60
+ request(
61
+ method: :post,
62
+ path: format("/v1/charges/%<charge>s", { charge: CGI.escape(charge) }),
63
+ params: params,
64
+ opts: opts,
65
+ base_address: :api
66
+ )
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,19 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Checkout
6
+ class SessionLineItemService < StripeService
7
+ # When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
8
+ def list(session, params = {}, opts = {})
9
+ request(
10
+ method: :get,
11
+ path: format("/v1/checkout/sessions/%<session>s/line_items", { session: CGI.escape(session) }),
12
+ params: params,
13
+ opts: opts,
14
+ base_address: :api
15
+ )
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,72 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Checkout
6
+ class SessionService < StripeService
7
+ attr_reader :line_items
8
+
9
+ def initialize(requestor)
10
+ super(requestor)
11
+ @line_items = Stripe::Checkout::SessionLineItemService.new(@requestor)
12
+ end
13
+
14
+ # Creates a Session object.
15
+ def create(params = {}, opts = {})
16
+ request(
17
+ method: :post,
18
+ path: "/v1/checkout/sessions",
19
+ params: params,
20
+ opts: opts,
21
+ base_address: :api
22
+ )
23
+ end
24
+
25
+ # A Session can be expired when it is in one of these statuses: open
26
+ #
27
+ # After it expires, a customer can't complete a Session and customers loading the Session see a message saying the Session is expired.
28
+ def expire(session, params = {}, opts = {})
29
+ request(
30
+ method: :post,
31
+ path: format("/v1/checkout/sessions/%<session>s/expire", { session: CGI.escape(session) }),
32
+ params: params,
33
+ opts: opts,
34
+ base_address: :api
35
+ )
36
+ end
37
+
38
+ # Returns a list of Checkout Sessions.
39
+ def list(params = {}, opts = {})
40
+ request(
41
+ method: :get,
42
+ path: "/v1/checkout/sessions",
43
+ params: params,
44
+ opts: opts,
45
+ base_address: :api
46
+ )
47
+ end
48
+
49
+ # Retrieves a Session object.
50
+ def retrieve(session, params = {}, opts = {})
51
+ request(
52
+ method: :get,
53
+ path: format("/v1/checkout/sessions/%<session>s", { session: CGI.escape(session) }),
54
+ params: params,
55
+ opts: opts,
56
+ base_address: :api
57
+ )
58
+ end
59
+
60
+ # Updates a Session object.
61
+ def update(session, params = {}, opts = {})
62
+ request(
63
+ method: :post,
64
+ path: format("/v1/checkout/sessions/%<session>s", { session: CGI.escape(session) }),
65
+ params: params,
66
+ opts: opts,
67
+ base_address: :api
68
+ )
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class CheckoutService < StripeService
6
+ attr_reader :sessions
7
+
8
+ def initialize(requestor)
9
+ super(requestor)
10
+ @sessions = Stripe::Checkout::SessionService.new(@requestor)
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,68 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Climate
6
+ class OrderService < StripeService
7
+ # Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the
8
+ # reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier
9
+ # might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe
10
+ # provides 90 days advance notice and refunds the amount_total.
11
+ def cancel(order, params = {}, opts = {})
12
+ request(
13
+ method: :post,
14
+ path: format("/v1/climate/orders/%<order>s/cancel", { order: CGI.escape(order) }),
15
+ params: params,
16
+ opts: opts,
17
+ base_address: :api
18
+ )
19
+ end
20
+
21
+ # Creates a Climate order object for a given Climate product. The order will be processed immediately
22
+ # after creation and payment will be deducted your Stripe balance.
23
+ def create(params = {}, opts = {})
24
+ request(
25
+ method: :post,
26
+ path: "/v1/climate/orders",
27
+ params: params,
28
+ opts: opts,
29
+ base_address: :api
30
+ )
31
+ end
32
+
33
+ # Lists all Climate order objects. The orders are returned sorted by creation date, with the
34
+ # most recently created orders appearing first.
35
+ def list(params = {}, opts = {})
36
+ request(
37
+ method: :get,
38
+ path: "/v1/climate/orders",
39
+ params: params,
40
+ opts: opts,
41
+ base_address: :api
42
+ )
43
+ end
44
+
45
+ # Retrieves the details of a Climate order object with the given ID.
46
+ def retrieve(order, params = {}, opts = {})
47
+ request(
48
+ method: :get,
49
+ path: format("/v1/climate/orders/%<order>s", { order: CGI.escape(order) }),
50
+ params: params,
51
+ opts: opts,
52
+ base_address: :api
53
+ )
54
+ end
55
+
56
+ # Updates the specified order by setting the values of the parameters passed.
57
+ def update(order, params = {}, opts = {})
58
+ request(
59
+ method: :post,
60
+ path: format("/v1/climate/orders/%<order>s", { order: CGI.escape(order) }),
61
+ params: params,
62
+ opts: opts,
63
+ base_address: :api
64
+ )
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,30 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Climate
6
+ class ProductService < StripeService
7
+ # Lists all available Climate product objects.
8
+ def list(params = {}, opts = {})
9
+ request(
10
+ method: :get,
11
+ path: "/v1/climate/products",
12
+ params: params,
13
+ opts: opts,
14
+ base_address: :api
15
+ )
16
+ end
17
+
18
+ # Retrieves the details of a Climate product with the given ID.
19
+ def retrieve(product, params = {}, opts = {})
20
+ request(
21
+ method: :get,
22
+ path: format("/v1/climate/products/%<product>s", { product: CGI.escape(product) }),
23
+ params: params,
24
+ opts: opts,
25
+ base_address: :api
26
+ )
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Climate
6
+ class SupplierService < StripeService
7
+ # Lists all available Climate supplier objects.
8
+ def list(params = {}, opts = {})
9
+ request(
10
+ method: :get,
11
+ path: "/v1/climate/suppliers",
12
+ params: params,
13
+ opts: opts,
14
+ base_address: :api
15
+ )
16
+ end
17
+
18
+ # Retrieves a Climate supplier object.
19
+ def retrieve(supplier, params = {}, opts = {})
20
+ request(
21
+ method: :get,
22
+ path: format("/v1/climate/suppliers/%<supplier>s", { supplier: CGI.escape(supplier) }),
23
+ params: params,
24
+ opts: opts,
25
+ base_address: :api
26
+ )
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class ClimateService < StripeService
6
+ attr_reader :orders, :products, :suppliers
7
+
8
+ def initialize(requestor)
9
+ super(requestor)
10
+ @orders = Stripe::Climate::OrderService.new(@requestor)
11
+ @products = Stripe::Climate::ProductService.new(@requestor)
12
+ @suppliers = Stripe::Climate::SupplierService.new(@requestor)
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class ConfirmationTokenService < StripeService
6
+ # Retrieves an existing ConfirmationToken object
7
+ def retrieve(confirmation_token, params = {}, opts = {})
8
+ request(
9
+ method: :get,
10
+ path: format("/v1/confirmation_tokens/%<confirmation_token>s", { confirmation_token: CGI.escape(confirmation_token) }),
11
+ params: params,
12
+ opts: opts,
13
+ base_address: :api
14
+ )
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class CountrySpecService < StripeService
6
+ # Lists all Country Spec objects available in the API.
7
+ def list(params = {}, opts = {})
8
+ request(
9
+ method: :get,
10
+ path: "/v1/country_specs",
11
+ params: params,
12
+ opts: opts,
13
+ base_address: :api
14
+ )
15
+ end
16
+
17
+ # Returns a Country Spec for a given Country code.
18
+ def retrieve(country, params = {}, opts = {})
19
+ request(
20
+ method: :get,
21
+ path: format("/v1/country_specs/%<country>s", { country: CGI.escape(country) }),
22
+ params: params,
23
+ opts: opts,
24
+ base_address: :api
25
+ )
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,51 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class CouponService < StripeService
6
+ # You can create coupons easily via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly.
7
+ #
8
+ # A coupon has either a percent_off or an amount_off and currency. If you set an amount_off, that amount will be subtracted from any invoice's subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with an amount_off of 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with an amount_off of 200 is applied to it.
9
+ def create(params = {}, opts = {})
10
+ request(method: :post, path: "/v1/coupons", params: params, opts: opts, base_address: :api)
11
+ end
12
+
13
+ # You can delete coupons via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can't redeem the coupon. You can also delete coupons via the API.
14
+ def delete(coupon, params = {}, opts = {})
15
+ request(
16
+ method: :delete,
17
+ path: format("/v1/coupons/%<coupon>s", { coupon: CGI.escape(coupon) }),
18
+ params: params,
19
+ opts: opts,
20
+ base_address: :api
21
+ )
22
+ end
23
+
24
+ # Returns a list of your coupons.
25
+ def list(params = {}, opts = {})
26
+ request(method: :get, path: "/v1/coupons", params: params, opts: opts, base_address: :api)
27
+ end
28
+
29
+ # Retrieves the coupon with the given ID.
30
+ def retrieve(coupon, params = {}, opts = {})
31
+ request(
32
+ method: :get,
33
+ path: format("/v1/coupons/%<coupon>s", { coupon: CGI.escape(coupon) }),
34
+ params: params,
35
+ opts: opts,
36
+ base_address: :api
37
+ )
38
+ end
39
+
40
+ # Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.
41
+ def update(coupon, params = {}, opts = {})
42
+ request(
43
+ method: :post,
44
+ path: format("/v1/coupons/%<coupon>s", { coupon: CGI.escape(coupon) }),
45
+ params: params,
46
+ opts: opts,
47
+ base_address: :api
48
+ )
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class CreditNoteLineItemService < StripeService
6
+ # When retrieving a credit note, you'll get a lines property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
7
+ def list(credit_note, params = {}, opts = {})
8
+ request(
9
+ method: :get,
10
+ path: format("/v1/credit_notes/%<credit_note>s/lines", { credit_note: CGI.escape(credit_note) }),
11
+ params: params,
12
+ opts: opts,
13
+ base_address: :api
14
+ )
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class CreditNotePreviewLinesService < StripeService
6
+ # When retrieving a credit note preview, you'll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items.
7
+ def list(params = {}, opts = {})
8
+ request(
9
+ method: :get,
10
+ path: "/v1/credit_notes/preview/lines",
11
+ params: params,
12
+ opts: opts,
13
+ base_address: :api
14
+ )
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,93 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class CreditNoteService < StripeService
6
+ attr_reader :line_items, :preview_lines
7
+
8
+ def initialize(requestor)
9
+ super(requestor)
10
+ @line_items = Stripe::CreditNoteLineItemService.new(@requestor)
11
+ @preview_lines = Stripe::CreditNotePreviewLinesService.new(@requestor)
12
+ end
13
+
14
+ # Issue a credit note to adjust the amount of a finalized invoice. For a status=open invoice, a credit note reduces
15
+ # its amount_due. For a status=paid invoice, a credit note does not affect its amount_due. Instead, it can result
16
+ # in any combination of the following:
17
+ #
18
+ #
19
+ # Refund: create a new refund (using refund_amount) or link an existing refund (using refund).
20
+ # Customer balance credit: credit the customer's balance (using credit_amount) which will be automatically applied to their next invoice when it's finalized.
21
+ # Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using out_of_band_amount).
22
+ #
23
+ #
24
+ # For post-payment credit notes the sum of the refund, credit and outside of Stripe amounts must equal the credit note total.
25
+ #
26
+ # You may issue multiple credit notes for an invoice. Each credit note will increment the invoice's pre_payment_credit_notes_amount
27
+ # or post_payment_credit_notes_amount depending on its status at the time of credit note creation.
28
+ def create(params = {}, opts = {})
29
+ request(
30
+ method: :post,
31
+ path: "/v1/credit_notes",
32
+ params: params,
33
+ opts: opts,
34
+ base_address: :api
35
+ )
36
+ end
37
+
38
+ # Returns a list of credit notes.
39
+ def list(params = {}, opts = {})
40
+ request(
41
+ method: :get,
42
+ path: "/v1/credit_notes",
43
+ params: params,
44
+ opts: opts,
45
+ base_address: :api
46
+ )
47
+ end
48
+
49
+ # Get a preview of a credit note without creating it.
50
+ def preview(params = {}, opts = {})
51
+ request(
52
+ method: :get,
53
+ path: "/v1/credit_notes/preview",
54
+ params: params,
55
+ opts: opts,
56
+ base_address: :api
57
+ )
58
+ end
59
+
60
+ # Retrieves the credit note object with the given identifier.
61
+ def retrieve(id, params = {}, opts = {})
62
+ request(
63
+ method: :get,
64
+ path: format("/v1/credit_notes/%<id>s", { id: CGI.escape(id) }),
65
+ params: params,
66
+ opts: opts,
67
+ base_address: :api
68
+ )
69
+ end
70
+
71
+ # Updates an existing credit note.
72
+ def update(id, params = {}, opts = {})
73
+ request(
74
+ method: :post,
75
+ path: format("/v1/credit_notes/%<id>s", { id: CGI.escape(id) }),
76
+ params: params,
77
+ opts: opts,
78
+ base_address: :api
79
+ )
80
+ end
81
+
82
+ # Marks a credit note as void. Learn more about [voiding credit notes](https://stripe.com/docs/billing/invoices/credit-notes#voiding).
83
+ def void_credit_note(id, params = {}, opts = {})
84
+ request(
85
+ method: :post,
86
+ path: format("/v1/credit_notes/%<id>s/void", { id: CGI.escape(id) }),
87
+ params: params,
88
+ opts: opts,
89
+ base_address: :api
90
+ )
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,50 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class CustomerBalanceTransactionService < StripeService
6
+ # Creates an immutable transaction that updates the customer's credit [balance](https://stripe.com/docs/billing/customer/balance).
7
+ def create(customer, params = {}, opts = {})
8
+ request(
9
+ method: :post,
10
+ path: format("/v1/customers/%<customer>s/balance_transactions", { customer: CGI.escape(customer) }),
11
+ params: params,
12
+ opts: opts,
13
+ base_address: :api
14
+ )
15
+ end
16
+
17
+ # Returns a list of transactions that updated the customer's [balances](https://stripe.com/docs/billing/customer/balance).
18
+ def list(customer, params = {}, opts = {})
19
+ request(
20
+ method: :get,
21
+ path: format("/v1/customers/%<customer>s/balance_transactions", { customer: CGI.escape(customer) }),
22
+ params: params,
23
+ opts: opts,
24
+ base_address: :api
25
+ )
26
+ end
27
+
28
+ # Retrieves a specific customer balance transaction that updated the customer's [balances](https://stripe.com/docs/billing/customer/balance).
29
+ def retrieve(customer, transaction, params = {}, opts = {})
30
+ request(
31
+ method: :get,
32
+ path: format("/v1/customers/%<customer>s/balance_transactions/%<transaction>s", { customer: CGI.escape(customer), transaction: CGI.escape(transaction) }),
33
+ params: params,
34
+ opts: opts,
35
+ base_address: :api
36
+ )
37
+ end
38
+
39
+ # Most credit balance transaction fields are immutable, but you may update its description and metadata.
40
+ def update(customer, transaction, params = {}, opts = {})
41
+ request(
42
+ method: :post,
43
+ path: format("/v1/customers/%<customer>s/balance_transactions/%<transaction>s", { customer: CGI.escape(customer), transaction: CGI.escape(transaction) }),
44
+ params: params,
45
+ opts: opts,
46
+ base_address: :api
47
+ )
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,28 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class CustomerCashBalanceService < StripeService
6
+ # Retrieves a customer's cash balance.
7
+ def retrieve(customer, params = {}, opts = {})
8
+ request(
9
+ method: :get,
10
+ path: format("/v1/customers/%<customer>s/cash_balance", { customer: CGI.escape(customer) }),
11
+ params: params,
12
+ opts: opts,
13
+ base_address: :api
14
+ )
15
+ end
16
+
17
+ # Changes the settings on a customer's cash balance.
18
+ def update(customer, params = {}, opts = {})
19
+ request(
20
+ method: :post,
21
+ path: format("/v1/customers/%<customer>s/cash_balance", { customer: CGI.escape(customer) }),
22
+ params: params,
23
+ opts: opts,
24
+ base_address: :api
25
+ )
26
+ end
27
+ end
28
+ end