stripe 15.3.0.pre.beta.2 → 15.4.0.pre.beta.1

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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/API_VERSION +1 -0
  3. data/CHANGELOG.md +42 -16
  4. data/OPENAPI_VERSION +1 -1
  5. data/README.md +13 -49
  6. data/VERSION +1 -1
  7. data/lib/stripe/api_requestor.rb +2 -2
  8. data/lib/stripe/api_version.rb +1 -1
  9. data/lib/stripe/errors.rb +3 -3
  10. data/lib/stripe/events/v2_core_event_destination_ping_event.rb +1 -1
  11. data/lib/stripe/resources/account.rb +89 -5
  12. data/lib/stripe/resources/account_session.rb +93 -93
  13. data/lib/stripe/resources/billing_portal/session.rb +2 -2
  14. data/lib/stripe/resources/charge.rb +28 -15
  15. data/lib/stripe/resources/checkout/session.rb +53 -7
  16. data/lib/stripe/resources/confirmation_token.rb +19 -11
  17. data/lib/stripe/resources/credit_note.rb +9 -9
  18. data/lib/stripe/resources/customer_session.rb +2 -2
  19. data/lib/stripe/resources/dispute.rb +2 -0
  20. data/lib/stripe/resources/event.rb +1 -1
  21. data/lib/stripe/resources/identity/verification_session.rb +34 -0
  22. data/lib/stripe/resources/invoice.rb +21 -3
  23. data/lib/stripe/resources/invoice_item.rb +1 -4
  24. data/lib/stripe/resources/mandate.rb +3 -0
  25. data/lib/stripe/resources/order.rb +154 -2
  26. data/lib/stripe/resources/payment_attempt_record.rb +30 -17
  27. data/lib/stripe/resources/payment_intent.rb +331 -12
  28. data/lib/stripe/resources/payment_method.rb +17 -9
  29. data/lib/stripe/resources/payment_record.rb +30 -17
  30. data/lib/stripe/resources/quote.rb +15 -1
  31. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +8 -1
  32. data/lib/stripe/resources/setup_attempt.rb +1 -1
  33. data/lib/stripe/resources/setup_intent.rb +285 -3
  34. data/lib/stripe/resources/subscription.rb +27 -10
  35. data/lib/stripe/resources/subscription_schedule.rb +17 -1
  36. data/lib/stripe/resources/tax/registration.rb +20 -0
  37. data/lib/stripe/resources/terminal/configuration.rb +1 -0
  38. data/lib/stripe/resources/terminal/reader.rb +10 -10
  39. data/lib/stripe/resources/token.rb +1 -1
  40. data/lib/stripe/resources/treasury/financial_account.rb +5 -1
  41. data/lib/stripe/resources/v2/core/account.rb +9 -0
  42. data/lib/stripe/resources/v2/money_management/financial_account.rb +3 -3
  43. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +1 -1
  44. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +1 -1
  45. data/lib/stripe/resources/v2/money_management/received_credit.rb +8 -2
  46. data/lib/stripe/services/account_service.rb +83 -5
  47. data/lib/stripe/services/account_session_service.rb +62 -62
  48. data/lib/stripe/services/billing_portal/session_service.rb +1 -1
  49. data/lib/stripe/services/checkout/session_service.rb +53 -7
  50. data/lib/stripe/services/credit_note_preview_lines_service.rb +3 -3
  51. data/lib/stripe/services/credit_note_service.rb +6 -6
  52. data/lib/stripe/services/customer_session_service.rb +1 -1
  53. data/lib/stripe/services/identity/verification_session_service.rb +16 -0
  54. data/lib/stripe/services/invoice_service.rb +21 -3
  55. data/lib/stripe/services/order_service.rb +154 -2
  56. data/lib/stripe/services/payment_intent_service.rb +315 -9
  57. data/lib/stripe/services/payment_method_service.rb +5 -0
  58. data/lib/stripe/services/quote_service.rb +9 -0
  59. data/lib/stripe/services/setup_intent_service.rb +275 -2
  60. data/lib/stripe/services/subscription_schedule_service.rb +9 -0
  61. data/lib/stripe/services/subscription_service.rb +21 -4
  62. data/lib/stripe/services/tax/registration_service.rb +13 -0
  63. data/lib/stripe/services/terminal/reader_service.rb +4 -4
  64. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +6 -1
  65. data/lib/stripe/services/token_service.rb +1 -1
  66. data/lib/stripe/services/treasury/financial_account_service.rb +5 -1
  67. data/lib/stripe/services/v2/billing_service.rb +2 -2
  68. data/lib/stripe/services/v2/core/account_service.rb +47 -15
  69. data/lib/stripe/services/v2/core/accounts/person_service.rb +9 -10
  70. data/lib/stripe/services/v2/core/event_destination_service.rb +16 -16
  71. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +4 -5
  72. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +2 -2
  73. data/lib/stripe/services/v2/core_service.rb +2 -2
  74. data/lib/stripe/services/v2/money_management/financial_address_service.rb +13 -12
  75. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +36 -36
  76. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +44 -45
  77. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +10 -10
  78. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +41 -41
  79. data/lib/stripe/services/v2/money_management/payout_method_service.rb +1 -2
  80. data/lib/stripe/services/v2/money_management_service.rb +4 -4
  81. data/lib/stripe/services/v2/payments/off_session_payment_service.rb +9 -10
  82. data/lib/stripe/services/v2_services.rb +3 -3
  83. data/lib/stripe/version.rb +1 -1
  84. data/lib/stripe/webhook.rb +1 -1
  85. data/rbi/stripe.rbi +14445 -12226
  86. metadata +3 -2
