stripe 10.9.0.pre.beta.1 → 10.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (216) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +51 -275
  3. data/Gemfile +3 -0
  4. data/Makefile +7 -0
  5. data/OPENAPI_VERSION +1 -1
  6. data/README.md +0 -11
  7. data/VERSION +1 -1
  8. data/bin/tapioca +27 -0
  9. data/lib/stripe/api_operations/request.rb +1 -2
  10. data/lib/stripe/api_resource.rb +10 -1
  11. data/lib/stripe/api_resource_test_helpers.rb +6 -2
  12. data/lib/stripe/api_version.rb +0 -1
  13. data/lib/stripe/list_object.rb +3 -0
  14. data/lib/stripe/object_types.rb +120 -141
  15. data/lib/stripe/resources/account.rb +6 -4
  16. data/lib/stripe/resources/account_link.rb +3 -0
  17. data/lib/stripe/resources/account_session.rb +3 -0
  18. data/lib/stripe/resources/apple_pay_domain.rb +3 -0
  19. data/lib/stripe/resources/application_fee.rb +3 -0
  20. data/lib/stripe/resources/application_fee_refund.rb +3 -0
  21. data/lib/stripe/resources/apps/secret.rb +3 -0
  22. data/lib/stripe/resources/balance.rb +3 -0
  23. data/lib/stripe/resources/balance_transaction.rb +3 -0
  24. data/lib/stripe/resources/bank_account.rb +3 -0
  25. data/lib/stripe/resources/billing_portal/configuration.rb +3 -0
  26. data/lib/stripe/resources/billing_portal/session.rb +3 -0
  27. data/lib/stripe/resources/capability.rb +3 -0
  28. data/lib/stripe/resources/card.rb +3 -0
  29. data/lib/stripe/resources/cash_balance.rb +3 -0
  30. data/lib/stripe/resources/charge.rb +3 -0
  31. data/lib/stripe/resources/checkout/session.rb +3 -0
  32. data/lib/stripe/resources/climate/order.rb +3 -0
  33. data/lib/stripe/resources/climate/product.rb +3 -0
  34. data/lib/stripe/resources/climate/supplier.rb +3 -0
  35. data/lib/stripe/resources/country_spec.rb +3 -0
  36. data/lib/stripe/resources/coupon.rb +3 -0
  37. data/lib/stripe/resources/credit_note.rb +3 -0
  38. data/lib/stripe/resources/credit_note_line_item.rb +3 -0
  39. data/lib/stripe/resources/customer.rb +7 -13
  40. data/lib/stripe/resources/customer_balance_transaction.rb +3 -0
  41. data/lib/stripe/resources/customer_cash_balance_transaction.rb +3 -0
  42. data/lib/stripe/resources/customer_session.rb +3 -0
  43. data/lib/stripe/resources/discount.rb +3 -0
  44. data/lib/stripe/resources/dispute.rb +3 -0
  45. data/lib/stripe/resources/ephemeral_key.rb +3 -0
  46. data/lib/stripe/resources/event.rb +3 -0
  47. data/lib/stripe/resources/exchange_rate.rb +3 -0
  48. data/lib/stripe/resources/file.rb +6 -0
  49. data/lib/stripe/resources/file_link.rb +3 -0
  50. data/lib/stripe/resources/financial_connections/account.rb +3 -3
  51. data/lib/stripe/resources/financial_connections/account_owner.rb +3 -0
  52. data/lib/stripe/resources/financial_connections/account_ownership.rb +3 -0
  53. data/lib/stripe/resources/financial_connections/session.rb +3 -0
  54. data/lib/stripe/resources/financial_connections/transaction.rb +3 -0
  55. data/lib/stripe/resources/funding_instructions.rb +3 -0
  56. data/lib/stripe/resources/identity/verification_report.rb +3 -0
  57. data/lib/stripe/resources/identity/verification_session.rb +3 -0
  58. data/lib/stripe/resources/invoice.rb +2 -52
  59. data/lib/stripe/resources/invoice_item.rb +3 -0
  60. data/lib/stripe/resources/invoice_line_item.rb +3 -0
  61. data/lib/stripe/resources/issuing/authorization.rb +6 -0
  62. data/lib/stripe/resources/issuing/card.rb +6 -0
  63. data/lib/stripe/resources/issuing/cardholder.rb +3 -0
  64. data/lib/stripe/resources/issuing/dispute.rb +3 -0
  65. data/lib/stripe/resources/issuing/token.rb +3 -0
  66. data/lib/stripe/resources/issuing/transaction.rb +6 -0
  67. data/lib/stripe/resources/line_item.rb +3 -0
  68. data/lib/stripe/resources/login_link.rb +3 -0
  69. data/lib/stripe/resources/mandate.rb +3 -0
  70. data/lib/stripe/resources/payment_intent.rb +5 -4
  71. data/lib/stripe/resources/payment_link.rb +3 -0
  72. data/lib/stripe/resources/payment_method.rb +3 -0
  73. data/lib/stripe/resources/payment_method_configuration.rb +3 -0
  74. data/lib/stripe/resources/payment_method_domain.rb +3 -0
  75. data/lib/stripe/resources/payout.rb +3 -0
  76. data/lib/stripe/resources/person.rb +3 -0
  77. data/lib/stripe/resources/plan.rb +3 -0
  78. data/lib/stripe/resources/price.rb +3 -0
  79. data/lib/stripe/resources/product.rb +3 -0
  80. data/lib/stripe/resources/promotion_code.rb +3 -0
  81. data/lib/stripe/resources/quote.rb +3 -104
  82. data/lib/stripe/resources/radar/early_fraud_warning.rb +3 -0
  83. data/lib/stripe/resources/radar/value_list.rb +3 -0
  84. data/lib/stripe/resources/radar/value_list_item.rb +3 -0
  85. data/lib/stripe/resources/refund.rb +6 -0
  86. data/lib/stripe/resources/reporting/report_run.rb +3 -0
  87. data/lib/stripe/resources/reporting/report_type.rb +3 -0
  88. data/lib/stripe/resources/reversal.rb +3 -0
  89. data/lib/stripe/resources/review.rb +3 -0
  90. data/lib/stripe/resources/setup_attempt.rb +3 -0
  91. data/lib/stripe/resources/setup_intent.rb +3 -0
  92. data/lib/stripe/resources/shipping_rate.rb +3 -0
  93. data/lib/stripe/resources/sigma/scheduled_query_run.rb +3 -0
  94. data/lib/stripe/resources/source.rb +3 -0
  95. data/lib/stripe/resources/source_transaction.rb +3 -0
  96. data/lib/stripe/resources/subscription.rb +3 -0
  97. data/lib/stripe/resources/subscription_item.rb +3 -0
  98. data/lib/stripe/resources/subscription_schedule.rb +2 -19
  99. data/lib/stripe/resources/tax/calculation.rb +3 -0
  100. data/lib/stripe/resources/tax/calculation_line_item.rb +3 -0
  101. data/lib/stripe/resources/tax/registration.rb +3 -0
  102. data/lib/stripe/resources/tax/settings.rb +3 -0
  103. data/lib/stripe/resources/tax/transaction.rb +3 -0
  104. data/lib/stripe/resources/tax/transaction_line_item.rb +3 -0
  105. data/lib/stripe/resources/tax_code.rb +3 -0
  106. data/lib/stripe/resources/tax_id.rb +5 -4
  107. data/lib/stripe/resources/tax_rate.rb +3 -0
  108. data/lib/stripe/resources/terminal/configuration.rb +3 -0
  109. data/lib/stripe/resources/terminal/connection_token.rb +3 -0
  110. data/lib/stripe/resources/terminal/location.rb +3 -0
  111. data/lib/stripe/resources/terminal/reader.rb +6 -60
  112. data/lib/stripe/resources/test_helpers/test_clock.rb +3 -0
  113. data/lib/stripe/resources/token.rb +3 -0
  114. data/lib/stripe/resources/topup.rb +3 -0
  115. data/lib/stripe/resources/transfer.rb +3 -0
  116. data/lib/stripe/resources/treasury/credit_reversal.rb +3 -0
  117. data/lib/stripe/resources/treasury/debit_reversal.rb +3 -0
  118. data/lib/stripe/resources/treasury/financial_account.rb +3 -0
  119. data/lib/stripe/resources/treasury/financial_account_features.rb +3 -0
  120. data/lib/stripe/resources/treasury/inbound_transfer.rb +6 -0
  121. data/lib/stripe/resources/treasury/outbound_payment.rb +6 -0
  122. data/lib/stripe/resources/treasury/outbound_transfer.rb +6 -0
  123. data/lib/stripe/resources/treasury/received_credit.rb +6 -0
  124. data/lib/stripe/resources/treasury/received_debit.rb +6 -0
  125. data/lib/stripe/resources/treasury/transaction.rb +3 -0
  126. data/lib/stripe/resources/treasury/transaction_entry.rb +3 -0
  127. data/lib/stripe/resources/usage_record.rb +3 -0
  128. data/lib/stripe/resources/usage_record_summary.rb +3 -0
  129. data/lib/stripe/resources/webhook_endpoint.rb +3 -0
  130. data/lib/stripe/resources.rb +0 -22
  131. data/lib/stripe/search_result_object.rb +3 -0
  132. data/lib/stripe/singleton_api_resource.rb +1 -1
  133. data/lib/stripe/stripe_client.rb +28 -62
  134. data/lib/stripe/stripe_configuration.rb +1 -2
  135. data/lib/stripe/util.rb +1 -8
  136. data/lib/stripe/version.rb +1 -1
  137. data/lib/stripe.rb +0 -46
  138. data/sorbet/config +4 -0
  139. data/sorbet/rbi/annotations/.gitattributes +1 -0
  140. data/sorbet/rbi/annotations/coveralls_reborn.rbi +3 -0
  141. data/sorbet/rbi/gems/.gitattributes +1 -0
  142. data/sorbet/rbi/gems/addressable@2.8.6.rbi +1993 -0
  143. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  144. data/sorbet/rbi/gems/byebug@11.1.3.rbi +3606 -0
  145. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3437 -0
  146. data/sorbet/rbi/gems/coveralls_reborn@0.25.0.rbi +8 -0
  147. data/sorbet/rbi/gems/crack@0.4.5.rbi +144 -0
  148. data/sorbet/rbi/gems/docile@1.4.0.rbi +8 -0
  149. data/sorbet/rbi/gems/erubi@1.12.0.rbi +146 -0
  150. data/sorbet/rbi/gems/hashdiff@1.1.0.rbi +352 -0
  151. data/sorbet/rbi/gems/jaro_winkler@1.5.4.rbi +19 -0
  152. data/sorbet/rbi/gems/json@2.7.1.rbi +1561 -0
  153. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  154. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  155. data/sorbet/rbi/gems/mocha@1.16.1.rbi +11 -0
  156. data/sorbet/rbi/gems/netrc@0.11.0.rbi +161 -0
  157. data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
  158. data/sorbet/rbi/gems/parser@3.2.2.4.rbi +9454 -0
  159. data/sorbet/rbi/gems/power_assert@2.0.3.rbi +414 -0
  160. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  161. data/sorbet/rbi/gems/prism@0.19.0.rbi +29883 -0
  162. data/sorbet/rbi/gems/pry-byebug@3.10.1.rbi +1150 -0
  163. data/sorbet/rbi/gems/pry@0.14.2.rbi +10085 -0
  164. data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +931 -0
  165. data/sorbet/rbi/gems/racc@1.7.3.rbi +161 -0
  166. data/sorbet/rbi/gems/rack@3.0.8.rbi +5193 -0
  167. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  168. data/sorbet/rbi/gems/rake@13.1.0.rbi +2884 -0
  169. data/sorbet/rbi/gems/rbi@0.1.6.rbi +2922 -0
  170. data/sorbet/rbi/gems/regexp_parser@2.8.3.rbi +3766 -0
  171. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4887 -0
  172. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +7004 -0
  173. data/sorbet/rbi/gems/rubocop@1.57.2.rbi +56919 -0
  174. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  175. data/sorbet/rbi/gems/shoulda-context@2.0.0.rbi +555 -0
  176. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +8 -0
  177. data/sorbet/rbi/gems/simplecov@0.21.2.rbi +8 -0
  178. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +8 -0
  179. data/sorbet/rbi/gems/spoom@1.2.4.rbi +3777 -0
  180. data/sorbet/rbi/gems/sync@0.5.0.rbi +8 -0
  181. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +23136 -0
  182. data/sorbet/rbi/gems/tapioca@0.11.17.rbi +3503 -0
  183. data/sorbet/rbi/gems/term-ansicolor@1.7.1.rbi +8 -0
  184. data/sorbet/rbi/gems/test-unit@3.6.1.rbi +4403 -0
  185. data/sorbet/rbi/gems/thor@1.3.0.rbi +4345 -0
  186. data/sorbet/rbi/gems/tins@1.32.1.rbi +8 -0
  187. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
  188. data/sorbet/rbi/gems/webmock@3.19.1.rbi +1740 -0
  189. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  190. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  191. data/sorbet/tapioca/config.yml +13 -0
  192. data/sorbet/tapioca/require.rb +4 -0
  193. metadata +61 -27
  194. data/lib/stripe/request_signing_authenticator.rb +0 -79
  195. data/lib/stripe/resources/account_notice.rb +0 -29
  196. data/lib/stripe/resources/capital/financing_offer.rb +0 -46
  197. data/lib/stripe/resources/capital/financing_summary.rb +0 -12
  198. data/lib/stripe/resources/capital/financing_transaction.rb +0 -24
  199. data/lib/stripe/resources/confirmation_token.rb +0 -13
  200. data/lib/stripe/resources/customer_entitlement.rb +0 -9
  201. data/lib/stripe/resources/customer_entitlement_summary.rb +0 -9
  202. data/lib/stripe/resources/entitlements/event.rb +0 -23
  203. data/lib/stripe/resources/entitlements/feature.rb +0 -35
  204. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -11
  205. data/lib/stripe/resources/gift_cards/card.rb +0 -56
  206. data/lib/stripe/resources/gift_cards/transaction.rb +0 -90
  207. data/lib/stripe/resources/invoice_payment.rb +0 -9
  208. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -85
  209. data/lib/stripe/resources/issuing/personalization_design.rb +0 -113
  210. data/lib/stripe/resources/issuing/physical_bundle.rb +0 -23
  211. data/lib/stripe/resources/margin.rb +0 -34
  212. data/lib/stripe/resources/order.rb +0 -117
  213. data/lib/stripe/resources/quote_phase.rb +0 -36
  214. data/lib/stripe/resources/quote_preview_invoice.rb +0 -40
  215. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -8
  216. data/lib/stripe/resources/tax/form.rb +0 -46
