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
The table of contents is too big for display.
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-09-30.clover
b7d9dec4da43fdbe727b3b4d8007a7099aa61beb
2 changes: 1 addition & 1 deletion OPENAPI_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v2028
v2100
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-09-30.clover";
public const string Current = "2025-10-29.clover";
public const string CurrentMajor = "clover";
}
}
11 changes: 11 additions & 0 deletions src/Stripe.net/Constants/EventTypes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,11 @@ public static class EventTypes
/// </summary>
public const string ApplicationFeeRefunded = "application_fee.refunded";

/// <summary>
/// Occurs whenever a balance settings status or property has changed.
/// </summary>
public const string BalanceSettingsUpdated = "balance_settings.updated";

/// <summary>
/// Occurs whenever your Stripe balance has been updated (e.g., when a charge is available
/// to be paid out). By default, Stripe automatically transfers funds in your balance to
Expand Down Expand Up @@ -546,6 +551,12 @@ public static class EventTypes
/// </summary>
public const string InvoicePaymentActionRequired = "invoice.payment_action_required";

/// <summary>
/// Occurs when an invoice requires a payment using a payment method that cannot be
/// processed by Stripe.
/// </summary>
public const string InvoicePaymentAttemptRequired = "invoice.payment_attempt_required";

/// <summary>
/// Occurs whenever an invoice payment attempt fails, due to either a declined payment,
/// including soft decline, or to the lack of a stored payment method.
Expand Down
2 changes: 2 additions & 0 deletions src/Stripe.net/Constants/FilePurpose.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ public static class FilePurpose

public const string PciDocument = "pci_document";

public const string PlatformTermsOfService = "platform_terms_of_service";

public const string Selfie = "selfie";

public const string SigmaScheduledQuery = "sigma_scheduled_query";
Expand Down
10 changes: 10 additions & 0 deletions src/Stripe.net/Entities/Accounts/AccountCompany.cs
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,16 @@ public class AccountCompany : StripeEntity<AccountCompany>
#endif
public AccountCompanyRegistrationDate RegistrationDate { get; set; }

/// <summary>
/// This hash is used to attest that the representative is authorized to act as the
/// representative of their legal entity.
/// </summary>
[JsonProperty("representative_declaration")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("representative_declaration")]
#endif
public AccountCompanyRepresentativeDeclaration RepresentativeDeclaration { get; set; }

