stripe 10.2.0.pre.beta.1 → 10.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +51 -239
  3. data/Gemfile +5 -2
  4. data/OPENAPI_VERSION +1 -1
  5. data/README.md +0 -11
  6. data/Rakefile +7 -5
  7. data/VERSION +1 -1
  8. data/bin/stripe-console +1 -1
  9. data/lib/stripe/api_operations/request.rb +3 -7
  10. data/lib/stripe/api_operations/save.rb +5 -7
  11. data/lib/stripe/api_resource_test_helpers.rb +2 -2
  12. data/lib/stripe/api_version.rb +0 -1
  13. data/lib/stripe/connection_manager.rb +4 -6
  14. data/lib/stripe/errors.rb +3 -11
  15. data/lib/stripe/instrumentation.rb +5 -21
  16. data/lib/stripe/multipart_encoder.rb +7 -7
  17. data/lib/stripe/oauth.rb +6 -6
  18. data/lib/stripe/object_types.rb +3 -21
  19. data/lib/stripe/resources/account.rb +6 -10
  20. data/lib/stripe/resources/alipay_account.rb +1 -1
  21. data/lib/stripe/resources/application_fee_refund.rb +1 -1
  22. data/lib/stripe/resources/bank_account.rb +2 -2
  23. data/lib/stripe/resources/capability.rb +1 -1
  24. data/lib/stripe/resources/climate/order.rb +34 -0
  25. data/lib/stripe/resources/climate/product.rb +14 -0
  26. data/lib/stripe/resources/climate/supplier.rb +13 -0
  27. data/lib/stripe/resources/event.rb +2 -2
  28. data/lib/stripe/resources/file.rb +2 -4
  29. data/lib/stripe/resources/financial_connections/account.rb +0 -39
  30. data/lib/stripe/resources/invoice.rb +0 -21
  31. data/lib/stripe/resources/quote.rb +0 -94
  32. data/lib/stripe/resources/reversal.rb +1 -1
  33. data/lib/stripe/resources/subscription_schedule.rb +0 -18
  34. data/lib/stripe/resources/tax_id.rb +1 -1
  35. data/lib/stripe/resources/terminal/reader.rb +0 -54
  36. data/lib/stripe/resources.rb +3 -20
  37. data/lib/stripe/stripe_client.rb +51 -102
  38. data/lib/stripe/stripe_configuration.rb +13 -31
  39. data/lib/stripe/stripe_object.rb +15 -18
  40. data/lib/stripe/stripe_response.rb +1 -3
  41. data/lib/stripe/util.rb +11 -20
  42. data/lib/stripe/version.rb +1 -1
  43. data/lib/stripe.rb +0 -46
  44. data/stripe.gemspec +3 -2
  45. metadata +8 -25
  46. data/lib/stripe/request_signing_authenticator.rb +0 -83
  47. data/lib/stripe/resources/account_notice.rb +0 -14
  48. data/lib/stripe/resources/capital/financing_offer.rb +0 -32
  49. data/lib/stripe/resources/capital/financing_summary.rb +0 -12
  50. data/lib/stripe/resources/capital/financing_transaction.rb +0 -13
  51. data/lib/stripe/resources/confirmation_token.rb +0 -11
  52. data/lib/stripe/resources/customer_session.rb +0 -12
  53. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -13
  54. data/lib/stripe/resources/financial_connections/transaction.rb +0 -13
  55. data/lib/stripe/resources/gift_cards/card.rb +0 -25
  56. data/lib/stripe/resources/gift_cards/transaction.rb +0 -56
  57. data/lib/stripe/resources/invoice_payment.rb +0 -11
  58. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -69
  59. data/lib/stripe/resources/issuing/personalization_design.rb +0 -77
  60. data/lib/stripe/resources/issuing/physical_bundle.rb +0 -13
  61. data/lib/stripe/resources/margin.rb +0 -14
  62. data/lib/stripe/resources/order.rb +0 -89
  63. data/lib/stripe/resources/quote_phase.rb +0 -29
  64. data/lib/stripe/resources/quote_preview_invoice.rb +0 -42
  65. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -10
  66. data/lib/stripe/resources/tax/form.rb +0 -39
