stripe 15.1.0.pre.beta.1 → 15.1.0.pre.beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/Gemfile +1 -1
  4. data/OPENAPI_VERSION +1 -1
  5. data/VERSION +1 -1
  6. data/lib/stripe/api_operations/nested_resource.rb +35 -35
  7. data/lib/stripe/api_requestor.rb +1 -1
  8. data/lib/stripe/connection_manager.rb +1 -3
  9. data/lib/stripe/oauth.rb +1 -1
  10. data/lib/stripe/object_types.rb +2 -0
  11. data/lib/stripe/resources/account.rb +51 -2
  12. data/lib/stripe/resources/balance_settings.rb +5 -1
  13. data/lib/stripe/resources/capital/financing_offer.rb +4 -4
  14. data/lib/stripe/resources/capital/financing_summary.rb +6 -6
  15. data/lib/stripe/resources/charge.rb +18 -0
  16. data/lib/stripe/resources/checkout/session.rb +74 -3
  17. data/lib/stripe/resources/confirmation_token.rb +6 -1
  18. data/lib/stripe/resources/coupon.rb +30 -1
  19. data/lib/stripe/resources/funding_instructions.rb +1 -1
  20. data/lib/stripe/resources/fx_quote.rb +184 -0
  21. data/lib/stripe/resources/invoice.rb +0 -52
  22. data/lib/stripe/resources/payment_intent.rb +87 -3
  23. data/lib/stripe/resources/payment_intent_amount_details_line_item.rb +65 -0
  24. data/lib/stripe/resources/payment_method.rb +10 -2
  25. data/lib/stripe/resources/payment_method_configuration.rb +59 -0
  26. data/lib/stripe/resources/person.rb +25 -1
  27. data/lib/stripe/resources/privacy/redaction_job.rb +3 -0
  28. data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +0 -29
  29. data/lib/stripe/resources/refund.rb +2 -0
  30. data/lib/stripe/resources/setup_intent.rb +12 -3
  31. data/lib/stripe/resources/source.rb +1 -1
  32. data/lib/stripe/resources/tax/registration.rb +160 -0
  33. data/lib/stripe/resources/token.rb +61 -0
  34. data/lib/stripe/resources/transfer.rb +6 -0
  35. data/lib/stripe/resources/treasury/outbound_payment.rb +4 -1
  36. data/lib/stripe/resources.rb +2 -0
  37. data/lib/stripe/services/account_person_service.rb +84 -0
  38. data/lib/stripe/services/account_service.rb +39 -1
  39. data/lib/stripe/services/application_fee_service.rb +1 -1
  40. data/lib/stripe/services/apps_service.rb +1 -1
  41. data/lib/stripe/services/billing/meter_service.rb +1 -1
  42. data/lib/stripe/services/billing_portal_service.rb +1 -1
  43. data/lib/stripe/services/billing_service.rb +1 -1
  44. data/lib/stripe/services/capital_service.rb +1 -1
  45. data/lib/stripe/services/charge_service.rb +16 -0
  46. data/lib/stripe/services/checkout/session_service.rb +75 -4
  47. data/lib/stripe/services/checkout_service.rb +1 -1
  48. data/lib/stripe/services/climate_service.rb +1 -1
  49. data/lib/stripe/services/coupon_service.rb +17 -1
  50. data/lib/stripe/services/credit_note_service.rb +1 -1
  51. data/lib/stripe/services/customer_service.rb +1 -1
  52. data/lib/stripe/services/entitlements_service.rb +1 -1
  53. data/lib/stripe/services/financial_connections/account_service.rb +1 -1
  54. data/lib/stripe/services/financial_connections_service.rb +1 -1
  55. data/lib/stripe/services/forwarding_service.rb +1 -1
  56. data/lib/stripe/services/fx_quote_service.rb +123 -0
  57. data/lib/stripe/services/gift_cards_service.rb +1 -1
  58. data/lib/stripe/services/identity_service.rb +1 -1
  59. data/lib/stripe/services/invoice_service.rb +2 -37
  60. data/lib/stripe/services/issuing_service.rb +1 -1
  61. data/lib/stripe/services/order_service.rb +1 -1
  62. data/lib/stripe/services/{invoice_payment_service.rb → payment_intent_amount_details_line_item_service.rb} +4 -24
  63. data/lib/stripe/services/payment_intent_service.rb +63 -3
  64. data/lib/stripe/services/payment_link_service.rb +1 -1
  65. data/lib/stripe/services/payment_method_configuration_service.rb +42 -0
  66. data/lib/stripe/services/payment_method_service.rb +8 -2
  67. data/lib/stripe/services/privacy/redaction_job_service.rb +1 -1
  68. data/lib/stripe/services/privacy_service.rb +1 -1
  69. data/lib/stripe/services/product_service.rb +1 -1
  70. data/lib/stripe/services/quote_service.rb +1 -1
  71. data/lib/stripe/services/radar_service.rb +1 -1
  72. data/lib/stripe/services/reporting_service.rb +1 -1
  73. data/lib/stripe/services/setup_intent_service.rb +12 -3
  74. data/lib/stripe/services/sigma_service.rb +1 -1
  75. data/lib/stripe/services/source_service.rb +1 -1
  76. data/lib/stripe/services/tax/calculation_service.rb +1 -1
  77. data/lib/stripe/services/tax/registration_service.rb +104 -0
  78. data/lib/stripe/services/tax/transaction_service.rb +1 -1
  79. data/lib/stripe/services/tax_service.rb +1 -1
  80. data/lib/stripe/services/terminal_service.rb +1 -1
  81. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +4 -1
  82. data/lib/stripe/services/test_helpers/issuing_service.rb +1 -1
  83. data/lib/stripe/services/test_helpers/terminal_service.rb +1 -1
  84. data/lib/stripe/services/test_helpers/treasury_service.rb +1 -1
  85. data/lib/stripe/services/test_helpers_service.rb +1 -1
  86. data/lib/stripe/services/token_service.rb +61 -0
  87. data/lib/stripe/services/transfer_service.rb +5 -1
  88. data/lib/stripe/services/treasury/financial_account_service.rb +1 -1
  89. data/lib/stripe/services/treasury/outbound_payment_service.rb +4 -1
  90. data/lib/stripe/services/treasury_service.rb +1 -1
  91. data/lib/stripe/services/v1_services.rb +3 -2
  92. data/lib/stripe/services/v2/billing_service.rb +1 -1
  93. data/lib/stripe/services/v2/core/account_service.rb +1 -1
  94. data/lib/stripe/services/v2/core/vault_service.rb +1 -1
  95. data/lib/stripe/services/v2/core_service.rb +1 -1
  96. data/lib/stripe/services/v2/money_management_service.rb +1 -1
  97. data/lib/stripe/services/v2/test_helper_service.rb +1 -1
  98. data/lib/stripe/services/v2_services.rb +1 -1
  99. data/lib/stripe/services.rb +2 -1
  100. data/lib/stripe/version.rb +1 -1
  101. data/lib/stripe.rb +0 -2
  102. data/rbi/stripe.rbi +1675 -239
  103. metadata +6 -4
  104. data/lib/stripe/request_signing_authenticator.rb +0 -79
