stripe 19.5.0.pre.alpha.1 → 19.5.0.pre.alpha.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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stripe/api_version.rb +1 -0
  3. data/lib/stripe/connection_manager.rb +30 -0
  4. data/lib/stripe/object_types.rb +1 -0
  5. data/lib/stripe/params/account_create_params.rb +2 -2
  6. data/lib/stripe/params/account_update_params.rb +2 -2
  7. data/lib/stripe/params/checkout/session_create_params.rb +7 -4
  8. data/lib/stripe/params/checkout/session_update_params.rb +4 -1
  9. data/lib/stripe/params/invoice_create_preview_params.rb +1 -1
  10. data/lib/stripe/params/issuing/authorization_capture_params.rb +43 -0
  11. data/lib/stripe/params/issuing/authorization_create_params.rb +43 -0
  12. data/lib/stripe/params/issuing/transaction_create_force_capture_params.rb +43 -0
  13. data/lib/stripe/params/issuing/transaction_create_unlinked_refund_params.rb +43 -0
  14. data/lib/stripe/params/payment_attempt_record_report_guaranteed_params.rb +4 -0
  15. data/lib/stripe/params/payment_link_create_params.rb +1 -1
  16. data/lib/stripe/params/payment_link_update_params.rb +1 -1
  17. data/lib/stripe/params/quote_create_params.rb +1 -1
  18. data/lib/stripe/params/quote_update_params.rb +1 -1
  19. data/lib/stripe/params/subscription_schedule_amend_params.rb +1 -1
  20. data/lib/stripe/params/test_helpers/issuing/authorization_capture_params.rb +43 -0
  21. data/lib/stripe/params/test_helpers/issuing/authorization_create_params.rb +43 -0
  22. data/lib/stripe/params/test_helpers/issuing/transaction_create_force_capture_params.rb +43 -0
  23. data/lib/stripe/params/test_helpers/issuing/transaction_create_unlinked_refund_params.rb +43 -0
  24. data/lib/stripe/params/token_create_params.rb +2 -2
  25. data/lib/stripe/params/v2/money_management/financial_accounts/statement_list_params.rb +4 -1
  26. data/lib/stripe/resources/account.rb +2 -0
  27. data/lib/stripe/resources/billing/feedback_options.rb +47 -0
  28. data/lib/stripe/resources/billing_portal/configuration.rb +2 -0
  29. data/lib/stripe/resources/capital/financing_summary.rb +1 -1
  30. data/lib/stripe/resources/charge.rb +20 -0
  31. data/lib/stripe/resources/checkout/session.rb +20 -0
  32. data/lib/stripe/resources/confirmation_token.rb +15 -0
  33. data/lib/stripe/resources/coupon.rb +1 -1
  34. data/lib/stripe/resources/issuing/authorization.rb +1 -1
  35. data/lib/stripe/resources/payment_attempt_record.rb +18 -0
  36. data/lib/stripe/resources/payment_intent.rb +40 -1
  37. data/lib/stripe/resources/payment_method.rb +2 -0
  38. data/lib/stripe/resources/payment_record.rb +18 -0
  39. data/lib/stripe/resources/quote_line.rb +1 -1
  40. data/lib/stripe/resources/subscription.rb +3 -1
  41. data/lib/stripe/resources/v2/payments/off_session_payment.rb +2 -0
  42. data/lib/stripe/resources.rb +2 -0
  43. data/lib/stripe/services/subscription_service.rb +1 -1
  44. data/lib/stripe/version.rb +1 -1
  45. data/rbi/stripe.rbi +773 -42
  46. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e80e8dec0543464a07aa828f39bd3b993fd2c11550f6fe90e6f7c2661eadbd97
4
- data.tar.gz: eb16314a6be20e6448334a88def72c9b81ed0e3b79a3d2c719be6e9cb9dd0fde
3
+ metadata.gz: ec393858ac2aeffaddf3548abe6065b59c9d294585d39e2fcae279af6c4c59b8
4
+ data.tar.gz: 5fa0194c53f2bb12affe2fd70c56fa447a7ca53436b493bc29bf7addd7be6c7a
5
5
  SHA512:
6
- metadata.gz: ae5fa14613af793c075cbbe16762b16799a92cb10c1607ba7aa23cc4e64b8a45db5513219f501b65a3726fe91186751957f923cd6dfdbae591d4c25eb0c634a0
7
- data.tar.gz: e00a3aad3a9bcb45c676455830ec89b51a811d1daaf3b125054e5ae3b7b8182c8c2dbf0903a50627a7649e47652415f1c9695b2630d2f2e502034c186a718611
6
+ metadata.gz: 0ccec7c095e2b1f40f40383ac41ef2f8bf1960782c140dc0a77ed51cbccc2e21270b6b3adbc3a247ec0a9374119b0732d5e25552fb400bcaba08cc1749544d91
7
+ data.tar.gz: 5b524604c2dc74648bb3b112a6f4ef5b6167a06b74218b6f3b6cd483c26909f06c2b7e9c5c600f2ddbdb7267d6b92f3422432ba37fc1675441c951c3fee3aef4
@@ -4,5 +4,6 @@
4
4
  module Stripe
5
5
  module ApiVersion
6
6
  CURRENT = "2026-07-29.preview"
7
+ CURRENT_MAJOR = ""
7
8
  end
8
9
  end
@@ -66,6 +66,10 @@ module Stripe
66
66
  # allows a request body, headers, and query string to be specified.
67
67
  def execute_request(method, uri, body: nil, headers: nil, query: nil,
68
68
  &block)
69
+ # Assigned up front so that the rescue below can tell whether a connection was ever
70
+ # obtained. Argument validation, for instance, fails before one exists.
71
+ connection = nil
72
+
69
73
  # Perform some basic argument validation because it's easy to get
70
74
  # confused between strings and hashes for things like body and query
71
75
  # parameters.
@@ -129,12 +133,38 @@ module Stripe
129
133
  log_timestamp: Util.monotonic_time)
130
134
 
131
135
  resp
136
+ rescue Exception # rubocop:disable Lint/RescueException
137
+ discard_connection(connection)
138
+ raise
132
139
  end
133
140
 
134
141
  #
135
142
  # private
136
143
  #
137
144
 
145
+ # Closes a connection and drops it from internal tracking. Accepts `nil` for the case where a
146
+ # request failed before a connection was obtained.
147
+ #
148
+ # `Net::HTTP` closes its own socket when a request fails with a `StandardError`, but an
149
+ # exception outside that hierarchy — an asynchronous `Thread#raise` from a request-timeout
150
+ # mechanism, for example — unwinds past those rescue clauses. The socket is then left open
151
+ # with the response still unread, and because `end_transport` never ran, `@last_communicated`
152
+ # is unset, which makes `begin_transport` skip both its keep-alive-timeout and EOF checks. The
153
+ # next request to reuse that connection reads the abandoned response rather than its own.
154
+ private def discard_connection(connection)
155
+ return if connection.nil?
156
+
157
+ @mutex.synchronize do
158
+ @active_connections.delete_if { |_, active| active.equal?(connection) }
159
+ end
160
+
161
+ connection.finish
162
+ rescue IOError
163
+ # The connection was never started, so there is nothing to close. Swallowed so that this
164
+ # cleanup can never replace the exception that triggered it.
165
+ nil
166
+ end
167
+
138
168
  # `uri` should be a parsed `URI` object.
139
169
  private def create_connection(uri)
140
170
  # These all come back as `nil` if no proxy is configured.
@@ -36,6 +36,7 @@ module Stripe
36
36
  Billing::CreditBalanceSummary.object_name => Billing::CreditBalanceSummary,
37
37
  Billing::CreditBalanceTransaction.object_name => Billing::CreditBalanceTransaction,
38
38
  Billing::CreditGrant.object_name => Billing::CreditGrant,
39
+ Billing::FeedbackOptions.object_name => Billing::FeedbackOptions,
39
40
  Billing::Meter.object_name => Billing::Meter,
40
41
  Billing::MeterEvent.object_name => Billing::MeterEvent,
41
42
  Billing::MeterEventAdjustment.object_name => Billing::MeterEventAdjustment,
@@ -1537,7 +1537,7 @@ module Stripe
1537
1537
  attr_accessor :address_kana
1538
1538
  # The Kanji variation of the company's primary address (Japan only).
1539
1539
  attr_accessor :address_kanji
1540
- # Attribute for param field administrative_address
1540
+ # The location where the business is administered.
1541
1541
  attr_accessor :administrative_address
1542
1542
  # Whether the company's directors have been provided. Set this Boolean to `true` after creating all the company's directors with [the Persons API](/api/persons) for accounts with a `relationship.director` requirement. This value is not automatically set to `true` after creating directors, so it needs to be updated to indicate all directors have been provided.
1543
1543
  attr_accessor :directors_provided