data/lib/stripe/errors.rb CHANGED
@@ -4,22 +4,14 @@ module Stripe
4
4
  # StripeError is the base error from which all other more specific Stripe
5
5
  # errors derive.
6
6
  class StripeError < StandardError
7
- attr_reader :message
7
+ attr_reader :message, :code, :error, :http_body, :http_headers, :http_status, :json_body, :request_id
8
8
 
9
9
  # Response contains a StripeResponse object that has some basic information
10
10
  # about the response that conveyed the error.
11
- attr_accessor :response
12
-
13
- attr_reader :code
14
- attr_reader :error
15
- attr_reader :http_body
16
- attr_reader :http_headers
17
- attr_reader :http_status
18
- attr_reader :json_body # equivalent to #data
19
- attr_reader :request_id
11
+ attr_accessor :response # equivalent to #data
20
12
 
21
13
  # Initializes a StripeError.
22
- def initialize(message = nil, http_status: nil, http_body: nil,
14
+ def initialize(message = nil, http_status: nil, http_body: nil, # rubocop:todo Lint/MissingSuper
23
15
  json_body: nil, http_headers: nil, code: nil)
24
16
  @message = message
25
17
  @http_status = http_status
@@ -4,8 +4,7 @@ module Stripe
4
4
  class Instrumentation
5
5
  # Event emitted on `request_begin` callback.
6
6
  class RequestBeginEvent
7
- attr_reader :method
8
- attr_reader :path
7
+ attr_reader :method, :path
9
8
 
10
9
  # Arbitrary user-provided data in the form of a Ruby hash that's passed
11
10
  # from subscribers on `request_begin` to subscribers on `request_end`.
@@ -27,16 +26,8 @@ module Stripe
27
26
 
28
27
  # Event emitted on `request_end` callback.
29
28
  class RequestEndEvent
30
- attr_reader :duration
31
- attr_reader :http_status
32
- attr_reader :method
33
- attr_reader :num_retries
34
- attr_reader :path
35
- attr_reader :request_id
36
- attr_reader :response_header
37
- attr_reader :response_body
38
- attr_reader :request_header
39
- attr_reader :request_body
29
+ attr_reader :duration, :http_status, :method, :num_retries, :path, :request_id, :response_header, :response_body,
30
+ :request_header, :request_body
40
31
 
41
32
  # Arbitrary user-provided data in the form of a Ruby hash that's passed
42
33
  # from subscribers on `request_begin` to subscribers on `request_end`.
@@ -62,12 +53,7 @@ module Stripe
62
53
  end
63
54
 
64
55
  class RequestContext
65
- attr_reader :duration
66
- attr_reader :method
67
- attr_reader :path
68
- attr_reader :request_id
69
- attr_reader :body
70
- attr_reader :header
56
+ attr_reader :duration, :method, :path, :request_id, :body, :header
71
57
 
72
58
  def initialize(duration:, context:, header:)
73
59
  @duration = duration
@@ -80,9 +66,7 @@ module Stripe
80
66
  end
81
67
 
82
68
  class ResponseContext
83
- attr_reader :http_status
84
- attr_reader :body
85
- attr_reader :header
69
+ attr_reader :http_status, :body, :header
86
70
 
87
71
  def initialize(http_status:, response:)
88
72
  @http_status = http_status
@@ -106,22 +106,22 @@ module Stripe
106
106
  end
107
107
 
108
108
  private def write_field(name, data, filename:)
109
- if !@first_field
110
- @body << "\r\n"
111
- else
109
+ if @first_field
112
110
  @first_field = false
111
+ else
112
+ @body << "\r\n"
113
113
  end
114
114
 
115
115
  @body << "--#{@boundary}\r\n"
116
116
 
117
117
  if filename
118
- @body << %(Content-Disposition: form-data) +
118
+ @body << (%(Content-Disposition: form-data) +
119
119
  %(; name="#{escape(name.to_s)}") +
120
- %(; filename="#{escape(filename)}"\r\n)
120
+ %(; filename="#{escape(filename)}"\r\n))
121
121
  @body << %(Content-Type: application/octet-stream\r\n)
122
122
  else
123
- @body << %(Content-Disposition: form-data) +
124
- %(; name="#{escape(name.to_s)}"\r\n)
123
+ @body << (%(Content-Disposition: form-data) +
124
+ %(; name="#{escape(name.to_s)}"\r\n))
125
125
  end
126
126
 
127
127
  @body << "\r\n"
data/lib/stripe/oauth.rb CHANGED
@@ -18,12 +18,12 @@ module Stripe
18
18
  client_id = params[:client_id] || Stripe.client_id
19
19
  unless client_id
20
20
  raise AuthenticationError, "No client_id provided. " \
21
- 'Set your client_id using "Stripe.client_id = <CLIENT-ID>". ' \
22
- "You can find your client_ids in your Stripe dashboard at " \
23
- "https://dashboard.stripe.com/account/applications/settings, " \
24
- "after registering your account as a platform. See " \
25
- "https://stripe.com/docs/connect/standalone-accounts for details, " \
26
- "or email support@stripe.com if you have any questions."
21
+ 'Set your client_id using "Stripe.client_id = <CLIENT-ID>". ' \
22
+ "You can find your client_ids in your Stripe dashboard at " \
23
+ "https://dashboard.stripe.com/account/applications/settings, " \
24
+ "after registering your account as a platform. See " \
25
+ "https://stripe.com/docs/connect/standalone-accounts for details, " \
26
+ "or email support@stripe.com if you have any questions."
27
27
  end
28
28
  client_id
29
29
  end
@@ -14,7 +14,6 @@ module Stripe
14
14
  # business objects
15
15
  Account::OBJECT_NAME => Account,
16
16
  AccountLink::OBJECT_NAME => AccountLink,
17
- AccountNotice::OBJECT_NAME => AccountNotice,
18
17
  AccountSession::OBJECT_NAME => AccountSession,
19
18
  ApplePayDomain::OBJECT_NAME => ApplePayDomain,
20
19
  ApplicationFee::OBJECT_NAME => ApplicationFee,
@@ -26,14 +25,13 @@ module Stripe
26
25
  BillingPortal::Configuration::OBJECT_NAME => BillingPortal::Configuration,
27
26
  BillingPortal::Session::OBJECT_NAME => BillingPortal::Session,
28
27
  Capability::OBJECT_NAME => Capability,
29
- Capital::FinancingOffer::OBJECT_NAME => Capital::FinancingOffer,
30
- Capital::FinancingSummary::OBJECT_NAME => Capital::FinancingSummary,
31
- Capital::FinancingTransaction::OBJECT_NAME => Capital::FinancingTransaction,
32
28
  Card::OBJECT_NAME => Card,
33
29
  CashBalance::OBJECT_NAME => CashBalance,
34
30
  Charge::OBJECT_NAME => Charge,
35
31
  Checkout::Session::OBJECT_NAME => Checkout::Session,
36
- ConfirmationToken::OBJECT_NAME => ConfirmationToken,
32
+ Climate::Order::OBJECT_NAME => Climate::Order,
33
+ Climate::Product::OBJECT_NAME => Climate::Product,
34
+ Climate::Supplier::OBJECT_NAME => Climate::Supplier,
37
35
  CountrySpec::OBJECT_NAME => CountrySpec,
38
36
  Coupon::OBJECT_NAME => Coupon,
39
37
  CreditNote::OBJECT_NAME => CreditNote,
@@ -41,7 +39,6 @@ module Stripe
41
39
  Customer::OBJECT_NAME => Customer,
42
40
  CustomerBalanceTransaction::OBJECT_NAME => CustomerBalanceTransaction,
43
41
  CustomerCashBalanceTransaction::OBJECT_NAME => CustomerCashBalanceTransaction,
44
- CustomerSession::OBJECT_NAME => CustomerSession,
45
42
  Discount::OBJECT_NAME => Discount,
46
43
  Dispute::OBJECT_NAME => Dispute,
47
44
  EphemeralKey::OBJECT_NAME => EphemeralKey,
@@ -51,36 +48,25 @@ module Stripe
51
48
  File::OBJECT_NAME_ALT => File,
52
49
  FileLink::OBJECT_NAME => FileLink,
53
50
  FinancialConnections::Account::OBJECT_NAME => FinancialConnections::Account,
54
- FinancialConnections::AccountInferredBalance::OBJECT_NAME =>
55
- FinancialConnections::AccountInferredBalance,
56
51
  FinancialConnections::AccountOwner::OBJECT_NAME => FinancialConnections::AccountOwner,
57
52
  FinancialConnections::AccountOwnership::OBJECT_NAME =>
58
53
  FinancialConnections::AccountOwnership,
59
54
  FinancialConnections::Session::OBJECT_NAME => FinancialConnections::Session,
60
- FinancialConnections::Transaction::OBJECT_NAME => FinancialConnections::Transaction,
61
55
  FundingInstructions::OBJECT_NAME => FundingInstructions,
62
- GiftCards::Card::OBJECT_NAME => GiftCards::Card,
63
- GiftCards::Transaction::OBJECT_NAME => GiftCards::Transaction,
64
56
  Identity::VerificationReport::OBJECT_NAME => Identity::VerificationReport,
65
57
  Identity::VerificationSession::OBJECT_NAME => Identity::VerificationSession,
66
58
  Invoice::OBJECT_NAME => Invoice,
67
59
  InvoiceItem::OBJECT_NAME => InvoiceItem,
68
60
  InvoiceLineItem::OBJECT_NAME => InvoiceLineItem,
69
- InvoicePayment::OBJECT_NAME => InvoicePayment,
70
61
  Issuing::Authorization::OBJECT_NAME => Issuing::Authorization,
71
62
  Issuing::Card::OBJECT_NAME => Issuing::Card,
72
63
  Issuing::Cardholder::OBJECT_NAME => Issuing::Cardholder,
73
- Issuing::CreditUnderwritingRecord::OBJECT_NAME => Issuing::CreditUnderwritingRecord,
74
64
  Issuing::Dispute::OBJECT_NAME => Issuing::Dispute,
75
- Issuing::PersonalizationDesign::OBJECT_NAME => Issuing::PersonalizationDesign,
76
- Issuing::PhysicalBundle::OBJECT_NAME => Issuing::PhysicalBundle,
77
65
  Issuing::Token::OBJECT_NAME => Issuing::Token,
78
66
  Issuing::Transaction::OBJECT_NAME => Issuing::Transaction,
79
67
  LineItem::OBJECT_NAME => LineItem,
80
68
  LoginLink::OBJECT_NAME => LoginLink,
81
69
  Mandate::OBJECT_NAME => Mandate,
82
- Margin::OBJECT_NAME => Margin,
83
- Order::OBJECT_NAME => Order,
84
70
  PaymentIntent::OBJECT_NAME => PaymentIntent,
85
71
  PaymentLink::OBJECT_NAME => PaymentLink,
86
72
  PaymentMethod::OBJECT_NAME => PaymentMethod,
@@ -93,9 +79,6 @@ module Stripe
93
79
  Product::OBJECT_NAME => Product,
94
80
  PromotionCode::OBJECT_NAME => PromotionCode,
95
81
  Quote::OBJECT_NAME => Quote,
96
- QuotePhase::OBJECT_NAME => QuotePhase,
97
- QuotePreviewInvoice::OBJECT_NAME => QuotePreviewInvoice,
98
- QuotePreviewSubscriptionSchedule::OBJECT_NAME => QuotePreviewSubscriptionSchedule,
99
82
  Radar::EarlyFraudWarning::OBJECT_NAME => Radar::EarlyFraudWarning,
100
83
  Radar::ValueList::OBJECT_NAME => Radar::ValueList,
101
84
  Radar::ValueListItem::OBJECT_NAME => Radar::ValueListItem,
@@ -115,7 +98,6 @@ module Stripe
115
98
  SubscriptionSchedule::OBJECT_NAME => SubscriptionSchedule,
116
99
  Tax::Calculation::OBJECT_NAME => Tax::Calculation,
117
100
  Tax::CalculationLineItem::OBJECT_NAME => Tax::CalculationLineItem,
118
- Tax::Form::OBJECT_NAME => Tax::Form,
119
101
  Tax::Registration::OBJECT_NAME => Tax::Registration,
120
102
  Tax::Settings::OBJECT_NAME => Tax::Settings,
121
103
  Tax::Transaction::OBJECT_NAME => Tax::Transaction,
@@ -123,17 +123,13 @@ module Stripe
123
123
  end
124
124
 
125
125
  def serialize_params_account(_obj, update_hash, options = {})
126
- if (entity = @values[:legal_entity])
127
- if (owners = entity[:additional_owners])
128
- entity_update = update_hash[:legal_entity] ||= {}
129
- entity_update[:additional_owners] =
130
- serialize_additional_owners(entity, owners)
131
- end
126
+ if (entity = @values[:legal_entity]) && (owners = entity[:additional_owners])
127
+ entity_update = update_hash[:legal_entity] ||= {}
128
+ entity_update[:additional_owners] =
129
+ serialize_additional_owners(entity, owners)
132
130
  end
133
- if (individual = @values[:individual])
134
- if individual.is_a?(Person) && !update_hash.key?(:individual)
135
- update_hash[:individual] = individual.serialize_params(options)
136
- end
131
+ if (individual = @values[:individual]) && (individual.is_a?(Person) && !update_hash.key?(:individual))
132
+ update_hash[:individual] = individual.serialize_params(options)
137
133
  end
138
134
  update_hash
139
135
  end
@@ -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)
@@ -15,7 +15,7 @@ module Stripe
15
15
 