@@ -266,6 +266,44 @@ module Stripe
266
266
  end
267
267
  end
268
268
 
269
+ class UsCfpbData < Stripe::RequestParams
270
+ class EthnicityDetails < Stripe::RequestParams
271
+ # The persons ethnicity
272
+ attr_accessor :ethnicity
273
+ # Please specify your origin, when other is selected.
274
+ attr_accessor :ethnicity_other
275
+
276
+ def initialize(ethnicity: nil, ethnicity_other: nil)
277
+ @ethnicity = ethnicity
278
+ @ethnicity_other = ethnicity_other
279
+ end
280
+ end
281
+
282
+ class RaceDetails < Stripe::RequestParams
283
+ # The persons race.
284
+ attr_accessor :race
285
+ # Please specify your race, when other is selected.
286
+ attr_accessor :race_other
287
+
288
+ def initialize(race: nil, race_other: nil)
289
+ @race = race
290
+ @race_other = race_other
291
+ end
292
+ end
293
+ # The persons ethnicity details
294
+ attr_accessor :ethnicity_details
295
+ # The persons race details
296
+ attr_accessor :race_details
297
+ # The persons self-identified gender
298
+ attr_accessor :self_identified_gender
299
+
300
+ def initialize(ethnicity_details: nil, race_details: nil, self_identified_gender: nil)
301
+ @ethnicity_details = ethnicity_details
302
+ @race_details = race_details
303
+ @self_identified_gender = self_identified_gender
304
+ end
305
+ end
306
+
269
307
  class Verification < Stripe::RequestParams