@@ -12,6 +12,9 @@ module Stripe
12
12
  include Stripe::APIOperations::Save
13
13
 
14
14
  OBJECT_NAME = "customer_balance_transaction"
15
+ def self.object_name
16
+ "customer_balance_transaction"
17
+ end
15
18
 
16
19
  def resource_url
17
20
  if !respond_to?(:customer) || customer.nil?
@@ -8,5 +8,8 @@ module Stripe
8
8
  # to payments, and refunds to the customer.
9
9
  class CustomerCashBalanceTransaction < APIResource
10
10
  OBJECT_NAME = "customer_cash_balance_transaction"
11
+ def self.object_name
12
+ "customer_cash_balance_transaction"
13
+ end
11
14
  end
12
15
  end
@@ -8,6 +8,9 @@ module Stripe
8
8
  extend Stripe::APIOperations::Create
9
9
 
10
10
  OBJECT_NAME = "customer_session"
11
+ def self.object_name
12
+ "customer_session"
13
+ end
11
14
 
12
15
  # Creates a customer session object that includes a single-use client secret that you can use on your front-end to grant client-side API access for certain customer resources.
13
16
  def self.create(params = {}, opts = {})
@@ -8,5 +8,8 @@ module Stripe
8
8
  # Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)
9
9
  class Discount < StripeObject