@@ -1563,7 +1563,7 @@ module Stripe
1563
1563
  attr_accessor :ownership_exemption_reason
1564
1564
  # The company's phone number (used for verification).
1565
1565
  attr_accessor :phone
1566
- # Attribute for param field principal_place_of_business
1566
+ # The primary location where the business conducts operations.
1567
1567
  attr_accessor :principal_place_of_business
1568
1568
  # When the business was incorporated or registered.
1569
1569
  attr_accessor :registration_date
@@ -1537,7 +1537,7 @@ module Stripe
1537
1537
  attr_accessor :address_kana
1538
1538
  # The Kanji variation of the company's primary address (Japan only).
1539
1539
  attr_accessor :address_kanji
1540
- # Attribute for param field administrative_address
1540
+ # The location where the business is administered.
1541
1541
  attr_accessor :administrative_address
1542
1542
  # Whether the company's directors have been provided. Set this Boolean to `true` after creating all the company's directors with [the Persons API](/api/persons) for accounts with a `relationship.director` requirement. This value is not automatically set to `true` after creating directors, so it needs to be updated to indicate all directors have been provided.
1543
1543
  attr_accessor :directors_provided
@@ -1563,7 +1563,7 @@ module Stripe
1563
1563
  attr_accessor :ownership_exemption_reason
1564
1564
  # The company's phone number (used for verification).
1565
1565
  attr_accessor :phone
1566
- # Attribute for param field principal_place_of_business
1566
+ # The primary location where the business conducts operations.
1567
1567
  attr_accessor :principal_place_of_business
1568
1568
  # Attribute for param field registration_date
1569
1569
  attr_accessor :registration_date
@@ -261,7 +261,7 @@ module Stripe
261
261
  @value = value
262
262
  end
263
263
  end
264
- # The value that pre-fills the field on the payment page.Must match a `value` in the `options` array.
264
+ # The value that pre-fills the field on the payment page. Must match a `value` in the `options` array.
265
265
  attr_accessor :default_value
266
266
  # The options available for the customer to select. Up to 200 options allowed.
267
267
  attr_accessor :options
@@ -687,9 +687,9 @@ module Stripe
687
687
  @field_encodings = { unit_amount_decimal: :decimal_string }
688
688
  end
689
689
  end
690
- # The ID of the price for this subscription item.
690
+ # The ID of the [Price](https://docs.stripe.com/api/prices). One of `price` or `price_data` is required.
691
691
  attr_accessor :price
692
- # Data used to generate a new Price object inline.
692
+ # Data used to generate a new [Price](https://docs.stripe.com/api/prices) object inline. One of `price` or `price_data` is required.
693
693
  attr_accessor :price_data
694
694
  # Quantity for this item.
695
695
  attr_accessor :quantity
@@ -2762,10 +2762,13 @@ module Stripe
2762
2762
  attr_accessor :shipping_rate
2763
2763
  # Parameters to be passed to Shipping Rate creation for this shipping option.
2764
2764
  attr_accessor :shipping_rate_data
2765
+ # The tax rates that will be applied to this shipping option. This parameter is only supported for Checkout Sessions with `ui_mode` set to `form` or `elements`.
2766
+ attr_accessor :tax_rates
2765
2767
 
2766
- def initialize(shipping_rate: nil, shipping_rate_data: nil)
2768
+ def initialize(shipping_rate: nil, shipping_rate_data: nil, tax_rates: nil)
2767
2769
  @shipping_rate = shipping_rate
2768
2770
  @shipping_rate_data = shipping_rate_data
2771
+ @tax_rates = tax_rates
2769
2772
  end
2770
2773
  end
2771
2774
 
@@ -394,10 +394,13 @@ module Stripe
394
394
  attr_accessor :shipping_rate
395
395
  # Parameters to be passed to Shipping Rate creation for this shipping option.
396
396
  attr_accessor :shipping_rate_data
397
+ # The tax rates that will be applied to this shipping option. This parameter is only supported for Checkout Sessions with `ui_mode` set to `form` or `elements`.
398
+ attr_accessor :tax_rates
397
399
 
398
- def initialize(shipping_rate: nil, shipping_rate_data: nil)
400
+ def initialize(shipping_rate: nil, shipping_rate_data: nil, tax_rates: nil)
399
401
  @shipping_rate = shipping_rate
400
402
  @shipping_rate_data = shipping_rate_data
403
+ @tax_rates = tax_rates
401
404
  end
402
405
  end
403
406
 