16
16
  def resource_url
17
17
  "#{ApplicationFee.resource_url}/#{CGI.escape(fee)}/refunds" \
18
- "/#{CGI.escape(id)}"
18
+ "/#{CGI.escape(id)}"
19
19
  end
20
20
 
21
21
  def self.update(_id, _params = nil, _opts = nil)
@@ -31,8 +31,8 @@ module Stripe
31
31
 
32
32
  def self.update(_id, _params = nil, _opts = nil)
33
33
  raise NotImplementedError,
34
- "Bank accounts cannot be updated without a customer ID or an " \
35
- " account ID. Update a bank account using " \
34
+ "Bank accounts cannot be updated without a customer ID or an " \
35
+ "account ID. Update a bank account using " \
36
36
  "`Customer.update_source('customer_id', 'bank_account_id', " \
37
37
  "update_params)` or `Account.update_external_account(" \
38
38
  "'account_id', 'bank_account_id', update_params)`"
@@ -17,7 +17,7 @@ module Stripe
17
17
  "Capabilities cannot be accessed without an account ID."
18
18
  end
19
19
  "#{Account.resource_url}/#{CGI.escape(account)}/capabilities" \
20
- "/#{CGI.escape(id)}"
20
+ "/#{CGI.escape(id)}"
21
21
  end