10
10
  OBJECT_NAME = "discount"
11
+ def self.object_name
12
+ "discount"
13
+ end
11
14
  end
12
15
  end
@@ -12,6 +12,9 @@ module Stripe
12
12
  include Stripe::APIOperations::Save
13
13
 
14
14
  OBJECT_NAME = "dispute"
15
+ def self.object_name
16
+ "dispute"
17
+ end
15
18
 
16
19
  # Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.
17
20
  #
@@ -7,6 +7,9 @@ module Stripe
7
7
  include Stripe::APIOperations::Delete
8
8
 
9
9
  OBJECT_NAME = "ephemeral_key"
10
+ def self.object_name
11
+ "ephemeral_key"
12
+ end
10
13
 
11
14
  def self.create(params = {}, opts = {})
12
15
  opts = Util.normalize_opts(opts)
@@ -36,6 +36,9 @@ module Stripe
36
36
  extend Stripe::APIOperations::List
37
37
 
38
38
  OBJECT_NAME = "event"
39
+ def self.object_name
40
+ "event"
41
+ end
39
42
 
40
43
  # List events, going back up to 30 days. Each event data is rendered according to Stripe API version at its creation time, specified in [event object](https://stripe.com/docs/api/events/object) api_version attribute (not according to your current Stripe API version or Stripe-Version header).