@@ -942,12 +942,78 @@ module Stripe
942
942
  end
943
943
 
944
944
  class Klarna < Stripe::RequestParams
945
+ class OnDemand < Stripe::RequestParams
946
+ # Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc.
947
+ attr_accessor :average_amount
948
+ # The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
949
+ attr_accessor :maximum_amount
950
+ # The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
951
+ attr_accessor :minimum_amount
952
+ # Interval at which the customer is making purchases
953
+ attr_accessor :purchase_interval
954
+ # The number of `purchase_interval` between charges
955
+ attr_accessor :purchase_interval_count
956
+
957
+ def initialize(
958
+ average_amount: nil,
959
+ maximum_amount: nil,
960
+ minimum_amount: nil,
961
+ purchase_interval: nil,
962
+ purchase_interval_count: nil
963
+ )
964
+ @average_amount = average_amount
965
+ @maximum_amount = maximum_amount
966
+ @minimum_amount = minimum_amount
967
+ @purchase_interval = purchase_interval
968
+ @purchase_interval_count = purchase_interval_count
969
+ end
970
+ end
971
+
972
+ class Subscription < Stripe::RequestParams
973
+ class NextBilling < Stripe::RequestParams
974
+ # The amount of the next charge for the subscription.
975
+ attr_accessor :amount
976
+ # The date of the next charge for the subscription in YYYY-MM-DD format.
977
+ attr_accessor :date
978
+
979
+ def initialize(amount: nil, date: nil)
980
+ @amount = amount
981
+ @date = date
982
+ end
983
+ end
984
+ # Unit of time between subscription charges.
985
+ attr_accessor :interval
986
+ # The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months.
987
+ attr_accessor :interval_count
988
+ # Name for subscription.
989
+ attr_accessor :name
990
+ # Describes the upcoming charge for this subscription.
991
+ attr_accessor :next_billing
992
+ # A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges.
993
+ attr_accessor :reference
994
+
995
+ def initialize(
996
+ interval: nil,
997
+ interval_count: nil,
998
+ name: nil,
999
+ next_billing: nil,
1000
+ reference: nil
1001
+ )
1002
+ @interval = interval
1003
+ @interval_count = interval_count
1004
+ @name = name
1005
+ @next_billing = next_billing
1006
+ @reference = reference
1007
+ end
1008
+ end
945
1009
  # Controls when the funds are captured from the customer's account.
946
1010
  #
947
1011
  # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
948
1012
  #
949
1013
  # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
950
1014
  attr_accessor :capture_method