22
22
 
23
23
  def self.retrieve(_id, _opts = {})
@@ -0,0 +1,34 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Climate
6
+ # Orders represent your intent to purchase a particular Climate product. When you create an order, the
7
+ # payment is deducted from your merchant balance.
8
+ class Order < APIResource
9
+ extend Stripe::APIOperations::Create
10
+ extend Stripe::APIOperations::List
11
+ include Stripe::APIOperations::Save
12
+
13
+ OBJECT_NAME = "climate.order"
14
+
15
+ def cancel(params = {}, opts = {})
16
+ request_stripe_object(
17
+ method: :post,
18
+ path: format("/v1/climate/orders/%<order>s/cancel", { order: CGI.escape(self["id"]) }),
19
+ params: params,
20
+ opts: opts
21
+ )
22
+ end
23
+
24
+ def self.cancel(order, params = {}, opts = {})
25
+ request_stripe_object(
26
+ method: :post,
27
+ path: format("/v1/climate/orders/%<order>s/cancel", { order: CGI.escape(order) }),
28
+ params: params,
29
+ opts: opts
30
+ )
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,14 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Climate
6
+ # A Climate product represents a type of carbon removal unit available for reservation.
7
+ # You can retrieve it to see the current price and availability.
8
+ class Product < APIResource
9
+ extend Stripe::APIOperations::List
10
+
11
+ OBJECT_NAME = "climate.product"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ module Climate
6
+ # A supplier of carbon removal.
7
+ class Supplier < APIResource
8
+ extend Stripe::APIOperations::List
9
+
10
+ OBJECT_NAME = "climate.supplier"
11
+ end
12
+ end
13
+ end
@@ -23,8 +23,8 @@ module Stripe
23
23
  # `Event` objects directly to an endpoint on your server. You can manage