270
308
  class AdditionalDocument < Stripe::RequestParams
271
309
  # The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size.
@@ -354,6 +392,8 @@ module Stripe
354
392
  attr_accessor :relationship
355
393
  # The last four digits of the person's Social Security number (U.S. only).
356
394
  attr_accessor :ssn_last_4
395
+ # Demographic data related to the person.
396
+ attr_accessor :us_cfpb_data
357
397
  # The person's verification status.
358
398
  attr_accessor :verification
359
399
 
@@ -385,6 +425,7 @@ module Stripe
385
425
  registered_address: nil,
386
426
  relationship: nil,
387
427
  ssn_last_4: nil,
428
+ us_cfpb_data: nil,
388
429
  verification: nil
389
430
  )
390
431
  @additional_tos_acceptances = additional_tos_acceptances
@@ -414,6 +455,7 @@ module Stripe
414
455
  @registered_address = registered_address
415
456
  @relationship = relationship
416
457
  @ssn_last_4 = ssn_last_4
458
+ @us_cfpb_data = us_cfpb_data
417
459
  @verification = verification
418
460
  end
419
461
  end
@@ -726,6 +768,44 @@ module Stripe
726
768
  end
727
769
  end
728
770
 
771
+ class UsCfpbData < Stripe::RequestParams
772
+ class EthnicityDetails < Stripe::RequestParams
773
+ # The persons ethnicity
774
+ attr_accessor :ethnicity
775
+ # Please specify your origin, when other is selected.
776
+ attr_accessor :ethnicity_other
777
+
778
+ def initialize(ethnicity: nil, ethnicity_other: nil)
779
+ @ethnicity = ethnicity
780
+ @ethnicity_other = ethnicity_other
781
+ end
782
+ end
783
+
784
+ class RaceDetails < Stripe::RequestParams
785
+ # The persons race.
786
+ attr_accessor :race
787
+ # Please specify your race, when other is selected.
788
+ attr_accessor :race_other
789
+
790
+ def initialize(race: nil, race_other: nil)
791
+ @race = race
792
+ @race_other = race_other
793
+ end
794
+ end
795
+ # The persons ethnicity details
796
+ attr_accessor :ethnicity_details
797
+ # The persons race details
798
+ attr_accessor :race_details
799
+ # The persons self-identified gender
800
+ attr_accessor :self_identified_gender
801
+
802
+ def initialize(ethnicity_details: nil, race_details: nil, self_identified_gender: nil)
803
+ @ethnicity_details = ethnicity_details
804
+ @race_details = race_details
805
+ @self_identified_gender = self_identified_gender
806
+ end
807
+ end
808
+
729
809
  class Verification < Stripe::RequestParams
730
810
  class AdditionalDocument < Stripe::RequestParams
731
811
  # The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size.
@@ -814,6 +894,8 @@ module Stripe
814
894
  attr_accessor :relationship
815
895
  # The last four digits of the person's Social Security number (U.S. only).
816
896
  attr_accessor :ssn_last_4