@@ -1068,7 +1068,7 @@ module Stripe
1068
1068
  attr_accessor :amendment_end
1069
1069
  # Details to identify the earliest timestamp where the proposed change should take effect.
1070
1070
  attr_accessor :amendment_start
1071
- # For point-in-time amendments (having no `amendment_end`), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the `amendment_start` timestamp.For time-span based amendments (having both `amendment_start` and `amendment_end`), the only value valid is `automatic`, which removes any previously configured billing cycle anchor resets scheduled to occur during the window of time spanned by the amendment.
1071
+ # For point-in-time amendments (having no `amendment_end`), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the `amendment_start` timestamp. For time-span based amendments (having both `amendment_start` and `amendment_end`), the only value valid is `automatic`, which removes any previously configured billing cycle anchor resets scheduled to occur during the window of time spanned by the amendment.
1072
1072
  attr_accessor :billing_cycle_anchor
1073
1073
  # Actions to apply to the billing schedules.
1074
1074
  attr_accessor :billing_schedules_actions
@@ -246,6 +246,45 @@ module Stripe
246
246
  end
247
247
  end
248
248
 
249
+ class Healthcare < ::Stripe::RequestParams
250
+ # Clinic and urgent care sub-amount for Visa only.
251
+ attr_accessor :clinic_amount
252
+ # 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).
253
+ attr_accessor :currency
254
+ # Dental care sub-amount for Visa only.
255
+ attr_accessor :dental_amount
256
+ # Prescription drug sub-amount. Null if the merchant did not send this amount.
257
+ attr_accessor :prescription_amount
258
+ # The type of healthcare transaction. `medical` for FSA/HSA-eligible healthcare purchases; `transit_for_healthcare` for FSA/HSA-eligible transit for healthcare purchases.
259
+ attr_accessor :purchase_type
260
+ # Total FSA/HSA-eligible amount in the smallest currency unit.
261
+ attr_accessor :total_qualified_amount
262
+ # IIAS verification status from the merchant terminal. For Visa, this is always iias_verified.
263
+ attr_accessor :verification_status
264
+ # Vision/optical sub-amount. Null if the merchant did not send this amount.
265
+ attr_accessor :vision_amount
266
+
267
+ def initialize(
268
+ clinic_amount: nil,
269
+ currency: nil,
270
+ dental_amount: nil,
271
+ prescription_amount: nil,
272
+ purchase_type: nil,
273
+ total_qualified_amount: nil,
274
+ verification_status: nil,
275
+ vision_amount: nil
276
+ )
277
+ @clinic_amount = clinic_amount
278
+ @currency = currency
279
+ @dental_amount = dental_amount
280
+ @prescription_amount = prescription_amount
281
+ @purchase_type = purchase_type
282
+ @total_qualified_amount = total_qualified_amount
283
+ @verification_status = verification_status
284
+ @vision_amount = vision_amount
285
+ end
286
+ end
287
+
249
288
  class Lodging < ::Stripe::RequestParams
250
289
  # The time of checking into the lodging.
251
290
  attr_accessor :check_in_at
@@ -285,6 +324,8 @@ module Stripe
285
324
  attr_accessor :flight
286
325
  # Information about fuel that was purchased with this transaction.
287
326
  attr_accessor :fuel
327
+ # Healthcare sub-amounts for IIAS-eligible transactions.
328
+ attr_accessor :healthcare
288
329
  # Information about lodging that was purchased with this transaction.
289
330
  attr_accessor :lodging
290
331
  # The line items in the purchase.
@@ -296,6 +337,7 @@ module Stripe
296
337
  fleet: nil,
297
338
  flight: nil,
298
339
  fuel: nil,
340
+ healthcare: nil,
299
341
  lodging: nil,
300
342
  receipt: nil,
301
343
  reference: nil
@@ -303,6 +345,7 @@ module Stripe
303
345
  @fleet = fleet
304
346
  @flight = flight
305
347
  @fuel = fuel
348
+ @healthcare = healthcare
306
349
  @lodging = lodging
307
350
  @receipt = receipt
308
351
  @reference = reference
@@ -188,6 +188,45 @@ module Stripe
188
188
  end
189
189
  end
190
190
 