24
24
  # webhooks in your
25
25
  # [account settings](https://dashboard.stripe.com/account/webhooks). Learn how
26
- # to [listen for events]
27
- # (/docs/webhooks) so that your integration can automatically trigger reactions.
26
+ # to [listen for events](https://stripe.com/docs/webhooks)
27
+ # so that your integration can automatically trigger reactions.
28
28
  #
29
29
  # When using [Connect](https://stripe.com/docs/connect), you can also receive event notifications
30
30
  # that occur in connected accounts. For these events, there's an
@@ -26,10 +26,8 @@ module Stripe
26
26
  end
27
27
 
28
28
  def self.create(params = {}, opts = {})
29
- if params[:file] && !params[:file].is_a?(String)
30
- unless params[:file].respond_to?(:read)
31
- raise ArgumentError, "file must respond to `#read`"
32
- end
29
+ if params[:file] && !params[:file].is_a?(String) && !params[:file].respond_to?(:read)
30
+ raise ArgumentError, "file must respond to `#read`"
33
31
  end
34
32
 
35
33
  config = opts[:client]&.config || Stripe.config
@@ -6,12 +6,9 @@ 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
11
 
13
- nested_resource_class_methods :inferred_balance, operations: %i[list]
14
-
15
12
  def disconnect(params = {}, opts = {})