897
+ # Demographic data related to the person.
898
+ attr_accessor :us_cfpb_data
817
899
  # The person's verification status.
818
900
  attr_accessor :verification
819
901
 
@@ -845,6 +927,7 @@ module Stripe
845
927
  registered_address: nil,
846
928
  relationship: nil,
847
929
  ssn_last_4: nil,
930
+ us_cfpb_data: nil,
848
931
  verification: nil
849
932
  )
850
933
  @additional_tos_acceptances = additional_tos_acceptances
@@ -874,6 +957,7 @@ module Stripe
874
957
  @registered_address = registered_address
875
958
  @relationship = relationship
876
959
  @ssn_last_4 = ssn_last_4
960
+ @us_cfpb_data = us_cfpb_data
877
961
  @verification = verification
878
962
  end
879
963
  end
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :capabilities, :external_accounts, :login_links, :persons
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @capabilities = Stripe::AccountCapabilityService.new(@requestor)
11
11
  @external_accounts = Stripe::AccountExternalAccountService.new(@requestor)
12
12
  @login_links = Stripe::AccountLoginLinkService.new(@requestor)
@@ -1316,6 +1316,21 @@ module Stripe
1316
1316
  end
1317
1317
  end
1318
1318
 
1319
+ class RegistrationDate < Stripe::RequestParams
1320
+ # The day of registration, between 1 and 31.
1321
+ attr_accessor :day
1322
+ # The month of registration, between 1 and 12.
1323
+ attr_accessor :month
1324
+ # The four-digit year of registration.
1325
+ attr_accessor :year
1326
+
1327
+ def initialize(day: nil, month: nil, year: nil)
1328
+ @day = day
1329
+ @month = month
1330
+ @year = year
1331
+ end
1332
+ end
1333
+
1319
1334
  class Verification < Stripe::RequestParams
1320
1335
  class Document < Stripe::RequestParams
1321
1336
  # The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size.
@@ -1365,6 +1380,8 @@ module Stripe
1365
1380
  attr_accessor :ownership_exemption_reason
1366
1381
  # The company's phone number (used for verification).
1367
1382
  attr_accessor :phone
1383
+ # Attribute for param field registration_date
1384
+ attr_accessor :registration_date
1368
1385
  # The identification number given to a company when it is registered or incorporated, if distinct from the identification number used for filing taxes. (Examples are the CIN for companies and LLP IN for partnerships in India, and the Company Registration Number in Hong Kong).
1369
1386
  attr_accessor :registration_number
1370
1387
  # The category identifying the legal structure of the company or legal entity. See [Business structure](/connect/identity-verification#business-structure) for more details. Pass an empty string to unset this value.
@@ -1394,6 +1411,7 @@ module Stripe
1394
1411
  ownership_declaration: nil,
1395
1412
  ownership_exemption_reason: nil,
1396
1413
  phone: nil,
1414
+ registration_date: nil,
1397
1415
  registration_number: nil,
1398
1416
  structure: nil,
1399
1417
  tax_id: nil,
@@ -1416,6 +1434,7 @@ module Stripe
1416
1434
  @ownership_declaration = ownership_declaration
1417
1435
  @ownership_exemption_reason = ownership_exemption_reason
1418
1436
  @phone = phone
1437
+ @registration_date = registration_date
1419
1438
  @registration_number = registration_number
1420
1439
  @structure = structure
1421
1440
  @tax_id = tax_id
@@ -3567,6 +3586,21 @@ module Stripe
3567
3586
  end
3568
3587
  end
3569
3588
 
3589
+ class RegistrationDate < Stripe::RequestParams
3590
+ # The day of registration, between 1 and 31.
3591
+ attr_accessor :day
3592
+ # The month of registration, between 1 and 12.
3593
+ attr_accessor :month
3594
+ # The four-digit year of registration.
3595
+ attr_accessor :year
3596
+
3597
+ def initialize(day: nil, month: nil, year: nil)
3598
+ @day = day
3599
+ @month = month
3600
+ @year = year
3601
+ end
3602
+ end
3603
+
3570
3604
  class Verification < Stripe::RequestParams