191
+ class Healthcare < ::Stripe::RequestParams
192
+ # Clinic and urgent care sub-amount for Visa only.
193
+ attr_accessor :clinic_amount
194
+ # 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).
195
+ attr_accessor :currency
196
+ # Dental care sub-amount for Visa only.
197
+ attr_accessor :dental_amount
198
+ # Prescription drug sub-amount. Null if the merchant did not send this amount.
199
+ attr_accessor :prescription_amount
200
+ # The type of healthcare transaction. `medical` for FSA/HSA-eligible healthcare purchases; `transit_for_healthcare` for FSA/HSA-eligible transit for healthcare purchases.
201
+ attr_accessor :purchase_type
202
+ # Total FSA/HSA-eligible amount in the smallest currency unit.
203
+ attr_accessor :total_qualified_amount
204
+ # IIAS verification status from the merchant terminal. For Visa, this is always iias_verified.
205
+ attr_accessor :verification_status
206
+ # Vision/optical sub-amount. Null if the merchant did not send this amount.
207
+ attr_accessor :vision_amount
208
+
209
+ def initialize(
210
+ clinic_amount: nil,
211
+ currency: nil,
212
+ dental_amount: nil,
213
+ prescription_amount: nil,
214
+ purchase_type: nil,
215
+ total_qualified_amount: nil,
216
+ verification_status: nil,
217
+ vision_amount: nil
218
+ )
219
+ @clinic_amount = clinic_amount
220
+ @currency = currency
221
+ @dental_amount = dental_amount
222
+ @prescription_amount = prescription_amount
223
+ @purchase_type = purchase_type
224
+ @total_qualified_amount = total_qualified_amount
225
+ @verification_status = verification_status
226
+ @vision_amount = vision_amount
227
+ end
228
+ end
229
+
191
230
  class MerchantData < ::Stripe::RequestParams
192
231
  # A categorization of the seller's type of business. See our [merchant categories guide](https://docs.stripe.com/issuing/merchant-categories) for a list of possible values.
193
232
  attr_accessor :category
@@ -373,6 +412,8 @@ module Stripe
373
412
  attr_accessor :fraud_disputability_likelihood
374
413
  # Information about fuel that was purchased with this transaction.
375
414
  attr_accessor :fuel
415
+ # Healthcare-specific information for IIAS-eligible authorizations.
416
+ attr_accessor :healthcare
376
417
  # If set `true`, you may provide [amount](https://docs.stripe.com/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization.
377
418
  attr_accessor :is_amount_controllable
378
419
  # The total amount to attempt to authorize. This amount is in the provided merchant currency, and in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal).
@@ -400,6 +441,7 @@ module Stripe
400
441
  fleet: nil,
401
442
  fraud_disputability_likelihood: nil,
402
443
  fuel: nil,
444
+ healthcare: nil,
403
445
  is_amount_controllable: nil,
404
446
  merchant_amount: nil,
405
447
  merchant_currency: nil,
@@ -418,6 +460,7 @@ module Stripe
418
460
  @fleet = fleet
419
461
  @fraud_disputability_likelihood = fraud_disputability_likelihood
420
462
  @fuel = fuel
463
+ @healthcare = healthcare
421
464
  @is_amount_controllable = is_amount_controllable
422
465
  @merchant_amount = merchant_amount
423
466
  @merchant_currency = merchant_currency
@@ -297,6 +297,45 @@ module Stripe
297
297
  end
298
298
  end
299
299
 
300
+ class Healthcare < ::Stripe::RequestParams
301
+ # Clinic and urgent care sub-amount for Visa only.
302
+ attr_accessor :clinic_amount
303
+ # 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).
304
+ attr_accessor :currency
305
+ # Dental care sub-amount for Visa only.
306
+ attr_accessor :dental_amount
307
+ # Prescription drug sub-amount. Null if the merchant did not send this amount.
308
+ attr_accessor :prescription_amount
309
+ # The type of healthcare transaction. `medical` for FSA/HSA-eligible healthcare purchases; `transit_for_healthcare` for FSA/HSA-eligible transit for healthcare purchases.
310
+ attr_accessor :purchase_type
311
+ # Total FSA/HSA-eligible amount in the smallest currency unit.
312
+ attr_accessor :total_qualified_amount
313
+ # IIAS verification status from the merchant terminal. For Visa, this is always iias_verified.
314
+ attr_accessor :verification_status
315
+ # Vision/optical sub-amount. Null if the merchant did not send this amount.
316
+ attr_accessor :vision_amount
317
+
318
+ def initialize(
319
+ clinic_amount: nil,
320
+ currency: nil,
321
+ dental_amount: nil,
322
+ prescription_amount: nil,
323
+ purchase_type: nil,
324
+ total_qualified_amount: nil,
325
+ verification_status: nil,
326
+ vision_amount: nil
327
+ )
328
+ @clinic_amount = clinic_amount
329
+ @currency = currency
330
+ @dental_amount = dental_amount
331
+ @prescription_amount = prescription_amount
332
+ @purchase_type = purchase_type
333
+ @total_qualified_amount = total_qualified_amount
334
+ @verification_status = verification_status
335
+ @vision_amount = vision_amount
336
+ end
337
+ end
338
+
300
339
  class Lodging < ::Stripe::RequestParams
