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 CODEGEN_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
d59a1f4bdea3032b8e282d40badc032cb021fc60
6012b623b1c09ad54d466947da04511a042ee45a
2 changes: 1 addition & 1 deletion OPENAPI_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v2277
v2324
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 = "2026-05-27.dahlia";
public const string Current = "2026-06-24.dahlia";
public const string CurrentMajor = "dahlia";
}
}
9 changes: 7 additions & 2 deletions src/Stripe.net/Constants/EventTypes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -382,8 +382,13 @@ public static class EventTypes
public const string CustomerSubscriptionResumed = "customer.subscription.resumed";

/// <summary>
/// Occurs three days before a subscription's trial period is scheduled to end, or when a
/// trial is ended immediately (using <c>trial_end=now</c>).
/// Occurs three days before a subscription's trial period is scheduled to end, or
/// immediately when a trial is ended early (for example, with <c>trial_end=now</c> or when
/// a Customer Portal plan change ends a trial). If a trial is shortened so that fewer than
/// three days remain, this event can fire immediately, including during the same
/// transaction that collects payment. Before sending payment-reminder communications from
/// this webhook, check the subscription status and latest invoice to determine whether
/// payment has already been collected.
/// </summary>
public const string CustomerSubscriptionTrialWillEnd = "customer.subscription.trial_will_end";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,13 +175,13 @@ public IBalanceTransactionSource Source
public string Status { get; set; }