16
13
  request_stripe_object(
17
14
  method: :post,
@@ -39,24 +36,6 @@ module Stripe
39
36
  )
40
37
  end
41
38
 
42
- def subscribe(params = {}, opts = {})
43
- request_stripe_object(
44
- method: :post,
45
- path: format("/v1/financial_connections/accounts/%<account>s/subscribe", { account: CGI.escape(self["id"]) }),
46
- params: params,
47
- opts: opts
48
- )
49
- end
50
-
51
- def unsubscribe(params = {}, opts = {})
52
- request_stripe_object(
53
- method: :post,
54
- path: format("/v1/financial_connections/accounts/%<account>s/unsubscribe", { account: CGI.escape(self["id"]) }),
55
- params: params,
56
- opts: opts
57
- )
58
- end
59
-
60
39
  def self.disconnect(account, params = {}, opts = {})
61
40
  request_stripe_object(
62
41
  method: :post,
@@ -83,24 +62,6 @@ module Stripe
83
62
  opts: opts
84
63
  )
85
64
  end
86
-
87
- def self.subscribe(account, params = {}, opts = {})
88
- request_stripe_object(
89
- method: :post,
90
- path: format("/v1/financial_connections/accounts/%<account>s/subscribe", { account: CGI.escape(account) }),
91
- params: params,
92
- opts: opts
93
- )
94
- end
95
-
96
- def self.unsubscribe(account, params = {}, opts = {})
97
- request_stripe_object(
98
- method: :post,
99
- path: format("/v1/financial_connections/accounts/%<account>s/unsubscribe", { account: CGI.escape(account) }),
100
- params: params,
101
- opts: opts
102
- )
103
- end
104
65
  end