/// <summary>
/// The category identifying the legal structure of the company or legal entity. Also
/// available for accounts where <a
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
// File generated from our OpenAPI spec
namespace Stripe
{
using System;
using Newtonsoft.Json;
using Stripe.Infrastructure;
#if NET6_0_OR_GREATER
using STJS = System.Text.Json.Serialization;
#endif

public class AccountCompanyRepresentativeDeclaration : StripeEntity<AccountCompanyRepresentativeDeclaration>
{
/// <summary>
/// The Unix timestamp marking when the representative declaration attestation was made.
/// </summary>
[JsonProperty("date")]
[JsonConverter(typeof(UnixDateTimeConverter))]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("date")]
[STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
#endif
public DateTime? Date { get; set; }

/// <summary>
/// The IP address from which the representative declaration attestation was made.
/// </summary>
[JsonProperty("ip")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("ip")]
#endif
public string Ip { get; set; }

/// <summary>
/// The user-agent string from the browser where the representative declaration attestation
/// was made.
/// </summary>
[JsonProperty("user_agent")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("user_agent")]
#endif
public string UserAgent { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ namespace Stripe.BillingPortal
#endif

/// <summary>
/// A portal configuration describes the functionality and behavior of a portal session.
/// A portal configuration describes the functionality and behavior you embed in a portal
/// session. Related guide: <a
/// href="https://stripe.com/customer-management/configure-portal">Configure the customer
/// portal</a>.
/// </summary>
#if NET6_0_OR_GREATER
[STJS.JsonConverter(typeof(STJMemberSerializationOptIn))]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public class ChargePaymentMethodDetailsCrypto : StripeEntity<ChargePaymentMethod

/// <summary>
/// The blockchain network that the transaction was sent on.
/// One of: <c>base</c>, <c>ethereum</c>, or <c>polygon</c>.
/// One of: <c>base</c>, <c>ethereum</c>, <c>polygon</c>, or <c>solana</c>.
/// </summary>
[JsonProperty("network")]
#if NET6_0_OR_GREATER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,12 @@ public class SessionPaymentMethodOptions : StripeEntity<SessionPaymentMethodOpti
#endif
public SessionPaymentMethodOptionsSwish Swish { get; set; }

[JsonProperty("twint")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("twint")]
#endif
public SessionPaymentMethodOptionsTwint Twint { get; set; }

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

public class SessionPaymentMethodOptionsTwint : StripeEntity<SessionPaymentMethodOptionsTwint>
{
/// <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 @@ -369,14 +369,15 @@ public Customer Customer
/// One of: <c>acss_debit</c>, <c>affirm</c>, <c>afterpay_clearpay</c>, <c>alipay</c>,
/// <c>alma</c>, <c>amazon_pay</c>, <c>au_becs_debit</c>, <c>bacs_debit</c>,
/// <c>bancontact</c>, <c>billie</c>, <c>blik</c>, <c>boleto</c>, <c>card</c>,
/// <c>card_present</c>, <c>cashapp</c>, <c>crypto</c>, <c>customer_balance</c>, <c>eps</c>,
/// <c>fpx</c>, <c>giropay</c>, <c>grabpay</c>, <c>ideal</c>, <c>interac_present</c>,
/// <c>kakao_pay</c>, <c>klarna</c>, <c>konbini</c>, <c>kr_card</c>, <c>link</c>,
/// <c>mb_way</c>, <c>mobilepay</c>, <c>multibanco</c>, <c>naver_pay</c>,
/// <c>nz_bank_account</c>, <c>oxxo</c>, <c>p24</c>, <c>pay_by_bank</c>, <c>payco</c>,
/// <c>paynow</c>, <c>paypal</c>, <c>pix</c>, <c>promptpay</c>, <c>revolut_pay</c>,
/// <c>samsung_pay</c>, <c>satispay</c>, <c>sepa_debit</c>, <c>sofort</c>, <c>swish</c>,
/// <c>twint</c>, <c>us_bank_account</c>, <c>wechat_pay</c>, or <c>zip</c>.
/// <c>card_present</c>, <c>cashapp</c>, <c>crypto</c>, <c>custom</c>,
/// <c>customer_balance</c>, <c>eps</c>, <c>fpx</c>, <c>giropay</c>, <c>grabpay</c>,
/// <c>ideal</c>, <c>interac_present</c>, <c>kakao_pay</c>, <c>klarna</c>, <c>konbini</c>,
/// <c>kr_card</c>, <c>link</c>, <c>mb_way</c>, <c>mobilepay</c>, <c>multibanco</c>,
/// <c>naver_pay</c>, <c>nz_bank_account</c>, <c>oxxo</c>, <c>p24</c>, <c>pay_by_bank</c>,
/// <c>payco</c>, <c>paynow</c>, <c>paypal</c>, <c>pix</c>, <c>promptpay</c>,
/// <c>revolut_pay</c>, <c>samsung_pay</c>, <c>satispay</c>, <c>sepa_debit</c>,
/// <c>sofort</c>, <c>swish</c>, <c>twint</c>, <c>us_bank_account</c>, <c>wechat_pay</c>, or
/// <c>zip</c>.
/// </summary>
[JsonProperty("type")]
#if NET6_0_OR_GREATER
Expand Down
19 changes: 19 additions & 0 deletions src/Stripe.net/Entities/CreditNotes/CreditNoteRefund.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,15 @@ public class CreditNoteRefund : StripeEntity<CreditNoteRefund>
#endif
public long AmountRefunded { get; set; }

/// <summary>
/// The PaymentRecord refund details associated with this credit note refund.
/// </summary>
[JsonProperty("payment_record_refund")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("payment_record_refund")]
#endif
public CreditNoteRefundPaymentRecordRefund PaymentRecordRefund { get; set; }

#region Expandable Refund

/// <summary>
Expand Down Expand Up @@ -61,5 +70,15 @@ public Refund Refund
#endif
internal ExpandableField<Refund> InternalRefund { get; set; }
#endregion

/// <summary>
/// Type of the refund, one of <c>refund</c> or <c>payment_record_refund</c>.
/// One of: <c>payment_record_refund</c>, or <c>refund</c>.
/// </summary>
[JsonProperty("type")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("type")]
#endif
public string Type { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// 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 CreditNoteRefundPaymentRecordRefund : StripeEntity<CreditNoteRefundPaymentRecordRefund>
{
/// <summary>
/// ID of the payment record.
/// </summary>
[JsonProperty("payment_record")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("payment_record")]
#endif
public string PaymentRecord { get; set; }

/// <summary>
/// ID of the refund group.
/// </summary>
[JsonProperty("refund_group")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("refund_group")]
#endif
public string RefundGroup { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,25 @@ public class CustomerSessionComponents : StripeEntity<CustomerSessionComponents>
#endif
public CustomerSessionComponentsBuyButton BuyButton { get; set; }

/// <summary>
/// This hash contains whether the customer sheet is enabled and the features it supports.
/// </summary>
[JsonProperty("customer_sheet")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("customer_sheet")]
#endif
public CustomerSessionComponentsCustomerSheet CustomerSheet { get; set; }

/// <summary>
/// This hash contains whether the mobile payment element is enabled and the features it
/// supports.
/// </summary>
[JsonProperty("mobile_payment_element")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("mobile_payment_element")]
#endif
public CustomerSessionComponentsMobilePaymentElement MobilePaymentElement { get; set; }

/// <summary>
/// This hash contains whether the Payment Element is enabled and the features it supports.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// 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 CustomerSessionComponentsCustomerSheet : StripeEntity<CustomerSessionComponentsCustomerSheet>
{
/// <summary>
/// Whether the customer sheet is enabled.
/// </summary>
[JsonProperty("enabled")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("enabled")]
#endif
public bool Enabled { get; set; }

/// <summary>
/// This hash defines whether the customer sheet supports certain features.
/// </summary>
[JsonProperty("features")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("features")]
#endif
public CustomerSessionComponentsCustomerSheetFeatures Features { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// File generated from our OpenAPI spec
namespace Stripe
{
using System.Collections.Generic;
using Newtonsoft.Json;
#if NET6_0_OR_GREATER
using STJS = System.Text.Json.Serialization;
#endif

public class CustomerSessionComponentsCustomerSheetFeatures : StripeEntity<CustomerSessionComponentsCustomerSheetFeatures>
{
/// <summary>
/// A list of <a
/// href="https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay"><c>allow_redisplay</c></a>
/// values that controls which saved payment methods the customer sheet displays by
/// filtering to only show payment methods with an <c>allow_redisplay</c> value that is
/// present in this list.
///
/// If not specified, defaults to ["always"]. In order to display all saved payment methods,
/// specify ["always", "limited", "unspecified"].
/// One of: <c>always</c>, <c>limited</c>, or <c>unspecified</c>.
/// </summary>
[JsonProperty("payment_method_allow_redisplay_filters")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("payment_method_allow_redisplay_filters")]
#endif
public List<string> PaymentMethodAllowRedisplayFilters { get; set; }

/// <summary>
/// Controls whether the customer sheet displays the option to remove a saved payment
/// method.".
///
/// Allowing buyers to remove their saved payment methods impacts subscriptions that depend
/// on that payment method. Removing the payment method detaches the <a
/// href="https://docs.stripe.com/api/payment_methods/object#payment_method_object-customer"><c>customer</c>
/// object</a> from that <a
/// href="https://docs.stripe.com/api/payment_methods">PaymentMethod</a>.
/// One of: <c>disabled</c>, or <c>enabled</c>.
/// </summary>
[JsonProperty("payment_method_remove")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("payment_method_remove")]
#endif
public string PaymentMethodRemove { get; set; }
}
}
Loading
Loading