3571
3605
  class Document < Stripe::RequestParams
3572
3606
  # The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size.
@@ -3616,6 +3650,8 @@ module Stripe
3616
3650
  attr_accessor :ownership_exemption_reason
3617
3651
  # The company's phone number (used for verification).
3618
3652
  attr_accessor :phone
3653
+ # Attribute for param field registration_date
3654
+ attr_accessor :registration_date
3619
3655
  # The identification number given to a company when it is registered or incorporated, if distinct from the identification number used for filing taxes. (Examples are the CIN for companies and LLP IN for partnerships in India, and the Company Registration Number in Hong Kong).
3620
3656
  attr_accessor :registration_number
3621
3657
  # The category identifying the legal structure of the company or legal entity. See [Business structure](/connect/identity-verification#business-structure) for more details. Pass an empty string to unset this value.
@@ -3645,6 +3681,7 @@ module Stripe
3645
3681
  ownership_declaration: nil,
3646
3682
  ownership_exemption_reason: nil,
3647
3683
  phone: nil,
3684
+ registration_date: nil,
3648
3685
  registration_number: nil,
3649
3686
  structure: nil,
3650
3687
  tax_id: nil,
@@ -3667,6 +3704,7 @@ module Stripe
3667
3704
  @ownership_declaration = ownership_declaration
3668
3705
  @ownership_exemption_reason = ownership_exemption_reason
3669
3706
  @phone = phone
3707
+ @registration_date = registration_date
3670
3708
  @registration_number = registration_number
3671
3709
  @structure = structure
3672
3710
  @tax_id = tax_id
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :refunds
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @refunds = Stripe::ApplicationFeeRefundService.new(@requestor)
11
11
  end
12
12
 
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :secrets
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @secrets = Stripe::Apps::SecretService.new(@requestor)
11
11
  end
12
12
  end
@@ -7,7 +7,7 @@ module Stripe
7
7
  attr_reader :event_summaries
8
8
 
9
9
  def initialize(requestor)
10
- super(requestor)
10
+ super
11
11
  @event_summaries = Stripe::Billing::MeterEventSummaryService.new(@requestor)
12
12
  end
13
13
 
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :configurations, :sessions
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @configurations = Stripe::BillingPortal::ConfigurationService.new(@requestor)
11
11
  @sessions = Stripe::BillingPortal::SessionService.new(@requestor)
12
12
  end
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :alerts, :credit_balance_summary, :credit_balance_transactions, :credit_grants, :meters, :meter_events, :meter_event_adjustments
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @alerts = Stripe::Billing::AlertService.new(@requestor)
11
11
  @credit_balance_summary = Stripe::Billing::CreditBalanceSummaryService.new(@requestor)
12
12
  @credit_balance_transactions = Stripe::Billing::CreditBalanceTransactionService
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :financing_offers, :financing_summary, :financing_transactions
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @financing_offers = Stripe::Capital::FinancingOfferService.new(@requestor)
11
11
  @financing_summary = Stripe::Capital::FinancingSummaryService.new(@requestor)
12
12
  @financing_transactions = Stripe::Capital::FinancingTransactionService.new(@requestor)
@@ -885,26 +885,34 @@ module Stripe
885
885
  end
886
886
  # Car rental details for this PaymentIntent.
887
887
  attr_accessor :car_rental
888
+ # Some customers might be required by their company or organization to provide this information. If so, provide this value. Otherwise you can ignore this field.
889
+ attr_accessor :customer_reference
888
890
  # Event details for this PaymentIntent
889
891
  attr_accessor :event_details
890
892
  # Flight reservation details for this PaymentIntent
891
893
  attr_accessor :flight
892
894
  # Lodging reservation details for this PaymentIntent
893
895
  attr_accessor :lodging
