diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION
index 1418e2ae43..794622303c 100644
--- a/OPENAPI_VERSION
+++ b/OPENAPI_VERSION
@@ -1 +1 @@
-v680
\ No newline at end of file
+v691
\ No newline at end of file
diff --git a/src/Stripe.net/Constants/Events.cs b/src/Stripe.net/Constants/Events.cs
index f8fdd6dee6..aa01b0eb80 100644
--- a/src/Stripe.net/Constants/Events.cs
+++ b/src/Stripe.net/Constants/Events.cs
@@ -177,6 +177,41 @@ public static class Events
///
public const string CheckoutSessionExpired = "checkout.session.expired";
+ ///
+ /// Occurs when a Climate order is canceled.
+ ///
+ public const string ClimateOrderCanceled = "climate.order.canceled";
+
+ ///
+ /// Occurs when a Climate order is created.
+ ///
+ public const string ClimateOrderCreated = "climate.order.created";
+
+ ///
+ /// Occurs when a Climate order is delayed.
+ ///
+ public const string ClimateOrderDelayed = "climate.order.delayed";
+
+ ///
+ /// Occurs when a Climate order is delivered.
+ ///
+ public const string ClimateOrderDelivered = "climate.order.delivered";
+
+ ///
+ /// Occurs when a Climate order's product is substituted for another.
+ ///
+ public const string ClimateOrderProductSubstituted = "climate.order.product_substituted";
+
+ ///
+ /// Occurs when a Climate product is created.
+ ///
+ public const string ClimateProductCreated = "climate.product.created";
+
+ ///
+ /// Occurs when a Climate product is updated.
+ ///
+ public const string ClimateProductPricingUpdated = "climate.product.pricing_updated";
+
///
/// Occurs whenever a coupon is created.
///
diff --git a/src/Stripe.net/Entities/BalanceTransactions/BalanceTransaction.cs b/src/Stripe.net/Entities/BalanceTransactions/BalanceTransaction.cs
index c6bada57ef..7d6cde7bbb 100644
--- a/src/Stripe.net/Entities/BalanceTransactions/BalanceTransaction.cs
+++ b/src/Stripe.net/Entities/BalanceTransactions/BalanceTransaction.cs
@@ -147,7 +147,8 @@ public IBalanceTransactionSource Source
///
/// Transaction type: adjustment, advance, advance_funding,
/// anticipation_repayment, application_fee, application_fee_refund,
- /// charge, connect_collection_transfer, contribution,
+ /// charge, climate_order_purchase, climate_order_refund,
+ /// connect_collection_transfer, contribution,
/// issuing_authorization_hold, issuing_authorization_release,
/// issuing_dispute, issuing_transaction, obligation_inbound,
/// obligation_outbound, obligation_reversal_inbound,
@@ -164,7 +165,8 @@ public IBalanceTransactionSource Source
/// consider reporting_category instead.
/// One of: adjustment, advance, advance_funding,
/// anticipation_repayment, application_fee, application_fee_refund,
- /// charge, connect_collection_transfer, contribution,
+ /// charge, climate_order_purchase, climate_order_refund,
+ /// connect_collection_transfer, contribution,
/// issuing_authorization_hold, issuing_authorization_release,
/// issuing_dispute, issuing_transaction, obligation_inbound,
/// obligation_outbound, obligation_payout, obligation_payout_failure,
diff --git a/src/Stripe.net/Entities/Climate/Orders/Order.cs b/src/Stripe.net/Entities/Climate/Orders/Order.cs
new file mode 100644
index 0000000000..3d15acaf39
--- /dev/null
+++ b/src/Stripe.net/Entities/Climate/Orders/Order.cs
@@ -0,0 +1,185 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using System;
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+
+ ///
+ /// Orders represent your intent to purchase a particular Climate product. When you create
+ /// an order, the payment is deducted from your merchant balance.
+ ///
+ public class Order : StripeEntity, IHasId, IHasMetadata, IHasObject
+ {
+ ///
+ /// Unique identifier for the object.
+ ///
+ [JsonProperty("id")]
+ public string Id { get; set; }
+
+ ///
+ /// String representing the object's type. Objects of the same type share the same value.
+ ///
+ [JsonProperty("object")]
+ public string Object { get; set; }
+
+ ///
+ /// Total amount of Frontier's service fees in
+ /// the currency's smallest unit.
+ ///
+ [JsonProperty("amount_fees")]
+ public long AmountFees { get; set; }
+
+ ///
+ /// Total amount of the carbon removal in the currency's smallest unit.
+ ///
+ [JsonProperty("amount_subtotal")]
+ public long AmountSubtotal { get; set; }
+
+ ///
+ /// Total amount of the order including fees in the currency's smallest unit.
+ ///
+ [JsonProperty("amount_total")]
+ public long AmountTotal { get; set; }
+
+ [JsonProperty("beneficiary")]
+ public OrderBeneficiary Beneficiary { get; set; }
+
+ ///
+ /// Time at which the order was canceled. Measured in seconds since the Unix epoch.
+ ///
+ [JsonProperty("canceled_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+ public DateTime? CanceledAt { get; set; }
+
+ ///
+ /// Reason for the cancellation of this order.
+ /// One of: expired, product_unavailable, or requested.
+ ///
+ [JsonProperty("cancellation_reason")]
+ public string CancellationReason { get; set; }
+
+ ///
+ /// For delivered orders, a URL to a delivery certificate for the order.
+ ///
+ [JsonProperty("certificate")]
+ public string Certificate { get; set; }
+
+ ///
+ /// Time at which the order was confirmed. Measured in seconds since the Unix epoch.
+ ///
+ [JsonProperty("confirmed_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+ public DateTime? ConfirmedAt { get; set; }
+
+ ///
+ /// Time at which the object was created. Measured in seconds since the Unix epoch.
+ ///
+ [JsonProperty("created")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+ public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch;
+
+ ///
+ /// Three-letter ISO currency
+ /// code, in lowercase, representing the currency for this order.
+ ///
+ [JsonProperty("currency")]
+ public string Currency { get; set; }
+
+ ///
+ /// Time at which the order's expected_delivery_year was delayed. Measured in seconds since
+ /// the Unix epoch.
+ ///
+ [JsonProperty("delayed_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+ public DateTime? DelayedAt { get; set; }
+
+ ///
+ /// Time at which the order was delivered. Measured in seconds since the Unix epoch.
+ ///
+ [JsonProperty("delivered_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+ public DateTime? DeliveredAt { get; set; }
+
+ ///
+ /// Details about the delivery of carbon removal for this order.
+ ///
+ [JsonProperty("delivery_details")]
+ public List DeliveryDetails { get; set; }
+
+ ///
+ /// The year this order is expected to be delivered.
+ ///
+ [JsonProperty("expected_delivery_year")]
+ public long ExpectedDeliveryYear { get; set; }
+
+ ///
+ /// Has the value true if the object exists in live mode or the value false if
+ /// the object exists in test mode.
+ ///
+ [JsonProperty("livemode")]
+ public bool Livemode { get; set; }
+
+ ///
+ /// Set of key-value pairs that you can
+ /// attach to an object. This can be useful for storing additional information about the
+ /// object in a structured format.
+ ///
+ [JsonProperty("metadata")]
+ public Dictionary Metadata { get; set; }
+
+ ///
+ /// Quantity of carbon removal that is included in this order.
+ ///
+ [JsonProperty("metric_tons")]
+ public decimal MetricTons { get; set; }
+
+ #region Expandable Product
+
+ ///
+ /// (ID of the Product)
+ /// Unique ID for the Climate Product this order is purchasing.
+ ///
+ [JsonIgnore]
+ public string ProductId
+ {
+ get => this.InternalProduct?.Id;
+ set => this.InternalProduct = SetExpandableFieldId(value, this.InternalProduct);
+ }
+
+ ///
+ /// (Expanded)
+ /// Unique ID for the Climate Product this order is purchasing.
+ ///
+ /// For more information, see the expand documentation.
+ ///
+ [JsonIgnore]
+ public Product Product
+ {
+ get => this.InternalProduct?.ExpandedObject;
+ set => this.InternalProduct = SetExpandableFieldObject(value, this.InternalProduct);
+ }
+
+ [JsonProperty("product")]
+ [JsonConverter(typeof(ExpandableFieldConverter))]
+ internal ExpandableField InternalProduct { get; set; }
+ #endregion
+
+ ///
+ /// Time at which the order's product was substituted for a different product. Measured in
+ /// seconds since the Unix epoch.
+ ///
+ [JsonProperty("product_substituted_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+ public DateTime? ProductSubstitutedAt { get; set; }
+
+ ///
+ /// The current status of this order.
+ /// One of: awaiting_funds, canceled, confirmed, delivered, or
+ /// open.
+ ///
+ [JsonProperty("status")]
+ public string Status { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Climate/Orders/OrderBeneficiary.cs b/src/Stripe.net/Entities/Climate/Orders/OrderBeneficiary.cs
new file mode 100644
index 0000000000..72a9cf6573
--- /dev/null
+++ b/src/Stripe.net/Entities/Climate/Orders/OrderBeneficiary.cs
@@ -0,0 +1,14 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using Newtonsoft.Json;
+
+ public class OrderBeneficiary : StripeEntity
+ {
+ ///
+ /// Publicly displayable name for the end beneficiary of carbon removal.
+ ///
+ [JsonProperty("public_name")]
+ public string PublicName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Climate/Orders/OrderDeliveryDetail.cs b/src/Stripe.net/Entities/Climate/Orders/OrderDeliveryDetail.cs
new file mode 100644
index 0000000000..ef371a5822
--- /dev/null
+++ b/src/Stripe.net/Entities/Climate/Orders/OrderDeliveryDetail.cs
@@ -0,0 +1,41 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+
+ public class OrderDeliveryDetail : StripeEntity
+ {
+ ///
+ /// Time at which the delivery occurred. Measured in seconds since the Unix epoch.
+ ///
+ [JsonProperty("delivered_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+ public DateTime DeliveredAt { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch;
+
+ ///
+ /// Specific location of this delivery.
+ ///
+ [JsonProperty("location")]
+ public OrderDeliveryDetailLocation Location { get; set; }
+
+ ///
+ /// Quantity of carbon removal supplied by this delivery.
+ ///
+ [JsonProperty("metric_tons")]
+ public string MetricTons { get; set; }
+
+ ///
+ /// Once retired, a URL to the registry entry for the tons from this delivery.
+ ///
+ [JsonProperty("registry_url")]
+ public string RegistryUrl { get; set; }
+
+ ///
+ /// A supplier of carbon removal.
+ ///
+ [JsonProperty("supplier")]
+ public Supplier Supplier { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Climate/Orders/OrderDeliveryDetailLocation.cs b/src/Stripe.net/Entities/Climate/Orders/OrderDeliveryDetailLocation.cs
new file mode 100644
index 0000000000..c94ede0be0
--- /dev/null
+++ b/src/Stripe.net/Entities/Climate/Orders/OrderDeliveryDetailLocation.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using Newtonsoft.Json;
+
+ public class OrderDeliveryDetailLocation : StripeEntity
+ {
+ ///
+ /// The city where the supplier is located.
+ ///
+ [JsonProperty("city")]
+ public string City { get; set; }
+
+ ///
+ /// Two-letter ISO code representing the country where the supplier is located.
+ ///
+ [JsonProperty("country")]
+ public string Country { get; set; }
+
+ ///
+ /// The geographic latitude where the supplier is located.
+ ///
+ [JsonProperty("latitude")]
+ public decimal? Latitude { get; set; }
+
+ ///
+ /// The geographic longitude where the supplier is located.
+ ///
+ [JsonProperty("longitude")]
+ public decimal? Longitude { get; set; }
+
+ ///
+ /// The state/county/province/region where the supplier is located.
+ ///
+ [JsonProperty("region")]
+ public string Region { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Climate/Products/Product.cs b/src/Stripe.net/Entities/Climate/Products/Product.cs
new file mode 100644
index 0000000000..01a05ce9eb
--- /dev/null
+++ b/src/Stripe.net/Entities/Climate/Products/Product.cs
@@ -0,0 +1,74 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using System;
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+
+ ///
+ /// A Climate product represents a type of carbon removal unit available for reservation.
+ /// You can retrieve it to see the current price and availability.
+ ///
+ public class Product : StripeEntity, IHasId, IHasObject
+ {
+ ///
+ /// Unique identifier for the object. For convenience, Climate product IDs are
+ /// human-readable strings that start with climsku_. See carbon removal
+ /// inventory for a list of available carbon removal products.
+ ///
+ [JsonProperty("id")]
+ public string Id { get; set; }
+
+ ///
+ /// String representing the object's type. Objects of the same type share the same value.
+ ///
+ [JsonProperty("object")]
+ public string Object { get; set; }
+
+ ///
+ /// Time at which the object was created. Measured in seconds since the Unix epoch.
+ ///
+ [JsonProperty("created")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+ public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch;
+
+ ///
+ /// Current prices for a metric ton of carbon removal in a currency's smallest unit.
+ ///
+ [JsonProperty("current_prices_per_metric_ton")]
+ public Dictionary CurrentPricesPerMetricTon { get; set; }
+
+ ///
+ /// The year in which the carbon removal is expected to be delivered.
+ ///
+ [JsonProperty("delivery_year")]
+ public long? DeliveryYear { get; set; }
+
+ ///
+ /// Has the value true if the object exists in live mode or the value false if
+ /// the object exists in test mode.
+ ///
+ [JsonProperty("livemode")]
+ public bool Livemode { get; set; }
+
+ ///
+ /// The quantity of metric tons available for reservation.
+ ///
+ [JsonProperty("metric_tons_available")]
+ public decimal MetricTonsAvailable { get; set; }
+
+ ///
+ /// The Climate product's name.
+ ///
+ [JsonProperty("name")]
+ public string Name { get; set; }
+
+ ///
+ /// The carbon removal suppliers that fulfill orders for this Climate product.
+ ///
+ [JsonProperty("suppliers")]
+ public List Suppliers { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Climate/Products/ProductCurrentPricesPerMetricTon.cs b/src/Stripe.net/Entities/Climate/Products/ProductCurrentPricesPerMetricTon.cs
new file mode 100644
index 0000000000..29cbde6eb2
--- /dev/null
+++ b/src/Stripe.net/Entities/Climate/Products/ProductCurrentPricesPerMetricTon.cs
@@ -0,0 +1,28 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using Newtonsoft.Json;
+
+ public class ProductCurrentPricesPerMetricTon : StripeEntity
+ {
+ ///
+ /// Fees for one metric ton of carbon removal in the currency's smallest unit.
+ ///
+ [JsonProperty("amount_fees")]
+ public long AmountFees { get; set; }
+
+ ///
+ /// Subtotal for one metric ton of carbon removal (excluding fees) in the currency's
+ /// smallest unit.
+ ///
+ [JsonProperty("amount_subtotal")]
+ public long AmountSubtotal { get; set; }
+
+ ///
+ /// Total for one metric ton of carbon removal (including fees) in the currency's smallest
+ /// unit.
+ ///
+ [JsonProperty("amount_total")]
+ public long AmountTotal { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Climate/Suppliers/Supplier.cs b/src/Stripe.net/Entities/Climate/Suppliers/Supplier.cs
new file mode 100644
index 0000000000..3cadd1c4e8
--- /dev/null
+++ b/src/Stripe.net/Entities/Climate/Suppliers/Supplier.cs
@@ -0,0 +1,57 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+
+ ///
+ /// A supplier of carbon removal.
+ ///
+ public class Supplier : StripeEntity, IHasId, IHasObject
+ {
+ ///
+ /// Unique identifier for the object.
+ ///
+ [JsonProperty("id")]
+ public string Id { get; set; }
+
+ ///
+ /// String representing the object’s type. Objects of the same type share the same value.
+ ///
+ [JsonProperty("object")]
+ public string Object { get; set; }
+
+ ///
+ /// Link to a webpage to learn more about the supplier.
+ ///
+ [JsonProperty("info_url")]
+ public string InfoUrl { get; set; }
+
+ ///
+ /// Has the value true if the object exists in live mode or the value false if
+ /// the object exists in test mode.
+ ///
+ [JsonProperty("livemode")]
+ public bool Livemode { get; set; }
+
+ ///
+ /// The locations in which this supplier operates.
+ ///
+ [JsonProperty("locations")]
+ public List Locations { get; set; }
+
+ ///
+ /// Name of this carbon removal supplier.
+ ///
+ [JsonProperty("name")]
+ public string Name { get; set; }
+
+ ///
+ /// The scientific pathway used for carbon removal.
+ /// One of: biomass_carbon_removal_and_storage, direct_air_capture,
+ /// enhanced_weathering, or various.
+ ///
+ [JsonProperty("removal_pathway")]
+ public string RemovalPathway { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Climate/Suppliers/SupplierLocation.cs b/src/Stripe.net/Entities/Climate/Suppliers/SupplierLocation.cs
new file mode 100644
index 0000000000..244985b13f
--- /dev/null
+++ b/src/Stripe.net/Entities/Climate/Suppliers/SupplierLocation.cs
@@ -0,0 +1,38 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using Newtonsoft.Json;
+
+ public class SupplierLocation : StripeEntity
+ {
+ ///
+ /// The city where the supplier is located.
+ ///
+ [JsonProperty("city")]
+ public string City { get; set; }
+
+ ///
+ /// Two-letter ISO code representing the country where the supplier is located.
+ ///
+ [JsonProperty("country")]
+ public string Country { get; set; }
+
+ ///
+ /// The geographic latitude where the supplier is located.
+ ///
+ [JsonProperty("latitude")]
+ public decimal? Latitude { get; set; }
+
+ ///
+ /// The geographic longitude where the supplier is located.
+ ///
+ [JsonProperty("longitude")]
+ public decimal? Longitude { get; set; }
+
+ ///
+ /// The state/county/province/region where the supplier is located.
+ ///
+ [JsonProperty("region")]
+ public string Region { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Events/Event.cs b/src/Stripe.net/Entities/Events/Event.cs
index d76e2ae130..d54e408f74 100644
--- a/src/Stripe.net/Entities/Events/Event.cs
+++ b/src/Stripe.net/Entities/Events/Event.cs
@@ -111,14 +111,18 @@ public class Event : StripeEntity, IHasId, IHasObject
/// charge.succeeded, charge.updated,
/// checkout.session.async_payment_failed,
/// checkout.session.async_payment_succeeded, checkout.session.completed,
- /// checkout.session.expired, coupon.created, coupon.deleted,
- /// coupon.updated, credit_note.created, credit_note.updated,
- /// credit_note.voided, customer.created, customer.deleted,
- /// customer.discount.created, customer.discount.deleted,
- /// customer.discount.updated, customer.source.created,
- /// customer.source.deleted, customer.source.expiring,
- /// customer.source.updated, customer.subscription.created,
- /// customer.subscription.deleted, customer.subscription.paused,
+ /// checkout.session.expired, climate.order.canceled,
+ /// climate.order.created, climate.order.delayed,
+ /// climate.order.delivered, climate.order.product_substituted,
+ /// climate.product.created, climate.product.pricing_updated,
+ /// coupon.created, coupon.deleted, coupon.updated,
+ /// credit_note.created, credit_note.updated, credit_note.voided,
+ /// customer.created, customer.deleted, customer.discount.created,
+ /// customer.discount.deleted, customer.discount.updated,
+ /// customer.source.created, customer.source.deleted,
+ /// customer.source.expiring, customer.source.updated,
+ /// customer.subscription.created, customer.subscription.deleted,
+ /// customer.subscription.paused,
/// customer.subscription.pending_update_applied,
/// customer.subscription.pending_update_expired,
/// customer.subscription.resumed, customer.subscription.trial_will_end,
diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs
index e8a53a4800..bc11b85ab7 100644
--- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs
+++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs
@@ -506,8 +506,10 @@ public IPaymentSource Source
#endregion
///
- /// For non-card charges, you can use this value as the complete description that appears on
- /// your customers’ statements. Must contain at least one letter, maximum 22 characters.
+ /// For card charges, use statement_descriptor_suffix.
+ /// Otherwise, you can use this value as the complete description of a charge on your
+ /// customers' statements. It must contain at least one letter and be 1–22 characters long.
///
[JsonProperty("statement_descriptor")]
public string StatementDescriptor { get; set; }
diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsCard.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsCard.cs
index ae75734778..232224245e 100644
--- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsCard.cs
+++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsCard.cs
@@ -81,7 +81,7 @@ public class PaymentIntentPaymentMethodOptionsCard : StripeEntitymanually requesting 3D
/// Secure for more information on how this configuration interacts with Radar and our
/// SCA Engine.
- /// One of: any, automatic, or challenge_only.
+ /// One of: any, automatic, challenge, or challenge_only.
///
[JsonProperty("request_three_d_secure")]
public string RequestThreeDSecure { get; set; }
diff --git a/src/Stripe.net/Entities/SetupIntents/SetupIntentPaymentMethodOptionsCard.cs b/src/Stripe.net/Entities/SetupIntents/SetupIntentPaymentMethodOptionsCard.cs
index e45804d63f..b5f5be3a93 100644
--- a/src/Stripe.net/Entities/SetupIntents/SetupIntentPaymentMethodOptionsCard.cs
+++ b/src/Stripe.net/Entities/SetupIntents/SetupIntentPaymentMethodOptionsCard.cs
@@ -31,7 +31,7 @@ public class SetupIntentPaymentMethodOptionsCard : StripeEntitymanually requesting 3D
/// Secure for more information on how this configuration interacts with Radar and our
/// SCA Engine.
- /// One of: any, automatic, or challenge_only.
+ /// One of: any, automatic, challenge, or challenge_only.
///
[JsonProperty("request_three_d_secure")]
public string RequestThreeDSecure { get; set; }
diff --git a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs
index 12e66e4082..76521b3f35 100644
--- a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs
+++ b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs
@@ -35,6 +35,9 @@ public static class StripeTypeRegistry
{ "cash_balance", typeof(CashBalance) },
{ "charge", typeof(Charge) },
{ "checkout.session", typeof(Checkout.Session) },
+ { "climate.order", typeof(Climate.Order) },
+ { "climate.product", typeof(Climate.Product) },
+ { "climate.supplier", typeof(Climate.Supplier) },
{
"connect_collection_transfer", typeof(
ConnectCollectionTransfer)
diff --git a/src/Stripe.net/Services/BalanceTransactions/BalanceTransactionListOptions.cs b/src/Stripe.net/Services/BalanceTransactions/BalanceTransactionListOptions.cs
index 0619b9f28d..9c47cf6592 100644
--- a/src/Stripe.net/Services/BalanceTransactions/BalanceTransactionListOptions.cs
+++ b/src/Stripe.net/Services/BalanceTransactions/BalanceTransactionListOptions.cs
@@ -30,15 +30,16 @@ public class BalanceTransactionListOptions : ListOptionsWithCreated
///
/// Only returns transactions of the given type. One of: adjustment, advance,
/// advance_funding, anticipation_repayment, application_fee,
- /// application_fee_refund, charge, connect_collection_transfer,
- /// contribution, issuing_authorization_hold,
- /// issuing_authorization_release, issuing_dispute,
- /// issuing_transaction, obligation_inbound, obligation_outbound,
- /// obligation_reversal_inbound, obligation_reversal_outbound,
- /// obligation_payout, obligation_payout_failure, payment,
- /// payment_failure_refund, payment_refund, payment_reversal,
- /// payment_unreconciled, payout, payout_cancel, payout_failure,
- /// refund, refund_failure, reserve_transaction, reserved_funds,
+ /// application_fee_refund, charge, climate_order_purchase,
+ /// climate_order_refund, connect_collection_transfer, contribution,
+ /// issuing_authorization_hold, issuing_authorization_release,
+ /// issuing_dispute, issuing_transaction, obligation_inbound,
+ /// obligation_outbound, obligation_reversal_inbound,
+ /// obligation_reversal_outbound, obligation_payout,
+ /// obligation_payout_failure, payment, payment_failure_refund,
+ /// payment_refund, payment_reversal, payment_unreconciled,
+ /// payout, payout_cancel, payout_failure, refund,
+ /// refund_failure, reserve_transaction, reserved_funds,
/// stripe_fee, stripe_fx_fee, tax_fee, topup,
/// topup_reversal, transfer, transfer_cancel, transfer_failure,
/// or transfer_refund.
diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionListOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionListOptions.cs
index 1db17656f5..c242456d67 100644
--- a/src/Stripe.net/Services/Checkout/Sessions/SessionListOptions.cs
+++ b/src/Stripe.net/Services/Checkout/Sessions/SessionListOptions.cs
@@ -3,7 +3,7 @@ namespace Stripe.Checkout
{
using Newtonsoft.Json;
- public class SessionListOptions : ListOptions
+ public class SessionListOptions : ListOptionsWithCreated
{
///
/// Only return the Checkout Sessions for the Customer specified.
diff --git a/src/Stripe.net/Services/Climate/Orders/OrderBeneficiaryOptions.cs b/src/Stripe.net/Services/Climate/Orders/OrderBeneficiaryOptions.cs
new file mode 100644
index 0000000000..078dbd985d
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Orders/OrderBeneficiaryOptions.cs
@@ -0,0 +1,14 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using Newtonsoft.Json;
+
+ public class OrderBeneficiaryOptions : INestedOptions
+ {
+ ///
+ /// Publicly displayable name for the end beneficiary of carbon removal.
+ ///
+ [JsonProperty("public_name")]
+ public string PublicName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Climate/Orders/OrderCancelOptions.cs b/src/Stripe.net/Services/Climate/Orders/OrderCancelOptions.cs
new file mode 100644
index 0000000000..6982f6f6f9
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Orders/OrderCancelOptions.cs
@@ -0,0 +1,7 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ public class OrderCancelOptions : BaseOptions
+ {
+ }
+}
diff --git a/src/Stripe.net/Services/Climate/Orders/OrderCreateOptions.cs b/src/Stripe.net/Services/Climate/Orders/OrderCreateOptions.cs
new file mode 100644
index 0000000000..a02faa61c6
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Orders/OrderCreateOptions.cs
@@ -0,0 +1,53 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+
+ public class OrderCreateOptions : BaseOptions, IHasMetadata
+ {
+ ///
+ /// Requested amount of carbon removal units. Either this or metric_tons must be
+ /// specified.
+ ///
+ [JsonProperty("amount")]
+ public long? Amount { get; set; }
+
+ ///
+ /// Publicly sharable reference for the end beneficiary of carbon removal. Assumed to be the
+ /// Stripe account if not set.
+ ///
+ [JsonProperty("beneficiary")]
+ public OrderBeneficiaryOptions Beneficiary { get; set; }
+
+ ///
+ /// Request currency for the order as a three-letter ISO currency code, in
+ /// lowercase. Must be a supported settlement
+ /// currency for your account. If omitted, the account's default currency will be used.
+ ///
+ [JsonProperty("currency")]
+ public string Currency { get; set; }
+
+ ///
+ /// Set of key-value pairs 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.
+ ///
+ [JsonProperty("metadata")]
+ public Dictionary Metadata { get; set; }
+
+ ///
+ /// Requested number of tons for the order. Either this or amount must be specified.
+ ///
+ [JsonProperty("metric_tons")]
+ public decimal? MetricTons { get; set; }
+
+ ///
+ /// Unique identifier of the Climate product.
+ ///
+ [JsonProperty("product")]
+ public string Product { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Climate/Orders/OrderGetOptions.cs b/src/Stripe.net/Services/Climate/Orders/OrderGetOptions.cs
new file mode 100644
index 0000000000..1724b3e45d
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Orders/OrderGetOptions.cs
@@ -0,0 +1,7 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ public class OrderGetOptions : BaseOptions
+ {
+ }
+}
diff --git a/src/Stripe.net/Services/Climate/Orders/OrderListOptions.cs b/src/Stripe.net/Services/Climate/Orders/OrderListOptions.cs
new file mode 100644
index 0000000000..248cdf6437
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Orders/OrderListOptions.cs
@@ -0,0 +1,7 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ public class OrderListOptions : ListOptions
+ {
+ }
+}
diff --git a/src/Stripe.net/Services/Climate/Orders/OrderService.cs b/src/Stripe.net/Services/Climate/Orders/OrderService.cs
new file mode 100644
index 0000000000..11751e38a0
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Orders/OrderService.cs
@@ -0,0 +1,87 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using System.Collections.Generic;
+ using System.Net.Http;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ public class OrderService : Service,
+ ICreatable,
+ IListable,
+ IRetrievable,
+ IUpdatable
+ {
+ public OrderService()
+ : base(null)
+ {
+ }
+
+ public OrderService(IStripeClient client)
+ : base(client)
+ {
+ }
+
+ public override string BasePath => "/v1/climate/orders";
+
+ public virtual Order Cancel(string id, OrderCancelOptions options = null, RequestOptions requestOptions = null)
+ {
+ return this.Request(HttpMethod.Post, $"/v1/climate/orders/{id}/cancel", options, requestOptions);
+ }
+
+ public virtual Task CancelAsync(string id, OrderCancelOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
+ {
+ return this.RequestAsync(HttpMethod.Post, $"/v1/climate/orders/{id}/cancel", options, requestOptions, cancellationToken);
+ }
+
+ public virtual Order Create(OrderCreateOptions options, RequestOptions requestOptions = null)
+ {
+ return this.Request(HttpMethod.Post, $"/v1/climate/orders", options, requestOptions);
+ }
+
+ public virtual Task CreateAsync(OrderCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
+ {
+ return this.RequestAsync(HttpMethod.Post, $"/v1/climate/orders", options, requestOptions, cancellationToken);
+ }
+
+ public virtual Order Get(string id, OrderGetOptions options = null, RequestOptions requestOptions = null)
+ {
+ return this.Request(HttpMethod.Get, $"/v1/climate/orders/{id}", options, requestOptions);
+ }
+
+ public virtual Task GetAsync(string id, OrderGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
+ {
+ return this.RequestAsync(HttpMethod.Get, $"/v1/climate/orders/{id}", options, requestOptions, cancellationToken);
+ }
+
+ public virtual StripeList List(OrderListOptions options = null, RequestOptions requestOptions = null)
+ {
+ return this.Request>(HttpMethod.Get, $"/v1/climate/orders", options, requestOptions);
+ }
+
+ public virtual Task> ListAsync(OrderListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
+ {
+ return this.RequestAsync>(HttpMethod.Get, $"/v1/climate/orders", options, requestOptions, cancellationToken);
+ }
+
+ public virtual IEnumerable ListAutoPaging(OrderListOptions options = null, RequestOptions requestOptions = null)
+ {
+ return this.ListRequestAutoPaging($"/v1/climate/orders", options, requestOptions);
+ }
+
+ public virtual IAsyncEnumerable ListAutoPagingAsync(OrderListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
+ {
+ return this.ListRequestAutoPagingAsync($"/v1/climate/orders", options, requestOptions, cancellationToken);
+ }
+
+ public virtual Order Update(string id, OrderUpdateOptions options, RequestOptions requestOptions = null)
+ {
+ return this.Request(HttpMethod.Post, $"/v1/climate/orders/{id}", options, requestOptions);
+ }
+
+ public virtual Task UpdateAsync(string id, OrderUpdateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
+ {
+ return this.RequestAsync(HttpMethod.Post, $"/v1/climate/orders/{id}", options, requestOptions, cancellationToken);
+ }
+ }
+}
diff --git a/src/Stripe.net/Services/Climate/Orders/OrderUpdateOptions.cs b/src/Stripe.net/Services/Climate/Orders/OrderUpdateOptions.cs
new file mode 100644
index 0000000000..118fcedcb0
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Orders/OrderUpdateOptions.cs
@@ -0,0 +1,25 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+
+ public class OrderUpdateOptions : BaseOptions, IHasMetadata
+ {
+ ///
+ /// Publicly sharable reference for the end beneficiary of carbon removal. Assumed to be the
+ /// Stripe account if not set.
+ ///
+ [JsonProperty("beneficiary")]
+ public OrderBeneficiaryOptions Beneficiary { get; set; }
+
+ ///
+ /// Set of key-value pairs 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.
+ ///
+ [JsonProperty("metadata")]
+ public Dictionary Metadata { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Climate/Products/ProductGetOptions.cs b/src/Stripe.net/Services/Climate/Products/ProductGetOptions.cs
new file mode 100644
index 0000000000..3fdb002160
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Products/ProductGetOptions.cs
@@ -0,0 +1,7 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ public class ProductGetOptions : BaseOptions
+ {
+ }
+}
diff --git a/src/Stripe.net/Services/Climate/Products/ProductListOptions.cs b/src/Stripe.net/Services/Climate/Products/ProductListOptions.cs
new file mode 100644
index 0000000000..d3722ad0d3
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Products/ProductListOptions.cs
@@ -0,0 +1,7 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ public class ProductListOptions : ListOptions
+ {
+ }
+}
diff --git a/src/Stripe.net/Services/Climate/Products/ProductService.cs b/src/Stripe.net/Services/Climate/Products/ProductService.cs
new file mode 100644
index 0000000000..2717b6df69
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Products/ProductService.cs
@@ -0,0 +1,55 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using System.Collections.Generic;
+ using System.Net.Http;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ public class ProductService : Service,
+ IListable,
+ IRetrievable
+ {
+ public ProductService()
+ : base(null)
+ {
+ }
+
+ public ProductService(IStripeClient client)
+ : base(client)
+ {
+ }
+
+ public override string BasePath => "/v1/climate/products";
+
+ public virtual Product Get(string id, ProductGetOptions options = null, RequestOptions requestOptions = null)
+ {
+ return this.Request(HttpMethod.Get, $"/v1/climate/products/{id}", options, requestOptions);
+ }
+
+ public virtual Task GetAsync(string id, ProductGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
+ {
+ return this.RequestAsync(HttpMethod.Get, $"/v1/climate/products/{id}", options, requestOptions, cancellationToken);
+ }
+
+ public virtual StripeList List(ProductListOptions options = null, RequestOptions requestOptions = null)
+ {
+ return this.Request>(HttpMethod.Get, $"/v1/climate/products", options, requestOptions);
+ }
+
+ public virtual Task> ListAsync(ProductListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
+ {
+ return this.RequestAsync>(HttpMethod.Get, $"/v1/climate/products", options, requestOptions, cancellationToken);
+ }
+
+ public virtual IEnumerable ListAutoPaging(ProductListOptions options = null, RequestOptions requestOptions = null)
+ {
+ return this.ListRequestAutoPaging($"/v1/climate/products", options, requestOptions);
+ }
+
+ public virtual IAsyncEnumerable ListAutoPagingAsync(ProductListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
+ {
+ return this.ListRequestAutoPagingAsync($"/v1/climate/products", options, requestOptions, cancellationToken);
+ }
+ }
+}
diff --git a/src/Stripe.net/Services/Climate/Suppliers/SupplierGetOptions.cs b/src/Stripe.net/Services/Climate/Suppliers/SupplierGetOptions.cs
new file mode 100644
index 0000000000..ee18c9ea4e
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Suppliers/SupplierGetOptions.cs
@@ -0,0 +1,7 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ public class SupplierGetOptions : BaseOptions
+ {
+ }
+}
diff --git a/src/Stripe.net/Services/Climate/Suppliers/SupplierListOptions.cs b/src/Stripe.net/Services/Climate/Suppliers/SupplierListOptions.cs
new file mode 100644
index 0000000000..84c5a6c28d
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Suppliers/SupplierListOptions.cs
@@ -0,0 +1,7 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ public class SupplierListOptions : ListOptions
+ {
+ }
+}
diff --git a/src/Stripe.net/Services/Climate/Suppliers/SupplierService.cs b/src/Stripe.net/Services/Climate/Suppliers/SupplierService.cs
new file mode 100644
index 0000000000..31c12e4a10
--- /dev/null
+++ b/src/Stripe.net/Services/Climate/Suppliers/SupplierService.cs
@@ -0,0 +1,55 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Climate
+{
+ using System.Collections.Generic;
+ using System.Net.Http;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ public class SupplierService : Service,
+ IListable,
+ IRetrievable
+ {
+ public SupplierService()
+ : base(null)
+ {
+ }
+
+ public SupplierService(IStripeClient client)
+ : base(client)
+ {
+ }
+
+ public override string BasePath => "/v1/climate/suppliers";
+
+ public virtual Supplier Get(string id, SupplierGetOptions options = null, RequestOptions requestOptions = null)
+ {
+ return this.Request(HttpMethod.Get, $"/v1/climate/suppliers/{id}", options, requestOptions);
+ }
+
+ public virtual Task GetAsync(string id, SupplierGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
+ {
+ return this.RequestAsync(HttpMethod.Get, $"/v1/climate/suppliers/{id}", options, requestOptions, cancellationToken);
+ }
+
+ public virtual StripeList List(SupplierListOptions options = null, RequestOptions requestOptions = null)
+ {
+ return this.Request>(HttpMethod.Get, $"/v1/climate/suppliers", options, requestOptions);
+ }
+
+ public virtual Task> ListAsync(SupplierListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
+ {
+ return this.RequestAsync>(HttpMethod.Get, $"/v1/climate/suppliers", options, requestOptions, cancellationToken);
+ }
+
+ public virtual IEnumerable ListAutoPaging(SupplierListOptions options = null, RequestOptions requestOptions = null)
+ {
+ return this.ListRequestAutoPaging($"/v1/climate/suppliers", options, requestOptions);
+ }
+
+ public virtual IAsyncEnumerable ListAutoPagingAsync(SupplierListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default)
+ {
+ return this.ListRequestAutoPagingAsync($"/v1/climate/suppliers", options, requestOptions, cancellationToken);
+ }
+ }
+}
diff --git a/src/Stripe.net/Services/Customers/CustomerTaxOptions.cs b/src/Stripe.net/Services/Customers/CustomerTaxOptions.cs
index 4fc65f3a65..a6f4c62479 100644
--- a/src/Stripe.net/Services/Customers/CustomerTaxOptions.cs
+++ b/src/Stripe.net/Services/Customers/CustomerTaxOptions.cs
@@ -13,5 +13,13 @@ public class CustomerTaxOptions : INestedOptions
///
[JsonProperty("ip_address")]
public string IpAddress { get; set; }
+
+ ///
+ /// A flag that indicates when Stripe should validate the customer tax location. Defaults to
+ /// deferred.
+ /// One of: deferred, or immediately.
+ ///
+ [JsonProperty("validate_location")]
+ public string ValidateLocation { get; set; }
}
}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentCaptureOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentCaptureOptions.cs
index b3c3df79f7..d25b89f0d5 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentCaptureOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentCaptureOptions.cs
@@ -45,8 +45,10 @@ public class PaymentIntentCaptureOptions : BaseOptions, IHasMetadata
public Dictionary Metadata { get; set; }
///
- /// For non-card charges, you can use this value as the complete description that appears on
- /// your customers’ statements. Must contain at least one letter, maximum 22 characters.
+ /// For card charges, use statement_descriptor_suffix.
+ /// Otherwise, you can use this value as the complete description of a charge on your
+ /// customers' statements. It must contain at least one letter and be 1–22 characters long.
///
[JsonProperty("statement_descriptor")]
public string StatementDescriptor { get; set; }
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentCreateOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentCreateOptions.cs
index 01d1a19e9d..1c0df28990 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentCreateOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentCreateOptions.cs
@@ -238,9 +238,10 @@ public class PaymentIntentCreateOptions : BaseOptions, IHasMetadata
public ChargeShippingOptions Shipping { get; set; }
///
- /// For non-card charges, you can use this value as the complete description that appears on
- /// your customers’ statements. It must contain at least one letter and be 1–22 characters
- /// long.
+ /// For card charges, use statement_descriptor_suffix.
+ /// Otherwise, you can use this value as the complete description of a charge on your
+ /// customers' statements. It must contain at least one letter and be 1–22 characters long.
///
[JsonProperty("statement_descriptor")]
public string StatementDescriptor { get; set; }
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentIncrementAuthorizationOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentIncrementAuthorizationOptions.cs
index 299fc55e5b..54dea0d71f 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentIncrementAuthorizationOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentIncrementAuthorizationOptions.cs
@@ -40,8 +40,10 @@ public class PaymentIntentIncrementAuthorizationOptions : BaseOptions, IHasMetad
public Dictionary Metadata { get; set; }
///
- /// For non-card charges, you can use this value as the complete description that appears on
- /// your customers’ statements. Must contain at least one letter, maximum 22 characters.
+ /// For card charges, use statement_descriptor_suffix.
+ /// Otherwise, you can use this value as the complete description of a charge on your
+ /// customers' statements. It must contain at least one letter and be 1–22 characters long.
///
[JsonProperty("statement_descriptor")]
public string StatementDescriptor { get; set; }
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentUpdateOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentUpdateOptions.cs
index 42c24e1fe3..13145d071f 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentUpdateOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentUpdateOptions.cs
@@ -150,8 +150,10 @@ public class PaymentIntentUpdateOptions : BaseOptions, IHasMetadata
public ChargeShippingOptions Shipping { get; set; }
///
- /// For non-card charges, you can use this value as the complete description that appears on
- /// your customers’ statements. Must contain at least one letter, maximum 22 characters.
+ /// For card charges, use statement_descriptor_suffix.
+ /// Otherwise, you can use this value as the complete description of a charge on your
+ /// customers' statements. It must contain at least one letter and be 1–22 characters long.
///
[JsonProperty("statement_descriptor")]
public string StatementDescriptor { get; set; }
diff --git a/src/Stripe.net/Services/Reporting/ReportRuns/ReportRunParametersOptions.cs b/src/Stripe.net/Services/Reporting/ReportRuns/ReportRunParametersOptions.cs
index 4c687297fa..b500d053e6 100644
--- a/src/Stripe.net/Services/Reporting/ReportRuns/ReportRunParametersOptions.cs
+++ b/src/Stripe.net/Services/Reporting/ReportRuns/ReportRunParametersOptions.cs
@@ -50,7 +50,8 @@ public class ReportRunParametersOptions : INestedOptions
///
/// Category of balance transactions to be included in the report run.
/// One of: advance, advance_funding, anticipation_repayment,
- /// charge, charge_failure, connect_collection_transfer,
+ /// charge, charge_failure, climate_order_purchase,
+ /// climate_order_refund, connect_collection_transfer,
/// connect_reserved_funds, contribution, dispute,
/// dispute_reversal, fee, financing_paydown,
/// financing_paydown_reversal, financing_payout,
diff --git a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs
index 57801aafcf..cde5dcdfcb 100644
--- a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs
+++ b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs
@@ -69,14 +69,18 @@ public class WebhookEndpointCreateOptions : BaseOptions, IHasMetadata
/// charge.succeeded, charge.updated,
/// checkout.session.async_payment_failed,
/// checkout.session.async_payment_succeeded, checkout.session.completed,
- /// checkout.session.expired, coupon.created, coupon.deleted,
- /// coupon.updated, credit_note.created, credit_note.updated,
- /// credit_note.voided, customer.created, customer.deleted,
- /// customer.discount.created, customer.discount.deleted,
- /// customer.discount.updated, customer.source.created,
- /// customer.source.deleted, customer.source.expiring,
- /// customer.source.updated, customer.subscription.created,
- /// customer.subscription.deleted, customer.subscription.paused,
+ /// checkout.session.expired, climate.order.canceled,
+ /// climate.order.created, climate.order.delayed,
+ /// climate.order.delivered, climate.order.product_substituted,
+ /// climate.product.created, climate.product.pricing_updated,
+ /// coupon.created, coupon.deleted, coupon.updated,
+ /// credit_note.created, credit_note.updated, credit_note.voided,
+ /// customer.created, customer.deleted, customer.discount.created,
+ /// customer.discount.deleted, customer.discount.updated,
+ /// customer.source.created, customer.source.deleted,
+ /// customer.source.expiring, customer.source.updated,
+ /// customer.subscription.created, customer.subscription.deleted,
+ /// customer.subscription.paused,
/// customer.subscription.pending_update_applied,
/// customer.subscription.pending_update_expired,
/// customer.subscription.resumed, customer.subscription.trial_will_end,
diff --git a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointUpdateOptions.cs b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointUpdateOptions.cs
index 412909632c..5ea3389993 100644
--- a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointUpdateOptions.cs
+++ b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointUpdateOptions.cs
@@ -36,14 +36,18 @@ public class WebhookEndpointUpdateOptions : BaseOptions, IHasMetadata
/// charge.succeeded, charge.updated,
/// checkout.session.async_payment_failed,
/// checkout.session.async_payment_succeeded, checkout.session.completed,
- /// checkout.session.expired, coupon.created, coupon.deleted,
- /// coupon.updated, credit_note.created, credit_note.updated,
- /// credit_note.voided, customer.created, customer.deleted,
- /// customer.discount.created, customer.discount.deleted,
- /// customer.discount.updated, customer.source.created,
- /// customer.source.deleted, customer.source.expiring,
- /// customer.source.updated, customer.subscription.created,
- /// customer.subscription.deleted, customer.subscription.paused,
+ /// checkout.session.expired, climate.order.canceled,
+ /// climate.order.created, climate.order.delayed,
+ /// climate.order.delivered, climate.order.product_substituted,
+ /// climate.product.created, climate.product.pricing_updated,
+ /// coupon.created, coupon.deleted, coupon.updated,
+ /// credit_note.created, credit_note.updated, credit_note.voided,
+ /// customer.created, customer.deleted, customer.discount.created,
+ /// customer.discount.deleted, customer.discount.updated,
+ /// customer.source.created, customer.source.deleted,
+ /// customer.source.expiring, customer.source.updated,
+ /// customer.subscription.created, customer.subscription.deleted,
+ /// customer.subscription.paused,
/// customer.subscription.pending_update_applied,
/// customer.subscription.pending_update_expired,
/// customer.subscription.resumed, customer.subscription.trial_will_end,