/// <summary>
/// Transaction type: <c>adjustment</c>, <c>advance</c>, <c>advance_funding</c>,
/// <c>anticipation_repayment</c>, <c>application_fee</c>, <c>application_fee_refund</c>,
/// <c>charge</c>, <c>climate_order_purchase</c>, <c>climate_order_refund</c>,
/// <c>connect_collection_transfer</c>, <c>contribution</c>, <c>inbound_transfer</c>,
/// <c>inbound_transfer_reversal</c>, <c>issuing_authorization_hold</c>,
/// <c>issuing_authorization_release</c>, <c>issuing_dispute</c>,
/// <c>issuing_transaction</c>, <c>obligation_outbound</c>,
/// Transaction type: <c>tax_fund</c>, <c>adjustment</c>, <c>advance</c>,
/// <c>advance_funding</c>, <c>anticipation_repayment</c>, <c>application_fee</c>,
/// <c>application_fee_refund</c>, <c>charge</c>, <c>climate_order_purchase</c>,
/// <c>climate_order_refund</c>, <c>connect_collection_transfer</c>, <c>contribution</c>,
/// <c>inbound_transfer</c>, <c>inbound_transfer_reversal</c>,
/// <c>issuing_authorization_hold</c>, <c>issuing_authorization_release</c>,
/// <c>issuing_dispute</c>, <c>issuing_transaction</c>, <c>obligation_outbound</c>,
/// <c>obligation_reversal_inbound</c>, <c>payment</c>, <c>payment_failure_refund</c>,
/// <c>payment_network_reserve_hold</c>, <c>payment_network_reserve_release</c>,
/// <c>payment_refund</c>, <c>payment_reversal</c>, <c>payment_unreconciled</c>,
Expand Down Expand Up @@ -211,7 +211,7 @@ public IBalanceTransactionSource Source
/// <c>refund</c>, <c>refund_failure</c>, <c>reserve_hold</c>, <c>reserve_release</c>,
/// <c>reserve_transaction</c>, <c>reserved_funds</c>, <c>stripe_balance_payment_debit</c>,
/// <c>stripe_balance_payment_debit_reversal</c>, <c>stripe_fee</c>, <c>stripe_fx_fee</c>,
/// <c>tax_fee</c>, <c>topup</c>, <c>topup_reversal</c>, <c>transfer</c>,
/// <c>tax_fee</c>, <c>tax_fund</c>, <c>topup</c>, <c>topup_reversal</c>, <c>transfer</c>,
/// <c>transfer_cancel</c>, <c>transfer_failure</c>, or <c>transfer_refund</c>.
/// </summary>
[JsonProperty("type")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ namespace Stripe
[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class ChargePaymentMethodDetailsBizum : StripeEntity<ChargePaymentMethodDetailsBizum>
{
/// <summary>
/// A unique identifier for the buyer as determined by the local payment processor.
/// </summary>
[JsonProperty("buyer_id")]
[STJS.JsonPropertyName("buyer_id")]
public string BuyerId { get; set; }

/// <summary>
/// The Bizum transaction ID associated with this payment.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,16 @@ public class ChargePaymentMethodDetailsCard : StripeEntity<ChargePaymentMethodDe
[STJS.JsonPropertyName("three_d_secure")]
public ChargePaymentMethodDetailsCardThreeDSecure ThreeDSecure { get; set; }

/// <summary>
/// Transaction Link ID (TLID) is a unique identifier for a transaction. This is used by
/// some card networks, such as Mastercard, for transaction linking, in addition to Network
/// Transaction IDs. This value will be present if it is returned by the financial network
/// in the authorization response, and null otherwise.
/// </summary>
[JsonProperty("transaction_link_id")]
[STJS.JsonPropertyName("transaction_link_id")]
public string TransactionLinkId { get; set; }

/// <summary>
/// If this Card is part of a card wallet, this contains the details of the card wallet.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,17 @@ public class ChargePaymentMethodDetailsCrypto : StripeEntity<ChargePaymentMethod

/// <summary>
/// The blockchain network that the transaction was sent on.
/// One of: <c>base</c>, <c>ethereum</c>, <c>polygon</c>, <c>solana</c>, or <c>tempo</c>.
/// One of: <c>base</c>, <c>ethereum</c>, <c>polygon</c>, <c>solana</c>, <c>sui</c>, or
/// <c>tempo</c>.
/// </summary>
[JsonProperty("network")]
[STJS.JsonPropertyName("network")]
public string Network { get; set; }

/// <summary>
/// The token currency that the transaction was sent with.
/// One of: <c>phantom_cash</c>, <c>usdc</c>, <c>usdg</c>, <c>usdp</c>, or <c>usdt</c>.
/// One of: <c>phantom_cash</c>, <c>usdc</c>, <c>usdg</c>, <c>usdp</c>, <c>usdsui</c>, or
/// <c>usdt</c>.
/// </summary>
[JsonProperty("token_currency")]
[STJS.JsonPropertyName("token_currency")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,14 @@ public class ChargePaymentMethodDetailsPix : StripeEntity<ChargePaymentMethodDet
[STJS.JsonPropertyName("bank_transaction_id")]
public string BankTransactionId { get; set; }

/// <summary>
/// Uniquely identifies this particular Pix account. You can use this attribute to check
/// whether two Pix accounts are the same.
/// </summary>
[JsonProperty("fingerprint")]
[STJS.JsonPropertyName("fingerprint")]
public string Fingerprint { get; set; }

/// <summary>
/// ID of the multi use Mandate generated by the PaymentIntent.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,10 @@ public class SessionPaymentMethodOptions : StripeEntity<SessionPaymentMethodOpti
[STJS.JsonPropertyName("sofort")]
public SessionPaymentMethodOptionsSofort Sofort { get; set; }

[JsonProperty("sunbit")]
[STJS.JsonPropertyName("sunbit")]
public SessionPaymentMethodOptionsSunbit Sunbit { get; set; }

[JsonProperty("swish")]
[STJS.JsonPropertyName("swish")]
public SessionPaymentMethodOptionsSwish Swish { get; set; }
Expand All @@ -183,5 +187,9 @@ public class SessionPaymentMethodOptions : StripeEntity<SessionPaymentMethodOpti
[JsonProperty("us_bank_account")]
[STJS.JsonPropertyName("us_bank_account")]
public SessionPaymentMethodOptionsUsBankAccount UsBankAccount { get; set; }

[JsonProperty("wechat_pay")]
[STJS.JsonPropertyName("wechat_pay")]
public SessionPaymentMethodOptionsWechatPay WechatPay { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// File generated from our OpenAPI spec
namespace Stripe.Checkout
{
using Newtonsoft.Json;
using Stripe.Infrastructure;
using STJS = System.Text.Json.Serialization;

[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class SessionPaymentMethodOptionsSunbit : StripeEntity<SessionPaymentMethodOptionsSunbit>
{
/// <summary>
/// Controls when the funds will be captured from the customer's account.
/// </summary>
[JsonProperty("capture_method")]
[STJS.JsonPropertyName("capture_method")]
public string CaptureMethod { 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")]
[STJS.JsonPropertyName("setup_future_usage")]
public string SetupFutureUsage { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// File generated from our OpenAPI spec
namespace Stripe.Checkout
{
using Newtonsoft.Json;
using Stripe.Infrastructure;
using STJS = System.Text.Json.Serialization;

[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class SessionPaymentMethodOptionsWechatPay : StripeEntity<SessionPaymentMethodOptionsWechatPay>
{
/// <summary>
/// The app ID registered with WeChat Pay. Only required when client is iOS or Android.
/// </summary>
[JsonProperty("app_id")]
[STJS.JsonPropertyName("app_id")]
public string AppId { get; set; }

/// <summary>
/// The client type that the end customer will pay from.
/// One of: <c>android</c>, <c>ios</c>, or <c>web</c>.
/// </summary>
[JsonProperty("client")]
[STJS.JsonPropertyName("client")]
public string Client { 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")]
[STJS.JsonPropertyName("setup_future_usage")]
public string SetupFutureUsage { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,11 @@ namespace Stripe
[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class ConfirmationTokenPaymentMethodPreviewBizum : StripeEntity<ConfirmationTokenPaymentMethodPreviewBizum>
{
/// <summary>
/// A unique identifier for the buyer as determined by the local payment processor.
/// </summary>
[JsonProperty("buyer_id")]
[STJS.JsonPropertyName("buyer_id")]
public string BuyerId { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,11 @@ namespace Stripe
[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class ConfirmationTokenPaymentMethodPreviewBlik : StripeEntity<ConfirmationTokenPaymentMethodPreviewBlik>
{
/// <summary>
/// A unique and immutable identifier assigned by BLIK to every buyer.
/// </summary>
[JsonProperty("buyer_id")]
[STJS.JsonPropertyName("buyer_id")]
public string BuyerId { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,12 @@ namespace Stripe
[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class ConfirmationTokenPaymentMethodPreviewPix : StripeEntity<ConfirmationTokenPaymentMethodPreviewPix>
{
/// <summary>
/// Uniquely identifies this particular Pix account. You can use this attribute to check
/// whether two Pix accounts are the same.
/// </summary>
[JsonProperty("fingerprint")]
[STJS.JsonPropertyName("fingerprint")]
public string Fingerprint { get; set; }
}
}
3 changes: 2 additions & 1 deletion src/Stripe.net/Entities/Disputes/Dispute.cs
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,8 @@ public Charge Charge

/// <summary>
/// List of eligibility types that are included in <c>enhanced_evidence</c>.
/// One of: <c>visa_compelling_evidence_3</c>, or <c>visa_compliance</c>.
/// One of: <c>mastercard_compliance</c>, <c>visa_compelling_evidence_3</c>, or
/// <c>visa_compliance</c>.
/// </summary>
[JsonProperty("enhanced_eligibility_types")]
[STJS.JsonPropertyName("enhanced_eligibility_types")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ namespace Stripe
[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class DisputeEvidenceDetailsEnhancedEligibility : StripeEntity<DisputeEvidenceDetailsEnhancedEligibility>
{
[JsonProperty("mastercard_compliance")]
[STJS.JsonPropertyName("mastercard_compliance")]
public DisputeEvidenceDetailsEnhancedEligibilityMastercardCompliance MastercardCompliance { get; set; }

[JsonProperty("visa_compelling_evidence_3")]
[STJS.JsonPropertyName("visa_compelling_evidence_3")]
public DisputeEvidenceDetailsEnhancedEligibilityVisaCompellingEvidence3 VisaCompellingEvidence3 { get; set; }
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// File generated from our OpenAPI spec
namespace Stripe
{
using Newtonsoft.Json;
using Stripe.Infrastructure;
using STJS = System.Text.Json.Serialization;

[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class DisputeEvidenceDetailsEnhancedEligibilityMastercardCompliance : StripeEntity<DisputeEvidenceDetailsEnhancedEligibilityMastercardCompliance>
{
/// <summary>
/// Mastercard compliance eligibility status.
/// One of: <c>fee_acknowledged</c>, or <c>requires_fee_acknowledgement</c>.
/// </summary>
[JsonProperty("status")]
[STJS.JsonPropertyName("status")]
public string Status { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ namespace Stripe
[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class DisputeEvidenceEnhancedEvidence : StripeEntity<DisputeEvidenceEnhancedEvidence>
{
[JsonProperty("mastercard_compliance")]
[STJS.JsonPropertyName("mastercard_compliance")]
public DisputeEvidenceEnhancedEvidenceMastercardCompliance MastercardCompliance { get; set; }

[JsonProperty("visa_compelling_evidence_3")]
[STJS.JsonPropertyName("visa_compelling_evidence_3")]
public DisputeEvidenceEnhancedEvidenceVisaCompellingEvidence3 VisaCompellingEvidence3 { get; set; }
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// File generated from our OpenAPI spec
namespace Stripe
{
using Newtonsoft.Json;
using Stripe.Infrastructure;
using STJS = System.Text.Json.Serialization;

[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class DisputeEvidenceEnhancedEvidenceMastercardCompliance : StripeEntity<DisputeEvidenceEnhancedEvidenceMastercardCompliance>
{
/// <summary>
/// A field acknowledging the fee incurred when countering a Mastercard compliance dispute.
/// If this field is set to true, evidence can be submitted for the compliance dispute.
/// </summary>
[JsonProperty("fee_acknowledged")]
[STJS.JsonPropertyName("fee_acknowledged")]
public bool FeeAcknowledged { get; set; }
}
}
11 changes: 6 additions & 5 deletions src/Stripe.net/Entities/Events/Event.cs
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,10 @@ public class Event : StripeEntity<Event>, IHasId, IHasObject
/// <c>application_fee.created</c>, <c>application_fee.refund.updated</c>,
/// <c>application_fee.refunded</c>, <c>balance.available</c>,
/// <c>balance_settings.updated</c>, <c>billing.alert.triggered</c>,
/// <c>billing.credit_grant.created</c>, <c>billing_portal.configuration.created</c>,
/// <c>billing.credit_balance_transaction.created</c>, <c>billing.credit_grant.created</c>,
/// <c>billing.credit_grant.updated</c>, <c>billing.meter.created</c>,
/// <c>billing.meter.deactivated</c>, <c>billing.meter.reactivated</c>,
/// <c>billing.meter.updated</c>, <c>billing_portal.configuration.created</c>,
/// <c>billing_portal.configuration.updated</c>, <c>billing_portal.session.created</c>,
/// <c>capability.updated</c>, <c>cash_balance.funds_available</c>, <c>charge.captured</c>,
/// <c>charge.dispute.closed</c>, <c>charge.dispute.created</c>,
Expand Down Expand Up @@ -235,10 +238,8 @@ public class Event : StripeEntity<Event>, IHasId, IHasObject
/// <c>treasury.outbound_transfer.returned</c>,
/// <c>treasury.outbound_transfer.tracking_details_updated</c>,
/// <c>treasury.received_credit.created</c>, <c>treasury.received_credit.failed</c>,
/// <c>treasury.received_credit.succeeded</c>, <c>treasury.received_debit.created</c>,
/// <c>billing.credit_balance_transaction.created</c>, <c>billing.credit_grant.updated</c>,
/// <c>billing.meter.created</c>, <c>billing.meter.deactivated</c>,
/// <c>billing.meter.reactivated</c>, <c>billing.meter.updated</c>, or <c>ping</c>.
/// <c>treasury.received_credit.succeeded</c>, <c>treasury.received_debit.created</c>, or
/// <c>ping</c>.
/// </summary>
[JsonProperty("type")]
[STJS.JsonPropertyName("type")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,10 @@ public AccountOwnership Ownership
[STJS.JsonPropertyName("status")]
public string Status { get; set; }

[JsonProperty("status_details")]
[STJS.JsonPropertyName("status_details")]
public AccountStatusDetails StatusDetails { get; set; }

/// <summary>
/// If <c>category</c> is <c>cash</c>, one of:.
///
Expand Down
Loading
Loading