41
44
  def self.list(filters = {}, opts = {})
@@ -32,6 +32,9 @@ module Stripe
32
32
  extend Stripe::APIOperations::List
33
33
 
34
34
  OBJECT_NAME = "exchange_rate"
35
+ def self.object_name
36
+ "exchange_rate"
37
+ end
35
38
 
36
39
  # Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports.
37
40
  def self.list(filters = {}, opts = {})
@@ -14,12 +14,18 @@ module Stripe
14
14
  extend Stripe::APIOperations::List
15
15
 
16
16
  OBJECT_NAME = "file"
17
+ def self.object_name
18
+ "file"
19
+ end
17
20
 
18
21
  # This resource can have two different object names. In latter API
19
22
  # versions, only `file` is used, but since stripe-ruby may be used with
20
23
  # any API version, we need to support deserializing the older
21
24
  # `file_upload` object into the same class.
22
25
  OBJECT_NAME_ALT = "file_upload"
26
+ def self.object_name_alt
27
+ "file_upload"
28
+ end
23
29
 
24
30
  def self.resource_url
25
31
  "/v1/files"
@@ -11,6 +11,9 @@ module Stripe
11
11
  include Stripe::APIOperations::Save
12
12
 
13
13
  OBJECT_NAME = "file_link"
14
+ def self.object_name
15
+ "file_link"
16
+ end
14
17
 
