stripe 15.1.0 → 15.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +34 -6
- data/CONTRIBUTING.md +25 -0
- data/OPENAPI_VERSION +1 -1
- data/README.md +10 -7
- data/VERSION +1 -1
- data/lib/stripe/api_version.rb +1 -1
- data/lib/stripe/resources/account.rb +47 -20
- data/lib/stripe/resources/account_session.rb +111 -7
- data/lib/stripe/resources/apple_pay_domain.rb +1 -2
- data/lib/stripe/resources/balance.rb +42 -0
- data/lib/stripe/resources/balance_transaction.rb +2 -0
- data/lib/stripe/resources/bank_account.rb +2 -2
- data/lib/stripe/resources/billing_portal/session.rb +1 -1
- data/lib/stripe/resources/capability.rb +1 -1
- data/lib/stripe/resources/charge.rb +13 -5
- data/lib/stripe/resources/checkout/session.rb +20 -4
- data/lib/stripe/resources/confirmation_token.rb +33 -87
- data/lib/stripe/resources/country_spec.rb +1 -1
- data/lib/stripe/resources/coupon.rb +1 -2
- data/lib/stripe/resources/credit_note.rb +12 -9
- data/lib/stripe/resources/customer.rb +2 -4
- data/lib/stripe/resources/customer_session.rb +3 -3
- data/lib/stripe/resources/dispute.rb +2 -2
- data/lib/stripe/resources/event.rb +1 -1
- data/lib/stripe/resources/file.rb +1 -1
- data/lib/stripe/resources/identity/verification_report.rb +6 -0
- data/lib/stripe/resources/identity/verification_session.rb +17 -11
- data/lib/stripe/resources/invoice.rb +114 -27
- data/lib/stripe/resources/invoice_item.rb +2 -3
- data/lib/stripe/resources/invoice_line_item.rb +1 -1
- data/lib/stripe/resources/invoice_payment.rb +9 -2
- data/lib/stripe/resources/issuing/authorization.rb +8 -8
- data/lib/stripe/resources/issuing/card.rb +1 -1
- data/lib/stripe/resources/issuing/dispute.rb +3 -3
- data/lib/stripe/resources/payment_intent.rb +196 -302
- data/lib/stripe/resources/payment_method.rb +46 -103
- data/lib/stripe/resources/payment_method_configuration.rb +297 -2
- data/lib/stripe/resources/payment_method_domain.rb +2 -2
- data/lib/stripe/resources/payout.rb +4 -4
- data/lib/stripe/resources/person.rb +2 -2
- data/lib/stripe/resources/plan.rb +2 -3
- data/lib/stripe/resources/price.rb +1 -1
- data/lib/stripe/resources/product.rb +1 -2
- data/lib/stripe/resources/radar/value_list.rb +1 -2
- data/lib/stripe/resources/radar/value_list_item.rb +1 -2
- data/lib/stripe/resources/refund.rb +6 -1
- data/lib/stripe/resources/reversal.rb +1 -1
- data/lib/stripe/resources/review.rb +1 -1
- data/lib/stripe/resources/setup_intent.rb +111 -281
- data/lib/stripe/resources/source.rb +1 -1
- data/lib/stripe/resources/subscription.rb +89 -29
- data/lib/stripe/resources/subscription_item.rb +33 -0
- data/lib/stripe/resources/subscription_schedule.rb +119 -4
- data/lib/stripe/resources/tax/calculation.rb +4 -0
- data/lib/stripe/resources/tax/calculation_line_item.rb +2 -0
- data/lib/stripe/resources/tax/registration.rb +1 -1
- data/lib/stripe/resources/tax_id.rb +1 -2
- data/lib/stripe/resources/tax_rate.rb +2 -2
- data/lib/stripe/resources/terminal/configuration.rb +1 -2
- data/lib/stripe/resources/terminal/location.rb +2 -3
- data/lib/stripe/resources/terminal/reader.rb +275 -3
- data/lib/stripe/resources/test_helpers/test_clock.rb +1 -2
- data/lib/stripe/resources/token.rb +2 -2
- data/lib/stripe/resources/transfer.rb +1 -1
- data/lib/stripe/resources/webhook_endpoint.rb +1 -2
- data/lib/stripe/services/account_external_account_service.rb +2 -3
- data/lib/stripe/services/account_login_link_service.rb +1 -1
- data/lib/stripe/services/account_person_service.rb +1 -2
- data/lib/stripe/services/account_service.rb +38 -13
- data/lib/stripe/services/account_session_service.rb +75 -7
- data/lib/stripe/services/apple_pay_domain_service.rb +1 -2
- data/lib/stripe/services/balance_service.rb +1 -1
- data/lib/stripe/services/charge_service.rb +4 -4
- data/lib/stripe/services/checkout/session_service.rb +11 -3
- data/lib/stripe/services/coupon_service.rb +1 -2
- data/lib/stripe/services/credit_note_service.rb +7 -8
- data/lib/stripe/services/customer_balance_transaction_service.rb +3 -3
- data/lib/stripe/services/customer_cash_balance_transaction_service.rb +2 -2
- data/lib/stripe/services/customer_payment_source_service.rb +1 -1
- data/lib/stripe/services/customer_service.rb +3 -5
- data/lib/stripe/services/customer_tax_id_service.rb +1 -2
- data/lib/stripe/services/dispute_service.rb +1 -1
- data/lib/stripe/services/file_service.rb +1 -1
- data/lib/stripe/services/identity/verification_session_service.rb +5 -5
- data/lib/stripe/services/invoice_item_service.rb +1 -2
- data/lib/stripe/services/invoice_service.rb +92 -23
- data/lib/stripe/services/issuing/authorization_service.rb +4 -4
- data/lib/stripe/services/issuing/card_service.rb +1 -1
- data/lib/stripe/services/issuing/dispute_service.rb +2 -2
- data/lib/stripe/services/payment_intent_service.rb +176 -292
- data/lib/stripe/services/payment_method_configuration_service.rb +212 -2
- data/lib/stripe/services/payment_method_domain_service.rb +1 -1
- data/lib/stripe/services/payment_method_service.rb +43 -100
- data/lib/stripe/services/payout_service.rb +2 -2
- data/lib/stripe/services/plan_service.rb +2 -3
- data/lib/stripe/services/price_service.rb +2 -2
- data/lib/stripe/services/product_feature_service.rb +1 -2
- data/lib/stripe/services/product_service.rb +2 -3
- data/lib/stripe/services/promotion_code_service.rb +1 -1
- data/lib/stripe/services/radar/early_fraud_warning_service.rb +1 -1
- data/lib/stripe/services/radar/value_list_item_service.rb +1 -2
- data/lib/stripe/services/radar/value_list_service.rb +1 -2
- data/lib/stripe/services/setup_intent_service.rb +110 -280
- data/lib/stripe/services/source_service.rb +1 -1
- data/lib/stripe/services/subscription_item_service.rb +26 -0
- data/lib/stripe/services/subscription_schedule_service.rb +93 -3
- data/lib/stripe/services/subscription_service.rb +77 -26
- data/lib/stripe/services/tax/calculation_service.rb +4 -0
- data/lib/stripe/services/tax/registration_service.rb +1 -1
- data/lib/stripe/services/tax_id_service.rb +1 -2
- data/lib/stripe/services/terminal/configuration_service.rb +1 -2
- data/lib/stripe/services/terminal/location_service.rb +2 -3
- data/lib/stripe/services/terminal/reader_service.rb +106 -2
- data/lib/stripe/services/test_helpers/confirmation_token_service.rb +33 -87
- data/lib/stripe/services/test_helpers/terminal/reader_service.rb +43 -0
- data/lib/stripe/services/test_helpers/test_clock_service.rb +1 -2
- data/lib/stripe/services/token_service.rb +1 -1
- data/lib/stripe/services/transfer_service.rb +1 -1
- data/lib/stripe/services/v2/billing/meter_event_session_service.rb +1 -2
- data/lib/stripe/services/v2/core/event_destination_service.rb +4 -10
- data/lib/stripe/services/v2/core/event_service.rb +1 -2
- data/lib/stripe/services/webhook_endpoint_service.rb +1 -2
- data/lib/stripe/version.rb +1 -1
- data/rbi/stripe/resources/account.rbi +46 -23
- data/rbi/stripe/resources/account_session.rbi +131 -12
- data/rbi/stripe/resources/apple_pay_domain.rbi +1 -3
- data/rbi/stripe/resources/balance.rbi +55 -0
- data/rbi/stripe/resources/balance_transaction.rbi +3 -0
- data/rbi/stripe/resources/bank_account.rbi +2 -2
- data/rbi/stripe/resources/billing/alert.rbi +2 -2
- data/rbi/stripe/resources/billing_portal/session.rbi +1 -1
- data/rbi/stripe/resources/capability.rbi +1 -1
- data/rbi/stripe/resources/charge.rbi +17 -5
- data/rbi/stripe/resources/checkout/session.rbi +22 -6
- data/rbi/stripe/resources/confirmation_token.rbi +33 -99
- data/rbi/stripe/resources/country_spec.rbi +1 -1
- data/rbi/stripe/resources/coupon.rbi +1 -3
- data/rbi/stripe/resources/credit_note.rbi +14 -9
- data/rbi/stripe/resources/customer.rbi +2 -6
- data/rbi/stripe/resources/customer_session.rbi +3 -3
- data/rbi/stripe/resources/dispute.rbi +2 -2
- data/rbi/stripe/resources/event.rbi +1 -1
- data/rbi/stripe/resources/file.rbi +1 -1
- data/rbi/stripe/resources/identity/verification_report.rbi +9 -0
- data/rbi/stripe/resources/identity/verification_session.rbi +20 -11
- data/rbi/stripe/resources/invoice.rbi +109 -33
- data/rbi/stripe/resources/invoice_item.rbi +2 -4
- data/rbi/stripe/resources/invoice_line_item.rbi +1 -1
- data/rbi/stripe/resources/invoice_payment.rbi +9 -2
- data/rbi/stripe/resources/issuing/authorization.rbi +8 -8
- data/rbi/stripe/resources/issuing/card.rbi +1 -1
- data/rbi/stripe/resources/issuing/dispute.rbi +3 -3
- data/rbi/stripe/resources/payment_intent.rbi +201 -349
- data/rbi/stripe/resources/payment_method.rbi +46 -116
- data/rbi/stripe/resources/payment_method_configuration.rbi +334 -4
- data/rbi/stripe/resources/payment_method_domain.rbi +2 -2
- data/rbi/stripe/resources/payout.rbi +4 -4
- data/rbi/stripe/resources/person.rbi +2 -2
- data/rbi/stripe/resources/plan.rbi +2 -4
- data/rbi/stripe/resources/price.rbi +1 -1
- data/rbi/stripe/resources/product.rbi +1 -3
- data/rbi/stripe/resources/radar/value_list.rbi +1 -3
- data/rbi/stripe/resources/radar/value_list_item.rbi +1 -3
- data/rbi/stripe/resources/refund.rbi +5 -1
- data/rbi/stripe/resources/reversal.rbi +1 -1
- data/rbi/stripe/resources/review.rbi +1 -1
- data/rbi/stripe/resources/setup_intent.rbi +111 -325
- data/rbi/stripe/resources/source.rbi +1 -1
- data/rbi/stripe/resources/subscription.rbi +99 -36
- data/rbi/stripe/resources/subscription_item.rbi +36 -2
- data/rbi/stripe/resources/subscription_schedule.rbi +138 -10
- data/rbi/stripe/resources/tax/calculation.rbi +5 -1
- data/rbi/stripe/resources/tax/calculation_line_item.rbi +3 -0
- data/rbi/stripe/resources/tax/registration.rbi +1 -1
- data/rbi/stripe/resources/tax_id.rbi +1 -3
- data/rbi/stripe/resources/tax_rate.rbi +2 -2
- data/rbi/stripe/resources/terminal/configuration.rbi +1 -3
- data/rbi/stripe/resources/terminal/location.rbi +2 -4
- data/rbi/stripe/resources/terminal/reader.rbi +265 -5
- data/rbi/stripe/resources/test_helpers/test_clock.rbi +1 -3
- data/rbi/stripe/resources/token.rbi +2 -2
- data/rbi/stripe/resources/transfer.rbi +1 -1
- data/rbi/stripe/resources/webhook_endpoint.rbi +1 -3
- data/rbi/stripe/services/account_external_account_service.rbi +2 -4
- data/rbi/stripe/services/account_login_link_service.rbi +1 -1
- data/rbi/stripe/services/account_person_service.rbi +1 -3
- data/rbi/stripe/services/account_service.rbi +40 -16
- data/rbi/stripe/services/account_session_service.rbi +86 -12
- data/rbi/stripe/services/apple_pay_domain_service.rbi +1 -3
- data/rbi/stripe/services/balance_service.rbi +1 -1
- data/rbi/stripe/services/billing/alert_service.rbi +2 -2
- data/rbi/stripe/services/charge_service.rbi +4 -4
- data/rbi/stripe/services/checkout/session_service.rbi +12 -5
- data/rbi/stripe/services/coupon_service.rbi +1 -3
- data/rbi/stripe/services/credit_note_service.rbi +7 -8
- data/rbi/stripe/services/customer_balance_transaction_service.rbi +3 -3
- data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +2 -2
- data/rbi/stripe/services/customer_payment_source_service.rbi +1 -1
- data/rbi/stripe/services/customer_service.rbi +3 -7
- data/rbi/stripe/services/customer_tax_id_service.rbi +1 -3
- data/rbi/stripe/services/dispute_service.rbi +1 -1
- data/rbi/stripe/services/file_service.rbi +1 -1
- data/rbi/stripe/services/identity/verification_session_service.rbi +5 -5
- data/rbi/stripe/services/invoice_item_service.rbi +1 -3
- data/rbi/stripe/services/invoice_service.rbi +90 -29
- data/rbi/stripe/services/issuing/authorization_service.rbi +4 -4
- data/rbi/stripe/services/issuing/card_service.rbi +1 -1
- data/rbi/stripe/services/issuing/dispute_service.rbi +2 -2
- data/rbi/stripe/services/payment_intent_service.rbi +179 -339
- data/rbi/stripe/services/payment_method_configuration_service.rbi +236 -4
- data/rbi/stripe/services/payment_method_domain_service.rbi +1 -1
- data/rbi/stripe/services/payment_method_service.rbi +43 -113
- data/rbi/stripe/services/payout_service.rbi +2 -2
- data/rbi/stripe/services/plan_service.rbi +2 -4
- data/rbi/stripe/services/price_service.rbi +2 -2
- data/rbi/stripe/services/product_feature_service.rbi +1 -3
- data/rbi/stripe/services/product_service.rbi +2 -4
- data/rbi/stripe/services/promotion_code_service.rbi +1 -1
- data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +1 -1
- data/rbi/stripe/services/radar/value_list_item_service.rbi +1 -3
- data/rbi/stripe/services/radar/value_list_service.rbi +1 -3
- data/rbi/stripe/services/setup_intent_service.rbi +110 -324
- data/rbi/stripe/services/source_service.rbi +1 -1
- data/rbi/stripe/services/subscription_item_service.rbi +28 -2
- data/rbi/stripe/services/subscription_schedule_service.rbi +107 -9
- data/rbi/stripe/services/subscription_service.rbi +85 -33
- data/rbi/stripe/services/tax/calculation_service.rbi +5 -1
- data/rbi/stripe/services/tax/registration_service.rbi +1 -1
- data/rbi/stripe/services/tax_id_service.rbi +1 -3
- data/rbi/stripe/services/terminal/configuration_service.rbi +1 -3
- data/rbi/stripe/services/terminal/location_service.rbi +2 -4
- data/rbi/stripe/services/terminal/reader_service.rbi +115 -4
- data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +33 -99
- data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +31 -0
- data/rbi/stripe/services/test_helpers/test_clock_service.rbi +1 -3
- data/rbi/stripe/services/token_service.rbi +1 -1
- data/rbi/stripe/services/transfer_service.rbi +1 -1
- data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +1 -3
- data/rbi/stripe/services/v2/core/event_destination_service.rbi +4 -12
- data/rbi/stripe/services/v2/core/event_service.rbi +1 -3
- data/rbi/stripe/services/webhook_endpoint_service.rbi +1 -3
- metadata +3 -2
@@ -10,8 +10,7 @@ module Stripe
|
|
10
10
|
@line_items = Stripe::InvoiceLineItemService.new(@requestor)
|
11
11
|
end
|
12
12
|
|
13
|
-
class DeleteParams < Stripe::RequestParams
|
14
|
-
end
|
13
|
+
class DeleteParams < Stripe::RequestParams; end
|
15
14
|
|
16
15
|
class RetrieveParams < Stripe::RequestParams
|
17
16
|
# Specifies which fields in the response should be expanded.
|
@@ -188,11 +187,8 @@ module Stripe
|
|
188
187
|
end
|
189
188
|
end
|
190
189
|
|
191
|
-
class Konbini < Stripe::RequestParams
|
192
|
-
end
|
193
|
-
|
194
|
-
class SepaDebit < Stripe::RequestParams
|
195
|
-
end
|
190
|
+
class Konbini < Stripe::RequestParams; end
|
191
|
+
class SepaDebit < Stripe::RequestParams; end
|
196
192
|
|
197
193
|
class UsBankAccount < Stripe::RequestParams
|
198
194
|
class FinancialConnections < Stripe::RequestParams
|
@@ -838,11 +834,8 @@ module Stripe
|
|
838
834
|
end
|
839
835
|
end
|
840
836
|
|
841
|
-
class Konbini < Stripe::RequestParams
|
842
|
-
end
|
843
|
-
|
844
|
-
class SepaDebit < Stripe::RequestParams
|
845
|
-
end
|
837
|
+
class Konbini < Stripe::RequestParams; end
|
838
|
+
class SepaDebit < Stripe::RequestParams; end
|
846
839
|
|
847
840
|
class UsBankAccount < Stripe::RequestParams
|
848
841
|
class FinancialConnections < Stripe::RequestParams
|
@@ -1488,6 +1481,18 @@ module Stripe
|
|
1488
1481
|
end
|
1489
1482
|
end
|
1490
1483
|
|
1484
|
+
class AttachPaymentParams < Stripe::RequestParams
|
1485
|
+
# Specifies which fields in the response should be expanded.
|
1486
|
+
attr_accessor :expand
|
1487
|
+
# The ID of the PaymentIntent to attach to the invoice.
|
1488
|
+
attr_accessor :payment_intent
|
1489
|
+
|
1490
|
+
def initialize(expand: nil, payment_intent: nil)
|
1491
|
+
@expand = expand
|
1492
|
+
@payment_intent = payment_intent
|
1493
|
+
end
|
1494
|
+
end
|
1495
|
+
|
1491
1496
|
class FinalizeInvoiceParams < Stripe::RequestParams
|
1492
1497
|
# Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action.
|
1493
1498
|
attr_accessor :auto_advance
|
@@ -2197,6 +2202,18 @@ module Stripe
|
|
2197
2202
|
end
|
2198
2203
|
end
|
2199
2204
|
|
2205
|
+
class BillingThresholds < Stripe::RequestParams
|
2206
|
+
# Monetary threshold that triggers the subscription to advance to a new billing period
|
2207
|
+
attr_accessor :amount_gte
|
2208
|
+
# Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged.
|
2209
|
+
attr_accessor :reset_billing_cycle_anchor
|
2210
|
+
|
2211
|
+
def initialize(amount_gte: nil, reset_billing_cycle_anchor: nil)
|
2212
|
+
@amount_gte = amount_gte
|
2213
|
+
@reset_billing_cycle_anchor = reset_billing_cycle_anchor
|
2214
|
+
end
|
2215
|
+
end
|
2216
|
+
|
2200
2217
|
class Discount < Stripe::RequestParams
|
2201
2218
|
# ID of the coupon to create a new discount for.
|
2202
2219
|
attr_accessor :coupon
|
@@ -2239,6 +2256,15 @@ module Stripe
|
|
2239
2256
|
end
|
2240
2257
|
|
2241
2258
|
class Item < Stripe::RequestParams
|
2259
|
+
class BillingThresholds < Stripe::RequestParams
|
2260
|
+
# Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte))
|
2261
|
+
attr_accessor :usage_gte
|
2262
|
+
|
2263
|
+
def initialize(usage_gte: nil)
|
2264
|
+
@usage_gte = usage_gte
|
2265
|
+
end
|
2266
|
+
end
|
2267
|
+
|
2242
2268
|
class Discount < Stripe::RequestParams
|
2243
2269
|
# ID of the coupon to create a new discount for.
|
2244
2270
|
attr_accessor :coupon
|
@@ -2295,6 +2321,8 @@ module Stripe
|
|
2295
2321
|
@unit_amount_decimal = unit_amount_decimal
|
2296
2322
|
end
|
2297
2323
|
end
|
2324
|
+
# Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
|
2325
|
+
attr_accessor :billing_thresholds
|
2298
2326
|
# The coupons to redeem into discounts for the subscription item.
|
2299
2327
|
attr_accessor :discounts
|
2300
2328
|
# Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a configuration item. Metadata on a configuration item will update the underlying subscription item's `metadata` when the phase is entered, adding new keys and replacing existing keys. Individual keys in the subscription item's `metadata` can be unset by posting an empty value to them in the configuration item's `metadata`. To unset all keys in the subscription item's `metadata`, update the subscription item directly or unset every key individually from the configuration item's `metadata`.
|
@@ -2311,6 +2339,7 @@ module Stripe
|
|
2311
2339
|
attr_accessor :tax_rates
|
2312
2340
|
|
2313
2341
|
def initialize(
|
2342
|
+
billing_thresholds: nil,
|
2314
2343
|
discounts: nil,
|
2315
2344
|
metadata: nil,
|
2316
2345
|
plan: nil,
|
@@ -2319,6 +2348,7 @@ module Stripe
|
|
2319
2348
|
quantity: nil,
|
2320
2349
|
tax_rates: nil
|
2321
2350
|
)
|
2351
|
+
@billing_thresholds = billing_thresholds
|
2322
2352
|
@discounts = discounts
|
2323
2353
|
@metadata = metadata
|
2324
2354
|
@plan = plan
|
@@ -2348,6 +2378,8 @@ module Stripe
|
|
2348
2378
|
attr_accessor :automatic_tax
|
2349
2379
|
# Can be set to `phase_start` to set the anchor to the start of the phase or `automatic` to automatically change it if needed. Cannot be set to `phase_start` if this phase specifies a trial. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).
|
2350
2380
|
attr_accessor :billing_cycle_anchor
|
2381
|
+
# Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
|
2382
|
+
attr_accessor :billing_thresholds
|
2351
2383
|
# Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically` on creation.
|
2352
2384
|
attr_accessor :collection_method
|
2353
2385
|
# Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
|
@@ -2372,7 +2404,7 @@ module Stripe
|
|
2372
2404
|
attr_accessor :metadata
|
2373
2405
|
# The account on behalf of which to charge, for each of the associated subscription's invoices.
|
2374
2406
|
attr_accessor :on_behalf_of
|
2375
|
-
#
|
2407
|
+
# Controls whether the subscription schedule should create [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when transitioning to this phase if there is a difference in billing configuration. It's different from the request-level [proration_behavior](https://stripe.com/docs/api/subscription_schedules/update#update_subscription_schedule-proration_behavior) parameter which controls what happens if the update request affects the billing configuration (item price, quantity, etc.) of the current phase.
|
2376
2408
|
attr_accessor :proration_behavior
|
2377
2409
|
# The date at which this phase of the subscription schedule starts or `now`. Must be set on the first phase.
|
2378
2410
|
attr_accessor :start_date
|
@@ -2388,6 +2420,7 @@ module Stripe
|
|
2388
2420
|
application_fee_percent: nil,
|
2389
2421
|
automatic_tax: nil,
|
2390
2422
|
billing_cycle_anchor: nil,
|
2423
|
+
billing_thresholds: nil,
|
2391
2424
|
collection_method: nil,
|
2392
2425
|
currency: nil,
|
2393
2426
|
default_payment_method: nil,
|
@@ -2410,6 +2443,7 @@ module Stripe
|
|
2410
2443
|
@application_fee_percent = application_fee_percent
|
2411
2444
|
@automatic_tax = automatic_tax
|
2412
2445
|
@billing_cycle_anchor = billing_cycle_anchor
|
2446
|
+
@billing_thresholds = billing_thresholds
|
2413
2447
|
@collection_method = collection_method
|
2414
2448
|
@currency = currency
|
2415
2449
|
@default_payment_method = default_payment_method
|
@@ -2445,6 +2479,15 @@ module Stripe
|
|
2445
2479
|
|
2446
2480
|
class SubscriptionDetails < Stripe::RequestParams
|
2447
2481
|
class Item < Stripe::RequestParams
|
2482
|
+
class BillingThresholds < Stripe::RequestParams
|
2483
|
+
# Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte))
|
2484
|
+
attr_accessor :usage_gte
|
2485
|
+
|
2486
|
+
def initialize(usage_gte: nil)
|
2487
|
+
@usage_gte = usage_gte
|
2488
|
+
end
|
2489
|
+
end
|
2490
|
+
|
2448
2491
|
class Discount < Stripe::RequestParams
|
2449
2492
|
# ID of the coupon to create a new discount for.
|
2450
2493
|
attr_accessor :coupon
|
@@ -2501,6 +2544,8 @@ module Stripe
|
|
2501
2544
|
@unit_amount_decimal = unit_amount_decimal
|
2502
2545
|
end
|
2503
2546
|
end
|
2547
|
+
# Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds.
|
2548
|
+
attr_accessor :billing_thresholds
|
2504
2549
|
# Delete all usage for a given subscription item. You must pass this when deleting a usage records subscription item. `clear_usage` has no effect if the plan has a billing meter attached.
|
2505
2550
|
attr_accessor :clear_usage
|
2506
2551
|
# A flag that, if set to `true`, will delete the specified item.
|
@@ -2523,6 +2568,7 @@ module Stripe
|
|
2523
2568
|
attr_accessor :tax_rates
|
2524
2569
|
|
2525
2570
|
def initialize(
|
2571
|
+
billing_thresholds: nil,
|
2526
2572
|
clear_usage: nil,
|
2527
2573
|
deleted: nil,
|
2528
2574
|
discounts: nil,
|
@@ -2534,6 +2580,7 @@ module Stripe
|
|
2534
2580
|
quantity: nil,
|
2535
2581
|
tax_rates: nil
|
2536
2582
|
)
|
2583
|
+
@billing_thresholds = billing_thresholds
|
2537
2584
|
@clear_usage = clear_usage
|
2538
2585
|
@deleted = deleted
|
2539
2586
|
@discounts = discounts
|
@@ -2550,7 +2597,7 @@ module Stripe
|
|
2550
2597
|
attr_accessor :billing_cycle_anchor
|
2551
2598
|
# A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.
|
2552
2599
|
attr_accessor :cancel_at
|
2553
|
-
# Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`.
|
2600
|
+
# Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. This param will be removed in a future API version. Please use `cancel_at` instead.
|
2554
2601
|
attr_accessor :cancel_at_period_end
|
2555
2602
|
# This simulates the subscription being canceled or expired immediately.
|
2556
2603
|
attr_accessor :cancel_now
|
@@ -2668,16 +2715,38 @@ module Stripe
|
|
2668
2715
|
)
|
2669
2716
|
end
|
2670
2717
|
|
2671
|
-
#
|
2718
|
+
# Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments.
|
2719
|
+
#
|
2720
|
+
# For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited
|
2721
|
+
# to the invoice, increasing its amount_paid. When the invoice is fully paid, the
|
2722
|
+
# invoice's status becomes paid.
|
2723
|
+
#
|
2724
|
+
# If the PaymentIntent's status is already succeeded when it's attached, it's
|
2725
|
+
# credited to the invoice immediately.
|
2726
|
+
#
|
2727
|
+
# See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more.
|
2728
|
+
def attach_payment(invoice, params = {}, opts = {})
|
2729
|
+
request(
|
2730
|
+
method: :post,
|
2731
|
+
path: format("/v1/invoices/%<invoice>s/attach_payment", { invoice: CGI.escape(invoice) }),
|
2732
|
+
params: params,
|
2733
|
+
opts: opts,
|
2734
|
+
base_address: :api
|
2735
|
+
)
|
2736
|
+
end
|
2737
|
+
|
2738
|
+
# This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you [finalize the invoice, which allows you to [pay](#pay_invoice) or <a href="#send_invoice">send](https://docs.stripe.com/api#finalize_invoice) the invoice to your customers.
|
2672
2739
|
def create(params = {}, opts = {})
|
2673
2740
|
request(method: :post, path: "/v1/invoices", params: params, opts: opts, base_address: :api)
|
2674
2741
|
end
|
2675
2742
|
|
2676
2743
|
# At any time, you can preview the upcoming invoice for a subscription or subscription schedule. 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.
|
2677
2744
|
#
|
2678
|
-
#
|
2745
|
+
# You can also preview the effects of creating or updating a subscription or subscription schedule, including a preview of any prorations that will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass the subscription_details.proration_date parameter when doing the actual subscription update.
|
2679
2746
|
#
|
2680
|
-
#
|
2747
|
+
# The recommended way to get only the prorations being previewed on the invoice is to consider line items where parent.subscription_item_details.proration is true.
|
2748
|
+
#
|
2749
|
+
# 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.
|
2681
2750
|
#
|
2682
2751
|
# Note: Currency conversion calculations use the latest exchange rates. Exchange rates may vary between the time of the preview and the time of the actual invoice creation. [Learn more](https://docs.stripe.com/currencies/conversions)
|
2683
2752
|
def create_preview(params = {}, opts = {})
|
@@ -2690,7 +2759,7 @@ module Stripe
|
|
2690
2759
|
)
|
2691
2760
|
end
|
2692
2761
|
|
2693
|
-
# Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://stripe.com/
|
2762
|
+
# Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice).
|
2694
2763
|
def delete(invoice, params = {}, opts = {})
|
2695
2764
|
request(
|
2696
2765
|
method: :delete,
|
@@ -2761,7 +2830,7 @@ module Stripe
|
|
2761
2830
|
)
|
2762
2831
|
end
|
2763
2832
|
|
2764
|
-
# Search for invoices you've previously created using Stripe's [Search Query Language](https://stripe.com/docs/search#search-query-language).
|
2833
|
+
# Search for invoices you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language).
|
2765
2834
|
# Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating
|
2766
2835
|
# conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
|
2767
2836
|
# to an hour behind during outages. Search functionality is not available to merchants in India.
|
@@ -2788,11 +2857,11 @@ module Stripe
|
|
2788
2857
|
)
|
2789
2858
|
end
|
2790
2859
|
|
2791
|
-
# Draft invoices are fully editable. Once an invoice is [finalized](https://stripe.com/docs/billing/invoices/workflow#finalized),
|
2860
|
+
# Draft invoices are fully editable. Once an invoice is [finalized](https://docs.stripe.com/docs/billing/invoices/workflow#finalized),
|
2792
2861
|
# monetary values, as well as collection_method, become uneditable.
|
2793
2862
|
#
|
2794
2863
|
# If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on,
|
2795
|
-
# sending reminders for, or [automatically reconciling](https://stripe.com/docs/billing/invoices/reconciliation) invoices, pass
|
2864
|
+
# sending reminders for, or [automatically reconciling](https://docs.stripe.com/docs/billing/invoices/reconciliation) invoices, pass
|
2796
2865
|
# auto_advance=false.
|
2797
2866
|
def update(invoice, params = {}, opts = {})
|
2798
2867
|
request(
|
@@ -2815,9 +2884,9 @@ module Stripe
|
|
2815
2884
|
)
|
2816
2885
|
end
|
2817
2886
|
|
2818
|
-
# Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://stripe.com/
|
2887
|
+
# Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
|
2819
2888
|
#
|
2820
|
-
# Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or <a href="#create_credit_note">credit note](https://stripe.com/
|
2889
|
+
# Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or <a href="#create_credit_note">credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business.
|
2821
2890
|
def void_invoice(invoice, params = {}, opts = {})
|
2822
2891
|
request(
|
2823
2892
|
method: :post,
|
@@ -108,8 +108,8 @@ module Stripe
|
|
108
108
|
end
|
109
109
|
end
|
110
110
|
|
111
|
-
# [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.
|
112
|
-
# 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).
|
111
|
+
# [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow.
|
112
|
+
# This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling).
|
113
113
|
def approve(authorization, params = {}, opts = {})
|
114
114
|
request(
|
115
115
|
method: :post,
|
@@ -120,8 +120,8 @@ module Stripe
|
|
120
120
|
)
|
121
121
|
end
|
122
122
|
|
123
|
-
# [Deprecated] Declines 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.
|
124
|
-
# This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling).
|
123
|
+
# [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow.
|
124
|
+
# This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling).
|
125
125
|
def decline(authorization, params = {}, opts = {})
|
126
126
|
request(
|
127
127
|
method: :post,
|
@@ -219,7 +219,7 @@ module Stripe
|
|
219
219
|
attr_accessor :currency
|
220
220
|
# Specifies which fields in the response should be expanded.
|
221
221
|
attr_accessor :expand
|
222
|
-
#
|
222
|
+
# The new financial account ID the card will be associated with. This field allows a card to be reassigned to a different financial account.
|
223
223
|
attr_accessor :financial_account
|
224
224
|
# Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
|
225
225
|
attr_accessor :metadata
|
@@ -637,7 +637,7 @@ module Stripe
|
|
637
637
|
end
|
638
638
|
end
|
639
639
|
|
640
|
-
# Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to [Dispute reasons and evidence](https://stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence) for more details about evidence requirements.
|
640
|
+
# Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence) for more details about evidence requirements.
|
641
641
|
def create(params = {}, opts = {})
|
642
642
|
request(
|
643
643
|
method: :post,
|
@@ -670,7 +670,7 @@ module Stripe
|
|
670
670
|
)
|
671
671
|
end
|
672
672
|
|
673
|
-
# 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).
|
673
|
+
# 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://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence).
|
674
674
|
def submit(dispute, params = {}, opts = {})
|
675
675
|
request(
|
676
676
|
method: :post,
|