1015
+ # On-demand details if setting up or charging an on-demand payment.
1016
+ attr_accessor :on_demand
951
1017
  # Preferred language of the Klarna authorization page that the customer is redirected to
952
1018
  attr_accessor :preferred_locale
953
1019
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -960,11 +1026,21 @@ module Stripe
960
1026
  #
961
1027
  # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
962
1028
  attr_accessor :setup_future_usage
1029
+ # Subscription details if setting up or charging a subscription.
1030
+ attr_accessor :subscriptions
963
1031
 
964
- def initialize(capture_method: nil, preferred_locale: nil, setup_future_usage: nil)
1032
+ def initialize(
1033
+ capture_method: nil,
1034
+ on_demand: nil,
1035
+ preferred_locale: nil,
1036
+ setup_future_usage: nil,
1037
+ subscriptions: nil
1038
+ )
965
1039
  @capture_method = capture_method
1040
+ @on_demand = on_demand
966
1041
  @preferred_locale = preferred_locale
967
1042
  @setup_future_usage = setup_future_usage
1043
+ @subscriptions = subscriptions
968
1044
  end
969
1045
  end
970
1046
 
@@ -1990,12 +2066,78 @@ module Stripe
1990
2066
  end
1991
2067
 
1992
2068
  class Klarna < Stripe::RequestParams
2069
+ class OnDemand < Stripe::RequestParams
2070
+ # Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc.
2071
+ attr_accessor :average_amount
2072
+ # The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
2073
+ attr_accessor :maximum_amount
2074
+ # The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
2075
+ attr_accessor :minimum_amount
2076
+ # Interval at which the customer is making purchases
2077
+ attr_accessor :purchase_interval
2078
+ # The number of `purchase_interval` between charges
2079
+ attr_accessor :purchase_interval_count
2080
+
2081
+ def initialize(
2082
+ average_amount: nil,
2083
+ maximum_amount: nil,
2084
+ minimum_amount: nil,
2085
+ purchase_interval: nil,
2086
+ purchase_interval_count: nil
2087
+ )
2088
+ @average_amount = average_amount
2089
+ @maximum_amount = maximum_amount
2090
+ @minimum_amount = minimum_amount
2091
+ @purchase_interval = purchase_interval
2092
+ @purchase_interval_count = purchase_interval_count
2093
+ end
2094
+ end
2095
+
2096
+ class Subscription < Stripe::RequestParams
2097
+ class NextBilling < Stripe::RequestParams
2098
+ # The amount of the next charge for the subscription.
2099
+ attr_accessor :amount
2100
+ # The date of the next charge for the subscription in YYYY-MM-DD format.
2101
+ attr_accessor :date
2102
+
2103
+ def initialize(amount: nil, date: nil)
2104
+ @amount = amount
2105
+ @date = date
2106
+ end
2107
+ end
2108
+ # Unit of time between subscription charges.
2109
+ attr_accessor :interval
2110
+ # The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months.
2111
+ attr_accessor :interval_count
2112
+ # Name for subscription.
2113
+ attr_accessor :name
2114
+ # Describes the upcoming charge for this subscription.
2115
+ attr_accessor :next_billing
2116
+ # A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges.
2117
+ attr_accessor :reference
2118
+
2119
+ def initialize(
2120
+ interval: nil,
2121
+ interval_count: nil,
2122
+ name: nil,
2123
+ next_billing: nil,
2124
+ reference: nil
2125
+ )
2126
+ @interval = interval
2127
+ @interval_count = interval_count
2128
+ @name = name
2129
+ @next_billing = next_billing
2130
+ @reference = reference
2131
+ end
2132
+ end
1993
2133
  # Controls when the funds are captured from the customer's account.
1994
2134
  #
1995
2135
  # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
1996
2136
  #
1997
2137
  # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
1998
2138
  attr_accessor :capture_method
2139
+ # On-demand details if setting up or charging an on-demand payment.
2140
+ attr_accessor :on_demand
1999
2141
  # Preferred language of the Klarna authorization page that the customer is redirected to
2000
2142
  attr_accessor :preferred_locale
2001
2143
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -2008,11 +2150,21 @@ module Stripe
2008
2150
  #