896
+ # A unique value assigned by the business to identify the transaction.
897
+ attr_accessor :order_reference
894
898
  # Subscription details for this PaymentIntent
895
899
  attr_accessor :subscription
896
900
 
897
901
  def initialize(
898
902
  car_rental: nil,
903
+ customer_reference: nil,
899
904
  event_details: nil,
900
905
  flight: nil,
901
906
  lodging: nil,
907
+ order_reference: nil,
902
908
  subscription: nil
903
909
  )
904
910
  @car_rental = car_rental
911
+ @customer_reference = customer_reference
905
912
  @event_details = event_details
906
913
  @flight = flight
907
914
  @lodging = lodging
915
+ @order_reference = order_reference
908
916
  @subscription = subscription
909
917
  end
910
918
  end
@@ -1659,26 +1667,34 @@ module Stripe
1659
1667
  end
1660
1668
  # Car rental details for this PaymentIntent.
1661
1669
  attr_accessor :car_rental
1670
+ # Some customers might be required by their company or organization to provide this information. If so, provide this value. Otherwise you can ignore this field.
1671
+ attr_accessor :customer_reference
1662
1672
  # Event details for this PaymentIntent
1663
1673
  attr_accessor :event_details
1664
1674
  # Flight reservation details for this PaymentIntent
1665
1675
  attr_accessor :flight
1666
1676
  # Lodging reservation details for this PaymentIntent
1667
1677
  attr_accessor :lodging
1678
+ # A unique value assigned by the business to identify the transaction.
1679
+ attr_accessor :order_reference
1668
1680
  # Subscription details for this PaymentIntent
1669
1681
  attr_accessor :subscription
1670
1682
 
1671
1683
  def initialize(
1672
1684
  car_rental: nil,
1685
+ customer_reference: nil,
1673
1686
  event_details: nil,
1674
1687
  flight: nil,
1675
1688
  lodging: nil,
1689
+ order_reference: nil,
1676
1690
  subscription: nil
1677
1691
  )
1678
1692
  @car_rental = car_rental
1693
+ @customer_reference = customer_reference
1679
1694
  @event_details = event_details
1680
1695
  @flight = flight
1681
1696
  @lodging = lodging
1697
+ @order_reference = order_reference
1682
1698
  @subscription = subscription
1683
1699
  end
1684
1700
  end
@@ -7,7 +7,7 @@ module Stripe
7
7
  attr_reader :line_items
8
8
 
9
9
  def initialize(requestor)
10
- super(requestor)
10
+ super
11
11
  @line_items = Stripe::Checkout::SessionLineItemService.new(@requestor)
12
12
  end
13
13
 
@@ -2201,7 +2201,7 @@ module Stripe
2201
2201
  # prioritize the most relevant payment methods based on the customer's location and
2202
2202
  # other characteristics.
2203
2203
  attr_accessor :payment_method_types
2204
- # This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object.
2204
+ # This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object. Can only be set when creating `embedded` or `custom` sessions.
2205
2205
  #
2206
2206
  # For specific permissions, please refer to their dedicated subsections, such as `permissions.update_shipping_details`.
2207
2207
  attr_accessor :permissions
@@ -2414,14 +2414,83 @@ module Stripe
2414
2414
  @minimum = minimum
2415
2415
  end
2416
2416
  end