301
340
  # The time of checking into the lodging.
302
341
  attr_accessor :check_in_at
@@ -336,6 +375,8 @@ module Stripe
336
375
  attr_accessor :flight
337
376
  # Information about fuel that was purchased with this transaction.
338
377
  attr_accessor :fuel
378
+ # Healthcare sub-amounts for IIAS-eligible transactions.
379
+ attr_accessor :healthcare
339
380
  # Information about lodging that was purchased with this transaction.
340
381
  attr_accessor :lodging
341
382
  # The line items in the purchase.
@@ -347,6 +388,7 @@ module Stripe
347
388
  fleet: nil,
348
389
  flight: nil,
349
390
  fuel: nil,
391
+ healthcare: nil,
350
392
  lodging: nil,
351
393
  receipt: nil,
352
394
  reference: nil
@@ -354,6 +396,7 @@ module Stripe
354
396
  @fleet = fleet
355
397
  @flight = flight
356
398
  @fuel = fuel
399
+ @healthcare = healthcare
357
400
  @lodging = lodging
358
401
  @receipt = receipt
359
402
  @reference = reference
@@ -288,6 +288,45 @@ module Stripe
288
288
  end
289
289
  end
290
290
 
291
+ class Healthcare < ::Stripe::RequestParams
292
+ # Clinic and urgent care sub-amount for Visa only.
293
+ attr_accessor :clinic_amount
294
+ # 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).
295
+ attr_accessor :currency
296
+ # Dental care sub-amount for Visa only.
297
+ attr_accessor :dental_amount
298
+ # Prescription drug sub-amount. Null if the merchant did not send this amount.
299
+ attr_accessor :prescription_amount
300
+ # The type of healthcare transaction. `medical` for FSA/HSA-eligible healthcare purchases; `transit_for_healthcare` for FSA/HSA-eligible transit for healthcare purchases.
301
+ attr_accessor :purchase_type
302
+ # Total FSA/HSA-eligible amount in the smallest currency unit.
303
+ attr_accessor :total_qualified_amount
304
+ # IIAS verification status from the merchant terminal. For Visa, this is always iias_verified.
305
+ attr_accessor :verification_status
306
+ # Vision/optical sub-amount. Null if the merchant did not send this amount.
307
+ attr_accessor :vision_amount
308
+
309
+ def initialize(
310
+ clinic_amount: nil,
311
+ currency: nil,
312
+ dental_amount: nil,
313
+ prescription_amount: nil,
314
+ purchase_type: nil,
315
+ total_qualified_amount: nil,
316
+ verification_status: nil,
317
+ vision_amount: nil
318
+ )
319
+ @clinic_amount = clinic_amount
320
+ @currency = currency
321
+ @dental_amount = dental_amount
322
+ @prescription_amount = prescription_amount
323
+ @purchase_type = purchase_type
324
+ @total_qualified_amount = total_qualified_amount
325
+ @verification_status = verification_status
326
+ @vision_amount = vision_amount
327
+ end
328
+ end
329
+
291
330
  class Lodging < ::Stripe::RequestParams
292
331
  # The time of checking into the lodging.
293
332
  attr_accessor :check_in_at
@@ -327,6 +366,8 @@ module Stripe
327
366
  attr_accessor :flight
328
367
  # Information about fuel that was purchased with this transaction.
329
368
  attr_accessor :fuel
369
+ # Healthcare sub-amounts for IIAS-eligible transactions.
370
+ attr_accessor :healthcare
330
371
  # Information about lodging that was purchased with this transaction.
331
372
  attr_accessor :lodging
332
373
  # The line items in the purchase.
@@ -338,6 +379,7 @@ module Stripe
338
379
  fleet: nil,
339
380
  flight: nil,
340
381
  fuel: nil,
382
+ healthcare: nil,
341
383
  lodging: nil,
342
384
  receipt: nil,
343
385
  reference: nil