2009
2151
  # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
2010
2152
  attr_accessor :setup_future_usage
2153
+ # Subscription details if setting up or charging a subscription.
2154
+ attr_accessor :subscriptions
2011
2155
 
2012
- def initialize(capture_method: nil, preferred_locale: nil, setup_future_usage: nil)
2156
+ def initialize(
2157
+ capture_method: nil,
2158
+ on_demand: nil,
2159
+ preferred_locale: nil,
2160
+ setup_future_usage: nil,
2161
+ subscriptions: nil
2162
+ )
2013
2163
  @capture_method = capture_method
2164
+ @on_demand = on_demand
2014
2165
  @preferred_locale = preferred_locale
2015
2166
  @setup_future_usage = setup_future_usage
2167
+ @subscriptions = subscriptions
2016
2168
  end
2017
2169
  end
2018
2170
 
@@ -297,9 +297,9 @@ module Stripe
297
297
  class Receipt < Stripe::StripeObject
298
298
  # The type of account being debited or credited
299
299
  attr_reader :account_type
300
- # EMV tag 9F26, cryptogram generated by the integrated circuit chip.
300
+ # The Application Cryptogram, a unique value generated by the card to authenticate the transaction with issuers.
301
301
  attr_reader :application_cryptogram
302
- # Mnenomic of the Application Identifier.
302
+ # The Application Identifier (AID) on the card used to determine which networks are eligible to process the transaction. Referenced from EMV tag 9F12, data encoded on the card's chip.
303
303
  attr_reader :application_preferred_name
304
304
  # Identifier for this transaction.
305
305
  attr_reader :authorization_code
@@ -307,11 +307,11 @@ module Stripe
307
307
  attr_reader :authorization_response_code
308
308
  # Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`.
309
309
  attr_reader :cardholder_verification_method
310
- # EMV tag 84. Similar to the application identifier stored on the integrated circuit chip.
310
+ # Similar to the application_preferred_name, identifying the applications (AIDs) available on the card. Referenced from EMV tag 84.
311
311
  attr_reader :dedicated_file_name
312
- # The outcome of a series of EMV functions performed by the card reader.
312
+ # A 5-byte string that records the checks and validations that occur between the card and the terminal. These checks determine how the terminal processes the transaction and what risk tolerance is acceptable. Referenced from EMV Tag 95.
313
313
  attr_reader :terminal_verification_results
314
- # An indication of various EMV functions performed during the transaction.
314
+ # An indication of which steps were completed during the card read process. Referenced from EMV Tag 9B.
315
315
  attr_reader :transaction_status_information
316
316
  end
317
317
 
@@ -363,7 +363,7 @@ module Stripe
363
363
  attr_reader :offline
364
364
  # Defines whether the authorized amount can be over-captured or not
365
365
  attr_reader :overcapture_supported
366
- # EMV tag 5F2D. Preferred languages specified by the integrated circuit chip.
366
+ # The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip.
367
367
  attr_reader :preferred_locales
368
368
  # How card details were read in this transaction.
369
369
  attr_reader :read_method
@@ -380,6 +380,17 @@ module Stripe
380
380
  attr_reader :cashtag
381
381
  end
382
382
 
383
+ class Crypto < Stripe::StripeObject
384
+ # The wallet address of the customer.
385
+ attr_reader :buyer_address
386
+ # The blockchain network that the transaction was sent on.
387
+ attr_reader :network
388
+ # The token currency that the transaction was sent with.
389
+ attr_reader :token_currency
390
+ # The blockchain transaction hash of the crypto payment.
391
+ attr_reader :transaction_hash
392
+ end
393
+
383
394
  class Custom < Stripe::StripeObject
384
395
  # Display name for the custom (user-defined) payment method type used to make this payment.
385
396
  attr_reader :display_name
@@ -441,7 +452,7 @@ module Stripe
441
452
  end
442
453
 
443
454
  class Ideal < Stripe::StripeObject
444
- # The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.
455
+ # The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `buut`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.
445
456
  attr_reader :bank
446
457
  # The Bank Identifier Code of the customer's bank.
447
458
  attr_reader :bic