2417
+
2418
+ class PriceData < Stripe::RequestParams
2419
+ class ProductData < Stripe::RequestParams
2420
+ # The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.
2421
+ attr_accessor :description
2422
+ # A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
2423
+ attr_accessor :images
2424
+ # 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`.
2425
+ attr_accessor :metadata
2426
+ # The product's name, meant to be displayable to the customer.
2427
+ attr_accessor :name
2428
+ # A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
2429
+ attr_accessor :tax_code
2430
+
2431
+ def initialize(description: nil, images: nil, metadata: nil, name: nil, tax_code: nil)
2432
+ @description = description
2433
+ @images = images
2434
+ @metadata = metadata
2435
+ @name = name
2436
+ @tax_code = tax_code
2437
+ end
2438
+ end
2439
+
2440
+ class Recurring < Stripe::RequestParams
2441
+ # Specifies billing frequency. Either `day`, `week`, `month` or `year`.
2442
+ attr_accessor :interval
2443
+ # The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks).
2444
+ attr_accessor :interval_count
2445
+
2446
+ def initialize(interval: nil, interval_count: nil)
2447
+ @interval = interval
2448
+ @interval_count = interval_count
2449
+ end
2450
+ end
2451
+ # 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).
2452
+ attr_accessor :currency
2453
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. One of `product` or `product_data` is required.
2454
+ attr_accessor :product
2455
+ # Data used to generate a new [Product](https://docs.stripe.com/api/products) object inline. One of `product` or `product_data` is required.
2456
+ attr_accessor :product_data
2457
+ # The recurring components of a price such as `interval` and `interval_count`.
2458
+ attr_accessor :recurring
2459
+ # Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
2460
+ attr_accessor :tax_behavior
2461
+ # A non-negative integer in cents (or local equivalent) representing how much to charge. One of `unit_amount` or `unit_amount_decimal` is required.
2462
+ attr_accessor :unit_amount
2463
+ # Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
2464
+ attr_accessor :unit_amount_decimal
2465
+
2466
+ def initialize(
2467
+ currency: nil,
2468
+ product: nil,
2469
+ product_data: nil,
2470
+ recurring: nil,
2471
+ tax_behavior: nil,
2472
+ unit_amount: nil,
2473
+ unit_amount_decimal: nil
2474
+ )
2475
+ @currency = currency
2476
+ @product = product
2477
+ @product_data = product_data
2478
+ @recurring = recurring
2479
+ @tax_behavior = tax_behavior
2480
+ @unit_amount = unit_amount
2481
+ @unit_amount_decimal = unit_amount_decimal
2482
+ end
2483
+ end
2417
2484
  # When set, provides configuration for this item’s quantity to be adjusted by the customer during Checkout.
2418
2485
  attr_accessor :adjustable_quantity
2419
2486
  # ID of an existing line item.
2420
2487
  attr_accessor :id
2421
2488
  # 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`.
2422
2489
  attr_accessor :metadata
2423
- # The ID of the [Price](https://stripe.com/docs/api/prices).
2490
+ # The ID of the [Price](https://stripe.com/docs/api/prices). One of `price` or `price_data` is required when creating a new line item.
2424
2491
  attr_accessor :price
2492
+ # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required when creating a new line item.
2493
+ attr_accessor :price_data
2425
2494
  # The quantity of the line item being purchased.
2426
2495
  attr_accessor :quantity
2427
2496
  # The [tax rates](https://stripe.com/docs/api/tax_rates) which apply to this line item.
@@ -2432,6 +2501,7 @@ module Stripe
2432
2501
  id: nil,
2433
2502
  metadata: nil,
2434
2503
  price: nil,
2504
+ price_data: nil,
2435
2505
  quantity: nil,
2436
2506
  tax_rates: nil
2437
2507
  )
@@ -2439,6 +2509,7 @@ module Stripe
2439
2509
  @id = id
2440
2510
  @metadata = metadata
2441
2511
  @price = price
2512
+ @price_data = price_data
2442
2513
  @quantity = quantity
2443
2514
  @tax_rates = tax_rates
2444
2515
  end
@@ -2549,7 +2620,7 @@ module Stripe
2549
2620
  @shipping_rate_data = shipping_rate_data
2550
2621
  end
2551
2622
  end
2552
- # Information about the customer collected within the Checkout Session.
2623
+ # Information about the customer collected within the Checkout Session. Can only be set when updating `embedded` or `custom` sessions.
2553
2624
  attr_accessor :collected_information
2554
2625
  # Specifies which fields in the response should be expanded.
2555
2626
  attr_accessor :expand
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :sessions
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @sessions = Stripe::Checkout::SessionService.new(@requestor)
11
11
  end