15
18
  # Creates a new file link object.
16
19
  def self.create(params = {}, opts = {})
@@ -6,11 +6,11 @@ module Stripe
6
6
  # A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access.
7
7
  class Account < APIResource
8
8
  extend Stripe::APIOperations::List
9
- extend Stripe::APIOperations::NestedResource
10
9
 
11
10
  OBJECT_NAME = "financial_connections.account"
12
-
13
- nested_resource_class_methods :inferred_balance, operations: %i[list]
11
+ def self.object_name
12
+ "financial_connections.account"
13
+ end
14
14
 
15
15
  # Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).
16
16
  def disconnect(params = {}, opts = {})
@@ -6,6 +6,9 @@ module Stripe
6
6
  # Describes an owner of an account.
7
7
  class AccountOwner < StripeObject
8
8
  OBJECT_NAME = "financial_connections.account_owner"
9
+ def self.object_name
10
+ "financial_connections.account_owner"
11
+ end
9
12
  end
10
13
  end
11
14
  end
@@ -6,6 +6,9 @@ module Stripe
6
6
  # Describes a snapshot of the owners of an account at a particular point in time.
7
7
  class AccountOwnership < StripeObject
8
8
  OBJECT_NAME = "financial_connections.account_ownership"
9
+ def self.object_name
10
+ "financial_connections.account_ownership"
11
+ end
9
12
  end
10
13
  end
11
14
  end
@@ -8,6 +8,9 @@ module Stripe
8
8
  extend Stripe::APIOperations::Create
9
9
 
10
10
  OBJECT_NAME = "financial_connections.session"
11
+ def self.object_name
12
+ "financial_connections.session"
13
+ end
11
14
 
12
15
  # To launch the Financial Connections authorization flow, create a Session. The session's client_secret can be used to launch the flow using Stripe.js.
13
16
  def self.create(params = {}, opts = {})
@@ -8,6 +8,9 @@ module Stripe
8
8
  extend Stripe::APIOperations::List
9
9
 
10
10
  OBJECT_NAME = "financial_connections.transaction"
11
+ def self.object_name
12
+ "financial_connections.transaction"
13
+ end
11
14
 
12
15
  # Returns a list of Financial Connections Transaction objects.
13
16
  def self.list(filters = {}, opts = {})
@@ -9,6 +9,9 @@ module Stripe
9
9
  # Related guide: [Customer balance funding instructions](https://stripe.com/docs/payments/customer-balance/funding-instructions)
10
10
  class FundingInstructions < APIResource
11
11
  OBJECT_NAME = "funding_instructions"
12
+ def self.object_name
13
+ "funding_instructions"
14
+ end
12
15
 
13
16
  def resource_url
14
17
  if !respond_to?(:customer) || customer.nil?
@@ -18,6 +18,9 @@ module Stripe
18
18
  extend Stripe::APIOperations::List
19
19
 
20
20
  OBJECT_NAME = "identity.verification_report"
21
+ def self.object_name
22
+ "identity.verification_report"
23
+ end
21
24
 
22
25
  # List all verification reports.
23
26
  def self.list(filters = {}, opts = {})
@@ -20,6 +20,9 @@ module Stripe
20
20
  include Stripe::APIOperations::Save
21
21
 
22
22
  OBJECT_NAME = "identity.verification_session"
23
+ def self.object_name
24
+ "identity.verification_session"
25
+ end
23
26
 
24
27
  # A VerificationSession object can be canceled when it is in requires_input [status](https://stripe.com/docs/identity/how-sessions-work).
25
28
  #
@@ -40,28 +40,10 @@ module Stripe
40
40
  extend Stripe::APIOperations::List