@@ -345,6 +387,7 @@ module Stripe
345
387
  @fleet = fleet
346
388
  @flight = flight
347
389
  @fuel = fuel
390
+ @healthcare = healthcare
348
391
  @lodging = lodging
349
392
  @receipt = receipt
350
393
  @reference = reference
@@ -60,6 +60,8 @@ module Stripe
60
60
  attr_accessor :expand
61
61
  # When the reported payment was guaranteed. Measured in seconds since the Unix epoch.
62
62
  attr_accessor :guaranteed_at
63
+ # Set to `true` to enable writing an anomalous guaranteed payment to an outdated PaymentAttemptRecord. This parameter defaults to `false`.
64
+ attr_accessor :is_anomalous
63
65
  # Set of [key-value pairs](https://docs.stripe.com/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`.
64
66
  attr_accessor :metadata
65
67
  # Payment evaluations associated with this reported payment.
@@ -72,6 +74,7 @@ module Stripe
72
74
  def initialize(
73
75
  expand: nil,
74
76
  guaranteed_at: nil,
77
+ is_anomalous: nil,
75
78
  metadata: nil,
76
79
  payment_evaluations: nil,
77
80
  payment_method_details: nil,
@@ -79,6 +82,7 @@ module Stripe
79
82
  )
80
83
  @expand = expand
81
84
  @guaranteed_at = guaranteed_at
85
+ @is_anomalous = is_anomalous
82
86
  @metadata = metadata
83
87
  @payment_evaluations = payment_evaluations
84
88
  @payment_method_details = payment_method_details
@@ -115,7 +115,7 @@ module Stripe
115
115
  @value = value
116
116
  end
117
117
  end
118
- # The value that pre-fills the field on the payment page.Must match a `value` in the `options` array.
118
+ # The value that pre-fills the field on the payment page. Must match a `value` in the `options` array.
119
119
  attr_accessor :default_value
120
120
  # The options available for the customer to select. Up to 200 options allowed.
121
121
  attr_accessor :options
@@ -100,7 +100,7 @@ module Stripe
100
100
  @value = value
101
101
  end
102
102
  end
103
- # The value that pre-fills the field on the payment page.Must match a `value` in the `options` array.
103
+ # The value that pre-fills the field on the payment page. Must match a `value` in the `options` array.
104
104
  attr_accessor :default_value
105
105
  # The options available for the customer to select. Up to 200 options allowed.
106
106
  attr_accessor :options
@@ -769,7 +769,7 @@ module Stripe
769
769
  attr_accessor :actions
770
770
  # Details to identify the subscription schedule the quote line applies to.
771
771
  attr_accessor :applies_to
772
- # For point-in-time quote lines (having no `ends_at` timestamp), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the Quote Line `starts_at` timestamp.For time-span based quote lines (having both `starts_at` and `ends_at`), the only valid value is `automatic`, which removes any previously configured billing cycle anchor resets during the window of time spanning the quote line.
772
+ # For point-in-time quote lines (having no `ends_at` timestamp), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the Quote Line `starts_at` timestamp. For time-span based quote lines (having both `starts_at` and `ends_at`), the only valid value is `automatic`, which removes any previously configured billing cycle anchor resets during the window of time spanning the quote line.
773
773
  attr_accessor :billing_cycle_anchor
774
774
  # A point-in-time operation that cancels an existing subscription schedule at the line's starts_at timestamp. Currently only compatible with `quote_acceptance_date` for `starts_at`. When using cancel_subscription_schedule, the subscription schedule on the quote remains unalterable, except for modifications to the metadata, collection_method or invoice_settings.
775
775
  attr_accessor :cancel_subscription_schedule
@@ -760,7 +760,7 @@ module Stripe
760
760
  attr_accessor :actions
761
761
  # Details to identify the subscription schedule the quote line applies to.
762
762
  attr_accessor :applies_to
763
- # For point-in-time quote lines (having no `ends_at` timestamp), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the Quote Line `starts_at` timestamp.For time-span based quote lines (having both `starts_at` and `ends_at`), the only valid value is `automatic`, which removes any previously configured billing cycle anchor resets during the window of time spanning the quote line.
763
+ # For point-in-time quote lines (having no `ends_at` timestamp), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the Quote Line `starts_at` timestamp. For time-span based quote lines (having both `starts_at` and `ends_at`), the only valid value is `automatic`, which removes any previously configured billing cycle anchor resets during the window of time spanning the quote line.
764
764
  attr_accessor :billing_cycle_anchor