105
66
  end
106
67
  end
@@ -40,21 +40,9 @@ 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
45
 
47
- nested_resource_class_methods :payment, operations: %i[retrieve list]
48
-
49
- def attach_payment_intent(params = {}, opts = {})
50
- request_stripe_object(
51
- method: :post,
52
- path: format("/v1/invoices/%<invoice>s/attach_payment_intent", { invoice: CGI.escape(self["id"]) }),
53
- params: params,
54
- opts: opts
55
- )
56
- end
57
-
58
46
  def finalize_invoice(params = {}, opts = {})
59
47
  request_stripe_object(
60
48
  method: :post,
@@ -100,15 +88,6 @@ module Stripe
100
88
  )
101
89
  end
102
90
 
103
- def self.attach_payment_intent(invoice, params = {}, opts = {})
104
- request_stripe_object(
105
- method: :post,
106
- path: format("/v1/invoices/%<invoice>s/attach_payment_intent", { invoice: CGI.escape(invoice) }),
107
- params: params,
108
- opts: opts
109
- )
110
- end
111
-
112
91
  def self.finalize_invoice(invoice, params = {}, opts = {})
113
92
  request_stripe_object(
114
93
  method: :post,
@@ -8,13 +8,9 @@ module Stripe
8
8
  extend Stripe::APIOperations::Create
9
9
  extend Stripe::APIOperations::List
10
10
  include Stripe::APIOperations::Save
11
- extend Stripe::APIOperations::NestedResource
12
11
 
13
12
  OBJECT_NAME = "quote"
14
13
 
15
- nested_resource_class_methods :preview_invoice, operations: %i[list]
16
- nested_resource_class_methods :preview_subscription_schedule, operations: %i[list]
17
-
18
14
  def accept(params = {}, opts = {})
19
15
  request_stripe_object(
20
16
  method: :post,
@@ -60,42 +56,6 @@ module Stripe
60
56
  )
61
57
  end
62
58
 
63
- def list_lines(params = {}, opts = {})
64
- request_stripe_object(
65
- method: :get,
66
- path: format("/v1/quotes/%<quote>s/lines", { quote: CGI.escape(self["id"]) }),
67
- params: params,
68
- opts: opts
69
- )
70
- end
71
-
72
- def list_preview_invoice_lines(preview_invoice, params = {}, opts = {})
73
- request_stripe_object(
74
- method: :get,
75
- path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(self["id"]), preview_invoice: CGI.escape(preview_invoice) }),
76
- params: params,
77
- opts: opts
78
- )
79
- end
80
-
81
- def mark_draft(params = {}, opts = {})
82
- request_stripe_object(
83
- method: :post,
84
- path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(self["id"]) }),
85
- params: params,
86
- opts: opts
87
- )
88
- end
89
-
90
- def mark_stale(params = {}, opts = {})
91
- request_stripe_object(
92
- method: :post,
93
- path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(self["id"]) }),
94
- params: params,
95
- opts: opts
96
- )
97
- end
98
-
99
59
  def pdf(params = {}, opts = {}, &read_body_chunk_block)
100
60
  config = opts[:client]&.config || Stripe.config
101
61
  opts = { api_base: config.uploads_base }.merge(opts)
@@ -108,15 +68,6 @@ module Stripe
108
68
  )
109
69
  end
110
70
 