41
41
  extend Stripe::APIOperations::Search
42
42
  include Stripe::APIOperations::Save
43
- extend Stripe::APIOperations::NestedResource
44
43
 
45
44
  OBJECT_NAME = "invoice"
46
-
47
- nested_resource_class_methods :payment, operations: %i[retrieve list]
48
-
49
- # Attaches a PaymentIntent to the invoice, adding it to the list of payments.
50
- # When the PaymentIntent's status changes to succeeded, the payment is credited
51
- # to the invoice, increasing its amount_paid. When the invoice is fully paid, the
52
- # invoice's status becomes paid.
53
- #
54
- # If the PaymentIntent's status is already succeeded when it is attached, it is
55
- # credited to the invoice immediately.
56
- #
57
- # Related guide: [Create an invoice payment](https://stripe.com/docs/invoicing/payments/create)
58
- def attach_payment_intent(params = {}, opts = {})
59
- request_stripe_object(
60
- method: :post,
61
- path: format("/v1/invoices/%<invoice>s/attach_payment_intent", { invoice: CGI.escape(self["id"]) }),
62
- params: params,
63
- opts: opts
64
- )
45
+ def self.object_name
46
+ "invoice"
65
47
  end
66
48
 
67
49
  # Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method.
@@ -116,38 +98,6 @@ module Stripe
116
98
  )
117
99
  end
118
100
 
119
- # Attaches a PaymentIntent to the invoice, adding it to the list of payments.
120
- # When the PaymentIntent's status changes to succeeded, the payment is credited
121
- # to the invoice, increasing its amount_paid. When the invoice is fully paid, the
122
- # invoice's status becomes paid.
123
- #
124
- # If the PaymentIntent's status is already succeeded when it is attached, it is
125
- # credited to the invoice immediately.
126
- #
127
- # Related guide: [Create an invoice payment](https://stripe.com/docs/invoicing/payments/create)
128
- def self.attach_payment_intent(invoice, params = {}, opts = {})
129
- request_stripe_object(
130
- method: :post,
131
- path: format("/v1/invoices/%<invoice>s/attach_payment_intent", { invoice: CGI.escape(invoice) }),
132
- params: params,
133
- opts: opts
134
- )
135
- end
136
-
137
- # At any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.
138
- #
139
- # Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer's discount.
140
- #
141
- # You can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass a proration_date parameter when doing the actual subscription update. The value passed in should be the same as the subscription_proration_date returned on the upcoming invoice resource. The recommended way to get only the prorations being previewed is to consider only proration line items where period[start] is equal to the subscription_proration_date on the upcoming invoice resource.
142
- def self.create_preview(params = {}, opts = {})
143
- request_stripe_object(
144
- method: :post,
145
- path: "/v1/invoices/create_preview",
146
- params: params,
147
- opts: opts
148
- )
149
- end
150
-
151
101
  # Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method.
152
102
  def self.finalize_invoice(invoice, params = {}, opts = {})
