Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
9aa993d
Update generated code for v2295 and 6f145c2614d8c9cc87bf358f4f93c44e3…
stripe-openapi[bot] Jun 12, 2026
058bba3
Update generated code for v2297 and 3111dcf5bcfa362f9fc8da776e0892504…
stripe-openapi[bot] Jun 12, 2026
45112c0
Update generated code for v2299 and 161b47dfc5d5f9332c906a572b90ce855…
stripe-openapi[bot] Jun 12, 2026
2a1eb1c
Update generated code for v2300 and 310a8f6be0f5ff9f63d26e1cfac9d08b2…
stripe-openapi[bot] Jun 12, 2026
414c3ce
Update generated code for v2301 and c20e0e5333d06539a914faeb375b14916…
stripe-openapi[bot] Jun 12, 2026
7d0dac6
Update generated code for v2303 and 368e28dbde85e762b031f0eadf904591c…
stripe-openapi[bot] Jun 12, 2026
9d99ae9
Update generated code for v2305 and c26e09541d712091b4cadc0d5fc3c08c5…
stripe-openapi[bot] Jun 13, 2026
ad49a29
Update generated code for v2307 and cdaaf636cf151ac703fe3aa014b5ab640…
stripe-openapi[bot] Jun 15, 2026
beaad9b
Update generated code for v2309 and dbad6fd3f98cb69a53ab27765bb6ca923…
stripe-openapi[bot] Jun 15, 2026
54d1c62
Update generated code for v2310 and fcc6f448e0f2cf3352ae49d4484a2ca89…
stripe-openapi[bot] Jun 16, 2026
d9cb908
Update generated code for v2310 and 4d4151efb9cfbfd5a1d78638f6f205591…
stripe-openapi[bot] Jun 16, 2026
436f3ae
Update generated code for v2311 and 9f1b026510bc9d939dc89ab90fff40d27…
stripe-openapi[bot] Jun 16, 2026
912198c
Upgrade CI runners from ubuntu-22.04 to ubuntu-24.04 (#3398)
jar-stripe Jun 16, 2026
d83d5a3
Add PR disclaimer to README (#3400)
xavdid Jun 16, 2026
d0ce867
Remove manual API tests superseded by GeneratedExamplesTest (#3402)
jar-stripe Jun 17, 2026
1f77e26
Merge upstream and update generated code for v2315 and 161b2a6978a9cd…
stripe-openapi[bot] Jun 17, 2026
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
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ jobs:
build:
name: Build
needs: [test, test-net462, prepare-dotnet-versions]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
Expand All @@ -213,7 +213,7 @@ jobs:
name: Pack NuGet
if: (((github.event_name == 'push') || (github.event_name == 'workflow_dispatch')) && startsWith(github.ref, 'refs/tags/v'))
needs: [build, prepare-dotnet-versions]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
Expand Down
2 changes: 1 addition & 1 deletion CODEGEN_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
aa10ab9548143dbe396ae1e91e443c64473cbdc2
161b2a6978a9cd8c0c376d83ae012fd5a7da2fe1
2 changes: 1 addition & 1 deletion OPENAPI_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v2294
v2315
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,9 @@ New features and bug fixes are released on the latest major version of the Strip

## Development

> [!WARNING]
> External contributions to this repo from first-time contributors are currently on hiatus. If you'd like to see a change made to the package, please open an issue.

[Contribution guidelines for this project](CONTRIBUTING.md)

.NET 8 is required to build and test Stripe.net SDK, you can install it from [get.dot.net](https://get.dot.net/).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,15 @@ public class AccountSessionComponentsBillsFeatures : StripeEntity<AccountSession
[STJS.JsonPropertyName("bill_management")]
public bool BillManagement { get; set; }

/// <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. This is <c>false</c> by default.
/// </summary>
[JsonProperty("disable_stripe_user_authentication")]
[STJS.JsonPropertyName("disable_stripe_user_authentication")]
public bool DisableStripeUserAuthentication { get; set; }

/// <summary>
/// Whether to enable the send money feature that grants access to bill creation and
/// payment.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,10 @@ public class ChargePaymentMethodDetails : StripeEntity<ChargePaymentMethodDetail
[STJS.JsonPropertyName("swish")]
public ChargePaymentMethodDetailsSwish Swish { get; set; }

[JsonProperty("tamara")]
[STJS.JsonPropertyName("tamara")]
public ChargePaymentMethodDetailsTamara Tamara { get; set; }

[JsonProperty("twint")]
[STJS.JsonPropertyName("twint")]
public ChargePaymentMethodDetailsTwint Twint { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,11 @@ namespace Stripe
public class ChargePaymentMethodDetailsCardAccountFunding : StripeEntity<ChargePaymentMethodDetailsCardAccountFunding>
{
/// <summary>
/// The transaction type of the card transaction. One of <c>account_funding</c> or
/// <c>purchase</c>.
/// One of: <c>account_funding</c>, or <c>purchase</c>.
/// Indicates whether or not this charge is a funding transaction.
/// One of: <c>disabled</c>, or <c>enabled</c>.
/// </summary>
[JsonProperty("processed_transaction_type")]
[STJS.JsonPropertyName("processed_transaction_type")]
public string ProcessedTransactionType { get; set; }
[JsonProperty("status")]
[STJS.JsonPropertyName("status")]
public string Status { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// 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 ChargePaymentMethodDetailsTamara : StripeEntity<ChargePaymentMethodDetailsTamara>
{
/// <summary>
/// The Tamara transaction ID associated with this payment.
/// </summary>
[JsonProperty("transaction_id")]
[STJS.JsonPropertyName("transaction_id")]
public string TransactionId { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,6 @@ namespace Stripe.Checkout
[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class SessionCurrentAttemptPaymentMethodDetailsCard : StripeEntity<SessionCurrentAttemptPaymentMethodDetailsCard>
{
/// <summary>
/// The brand of the card, accounting for customer's brand choice on dual-branded cards.
/// One of: <c>accel</c>, <c>amex</c>, <c>carnet</c>, <c>cartes_bancaires</c>,
/// <c>conecs</c>, <c>diners</c>, <c>discover</c>, <c>eftpos_au</c>, <c>elo</c>,
/// <c>girocard</c>, <c>interac</c>, <c>jaywan</c>, <c>jcb</c>, <c>link</c>, <c>maestro</c>,
/// <c>mastercard</c>, <c>nyce</c>, <c>pulse</c>, <c>rupay</c>, <c>star</c>,
/// <c>unionpay</c>, <c>unknown</c>, or <c>visa</c>.
/// </summary>
[JsonProperty("brand")]
[STJS.JsonPropertyName("brand")]
public string Brand { get; set; }

/// <summary>
/// Two-letter ISO code representing the country of the card. You could use this attribute
/// to get a sense of the international breakdown of cards you've collected.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,10 @@ public Customer Customer
[STJS.JsonPropertyName("swish")]
public ConfirmationTokenPaymentMethodPreviewSwish Swish { get; set; }

[JsonProperty("tamara")]
[STJS.JsonPropertyName("tamara")]
public ConfirmationTokenPaymentMethodPreviewTamara Tamara { get; set; }

[JsonProperty("twint")]
[STJS.JsonPropertyName("twint")]
public ConfirmationTokenPaymentMethodPreviewTwint Twint { get; set; }
Expand All @@ -320,8 +324,8 @@ public Customer Customer
/// <c>paynow</c>, <c>paypal</c>, <c>paypay</c>, <c>payto</c>, <c>pix</c>, <c>promptpay</c>,
/// <c>qris</c>, <c>rechnung</c>, <c>revolut_pay</c>, <c>samsung_pay</c>, <c>satispay</c>,
/// <c>scalapay</c>, <c>sepa_debit</c>, <c>shopeepay</c>, <c>sofort</c>,
/// <c>stripe_balance</c>, <c>sunbit</c>, <c>swish</c>, <c>twint</c>, <c>upi</c>,
/// <c>us_bank_account</c>, <c>wechat_pay</c>, or <c>zip</c>.
/// <c>stripe_balance</c>, <c>sunbit</c>, <c>swish</c>, <c>tamara</c>, <c>twint</c>,
/// <c>upi</c>, <c>us_bank_account</c>, <c>wechat_pay</c>, or <c>zip</c>.
/// </summary>
[JsonProperty("type")]
[STJS.JsonPropertyName("type")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,6 @@ public class ConfirmationTokenPaymentMethodPreviewGiftCard : StripeEntity<Confir
[STJS.JsonPropertyName("fingerprint")]
public string Fingerprint { get; set; }

/// <summary>
/// The first six digits of the gift card number.
/// </summary>
[JsonProperty("first6")]
[STJS.JsonPropertyName("first6")]
public string First6 { get; set; }

/// <summary>
/// The last four digits of the gift card number.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// 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 ConfirmationTokenPaymentMethodPreviewTamara : StripeEntity<ConfirmationTokenPaymentMethodPreviewTamara>
{
}
}
8 changes: 8 additions & 0 deletions src/Stripe.net/Entities/GiftCards/GiftCard.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,14 @@ public class GiftCard : StripeEntity<GiftCard>, IHasId, IHasObject
[STJS.JsonPropertyName("exp_year")]
public long? ExpYear { get; set; }

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

#region Expandable LastOperation

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ public class MandatePaymentMethodDetails : StripeEntity<MandatePaymentMethodDeta
[STJS.JsonPropertyName("bacs_debit")]
public MandatePaymentMethodDetailsBacsDebit BacsDebit { get; set; }

[JsonProperty("blik")]
[STJS.JsonPropertyName("blik")]
public MandatePaymentMethodDetailsBlik Blik { get; set; }

[JsonProperty("card")]
[STJS.JsonPropertyName("card")]
public MandatePaymentMethodDetailsCard Card { get; set; }
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 System;
using Newtonsoft.Json;
using Stripe.Infrastructure;
using STJS = System.Text.Json.Serialization;

[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class MandatePaymentMethodDetailsBlik : StripeEntity<MandatePaymentMethodDetailsBlik>
{
/// <summary>
/// Date at which the mandate expires.
/// </summary>
[JsonProperty("expires_after")]
[JsonConverter(typeof(UnixDateTimeConverter))]
[STJS.JsonPropertyName("expires_after")]
[STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
public DateTime? ExpiresAfter { get; set; }

/// <summary>
/// Type of the mandate.
/// One of: <c>off_session</c>, or <c>on_session</c>.
/// </summary>
[JsonProperty("type")]
[STJS.JsonPropertyName("type")]
public string Type { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,17 @@ public class OrderPaymentSettingsPaymentMethodOptionsWechatPay : StripeEntity<Or
[STJS.JsonPropertyName("app_id")]
public string AppId { get; set; }

/// <summary>
/// The unique buyer ID for the app ID registered with WeChat Pay. Only required when client
/// is mini_program.
/// </summary>
[JsonProperty("buyer_id")]
[STJS.JsonPropertyName("buyer_id")]
public string BuyerId { 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>.
/// One of: <c>android</c>, <c>ios</c>, <c>mini_program</c>, or <c>web</c>.
/// </summary>
[JsonProperty("client")]
[STJS.JsonPropertyName("client")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,10 @@ public class PaymentAttemptRecordPaymentMethodDetails : StripeEntity<PaymentAtte
[STJS.JsonPropertyName("swish")]
public PaymentAttemptRecordPaymentMethodDetailsSwish Swish { get; set; }

[JsonProperty("tamara")]
[STJS.JsonPropertyName("tamara")]
public PaymentAttemptRecordPaymentMethodDetailsTamara Tamara { get; set; }

[JsonProperty("twint")]
[STJS.JsonPropertyName("twint")]
public PaymentAttemptRecordPaymentMethodDetailsTwint Twint { get; set; }
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// 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 PaymentAttemptRecordPaymentMethodDetailsTamara : StripeEntity<PaymentAttemptRecordPaymentMethodDetailsTamara>
{
/// <summary>
/// The Tamara transaction ID associated with this payment.
/// </summary>
[JsonProperty("transaction_id")]
[STJS.JsonPropertyName("transaction_id")]
public string TransactionId { get; set; }
}
}
4 changes: 2 additions & 2 deletions src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -327,8 +327,8 @@ public Customer Customer
/// <c>paynow</c>, <c>paypal</c>, <c>paypay</c>, <c>payto</c>, <c>pix</c>, <c>promptpay</c>,
/// <c>qris</c>, <c>rechnung</c>, <c>revolut_pay</c>, <c>samsung_pay</c>, <c>satispay</c>,
/// <c>scalapay</c>, <c>sepa_debit</c>, <c>shopeepay</c>, <c>sofort</c>,
/// <c>stripe_balance</c>, <c>sunbit</c>, <c>swish</c>, <c>twint</c>, <c>upi</c>,
/// <c>us_bank_account</c>, <c>wechat_pay</c>, or <c>zip</c>.
/// <c>stripe_balance</c>, <c>sunbit</c>, <c>swish</c>, <c>tamara</c>, <c>twint</c>,
/// <c>upi</c>, <c>us_bank_account</c>, <c>wechat_pay</c>, or <c>zip</c>.
/// </summary>
[JsonProperty("excluded_payment_method_types")]
[STJS.JsonPropertyName("excluded_payment_method_types")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ public class PaymentIntentAdvancedFeatureDetails : StripeEntity<PaymentIntentAdv
[STJS.JsonPropertyName("decremental_authorization")]
public PaymentIntentAdvancedFeatureDetailsDecrementalAuthorization DecrementalAuthorization { get; set; }

[JsonProperty("forced_capture")]
[STJS.JsonPropertyName("forced_capture")]
public PaymentIntentAdvancedFeatureDetailsForcedCapture ForcedCapture { get; set; }

[JsonProperty("incremental_authorization")]
[STJS.JsonPropertyName("incremental_authorization")]
public PaymentIntentAdvancedFeatureDetailsIncrementalAuthorization IncrementalAuthorization { get; set; }
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 System;
using Newtonsoft.Json;
using Stripe.Infrastructure;
using STJS = System.Text.Json.Serialization;

[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class PaymentIntentAdvancedFeatureDetailsForcedCapture : StripeEntity<PaymentIntentAdvancedFeatureDetailsForcedCapture>
{
/// <summary>
/// Timestamp at which the forced capture window expires.
/// </summary>
[JsonProperty("expires_at")]
[JsonConverter(typeof(UnixDateTimeConverter))]
[STJS.JsonPropertyName("expires_at")]
[STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
public DateTime? ExpiresAt { get; set; }

/// <summary>
/// Indicates whether forced capture is supported.
/// One of: <c>available</c>, or <c>unavailable</c>.
/// </summary>
[JsonProperty("status")]
[STJS.JsonPropertyName("status")]
public string Status { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,10 @@ public class PaymentIntentNextAction : StripeEntity<PaymentIntentNextAction>
[STJS.JsonPropertyName("wechat_pay_display_qr_code")]
public PaymentIntentNextActionWechatPayDisplayQrCode WechatPayDisplayQrCode { get; set; }

[JsonProperty("wechat_pay_handle_app_redirect")]
[STJS.JsonPropertyName("wechat_pay_handle_app_redirect")]
public PaymentIntentNextActionWechatPayHandleAppRedirect WechatPayHandleAppRedirect { get; set; }

[JsonProperty("wechat_pay_redirect_to_android_app")]
[STJS.JsonPropertyName("wechat_pay_redirect_to_android_app")]
public PaymentIntentNextActionWechatPayRedirectToAndroidApp WechatPayRedirectToAndroidApp { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ public class PaymentIntentNextActionCryptoDisplayDetailsDepositAddresses : Strip
[STJS.JsonPropertyName("base")]
public PaymentIntentNextActionCryptoDisplayDetailsDepositAddressesBase Base { get; set; }

[JsonProperty("ethereum")]
[STJS.JsonPropertyName("ethereum")]
public PaymentIntentNextActionCryptoDisplayDetailsDepositAddressesEthereum Ethereum { get; set; }

[JsonProperty("polygon")]
[STJS.JsonPropertyName("polygon")]
public PaymentIntentNextActionCryptoDisplayDetailsDepositAddressesPolygon Polygon { get; set; }

[JsonProperty("solana")]
[STJS.JsonPropertyName("solana")]
public PaymentIntentNextActionCryptoDisplayDetailsDepositAddressesSolana Solana { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ public class PaymentIntentNextActionCryptoDisplayDetailsDepositAddressesBaseSupp
public string TokenContractAddress { get; set; }

/// <summary>
/// The supported token currency. Supported token currencies include: <c>usdc</c>.
/// The supported token currency.
/// One of: <c>usdc</c>, <c>usdg</c>, or <c>usdp</c>.
/// </summary>
[JsonProperty("token_currency")]
[STJS.JsonPropertyName("token_currency")]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// File generated from our OpenAPI spec
namespace Stripe
{
using System.Collections.Generic;
using Newtonsoft.Json;
using Stripe.Infrastructure;
using STJS = System.Text.Json.Serialization;

[STJS.JsonConverter(typeof(STJStripeEntityConverter))]
public class PaymentIntentNextActionCryptoDisplayDetailsDepositAddressesEthereum : StripeEntity<PaymentIntentNextActionCryptoDisplayDetailsDepositAddressesEthereum>
{
/// <summary>
/// Address of the deposit address.
/// </summary>
[JsonProperty("address")]
[STJS.JsonPropertyName("address")]
public string Address { get; set; }

/// <summary>
/// The wallet address that should receive refunds for deposits on this network.
/// </summary>
[JsonProperty("refund_address")]
[STJS.JsonPropertyName("refund_address")]
public string RefundAddress { get; set; }

/// <summary>
/// The token currencies supported on this network.
/// </summary>
[JsonProperty("supported_tokens")]
[STJS.JsonPropertyName("supported_tokens")]
public List<PaymentIntentNextActionCryptoDisplayDetailsDepositAddressesEthereumSupportedToken> SupportedTokens { get; set; }
}
}
Loading
Loading