111
- def reestimate(params = {}, opts = {})
112
- request_stripe_object(
113
- method: :post,
114
- path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(self["id"]) }),
115
- params: params,
116
- opts: opts
117
- )
118
- end
119
-
120
71
  def self.accept(quote, params = {}, opts = {})
121
72
  request_stripe_object(
122
73
  method: :post,
@@ -162,42 +113,6 @@ module Stripe
162
113
  )
163
114
  end
164
115
 
165
- def self.list_lines(quote, params = {}, opts = {})
166
- request_stripe_object(
167
- method: :get,
168
- path: format("/v1/quotes/%<quote>s/lines", { quote: CGI.escape(quote) }),
169
- params: params,
170
- opts: opts
171
- )
172
- end
173
-
174
- def self.list_preview_invoice_lines(quote, preview_invoice, params = {}, opts = {})
175
- request_stripe_object(
176
- method: :get,
177
- path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(quote), preview_invoice: CGI.escape(preview_invoice) }),
178
- params: params,
179
- opts: opts
180
- )
181
- end
182
-
183
- def self.mark_draft(quote, params = {}, opts = {})
184
- request_stripe_object(
185
- method: :post,
186
- path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(quote) }),
187
- params: params,
188
- opts: opts
189
- )
190
- end
191
-
192
- def self.mark_stale(quote, params = {}, opts = {})
193
- request_stripe_object(
194
- method: :post,
195
- path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(quote) }),
196
- params: params,
197
- opts: opts
198
- )
199
- end
200
-
201
116
  def self.pdf(quote, params = {}, opts = {}, &read_body_chunk_block)
202
117
  config = opts[:client]&.config || Stripe.config
203
118
  opts = { api_base: config.uploads_base }.merge(opts)
@@ -209,14 +124,5 @@ module Stripe
209
124
  &read_body_chunk_block
210
125
  )
211
126
  end
212
-
213
- def self.reestimate(quote, params = {}, opts = {})
214
- request_stripe_object(
215
- method: :post,
216
- path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(quote) }),
217
- params: params,
218
- opts: opts
219
- )
220
- end
221
127
  end
222
128
  end
@@ -23,7 +23,7 @@ module Stripe
23
23
 
24
24
  def resource_url
25
25
  "#{Transfer.resource_url}/#{CGI.escape(transfer)}/reversals" \
26
- "/#{CGI.escape(id)}"
26
+ "/#{CGI.escape(id)}"
27
27
  end
28
28
 
29
29
  def self.update(_id, _params = nil, _opts = nil)
@@ -12,15 +12,6 @@ module Stripe
12
12
 
13
13
  OBJECT_NAME = "subscription_schedule"
14
14
 
15
- def amend(params = {}, opts = {})
16
- request_stripe_object(
17
- method: :post,
18
- path: format("/v1/subscription_schedules/%<schedule>s/amend", { schedule: CGI.escape(self["id"]) }),
19
- params: params,
20
- opts: opts
21
- )
22
- end
23
-
24
15
  def cancel(params = {}, opts = {})
25
16
  request_stripe_object(
26
17
  method: :post,
@@ -39,15 +30,6 @@ module Stripe
39
30
  )
40
31
  end
41
32
 
42
- def self.amend(schedule, params = {}, opts = {})
43
- request_stripe_object(
44
- method: :post,
45
- path: format("/v1/subscription_schedules/%<schedule>s/amend", { schedule: CGI.escape(schedule) }),
46
- params: params,
47
- opts: opts
48
- )
49
- end
50
-
51
33
  def self.cancel(schedule, params = {}, opts = {})
52
34
  request_stripe_object(
53
35
  method: :post,
@@ -18,7 +18,7 @@ module Stripe
18
18
  "Tax IDs cannot be accessed without a customer ID."
19
19
  end
20
20
  "#{Customer.resource_url}/#{CGI.escape(customer)}/tax_ids" \
21
- "/#{CGI.escape(id)}"
21
+ "/#{CGI.escape(id)}"
22
22
  end
23
23
 
24
24
  def self.retrieve(_id, _opts = {})