765
765
  # A point-in-time operation that cancels an existing subscription schedule at the line's starts_at timestamp. Currently only compatible with `quote_acceptance_date` for `starts_at`. When using cancel_subscription_schedule, the subscription schedule on the quote remains unalterable, except for modifications to the metadata, collection_method or invoice_settings.
766
766
  attr_accessor :cancel_subscription_schedule
@@ -640,7 +640,7 @@ module Stripe
640
640
  attr_accessor :amendment_end
641
641
  # Details to identify the earliest timestamp where the proposed change should take effect.
642
642
  attr_accessor :amendment_start
643
- # For point-in-time amendments (having no `amendment_end`), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the `amendment_start` timestamp.For time-span based amendments (having both `amendment_start` and `amendment_end`), the only value valid is `automatic`, which removes any previously configured billing cycle anchor resets scheduled to occur during the window of time spanned by the amendment.
643
+ # For point-in-time amendments (having no `amendment_end`), this attribute lets you set or remove whether the subscription's billing cycle anchor is reset at the `amendment_start` timestamp. For time-span based amendments (having both `amendment_start` and `amendment_end`), the only value valid is `automatic`, which removes any previously configured billing cycle anchor resets scheduled to occur during the window of time spanned by the amendment.
644
644
  attr_accessor :billing_cycle_anchor
645
645
  # Actions to apply to the billing schedules.
646
646
  attr_accessor :billing_schedules_actions
@@ -247,6 +247,45 @@ module Stripe
247
247
  end
248
248
  end
249
249
 
250
+ class Healthcare < ::Stripe::RequestParams
251
+ # Clinic and urgent care sub-amount for Visa only.
252
+ attr_accessor :clinic_amount
253
+ # 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).
254
+ attr_accessor :currency
255
+ # Dental care sub-amount for Visa only.
256
+ attr_accessor :dental_amount
257
+ # Prescription drug sub-amount. Null if the merchant did not send this amount.
258
+ attr_accessor :prescription_amount
259
+ # The type of healthcare transaction. `medical` for FSA/HSA-eligible healthcare purchases; `transit_for_healthcare` for FSA/HSA-eligible transit for healthcare purchases.
260
+ attr_accessor :purchase_type
261
+ # Total FSA/HSA-eligible amount in the smallest currency unit.
262
+ attr_accessor :total_qualified_amount
263
+ # IIAS verification status from the merchant terminal. For Visa, this is always iias_verified.
264
+ attr_accessor :verification_status
265
+ # Vision/optical sub-amount. Null if the merchant did not send this amount.
266
+ attr_accessor :vision_amount
267
+
268
+ def initialize(
269
+ clinic_amount: nil,
270
+ currency: nil,
271
+ dental_amount: nil,
272
+ prescription_amount: nil,
273
+ purchase_type: nil,
274
+ total_qualified_amount: nil,
275
+ verification_status: nil,
276
+ vision_amount: nil
277
+ )
278
+ @clinic_amount = clinic_amount
279
+ @currency = currency
280
+ @dental_amount = dental_amount
281
+ @prescription_amount = prescription_amount
282
+ @purchase_type = purchase_type
283
+ @total_qualified_amount = total_qualified_amount
284
+ @verification_status = verification_status
285
+ @vision_amount = vision_amount
286
+ end
287
+ end
288
+
250
289
  class Lodging < ::Stripe::RequestParams
251
290
  # The time of checking into the lodging.
252
291
  attr_accessor :check_in_at
@@ -286,6 +325,8 @@ module Stripe
286
325
  attr_accessor :flight
287
326
  # Information about fuel that was purchased with this transaction.
288
327
  attr_accessor :fuel
328
+ # Healthcare sub-amounts for IIAS-eligible transactions.
329
+ attr_accessor :healthcare
289
330
  # Information about lodging that was purchased with this transaction.
290
331
  attr_accessor :lodging
291
332
  # The line items in the purchase.
@@ -297,6 +338,7 @@ module Stripe
297
338
  fleet: nil,
298
339
  flight: nil,
299
340
  fuel: nil,
341
+ healthcare: nil,
300
342
  lodging: nil,
301
343
  receipt: nil,
302
344
  reference: nil
@@ -304,6 +346,7 @@ module Stripe
304
346
  @fleet = fleet
305
347
  @flight = flight
306
348
  @fuel = fuel
349
+ @healthcare = healthcare
307
350
  @lodging = lodging
308
351
  @receipt = receipt
309
352
  @reference = reference