12
12
  end
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :orders, :products, :suppliers
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @orders = Stripe::Climate::OrderService.new(@requestor)
11
11
  @products = Stripe::Climate::ProductService.new(@requestor)
12
12
  @suppliers = Stripe::Climate::SupplierService.new(@requestor)
@@ -97,6 +97,18 @@ module Stripe
97
97
  @amount_off = amount_off
98
98
  end
99
99
  end
100
+
101
+ class Script < Stripe::RequestParams
102
+ # The configuration values of the script. The keys and values are specific to the script implementation.
103
+ attr_accessor :configuration
104
+ # The script implementation ID for this coupon.
105
+ attr_accessor :id
106
+
107
+ def initialize(configuration: nil, id: nil)
108
+ @configuration = configuration
109
+ @id = id
110
+ end
111
+ end
100
112
  # A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed).
101
113
  attr_accessor :amount_off
102
114
  # A hash containing directions for what this Coupon will apply discounts to.
@@ -123,6 +135,8 @@ module Stripe
123
135
  attr_accessor :percent_off
124
136
  # Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers.
125
137
  attr_accessor :redeem_by
138
+ # Configuration of the [script](https://docs.stripe.com/billing/subscriptions/script-coupons) used to calculate the discount.
139
+ attr_accessor :script
126
140
 
127
141
  def initialize(
128
142
  amount_off: nil,
@@ -137,7 +151,8 @@ module Stripe
137
151
  metadata: nil,
138
152
  name: nil,
139
153
  percent_off: nil,
140
- redeem_by: nil
154
+ redeem_by: nil,
155
+ script: nil
141
156
  )
142
157
  @amount_off = amount_off
143
158
  @applies_to = applies_to
@@ -152,6 +167,7 @@ module Stripe
152
167
  @name = name
153
168
  @percent_off = percent_off
154
169
  @redeem_by = redeem_by
170
+ @script = script
155
171
  end
156
172
  end
157
173
 
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :line_items, :preview_lines
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @line_items = Stripe::CreditNoteLineItemService.new(@requestor)
11
11
  @preview_lines = Stripe::CreditNotePreviewLinesService.new(@requestor)
12
12
  end
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :cash_balance, :balance_transactions, :cash_balance_transactions, :payment_sources, :tax_ids, :payment_methods, :funding_instructions
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @cash_balance = Stripe::CustomerCashBalanceService.new(@requestor)
11
11
  @balance_transactions = Stripe::CustomerBalanceTransactionService.new(@requestor)
12
12
  @cash_balance_transactions = Stripe::CustomerCashBalanceTransactionService.new(@requestor)
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :active_entitlements, :features
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @active_entitlements = Stripe::Entitlements::ActiveEntitlementService.new(@requestor)
11
11
  @features = Stripe::Entitlements::FeatureService.new(@requestor)
12
12
  end
@@ -7,7 +7,7 @@ module Stripe
7
7
  attr_reader :inferred_balances, :owners
8
8
 
9
9
  def initialize(requestor)
10
- super(requestor)
10
+ super
11
11
  @inferred_balances = Stripe::FinancialConnections::AccountInferredBalanceService
12
12
  .new(@requestor)
13
13
  @owners = Stripe::FinancialConnections::AccountOwnerService.new(@requestor)
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :accounts, :institutions, :sessions, :transactions
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @accounts = Stripe::FinancialConnections::AccountService.new(@requestor)
11
11
  @institutions = Stripe::FinancialConnections::InstitutionService.new(@requestor)
12
12
  @sessions = Stripe::FinancialConnections::SessionService.new(@requestor)
@@ -6,7 +6,7 @@ module Stripe
6
6
  attr_reader :requests
7
7
 
8
8
  def initialize(requestor)
9
- super(requestor)
9
+ super
10
10
  @requests = Stripe::Forwarding::RequestService.new(@requestor)
11
11
  end
12
12
  end