@@ -460,9 +471,9 @@ module Stripe
460
471
  class Receipt < Stripe::StripeObject
461
472
  # The type of account being debited or credited
462
473
  attr_reader :account_type
463
- # EMV tag 9F26, cryptogram generated by the integrated circuit chip.
474
+ # The Application Cryptogram, a unique value generated by the card to authenticate the transaction with issuers.
464
475
  attr_reader :application_cryptogram
465
- # Mnenomic of the Application Identifier.
476
+ # The Application Identifier (AID) on the card used to determine which networks are eligible to process the transaction. Referenced from EMV tag 9F12, data encoded on the card's chip.
466
477
  attr_reader :application_preferred_name
467
478
  # Identifier for this transaction.
468
479
  attr_reader :authorization_code
@@ -470,11 +481,11 @@ module Stripe
470
481
  attr_reader :authorization_response_code
471
482
  # Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`.
472
483
  attr_reader :cardholder_verification_method
473
- # EMV tag 84. Similar to the application identifier stored on the integrated circuit chip.
484
+ # Similar to the application_preferred_name, identifying the applications (AIDs) available on the card. Referenced from EMV tag 84.
474
485
  attr_reader :dedicated_file_name
475
- # The outcome of a series of EMV functions performed by the card reader.
486
+ # A 5-byte string that records the checks and validations that occur between the card and the terminal. These checks determine how the terminal processes the transaction and what risk tolerance is acceptable. Referenced from EMV Tag 95.
476
487
  attr_reader :terminal_verification_results
477
- # An indication of various EMV functions performed during the transaction.
488
+ # An indication of which steps were completed during the card read process. Referenced from EMV Tag 9B.
478
489
  attr_reader :transaction_status_information
479
490
  end
480
491
  # Card brand. Can be `interac`, `mastercard` or `visa`.
@@ -509,7 +520,7 @@ module Stripe
509
520
  attr_reader :network
510
521
  # This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise.
511
522
  attr_reader :network_transaction_id
512
- # EMV tag 5F2D. Preferred languages specified by the integrated circuit chip.
523
+ # The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip.
513
524
  attr_reader :preferred_locales
514
525
  # How card details were read in this transaction.
515
526
  attr_reader :read_method
@@ -834,9 +845,9 @@ module Stripe
834
845
  class Twint < Stripe::StripeObject; end
835
846
 
836
847
  class UsBankAccount < Stripe::StripeObject
837
- # Account holder type: individual or company.
848
+ # Attribute for field account_holder_type
838
849
  attr_reader :account_holder_type
839
- # Account type: checkings or savings. Defaults to checking if omitted.
850
+ # Attribute for field account_type
840
851
  attr_reader :account_type
841
852
  # Name of the bank associated with the bank account.
842
853
  attr_reader :bank_name
@@ -846,7 +857,7 @@ module Stripe
846
857
  attr_reader :last4
847
858
  # ID of the mandate used to make this payment.
848
859
  attr_reader :mandate
849
- # Reference number to locate ACH payments with customer's bank.
860
+ # Reference number to locate ACH payments with customers bank.
850
861
  attr_reader :payment_reference
851
862
  # Routing number of the bank account.
852
863
  attr_reader :routing_number
@@ -902,6 +913,8 @@ module Stripe
902
913
  attr_reader :card_present
903
914
  # Attribute for field cashapp
904
915
  attr_reader :cashapp
916
+ # Attribute for field crypto
917
+ attr_reader :crypto
905
918
  # Custom Payment Methods represent Payment Method types not modeled directly in
906
919
  # the Stripe API. This resource consists of details about the custom payment method
907
920
  # used for this payment attempt.
@@ -994,7 +1007,7 @@ module Stripe
994
1007
  # An additional hash is included on `payment_method_details` with a name matching this value.
995
1008
  # It contains information specific to the payment method.
996
1009
  attr_reader :type
997
- # Attribute for field us_bank_account
1010
+ # Details of the US Bank Account used for this payment attempt.
998
1011
  attr_reader :us_bank_account
999
1012
  # Attribute for field wechat
1000
1013
  attr_reader :wechat