153
103
  request_stripe_object(
@@ -20,6 +20,9 @@ module Stripe
20
20
  include Stripe::APIOperations::Save
21
21
 
22
22
  OBJECT_NAME = "invoiceitem"
23
+ def self.object_name
24
+ "invoiceitem"
25
+ end
23
26
 
24
27
  # Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified.
25
28
  def self.create(params = {}, opts = {})
@@ -4,5 +4,8 @@
4
4
  module Stripe
5
5
  class InvoiceLineItem < StripeObject
6
6
  OBJECT_NAME = "line_item"
7
+ def self.object_name
8
+ "line_item"
9
+ end
7
10
  end
8
11
  end
@@ -13,6 +13,9 @@ module Stripe
13
13
  include Stripe::APIOperations::Save
14
14
 
15
15
  OBJECT_NAME = "issuing.authorization"
16
+ def self.object_name
17
+ "issuing.authorization"
18
+ end
16
19
 
17
20
  # [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://stripe.com/docs/issuing/controls/real-time-authorizations) flow.
18
21
  # This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling).
@@ -84,6 +87,9 @@ module Stripe
84
87
 
85
88
  class TestHelpers < APIResourceTestHelpers
86
89
  RESOURCE_CLASS = Authorization
90
+ def self.resource_class
91
+ "Authorization"
92
+ end
87
93
 
88
94
  # Capture a test-mode authorization.
89
95
  def self.capture(authorization, params = {}, opts = {})
@@ -10,6 +10,9 @@ module Stripe
10
10
  include Stripe::APIOperations::Save
11
11
 
12
12
  OBJECT_NAME = "issuing.card"
13
+ def self.object_name
14
+ "issuing.card"
15
+ end
13
16
 
14
17
  # Creates an Issuing Card object.
15
18
  def self.create(params = {}, opts = {})
@@ -37,6 +40,9 @@ module Stripe
37
40
 
38
41
  class TestHelpers < APIResourceTestHelpers
39
42
  RESOURCE_CLASS = Card
43
+ def self.resource_class
44
+ "Card"
45
+ end
40
46
 
41
47
  # Updates the shipping status of the specified Issuing Card object to delivered.
42
48
  def self.deliver_card(card, params = {}, opts = {})
@@ -12,6 +12,9 @@ module Stripe
12
12
  include Stripe::APIOperations::Save
13
13
 
14
14
  OBJECT_NAME = "issuing.cardholder"
15
+ def self.object_name
16
+ "issuing.cardholder"
17
+ end
15
18
 
16
19
  # Creates a new Issuing Cardholder object that can be issued cards.
17
20
  def self.create(params = {}, opts = {})
@@ -12,6 +12,9 @@ module Stripe
12
12
  include Stripe::APIOperations::Save
13
13
 
14
14
  OBJECT_NAME = "issuing.dispute"
15
+ def self.object_name
16
+ "issuing.dispute"
17
+ end
15
18
 
16
19
  # Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute's reason are present. For more details, see [Dispute reasons and evidence](https://stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence).
17
20
  def submit(params = {}, opts = {})
@@ -9,6 +9,9 @@ module Stripe
9
9
  include Stripe::APIOperations::Save
10
10
 
11
11
  OBJECT_NAME = "issuing.token"
12
+ def self.object_name
13
+ "issuing.token"
14
+ end
12
15
 
13
16
  # Lists all Issuing Token objects for a given card.
14
17
  def self.list(filters = {}, opts = {})
@@ -13,6 +13,9 @@ module Stripe
13
13
  include Stripe::APIOperations::Save
14
14
 
15
15
  OBJECT_NAME = "issuing.transaction"
16
+ def self.object_name
17
+ "issuing.transaction"
18
+ end
16
19
 
17
20
  # Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
18
21
  def self.list(filters = {}, opts = {})
@@ -40,6 +43,9 @@ module Stripe
40
43
 
41
44
  class TestHelpers < APIResourceTestHelpers
42
45
  RESOURCE_CLASS = Transaction
46
+ def self.resource_class
47
+ "Transaction"
48
+ end
43
49
 
44
50
  # Allows the user to capture an arbitrary amount, also known as a forced capture.
45
51
  def self.create_force_capture(params = {}, opts = {})
@@ -5,5 +5,8 @@ module Stripe
5
5
  # A line item.
6
6
  class LineItem < APIResource
7
7
  OBJECT_NAME = "item"
8
+ def self.object_name
9
+ "item"
10
+ end
8
11
  end
9
12
  end
@@ -5,6 +5,9 @@ module Stripe
5
5
  # Login Links are single-use login link for an Express account to access their Stripe dashboard.
6
6
  class LoginLink < APIResource
7
7
  OBJECT_NAME = "login_link"
8
+ def self.object_name
9
+ "login_link"
10
+ end
8
11
 
9
12
  def self.retrieve(_id, _opts = nil)
10
13
  raise NotImplementedError,
@@ -5,5 +5,8 @@ module Stripe
5
5
  # A Mandate is a record of the permission that your customer gives you to debit their payment method.
6
6
  class Mandate < APIResource
7
7
  OBJECT_NAME = "mandate"
8
+ def self.object_name
9
+ "mandate"
10
+ end
8
11
  end
9
12
  end
@@ -20,6 +20,9 @@ module Stripe
20
20
  include Stripe::APIOperations::Save
21
21
 
22
22
  OBJECT_NAME = "payment_intent"
23
+ def self.object_name
24
+ "payment_intent"
25
+ end
23
26
 
24
27
  # Manually reconcile the remaining amount for a customer_balance PaymentIntent.
25
28
  def apply_customer_balance(params = {}, opts = {})
@@ -80,8 +83,7 @@ module Stripe
80
83
  # return to the requires_confirmation state
81
84
  # after those actions are completed. Your server needs to then
82
85
  # explicitly re-confirm the PaymentIntent to initiate the next payment
83
- # attempt. Read the [expanded documentation](https://stripe.com/docs/payments/payment-intents/web-manual)
84
- # to learn more about manual confirmation.
86
+ # attempt.
85
87
  def confirm(params = {}, opts = {})
86
88
  request_stripe_object(
87
89
  method: :post,
@@ -193,8 +195,7 @@ module Stripe
193
195
  # return to the requires_confirmation state
194
196
  # after those actions are completed. Your server needs to then
195
197
  # explicitly re-confirm the PaymentIntent to initiate the next payment
196
- # attempt. Read the [expanded documentation](https://stripe.com/docs/payments/payment-intents/web-manual)
197
- # to learn more about manual confirmation.
198
+ # attempt.
198
199
  def self.confirm(intent, params = {}, opts = {})
199
200
  request_stripe_object(
200
201
  method: :post,
@@ -13,6 +13,9 @@ module Stripe
13
13
  include Stripe::APIOperations::Save
14
14
 
15
15
  OBJECT_NAME = "payment_link"
16
+ def self.object_name
17
+ "payment_link"
18
+ end
16
19
 
17
20
  # When retrieving a payment link, 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.
18
21
  def list_line_items(params = {}, opts = {})
@@ -13,6 +13,9 @@ module Stripe
13
13
  include Stripe::APIOperations::Save
14
14
 
15
15
  OBJECT_NAME = "payment_method"
16
+ def self.object_name
17
+ "payment_method"
18
+ end
16
19
 
17
20
  # Attaches a PaymentMethod object to a Customer.
18
21
  #
@@ -22,6 +22,9 @@ module Stripe
22
22
  include Stripe::APIOperations::Save
23
23
 
24
24
  OBJECT_NAME = "payment_method_configuration"
25
+ def self.object_name
26
+ "payment_method_configuration"
27
+ end
25
28
 
26
29
  # Creates a payment method configuration
27
30
  def self.create(params = {}, opts = {})
@@ -12,6 +12,9 @@ module Stripe
12
12
  include Stripe::APIOperations::Save
13
13
 
14
14
  OBJECT_NAME = "payment_method_domain"
15
+ def self.object_name
16
+ "payment_method_domain"
17
+ end
15
18
 
16
19
  # Some payment methods such as Apple Pay require additional steps to verify a domain. If the requirements weren't satisfied when the domain was created, the payment method will be inactive on the domain.
17
20
  # The payment method doesn't appear in Elements for this domain until it is active.
@@ -16,6 +16,9 @@ module Stripe
16
16
  include Stripe::APIOperations::Save
17
17
 
18
18
  OBJECT_NAME = "payout"
19
+ def self.object_name
20
+ "payout"
21
+ end
19
22
 
20
23
  # You can cancel a previously created payout if its status is pending. Stripe refunds the funds to your available balance. You can't cancel automatic Stripe payouts.
21
24
  def cancel(params = {}, opts = {})
@@ -12,6 +12,9 @@ module Stripe
12
12
  include Stripe::APIOperations::Save
13
13
 
14
14
  OBJECT_NAME = "person"
15
+ def self.object_name
16
+ "person"
17
+ end
15
18
 
16
19
  def resource_url
17
20
  if !respond_to?(:account) || account.nil?
@@ -17,6 +17,9 @@ module Stripe
17
17
  include Stripe::APIOperations::Save
18
18
 
19
19
  OBJECT_NAME = "plan"
20
+ def self.object_name
21
+ "plan"
22
+ end
20
23
 
21
24
  # You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration.
22
25
  def self.create(params = {}, opts = {})
@@ -15,6 +15,9 @@ module Stripe
15
15
  include Stripe::APIOperations::Save
16
16
 
17
17
  OBJECT_NAME = "price"
18
+ def self.object_name
19
+ "price"
20
+ end
18
21
 
19
22
  # Creates a new price for an existing product. The price can be recurring or one-time.
20
23
  def self.create(params = {}, opts = {})
@@ -18,6 +18,9 @@ module Stripe
18
18
  include Stripe::APIOperations::Save
19
19
 
20
20
  OBJECT_NAME = "product"
21
+ def self.object_name
22
+ "product"
23
+ end
21
24
 
22
25
  # Creates a new product object.
23
26
  def self.create(params = {}, opts = {})
@@ -10,6 +10,9 @@ module Stripe
10
10
  include Stripe::APIOperations::Save
11
11
 
12
12
  OBJECT_NAME = "promotion_code"
13
+ def self.object_name
14
+ "promotion_code"
15
+ end
13
16
 
14
17
  # A promotion code points to a coupon. You can optionally restrict the code to a specific customer, redemption limit, and expiration date.
15
18
  def self.create(params = {}, opts = {})