Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion API_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2025-06-30.basil
2025-07-30.basil
2 changes: 1 addition & 1 deletion OPENAPI_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v1819
v1868
2 changes: 1 addition & 1 deletion src/Stripe.net/Constants/ApiVersion.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ namespace Stripe
{
internal class ApiVersion
{
public const string Current = "2025-06-30.basil";
public const string Current = "2025-07-30.basil";
public const string CurrentMajor = "basil";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,12 @@ public class AccountSessionComponents : StripeEntity<AccountSessionComponents>
#endif
public AccountSessionComponentsFinancialAccountTransactions FinancialAccountTransactions { get; set; }

[JsonProperty("instant_payouts_promotion")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("instant_payouts_promotion")]
#endif
public AccountSessionComponentsInstantPayoutsPromotion InstantPayoutsPromotion { get; set; }

[JsonProperty("issuing_card")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("issuing_card")]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// File generated from our OpenAPI spec
namespace Stripe
{
using Newtonsoft.Json;
#if NET6_0_OR_GREATER
using STJS = System.Text.Json.Serialization;
#endif

public class AccountSessionComponentsInstantPayoutsPromotion : StripeEntity<AccountSessionComponentsInstantPayoutsPromotion>
{
/// <summary>
/// Whether the embedded component is enabled.
/// </summary>
[JsonProperty("enabled")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("enabled")]
#endif
public bool Enabled { get; set; }

[JsonProperty("features")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("features")]
#endif
public AccountSessionComponentsInstantPayoutsPromotionFeatures Features { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
// File generated from our OpenAPI spec
namespace Stripe
{
using Newtonsoft.Json;
#if NET6_0_OR_GREATER
using STJS = System.Text.Json.Serialization;
#endif

public class AccountSessionComponentsInstantPayoutsPromotionFeatures : StripeEntity<AccountSessionComponentsInstantPayoutsPromotionFeatures>
{
/// <summary>
/// Whether Stripe user authentication is disabled. This value can only be <c>true</c> for
/// accounts where <c>controller.requirement_collection</c> is <c>application</c> for the
/// account. The default value is the opposite of the <c>external_account_collection</c>
/// value. For example, if you don't set <c>external_account_collection</c>, it defaults to
/// <c>true</c> and <c>disable_stripe_user_authentication</c> defaults to <c>false</c>.
/// </summary>
[JsonProperty("disable_stripe_user_authentication")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("disable_stripe_user_authentication")]
#endif
public bool DisableStripeUserAuthentication { get; set; }

/// <summary>
/// Whether external account collection is enabled. This feature can only be <c>false</c>
/// for accounts where you’re responsible for collecting updated information when
/// requirements are due or change, like Custom accounts. The default value for this feature
/// is <c>true</c>.
/// </summary>
[JsonProperty("external_account_collection")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("external_account_collection")]
#endif
public bool ExternalAccountCollection { get; set; }

/// <summary>
/// Whether to allow creation of instant payouts. Defaults to <c>true</c> when
/// <c>controller.losses.payments</c> is set to <c>stripe</c> for the account, otherwise
/// <c>false</c>.
/// </summary>
[JsonProperty("instant_payouts")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("instant_payouts")]
#endif
public bool InstantPayouts { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public class AccountBusinessProfile : StripeEntity<AccountBusinessProfile>
public string Mcc { get; set; }

/// <summary>
/// Whether the business is a minority-owned, women-owned, and/or LGBTQI+-owned business.
/// Whether the business is a minority-owned, women-owned, and/or LGBTQI+ -owned business.
/// One of: <c>lgbtqi_owned_business</c>, <c>minority_owned_business</c>,
/// <c>none_of_these_apply</c>, <c>prefer_not_to_answer</c>, or <c>women_owned_business</c>.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ namespace Stripe.BillingPortal

public class ConfigurationFeaturesSubscriptionUpdateProduct : StripeEntity<ConfigurationFeaturesSubscriptionUpdateProduct>
{
[JsonProperty("adjustable_quantity")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("adjustable_quantity")]
#endif
public ConfigurationFeaturesSubscriptionUpdateProductAdjustableQuantity AdjustableQuantity { get; set; }

/// <summary>
/// The list of price IDs which, when subscribed to, a subscription can be updated.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// File generated from our OpenAPI spec
namespace Stripe.BillingPortal
{
using Newtonsoft.Json;
#if NET6_0_OR_GREATER
using STJS = System.Text.Json.Serialization;
#endif

public class ConfigurationFeaturesSubscriptionUpdateProductAdjustableQuantity : StripeEntity<ConfigurationFeaturesSubscriptionUpdateProductAdjustableQuantity>
{
/// <summary>
/// If true, the quantity can be adjusted to any non-negative integer.
/// </summary>
[JsonProperty("enabled")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("enabled")]
#endif
public bool Enabled { get; set; }

/// <summary>
/// The maximum quantity that can be set for the product.
/// </summary>
[JsonProperty("maximum")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("maximum")]
#endif
public long? Maximum { get; set; }

/// <summary>
/// The minimum quantity that can be set for the product.
/// </summary>
[JsonProperty("minimum")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("minimum")]
#endif
public long Minimum { get; set; }
}
}
3 changes: 1 addition & 2 deletions src/Stripe.net/Entities/Capabilities/Capability.cs
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,7 @@ public Account Account

/// <summary>
/// The status of the capability.
/// One of: <c>active</c>, <c>disabled</c>, <c>inactive</c>, <c>pending</c>, or
/// <c>unrequested</c>.
/// One of: <c>active</c>, <c>inactive</c>, <c>pending</c>, or <c>unrequested</c>.
/// </summary>
[JsonProperty("status")]
#if NET6_0_OR_GREATER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ namespace Stripe
public class ChargePaymentMethodDetailsAmazonPayFundingCard : StripeEntity<ChargePaymentMethodDetailsAmazonPayFundingCard>
{
/// <summary>
/// Card brand. Can be <c>amex</c>, <c>diners</c>, <c>discover</c>, <c>eftpos_au</c>,
/// <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>, <c>visa</c>, or
/// <c>unknown</c>.
/// Card brand. Can be <c>amex</c>, <c>cartes_bancaires</c>, <c>diners</c>, <c>discover</c>,
/// <c>eftpos_au</c>, <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>,
/// <c>visa</c> or <c>unknown</c>.
/// </summary>
[JsonProperty("brand")]
#if NET6_0_OR_GREATER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ public class ChargePaymentMethodDetailsCard : StripeEntity<ChargePaymentMethodDe
public string AuthorizationCode { get; set; }

/// <summary>
/// Card brand. Can be <c>amex</c>, <c>diners</c>, <c>discover</c>, <c>eftpos_au</c>,
/// <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>, <c>visa</c>, or
/// <c>unknown</c>.
/// Card brand. Can be <c>amex</c>, <c>cartes_bancaires</c>, <c>diners</c>, <c>discover</c>,
/// <c>eftpos_au</c>, <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>,
/// <c>visa</c> or <c>unknown</c>.
/// </summary>
[JsonProperty("brand")]
#if NET6_0_OR_GREATER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ public class ChargePaymentMethodDetailsCardPresent : StripeEntity<ChargePaymentM
public long? AmountAuthorized { get; set; }

/// <summary>
/// Card brand. Can be <c>amex</c>, <c>diners</c>, <c>discover</c>, <c>eftpos_au</c>,
/// <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>, <c>visa</c>, or
/// <c>unknown</c>.
/// Card brand. Can be <c>amex</c>, <c>cartes_bancaires</c>, <c>diners</c>, <c>discover</c>,
/// <c>eftpos_au</c>, <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>,
/// <c>visa</c> or <c>unknown</c>.
/// </summary>
[JsonProperty("brand")]
#if NET6_0_OR_GREATER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,14 @@ public class ChargePaymentMethodDetailsCashapp : StripeEntity<ChargePaymentMetho
[STJS.JsonPropertyName("cashtag")]
#endif
public string Cashtag { get; set; }

/// <summary>
/// A unique and immutable identifier of payments assigned by Cash App.
/// </summary>
[JsonProperty("transaction_id")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("transaction_id")]
#endif
public string TransactionId { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ namespace Stripe
public class ChargePaymentMethodDetailsRevolutPayFundingCard : StripeEntity<ChargePaymentMethodDetailsRevolutPayFundingCard>
{
/// <summary>
/// Card brand. Can be <c>amex</c>, <c>diners</c>, <c>discover</c>, <c>eftpos_au</c>,
/// <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>, <c>visa</c>, or
/// <c>unknown</c>.
/// Card brand. Can be <c>amex</c>, <c>cartes_bancaires</c>, <c>diners</c>, <c>discover</c>,
/// <c>eftpos_au</c>, <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>,
/// <c>visa</c> or <c>unknown</c>.
/// </summary>
[JsonProperty("brand")]
#if NET6_0_OR_GREATER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ namespace Stripe
public class ChargePresentmentDetails : StripeEntity<ChargePresentmentDetails>
{
/// <summary>
/// Amount intended to be collected by this payment, denominated in presentment_currency.
/// Amount intended to be collected by this payment, denominated in
/// <c>presentment_currency</c>.
/// </summary>
[JsonProperty("presentment_amount")]
#if NET6_0_OR_GREATER
Expand Down
11 changes: 11 additions & 0 deletions src/Stripe.net/Entities/Checkout/Sessions/Session.cs
Original file line number Diff line number Diff line change
Expand Up @@ -441,6 +441,17 @@ public Invoice Invoice
#endif
public List<SessionOptionalItem> OptionalItems { get; set; }

/// <summary>
/// Where the user is coming from. This informs the optimizations that are applied to the
/// session.
/// One of: <c>mobile_app</c>, or <c>web</c>.
/// </summary>
[JsonProperty("origin_context")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("origin_context")]
#endif
public string OriginContext { get; set; }

#region Expandable PaymentIntent

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,14 @@ public class SessionInvoiceCreationInvoiceDataRenderingOptions : StripeEntity<Se
[STJS.JsonPropertyName("amount_tax_display")]
#endif
public string AmountTaxDisplay { get; set; }

/// <summary>
/// ID of the invoice rendering template to be used for the generated invoice.
/// </summary>
[JsonProperty("template")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("template")]
#endif
public string Template { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,31 @@ public class SessionPaymentMethodOptionsPix : StripeEntity<SessionPaymentMethodO
[STJS.JsonPropertyName("expires_after_seconds")]
#endif
public long? ExpiresAfterSeconds { get; set; }

/// <summary>
/// Indicates that you intend to make future payments with this PaymentIntent's payment
/// method.
///
/// If you provide a Customer with the PaymentIntent, you can use this parameter to <a
/// href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to
/// the Customer after the PaymentIntent is confirmed and the customer completes any
/// required actions. If you don't provide a Customer, you can still <a
/// href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
/// Customer after the transaction completes.
///
/// If the payment method is <c>card_present</c> and isn't a digital wallet, Stripe creates
/// and attaches a <a
/// href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
/// payment method representing the card to the Customer instead.
///
/// When processing card payments, Stripe uses <c>setup_future_usage</c> to help you comply
/// with regional legislation and network rules, such as <a
/// href="https://stripe.com/strong-customer-authentication">SCA</a>.
/// </summary>
[JsonProperty("setup_future_usage")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("setup_future_usage")]
#endif
public string SetupFutureUsage { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ namespace Stripe.Checkout
public class SessionPresentmentDetails : StripeEntity<SessionPresentmentDetails>
{
/// <summary>
/// Amount intended to be collected by this payment, denominated in presentment_currency.
/// Amount intended to be collected by this payment, denominated in
/// <c>presentment_currency</c>.
/// </summary>
[JsonProperty("presentment_amount")]
#if NET6_0_OR_GREATER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ namespace Stripe
public class ConfirmationTokenPaymentMethodPreviewCard : StripeEntity<ConfirmationTokenPaymentMethodPreviewCard>
{
/// <summary>
/// Card brand. Can be <c>amex</c>, <c>diners</c>, <c>discover</c>, <c>eftpos_au</c>,
/// <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>, <c>visa</c>, or
/// <c>unknown</c>.
/// Card brand. Can be <c>amex</c>, <c>cartes_bancaires</c>, <c>diners</c>, <c>discover</c>,
/// <c>eftpos_au</c>, <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>,
/// <c>visa</c> or <c>unknown</c>.
/// </summary>
[JsonProperty("brand")]
#if NET6_0_OR_GREATER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ public class ConfirmationTokenPaymentMethodPreviewCardGeneratedFromPaymentMethod
public long? AmountAuthorized { get; set; }

/// <summary>
/// Card brand. Can be <c>amex</c>, <c>diners</c>, <c>discover</c>, <c>eftpos_au</c>,
/// <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>, <c>visa</c>, or
/// <c>unknown</c>.
/// Card brand. Can be <c>amex</c>, <c>cartes_bancaires</c>, <c>diners</c>, <c>discover</c>,
/// <c>eftpos_au</c>, <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>,
/// <c>visa</c> or <c>unknown</c>.
/// </summary>
[JsonProperty("brand")]
#if NET6_0_OR_GREATER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ namespace Stripe
public class ConfirmationTokenPaymentMethodPreviewCardPresent : StripeEntity<ConfirmationTokenPaymentMethodPreviewCardPresent>
{
/// <summary>
/// Card brand. Can be <c>amex</c>, <c>diners</c>, <c>discover</c>, <c>eftpos_au</c>,
/// <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>, <c>visa</c>, or
/// <c>unknown</c>.
/// Card brand. Can be <c>amex</c>, <c>cartes_bancaires</c>, <c>diners</c>, <c>discover</c>,
/// <c>eftpos_au</c>, <c>jcb</c>, <c>link</c>, <c>mastercard</c>, <c>unionpay</c>,
/// <c>visa</c> or <c>unknown</c>.
/// </summary>
[JsonProperty("brand")]
#if NET6_0_OR_GREATER
Expand Down
12 changes: 7 additions & 5 deletions src/Stripe.net/Entities/Customers/Customer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,13 @@ public class Customer : StripeEntity<Customer>, IHasId, IHasMetadata, IHasObject
public Address Address { get; set; }

/// <summary>
/// The current balance, if any, that's stored on the customer. If negative, the customer
/// has credit to apply to their next invoice. If positive, the customer has an amount owed
/// that's added to their next invoice. The balance only considers amounts that Stripe
/// hasn't successfully applied to any invoice. It doesn't reflect unpaid invoices. This
/// balance is only taken into account after invoices finalize.
/// The current balance, if any, that's stored on the customer in their default currency. If
/// negative, the customer has credit to apply to their next invoice. If positive, the
/// customer has an amount owed that's added to their next invoice. The balance only
/// considers amounts that Stripe hasn't successfully applied to any invoice. It doesn't
/// reflect unpaid invoices. This balance is only taken into account after invoices
/// finalize. For multi-currency balances, see <a
/// href="https://stripe.com/docs/api/customers/object#customer_object-invoice_credit_balance">invoice_credit_balance</a>.
/// </summary>
[JsonProperty("balance")]
#if NET6_0_OR_GREATER
Expand Down
Loading
Loading