diff --git a/API_VERSION b/API_VERSION
index dffa3a76a2..e0ecaaa28e 100644
--- a/API_VERSION
+++ b/API_VERSION
@@ -1 +1 @@
-6d15a7f20cb77c2c22091a30e499cb89d7e3248c
\ No newline at end of file
+f587035a62fe3323ed42077a0526158e57a8260b
\ No newline at end of file
diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION
index dfd2783f16..559abffe4b 100644
--- a/OPENAPI_VERSION
+++ b/OPENAPI_VERSION
@@ -1 +1 @@
-v2111
\ No newline at end of file
+v2121
\ No newline at end of file
diff --git a/src/Stripe.net/Constants/ApiVersion.cs b/src/Stripe.net/Constants/ApiVersion.cs
index 3fd1388ce4..fe194fbea8 100644
--- a/src/Stripe.net/Constants/ApiVersion.cs
+++ b/src/Stripe.net/Constants/ApiVersion.cs
@@ -3,7 +3,7 @@ namespace Stripe
{
internal class ApiVersion
{
- public const string Current = "2025-10-29.clover";
+ public const string Current = "2025-11-17.clover";
public const string CurrentMajor = "clover";
}
}
\ No newline at end of file
diff --git a/src/Stripe.net/Constants/EventTypes.cs b/src/Stripe.net/Constants/EventTypes.cs
index c5488baa38..203816bac0 100644
--- a/src/Stripe.net/Constants/EventTypes.cs
+++ b/src/Stripe.net/Constants/EventTypes.cs
@@ -423,6 +423,11 @@ public static class EventTypes
///
public const string FileCreated = "file.created";
+ ///
+ /// Occurs when a Financial Connections account's account numbers are updated.
+ ///
+ public const string FinancialConnectionsAccountAccountNumbersUpdated = "financial_connections.account.account_numbers_updated";
+
///
/// Occurs when a new Financial Connections account is created.
///
@@ -463,6 +468,11 @@ public static class EventTypes
///
public const string FinancialConnectionsAccountRefreshedTransactions = "financial_connections.account.refreshed_transactions";
+ ///
+ /// Occurs when an Account’s tokenized account number is about to expire.
+ ///
+ public const string FinancialConnectionsAccountUpcomingAccountNumberExpiry = "financial_connections.account.upcoming_account_number_expiry";
+
///
/// Occurs whenever a VerificationSession is canceled.
///
diff --git a/src/Stripe.net/Entities/BankAccounts/BankAccount.cs b/src/Stripe.net/Entities/BankAccounts/BankAccount.cs
index e96dff8d61..27bb0dec24 100644
--- a/src/Stripe.net/Entities/BankAccounts/BankAccount.cs
+++ b/src/Stripe.net/Entities/BankAccounts/BankAccount.cs
@@ -283,21 +283,25 @@ public Customer Customer
///
/// For bank accounts, possible values are new, validated, verified,
- /// verification_failed, or errored. A bank account that hasn't had any
- /// activity or validation performed is new. If Stripe can determine that the bank
- /// account exists, its status will be validated. Note that there often isn’t enough
- /// information to know (e.g., for smaller credit unions), and the validation is not always
- /// run. If customer bank account verification has succeeded, the bank account status will
- /// be verified. If the verification failed for any reason, such as microdeposit
- /// failure, the status will be verification_failed. If a payout sent to this bank
- /// account fails, we'll set the status to errored and will not continue to send scheduled payouts until the
- /// bank details are updated.
+ /// verification_failed, tokenized_account_number_deactivated or
+ /// errored. A bank account that hasn't had any activity or validation performed is
+ /// new. If Stripe can determine that the bank account exists, its status will be
+ /// validated. Note that there often isn’t enough information to know (e.g., for
+ /// smaller credit unions), and the validation is not always run. If customer bank account
+ /// verification has succeeded, the bank account status will be verified. If the
+ /// verification failed for any reason, such as microdeposit failure, the status will be
+ /// verification_failed. If the status is
+ /// tokenized_account_number_deactivated, the account utilizes a tokenized account
+ /// number which has been deactivated due to expiration or revocation. This account will
+ /// need to be reverified to continue using it for money movement. If a payout sent to this
+ /// bank account fails, we'll set the status to errored and will not continue to send
+ /// scheduled payouts until
+ /// the bank details are updated.
///
- /// For external accounts, possible values are new, errored and
- /// verification_failed. If a payout fails, the status is set to errored and
- /// scheduled payouts are stopped until account details are updated. In the US and India, if
- /// we can't new, errored,
+ /// verification_failed, and tokenized_account_number_deactivated. If a payout
+ /// fails, the status is set to errored and scheduled payouts are stopped until
+ /// account details are updated. In the US and India, if we can't verify
/// the owner of the bank account, we'll set the status to verification_failed.
/// Other validations aren't run against external accounts because they're only used for
diff --git a/src/Stripe.net/Entities/BillingPortal/Configurations/ConfigurationFeaturesPaymentMethodUpdate.cs b/src/Stripe.net/Entities/BillingPortal/Configurations/ConfigurationFeaturesPaymentMethodUpdate.cs
index e0954104d7..1e00668a5f 100644
--- a/src/Stripe.net/Entities/BillingPortal/Configurations/ConfigurationFeaturesPaymentMethodUpdate.cs
+++ b/src/Stripe.net/Entities/BillingPortal/Configurations/ConfigurationFeaturesPaymentMethodUpdate.cs
@@ -16,5 +16,17 @@ public class ConfigurationFeaturesPaymentMethodUpdate : StripeEntity
+ /// The Payment Method
+ /// Configuration to use for this portal session. When specified, customers will be able
+ /// to update their payment method to one of the options specified by the payment method
+ /// configuration. If not set, the default payment method configuration is used.
+ ///
+ [JsonProperty("payment_method_configuration")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("payment_method_configuration")]
+#endif
+ public string PaymentMethodConfiguration { get; set; }
}
}
diff --git a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsIdeal.cs b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsIdeal.cs
index a18217a5d6..dc76ae31fa 100644
--- a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsIdeal.cs
+++ b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsIdeal.cs
@@ -14,10 +14,11 @@ public class ChargePaymentMethodDetailsIdeal : StripeEntity
/// The customer's bank. Can be one of abn_amro, asn_bank, bunq,
- /// buut, handelsbanken, ing, knab, moneyou, n26,
- /// nn, rabobank, regiobank, revolut, sns_bank,
- /// triodos_bank, van_lanschot, or yoursafe.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// buut, finom, handelsbanken, ing, knab,
+ /// moneyou, n26, nn, rabobank, regiobank,
+ /// revolut, sns_bank, triodos_bank, van_lanschot, or
+ /// yoursafe.
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
@@ -31,9 +32,9 @@ public class ChargePaymentMethodDetailsIdeal : StripeEntity
/// The Bank Identifier Code of the customer's bank.
/// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A,
- /// BUUTNL2A, FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H,
- /// MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21,
- /// REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
+ /// BUUTNL2A, FNOMNL22, FVLBNL22, HANDNL2A, INGBNL2A,
+ /// KNABNL2H, MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U,
+ /// RBRBNL21, REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
///
[JsonProperty("bic")]
#if NET6_0_OR_GREATER
@@ -132,6 +133,15 @@ public Mandate GeneratedSepaDebitMandate
#endif
public string IbanLast4 { get; set; }
+ ///
+ /// Unique transaction ID generated by iDEAL.
+ ///
+ [JsonProperty("transaction_id")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("transaction_id")]
+#endif
+ public string TransactionId { get; set; }
+
///
/// Owner's verified full name. Values are verified or provided by iDEAL directly (if
/// supported) at the time of authorization or settlement. They cannot be set or mutated.
diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewIdeal.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewIdeal.cs
index cd6e5f6a51..91c51b0965 100644
--- a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewIdeal.cs
+++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewIdeal.cs
@@ -10,10 +10,11 @@ public class ConfirmationTokenPaymentMethodPreviewIdeal : StripeEntity
/// The customer's bank, if provided. Can be one of abn_amro, asn_bank,
- /// bunq, buut, handelsbanken, ing, knab, moneyou,
- /// n26, nn, rabobank, regiobank, revolut,
- /// sns_bank, triodos_bank, van_lanschot, or yoursafe.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// bunq, buut, finom, handelsbanken, ing, knab,
+ /// moneyou, n26, nn, rabobank, regiobank,
+ /// revolut, sns_bank, triodos_bank, van_lanschot, or
+ /// yoursafe.
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
@@ -27,9 +28,9 @@ public class ConfirmationTokenPaymentMethodPreviewIdeal : StripeEntity
/// The Bank Identifier Code of the customer's bank, if the bank was provided.
/// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A,
- /// BUUTNL2A, FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H,
- /// MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21,
- /// REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
+ /// BUUTNL2A, FNOMNL22, FVLBNL22, HANDNL2A, INGBNL2A,
+ /// KNABNL2H, MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U,
+ /// RBRBNL21, REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
///
[JsonProperty("bic")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewUsBankAccountStatusDetailsBlocked.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewUsBankAccountStatusDetailsBlocked.cs
index 59e33cfa27..05c33bc59a 100644
--- a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewUsBankAccountStatusDetailsBlocked.cs
+++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewUsBankAccountStatusDetailsBlocked.cs
@@ -23,7 +23,8 @@ public class ConfirmationTokenPaymentMethodPreviewUsBankAccountStatusDetailsBloc
/// The reason why this PaymentMethod's fingerprint has been blocked.
/// One of: bank_account_closed, bank_account_frozen,
/// bank_account_invalid_details, bank_account_restricted,
- /// bank_account_unusable, or debit_not_authorized.
+ /// bank_account_unusable, debit_not_authorized, or
+ /// tokenized_account_number_deactivated.
///
[JsonProperty("reason")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/Events/Event.cs b/src/Stripe.net/Entities/Events/Event.cs
index 4bd3e41c81..0d16de57bd 100644
--- a/src/Stripe.net/Entities/Events/Event.cs
+++ b/src/Stripe.net/Entities/Events/Event.cs
@@ -168,6 +168,7 @@ public class Event : StripeEntity, IHasId, IHasObject
/// customer.tax_id.deleted, customer.tax_id.updated, customer.updated,
/// customer_cash_balance_transaction.created,
/// entitlements.active_entitlement_summary.updated, file.created,
+ /// financial_connections.account.account_numbers_updated,
/// financial_connections.account.created,
/// financial_connections.account.deactivated,
/// financial_connections.account.disconnected,
@@ -175,6 +176,7 @@ public class Event : StripeEntity, IHasId, IHasObject
/// financial_connections.account.refreshed_balance,
/// financial_connections.account.refreshed_ownership,
/// financial_connections.account.refreshed_transactions,
+ /// financial_connections.account.upcoming_account_number_expiry,
/// identity.verification_session.canceled,
/// identity.verification_session.created,
/// identity.verification_session.processing,
diff --git a/src/Stripe.net/Entities/FinancialConnections/Accounts/Account.cs b/src/Stripe.net/Entities/FinancialConnections/Accounts/Account.cs
index 591ddc6366..d629637502 100644
--- a/src/Stripe.net/Entities/FinancialConnections/Accounts/Account.cs
+++ b/src/Stripe.net/Entities/FinancialConnections/Accounts/Account.cs
@@ -45,6 +45,15 @@ public class Account : StripeEntity, IHasId, IHasObject
#endif
public AccountAccountHolder AccountHolder { get; set; }
+ ///
+ /// Details about the account numbers.
+ ///
+ [JsonProperty("account_numbers")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("account_numbers")]
+#endif
+ public List AccountNumbers { get; set; }
+
///
/// The most recent information about the account's balance.
///
diff --git a/src/Stripe.net/Entities/FinancialConnections/Accounts/AccountAccountNumber.cs b/src/Stripe.net/Entities/FinancialConnections/Accounts/AccountAccountNumber.cs
new file mode 100644
index 0000000000..6541dc1650
--- /dev/null
+++ b/src/Stripe.net/Entities/FinancialConnections/Accounts/AccountAccountNumber.cs
@@ -0,0 +1,54 @@
+// File generated from our OpenAPI spec
+namespace Stripe.FinancialConnections
+{
+ using System;
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AccountAccountNumber : StripeEntity
+ {
+ ///
+ /// When the account number is expected to expire, if applicable.
+ ///
+ [JsonProperty("expected_expiry_date")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("expected_expiry_date")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? ExpectedExpiryDate { get; set; }
+
+ ///
+ /// The type of account number associated with the account.
+ /// One of: account_number, or tokenized_account_number.
+ ///
+ [JsonProperty("identifier_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("identifier_type")]
+#endif
+ public string IdentifierType { get; set; }
+
+ ///
+ /// Whether the account number is currently active and usable for transactions.
+ /// One of: deactivated, or transactable.
+ ///
+ [JsonProperty("status")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("status")]
+#endif
+ public string Status { get; set; }
+
+ ///
+ /// The payment networks that the account number can be used for.
+ ///
+ [JsonProperty("supported_networks")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("supported_networks")]
+#endif
+ public List SupportedNetworks { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Issuing/Cards/Card.cs b/src/Stripe.net/Entities/Issuing/Cards/Card.cs
index 5aeb83b440..25226abd10 100644
--- a/src/Stripe.net/Entities/Issuing/Cards/Card.cs
+++ b/src/Stripe.net/Entities/Issuing/Cards/Card.cs
@@ -141,6 +141,16 @@ public class Card : StripeEntity, IHasId, IHasMetadata, IHasObject
#endif
public string Last4 { get; set; }
+ ///
+ /// Stripe’s assessment of whether this card’s details have been compromised. If this
+ /// property isn't null, cancel and reissue the card to prevent fraudulent activity risk.
+ ///
+ [JsonProperty("latest_fraud_warning")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("latest_fraud_warning")]
+#endif
+ public CardLatestFraudWarning LatestFraudWarning { get; set; }
+
///
/// Has the value true if the object exists in live mode or the value false if
/// the object exists in test mode.
diff --git a/src/Stripe.net/Entities/Issuing/Cards/CardLatestFraudWarning.cs b/src/Stripe.net/Entities/Issuing/Cards/CardLatestFraudWarning.cs
new file mode 100644
index 0000000000..220d92ba10
--- /dev/null
+++ b/src/Stripe.net/Entities/Issuing/Cards/CardLatestFraudWarning.cs
@@ -0,0 +1,37 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Issuing
+{
+ using System;
+ using Newtonsoft.Json;
+ using Stripe.Infrastructure;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class CardLatestFraudWarning : StripeEntity
+ {
+ ///
+ /// Timestamp of the most recent fraud warning.
+ ///
+ [JsonProperty("started_at")]
+ [JsonConverter(typeof(UnixDateTimeConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("started_at")]
+ [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))]
+#endif
+ public DateTime? StartedAt { get; set; }
+
+ ///
+ /// The type of fraud warning that most recently took place on this card. This field updates
+ /// with every new fraud warning, so the value changes over time. If populated, cancel and
+ /// reissue the card.
+ /// One of: card_testing_exposure, fraud_dispute_filed,
+ /// third_party_reported, or user_indicated_fraud.
+ ///
+ [JsonProperty("type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("type")]
+#endif
+ public string Type { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs
index 2cf4480a6b..a1e6bf232f 100644
--- a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs
+++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs
@@ -366,9 +366,6 @@ public class PaymentAttemptRecordPaymentMethodDetails : StripeEntity
- /// Details of the US Bank Account used for this payment attempt.
- ///
[JsonProperty("us_bank_account")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("us_bank_account")]
diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdeal.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdeal.cs
index dd241bc1a2..05d09359df 100644
--- a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdeal.cs
+++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdeal.cs
@@ -14,10 +14,11 @@ public class PaymentAttemptRecordPaymentMethodDetailsIdeal : StripeEntity
/// The customer's bank. Can be one of abn_amro, asn_bank, bunq,
- /// buut, handelsbanken, ing, knab, moneyou, n26,
- /// nn, rabobank, regiobank, revolut, sns_bank,
- /// triodos_bank, van_lanschot, or yoursafe.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// buut, finom, handelsbanken, ing, knab,
+ /// moneyou, n26, nn, rabobank, regiobank,
+ /// revolut, sns_bank, triodos_bank, van_lanschot, or
+ /// yoursafe.
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
@@ -31,9 +32,9 @@ public class PaymentAttemptRecordPaymentMethodDetailsIdeal : StripeEntity
/// The Bank Identifier Code of the customer's bank.
/// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A,
- /// BUUTNL2A, FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H,
- /// MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21,
- /// REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
+ /// BUUTNL2A, FNOMNL22, FVLBNL22, HANDNL2A, INGBNL2A,
+ /// KNABNL2H, MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U,
+ /// RBRBNL21, REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
///
[JsonProperty("bic")]
#if NET6_0_OR_GREATER
@@ -132,6 +133,15 @@ public Mandate GeneratedSepaDebitMandate
#endif
public string IbanLast4 { get; set; }
+ ///
+ /// Unique transaction ID generated by iDEAL.
+ ///
+ [JsonProperty("transaction_id")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("transaction_id")]
+#endif
+ public string TransactionId { get; set; }
+
///
/// Owner's verified full name. Values are verified or provided by iDEAL directly (if
/// supported) at the time of authorization or settlement. They cannot be set or mutated.
diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsUsBankAccount.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsUsBankAccount.cs
index 5d64c89d8d..acdecb8120 100644
--- a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsUsBankAccount.cs
+++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsUsBankAccount.cs
@@ -13,6 +13,7 @@ namespace Stripe
public class PaymentAttemptRecordPaymentMethodDetailsUsBankAccount : StripeEntity
{
///
+ /// The type of entity that holds the account. This can be either 'individual' or 'company'.
/// One of: company, or individual.
///
[JsonProperty("account_holder_type")]
@@ -22,6 +23,7 @@ public class PaymentAttemptRecordPaymentMethodDetailsUsBankAccount : StripeEntit
public string AccountHolderType { get; set; }
///
+ /// The type of the bank account. This can be either 'checking' or 'savings'.
/// One of: checking, or savings.
///
[JsonProperty("account_type")]
@@ -100,7 +102,7 @@ public Mandate Mandate
#endregion
///
- /// Reference number to locate ACH payments with customer’s bank.
+ /// The ACH payment reference for this transaction.
///
[JsonProperty("payment_reference")]
#if NET6_0_OR_GREATER
@@ -109,7 +111,7 @@ public Mandate Mandate
public string PaymentReference { get; set; }
///
- /// Routing number of the bank account.
+ /// The routing number for the bank account.
///
[JsonProperty("routing_number")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs
index 209931ce23..dbba48065d 100644
--- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs
+++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs
@@ -331,6 +331,12 @@ public Customer Customer
#endif
public List ExcludedPaymentMethodTypes { get; set; }
+ [JsonProperty("hooks")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("hooks")]
+#endif
+ public PaymentIntentHooks Hooks { get; set; }
+
///
/// The payment error encountered in the previous PaymentIntent confirmation. It will be
/// cleared if the PaymentIntent is later updated for any reason.
diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentHooks.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentHooks.cs
new file mode 100644
index 0000000000..cae1e0a191
--- /dev/null
+++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentHooks.cs
@@ -0,0 +1,17 @@
+// 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 PaymentIntentHooks : StripeEntity
+ {
+ [JsonProperty("inputs")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("inputs")]
+#endif
+ public PaymentIntentHooksInputs Inputs { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentHooksInputs.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentHooksInputs.cs
new file mode 100644
index 0000000000..be6b015d94
--- /dev/null
+++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentHooksInputs.cs
@@ -0,0 +1,17 @@
+// 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 PaymentIntentHooksInputs : StripeEntity
+ {
+ [JsonProperty("tax")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax")]
+#endif
+ public PaymentIntentHooksInputsTax Tax { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentHooksInputsTax.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentHooksInputsTax.cs
new file mode 100644
index 0000000000..d955964187
--- /dev/null
+++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentHooksInputsTax.cs
@@ -0,0 +1,20 @@
+// 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 PaymentIntentHooksInputsTax : StripeEntity
+ {
+ ///
+ /// The TaxCalculation id.
+ ///
+ [JsonProperty("calculation")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("calculation")]
+#endif
+ public string Calculation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodIdeal.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodIdeal.cs
index a122f28ec3..c4f5ec8957 100644
--- a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodIdeal.cs
+++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodIdeal.cs
@@ -10,10 +10,11 @@ public class PaymentMethodIdeal : StripeEntity
{
///
/// The customer's bank, if provided. Can be one of abn_amro, asn_bank,
- /// bunq, buut, handelsbanken, ing, knab, moneyou,
- /// n26, nn, rabobank, regiobank, revolut,
- /// sns_bank, triodos_bank, van_lanschot, or yoursafe.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// bunq, buut, finom, handelsbanken, ing, knab,
+ /// moneyou, n26, nn, rabobank, regiobank,
+ /// revolut, sns_bank, triodos_bank, van_lanschot, or
+ /// yoursafe.
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
@@ -27,9 +28,9 @@ public class PaymentMethodIdeal : StripeEntity
///
/// The Bank Identifier Code of the customer's bank, if the bank was provided.
/// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A,
- /// BUUTNL2A, FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H,
- /// MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21,
- /// REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
+ /// BUUTNL2A, FNOMNL22, FVLBNL22, HANDNL2A, INGBNL2A,
+ /// KNABNL2H, MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U,
+ /// RBRBNL21, REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
///
[JsonProperty("bic")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodUsBankAccountStatusDetailsBlocked.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodUsBankAccountStatusDetailsBlocked.cs
index c575943be0..a9ead620a9 100644
--- a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodUsBankAccountStatusDetailsBlocked.cs
+++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodUsBankAccountStatusDetailsBlocked.cs
@@ -23,7 +23,8 @@ public class PaymentMethodUsBankAccountStatusDetailsBlocked : StripeEntitybank_account_closed, bank_account_frozen,
/// bank_account_invalid_details, bank_account_restricted,
- /// bank_account_unusable, or debit_not_authorized.
+ /// bank_account_unusable, debit_not_authorized, or
+ /// tokenized_account_number_deactivated.
///
[JsonProperty("reason")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs
index 62057a1416..3364ea16ea 100644
--- a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs
+++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs
@@ -366,9 +366,6 @@ public class PaymentRecordPaymentMethodDetails : StripeEntity
- /// Details of the US Bank Account used for this payment attempt.
- ///
[JsonProperty("us_bank_account")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("us_bank_account")]
diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdeal.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdeal.cs
index a5a16582b6..419184c93d 100644
--- a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdeal.cs
+++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdeal.cs
@@ -14,10 +14,11 @@ public class PaymentRecordPaymentMethodDetailsIdeal : StripeEntity
/// The customer's bank. Can be one of abn_amro, asn_bank, bunq,
- /// buut, handelsbanken, ing, knab, moneyou, n26,
- /// nn, rabobank, regiobank, revolut, sns_bank,
- /// triodos_bank, van_lanschot, or yoursafe.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// buut, finom, handelsbanken, ing, knab,
+ /// moneyou, n26, nn, rabobank, regiobank,
+ /// revolut, sns_bank, triodos_bank, van_lanschot, or
+ /// yoursafe.
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
@@ -31,9 +32,9 @@ public class PaymentRecordPaymentMethodDetailsIdeal : StripeEntity
/// The Bank Identifier Code of the customer's bank.
/// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A,
- /// BUUTNL2A, FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H,
- /// MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21,
- /// REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
+ /// BUUTNL2A, FNOMNL22, FVLBNL22, HANDNL2A, INGBNL2A,
+ /// KNABNL2H, MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U,
+ /// RBRBNL21, REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
///
[JsonProperty("bic")]
#if NET6_0_OR_GREATER
@@ -132,6 +133,15 @@ public Mandate GeneratedSepaDebitMandate
#endif
public string IbanLast4 { get; set; }
+ ///
+ /// Unique transaction ID generated by iDEAL.
+ ///
+ [JsonProperty("transaction_id")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("transaction_id")]
+#endif
+ public string TransactionId { get; set; }
+
///
/// Owner's verified full name. Values are verified or provided by iDEAL directly (if
/// supported) at the time of authorization or settlement. They cannot be set or mutated.
diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsUsBankAccount.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsUsBankAccount.cs
index 40823c3e48..a26ba93bf8 100644
--- a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsUsBankAccount.cs
+++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsUsBankAccount.cs
@@ -13,6 +13,7 @@ namespace Stripe
public class PaymentRecordPaymentMethodDetailsUsBankAccount : StripeEntity
{
///
+ /// The type of entity that holds the account. This can be either 'individual' or 'company'.
/// One of: company, or individual.
///
[JsonProperty("account_holder_type")]
@@ -22,6 +23,7 @@ public class PaymentRecordPaymentMethodDetailsUsBankAccount : StripeEntity
+ /// The type of the bank account. This can be either 'checking' or 'savings'.
/// One of: checking, or savings.
///
[JsonProperty("account_type")]
@@ -100,7 +102,7 @@ public Mandate Mandate
#endregion
///
- /// Reference number to locate ACH payments with customer’s bank.
+ /// The ACH payment reference for this transaction.
///
[JsonProperty("payment_reference")]
#if NET6_0_OR_GREATER
@@ -109,7 +111,7 @@ public Mandate Mandate
public string PaymentReference { get; set; }
///
- /// Routing number of the bank account.
+ /// The routing number for the bank account.
///
[JsonProperty("routing_number")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/Refunds/RefundDestinationDetails.cs b/src/Stripe.net/Entities/Refunds/RefundDestinationDetails.cs
index 44987e7c86..1b2adf9ea4 100644
--- a/src/Stripe.net/Entities/Refunds/RefundDestinationDetails.cs
+++ b/src/Stripe.net/Entities/Refunds/RefundDestinationDetails.cs
@@ -122,6 +122,12 @@ public class RefundDestinationDetails : StripeEntity
#endif
public RefundDestinationDetailsKlarna Klarna { get; set; }
+ [JsonProperty("mb_way")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("mb_way")]
+#endif
+ public RefundDestinationDetailsMbWay MbWay { get; set; }
+
[JsonProperty("multibanco")]
#if NET6_0_OR_GREATER
[STJS.JsonPropertyName("multibanco")]
@@ -188,6 +194,12 @@ public class RefundDestinationDetails : StripeEntity
#endif
public RefundDestinationDetailsThBankTransfer ThBankTransfer { get; set; }
+ [JsonProperty("twint")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("twint")]
+#endif
+ public RefundDestinationDetailsTwint Twint { get; set; }
+
///
/// The type of transaction-specific details of the payment method used in the refund (e.g.,
/// card). An additional hash is included on destination_details with a name
diff --git a/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsMbWay.cs b/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsMbWay.cs
new file mode 100644
index 0000000000..a9282384b3
--- /dev/null
+++ b/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsMbWay.cs
@@ -0,0 +1,30 @@
+// 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 RefundDestinationDetailsMbWay : StripeEntity
+ {
+ ///
+ /// The reference assigned to the refund.
+ ///
+ [JsonProperty("reference")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("reference")]
+#endif
+ public string Reference { get; set; }
+
+ ///
+ /// Status of the reference on the refund. This can be pending, available or
+ /// unavailable.
+ ///
+ [JsonProperty("reference_status")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("reference_status")]
+#endif
+ public string ReferenceStatus { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsTwint.cs b/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsTwint.cs
new file mode 100644
index 0000000000..add2b7acf9
--- /dev/null
+++ b/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsTwint.cs
@@ -0,0 +1,7 @@
+// File generated from our OpenAPI spec
+namespace Stripe
+{
+ public class RefundDestinationDetailsTwint : StripeEntity
+ {
+ }
+}
diff --git a/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetailsIdeal.cs b/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetailsIdeal.cs
index 1f63ba87ce..d4671d8dfa 100644
--- a/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetailsIdeal.cs
+++ b/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetailsIdeal.cs
@@ -14,10 +14,11 @@ public class SetupAttemptPaymentMethodDetailsIdeal : StripeEntity
/// The customer's bank. Can be one of abn_amro, asn_bank, bunq,
- /// buut, handelsbanken, ing, knab, moneyou, n26,
- /// nn, rabobank, regiobank, revolut, sns_bank,
- /// triodos_bank, van_lanschot, or yoursafe.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// buut, finom, handelsbanken, ing, knab,
+ /// moneyou, n26, nn, rabobank, regiobank,
+ /// revolut, sns_bank, triodos_bank, van_lanschot, or
+ /// yoursafe.
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
@@ -31,9 +32,9 @@ public class SetupAttemptPaymentMethodDetailsIdeal : StripeEntity
/// The Bank Identifier Code of the customer's bank.
/// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A,
- /// BUUTNL2A, FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H,
- /// MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21,
- /// REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
+ /// BUUTNL2A, FNOMNL22, FVLBNL22, HANDNL2A, INGBNL2A,
+ /// KNABNL2H, MOYONL21, NNBANL2G, NTSBDEB1, RABONL2U,
+ /// RBRBNL21, REVOIE23, REVOLT21, SNSBNL2A, or TRIONL2U.
///
[JsonProperty("bic")]
#if NET6_0_OR_GREATER
diff --git a/src/Stripe.net/Entities/Tax/Associations/Association.cs b/src/Stripe.net/Entities/Tax/Associations/Association.cs
new file mode 100644
index 0000000000..090e2f3767
--- /dev/null
+++ b/src/Stripe.net/Entities/Tax/Associations/Association.cs
@@ -0,0 +1,63 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Tax
+{
+ using System.Collections.Generic;
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ ///
+ /// A Tax Association exposes the Tax Transactions that Stripe attempted to create on your
+ /// behalf based on the PaymentIntent input.
+ ///
+ public class Association : StripeEntity, IHasId, IHasObject
+ {
+ ///
+ /// Unique identifier for the object.
+ ///
+ [JsonProperty("id")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("id")]
+#endif
+ public string Id { get; set; }
+
+ ///
+ /// String representing the object's type. Objects of the same type share the same value.
+ ///
+ [JsonProperty("object")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("object")]
+#endif
+ public string Object { get; set; }
+
+ ///
+ /// The Tax Calculation
+ /// that was included in PaymentIntent.
+ ///
+ [JsonProperty("calculation")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("calculation")]
+#endif
+ public string Calculation { get; set; }
+
+ ///
+ /// The PaymentIntent that
+ /// this Tax Association is tracking.
+ ///
+ [JsonProperty("payment_intent")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("payment_intent")]
+#endif
+ public string PaymentIntent { get; set; }
+
+ ///
+ /// Information about the tax transactions linked to this payment intent.
+ ///
+ [JsonProperty("tax_transaction_attempts")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax_transaction_attempts")]
+#endif
+ public List TaxTransactionAttempts { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Tax/Associations/AssociationTaxTransactionAttempt.cs b/src/Stripe.net/Entities/Tax/Associations/AssociationTaxTransactionAttempt.cs
new file mode 100644
index 0000000000..25dbc2667a
--- /dev/null
+++ b/src/Stripe.net/Entities/Tax/Associations/AssociationTaxTransactionAttempt.cs
@@ -0,0 +1,41 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Tax
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AssociationTaxTransactionAttempt : StripeEntity
+ {
+ [JsonProperty("committed")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("committed")]
+#endif
+ public AssociationTaxTransactionAttemptCommitted Committed { get; set; }
+
+ [JsonProperty("errored")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("errored")]
+#endif
+ public AssociationTaxTransactionAttemptErrored Errored { get; set; }
+
+ ///
+ /// The source of the tax transaction attempt. This is either a refund or a payment intent.
+ ///
+ [JsonProperty("source")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("source")]
+#endif
+ public string Source { get; set; }
+
+ ///
+ /// The status of the transaction attempt. This can be errored or committed.
+ ///
+ [JsonProperty("status")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("status")]
+#endif
+ public string Status { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Tax/Associations/AssociationTaxTransactionAttemptCommitted.cs b/src/Stripe.net/Entities/Tax/Associations/AssociationTaxTransactionAttemptCommitted.cs
new file mode 100644
index 0000000000..93cbf366fd
--- /dev/null
+++ b/src/Stripe.net/Entities/Tax/Associations/AssociationTaxTransactionAttemptCommitted.cs
@@ -0,0 +1,20 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Tax
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AssociationTaxTransactionAttemptCommitted : StripeEntity
+ {
+ ///
+ /// The Tax Transaction.
+ ///
+ [JsonProperty("transaction")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("transaction")]
+#endif
+ public string Transaction { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Tax/Associations/AssociationTaxTransactionAttemptErrored.cs b/src/Stripe.net/Entities/Tax/Associations/AssociationTaxTransactionAttemptErrored.cs
new file mode 100644
index 0000000000..906fe0cdea
--- /dev/null
+++ b/src/Stripe.net/Entities/Tax/Associations/AssociationTaxTransactionAttemptErrored.cs
@@ -0,0 +1,23 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Tax
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AssociationTaxTransactionAttemptErrored : StripeEntity
+ {
+ ///
+ /// Details on why we couldn't commit the tax transaction.
+ /// One of: another_payment_associated_with_calculation, calculation_expired,
+ /// currency_mismatch, original_transaction_voided, or
+ /// unique_reference_violation.
+ ///
+ [JsonProperty("reason")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("reason")]
+#endif
+ public string Reason { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Terminal/OnboardingLinks/OnboardingLink.cs b/src/Stripe.net/Entities/Terminal/OnboardingLinks/OnboardingLink.cs
new file mode 100644
index 0000000000..33fbd45dca
--- /dev/null
+++ b/src/Stripe.net/Entities/Terminal/OnboardingLinks/OnboardingLink.cs
@@ -0,0 +1,56 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Terminal
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ ///
+ /// Returns redirect links used for onboarding onto Tap to Pay on iPhone.
+ ///
+ public class OnboardingLink : StripeEntity, IHasObject
+ {
+ [JsonProperty("object")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("object")]
+#endif
+ public string Object { get; set; }
+
+ ///
+ /// Link type options associated with the current onboarding link object.
+ ///
+ [JsonProperty("link_options")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("link_options")]
+#endif
+ public OnboardingLinkLinkOptions LinkOptions { get; set; }
+
+ ///
+ /// The type of link being generated.
+ ///
+ [JsonProperty("link_type")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("link_type")]
+#endif
+ public string LinkType { get; set; }
+
+ ///
+ /// Stripe account ID to generate the link for.
+ ///
+ [JsonProperty("on_behalf_of")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("on_behalf_of")]
+#endif
+ public string OnBehalfOf { get; set; }
+
+ ///
+ /// The link passed back to the user for their onboarding.
+ ///
+ [JsonProperty("redirect_url")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("redirect_url")]
+#endif
+ public string RedirectUrl { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Terminal/OnboardingLinks/OnboardingLinkLinkOptions.cs b/src/Stripe.net/Entities/Terminal/OnboardingLinks/OnboardingLinkLinkOptions.cs
new file mode 100644
index 0000000000..24bcc24a03
--- /dev/null
+++ b/src/Stripe.net/Entities/Terminal/OnboardingLinks/OnboardingLinkLinkOptions.cs
@@ -0,0 +1,20 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Terminal
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OnboardingLinkLinkOptions : StripeEntity
+ {
+ ///
+ /// The options associated with the Apple Terms and Conditions link type.
+ ///
+ [JsonProperty("apple_terms_and_conditions")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("apple_terms_and_conditions")]
+#endif
+ public OnboardingLinkLinkOptionsAppleTermsAndConditions AppleTermsAndConditions { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/Terminal/OnboardingLinks/OnboardingLinkLinkOptionsAppleTermsAndConditions.cs b/src/Stripe.net/Entities/Terminal/OnboardingLinks/OnboardingLinkLinkOptionsAppleTermsAndConditions.cs
new file mode 100644
index 0000000000..8b971ab7af
--- /dev/null
+++ b/src/Stripe.net/Entities/Terminal/OnboardingLinks/OnboardingLinkLinkOptionsAppleTermsAndConditions.cs
@@ -0,0 +1,29 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Terminal
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class OnboardingLinkLinkOptionsAppleTermsAndConditions : StripeEntity
+ {
+ ///
+ /// Whether the link should also support users relinking their Apple account.
+ ///
+ [JsonProperty("allow_relinking")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("allow_relinking")]
+#endif
+ public bool? AllowRelinking { get; set; }
+
+ ///
+ /// The business name of the merchant accepting Apple's Terms and Conditions.
+ ///
+ [JsonProperty("merchant_display_name")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("merchant_display_name")]
+#endif
+ public string MerchantDisplayName { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Entities/V2/Core/Events/Event.cs b/src/Stripe.net/Entities/V2/Core/Events/Event.cs
index 93f2c9ad39..090774f6d3 100644
--- a/src/Stripe.net/Entities/V2/Core/Events/Event.cs
+++ b/src/Stripe.net/Entities/V2/Core/Events/Event.cs
@@ -2,6 +2,7 @@
namespace Stripe.V2.Core
{
using System;
+ using System.Collections.Generic;
using Newtonsoft.Json;
#if NET6_0_OR_GREATER
using STJS = System.Text.Json.Serialization;
@@ -31,6 +32,15 @@ public partial class Event : StripeEntity, IHasId, IHasObject
#endif
public string Object { get; set; }
+ ///
+ /// Before and after changes for the primary related object.
+ ///
+ [JsonProperty("changes")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("changes")]
+#endif
+ public Dictionary Changes { get; set; }
+
///
/// Authentication context needed to fetch the event or related object.
///
diff --git a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs
index fd02dfbe35..f52099db7d 100644
--- a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs
+++ b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs
@@ -142,6 +142,7 @@ public static class StripeTypeRegistry
{ "subscription", typeof(Subscription) },
{ "subscription_item", typeof(SubscriptionItem) },
{ "subscription_schedule", typeof(SubscriptionSchedule) },
+ { "tax.association", typeof(Tax.Association) },
{ "tax.calculation", typeof(Tax.Calculation) },
{ "tax.calculation_line_item", typeof(Tax.CalculationLineItem) },
{ "tax.registration", typeof(Tax.Registration) },
@@ -155,6 +156,7 @@ public static class StripeTypeRegistry
{ "terminal.configuration", typeof(Terminal.Configuration) },
{ "terminal.connection_token", typeof(Terminal.ConnectionToken) },
{ "terminal.location", typeof(Terminal.Location) },
+ { "terminal.onboarding_link", typeof(Terminal.OnboardingLink) },
{ "terminal.reader", typeof(Terminal.Reader) },
{ "test_helpers.test_clock", typeof(TestHelpers.TestClock) },
{ "token", typeof(Token) },
diff --git a/src/Stripe.net/Services/CustomerBalanceTransactions/CustomerBalanceTransactionListOptions.cs b/src/Stripe.net/Services/CustomerBalanceTransactions/CustomerBalanceTransactionListOptions.cs
index 94d00ca0ad..0251ef05b3 100644
--- a/src/Stripe.net/Services/CustomerBalanceTransactions/CustomerBalanceTransactionListOptions.cs
+++ b/src/Stripe.net/Services/CustomerBalanceTransactions/CustomerBalanceTransactionListOptions.cs
@@ -1,7 +1,25 @@
// 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 CustomerBalanceTransactionListOptions : ListOptions
{
+ ///
+ /// Only return customer balance transactions that were created during the given date
+ /// interval.
+ ///
+ [JsonProperty("created")]
+ [JsonConverter(typeof(AnyOfConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("created")]
+ [STJS.JsonConverter(typeof(STJAnyOfConverter))]
+#endif
+ public AnyOf Created { get; set; }
}
}
diff --git a/src/Stripe.net/Services/InvoicePayments/InvoicePaymentListOptions.cs b/src/Stripe.net/Services/InvoicePayments/InvoicePaymentListOptions.cs
index 7b6066f04e..a190b3b7e7 100644
--- a/src/Stripe.net/Services/InvoicePayments/InvoicePaymentListOptions.cs
+++ b/src/Stripe.net/Services/InvoicePayments/InvoicePaymentListOptions.cs
@@ -1,13 +1,26 @@
// 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 InvoicePaymentListOptions : ListOptions
{
+ ///
+ /// Only return invoice payments that were created during the given date interval.
+ ///
+ [JsonProperty("created")]
+ [JsonConverter(typeof(AnyOfConverter))]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("created")]
+ [STJS.JsonConverter(typeof(STJAnyOfConverter))]
+#endif
+ public AnyOf Created { get; set; }
+
///
/// The identifier of the invoice whose payments to return.
///
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentCaptureOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentCaptureOptions.cs
index 792bba1100..7aa958add7 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentCaptureOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentCaptureOptions.cs
@@ -55,6 +55,15 @@ public class PaymentIntentCaptureOptions : BaseOptions, IHasMetadata
#endif
public bool? FinalCapture { get; set; }
+ ///
+ /// Automations to be run during the PaymentIntent lifecycle.
+ ///
+ [JsonProperty("hooks")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("hooks")]
+#endif
+ public PaymentIntentHooksOptions Hooks { get; set; }
+
///
/// Set of key-value pairs that you can
/// attach to an object. This can be useful for storing additional information about the
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentConfirmOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentConfirmOptions.cs
index 17f92d1600..2650df98f8 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentConfirmOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentConfirmOptions.cs
@@ -80,6 +80,15 @@ public class PaymentIntentConfirmOptions : BaseOptions
#endif
public List ExcludedPaymentMethodTypes { get; set; }
+ ///
+ /// Automations to be run during the PaymentIntent lifecycle.
+ ///
+ [JsonProperty("hooks")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("hooks")]
+#endif
+ public PaymentIntentHooksOptions Hooks { get; set; }
+
///
/// ID of the mandate that's used for this payment.
///
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentCreateOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentCreateOptions.cs
index ee097e3af5..6b5d104cfc 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentCreateOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentCreateOptions.cs
@@ -181,6 +181,15 @@ public class PaymentIntentCreateOptions : BaseOptions, IHasMetadata
#endif
public List ExcludedPaymentMethodTypes { get; set; }
+ ///
+ /// Automations to be run during the PaymentIntent lifecycle.
+ ///
+ [JsonProperty("hooks")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("hooks")]
+#endif
+ public PaymentIntentHooksOptions Hooks { get; set; }
+
///
/// ID of the mandate that's used for this payment. This parameter can only be used with confirm=true.
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentHooksInputsOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentHooksInputsOptions.cs
new file mode 100644
index 0000000000..34b9144fef
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentHooksInputsOptions.cs
@@ -0,0 +1,20 @@
+// 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 PaymentIntentHooksInputsOptions : INestedOptions
+ {
+ ///
+ /// Tax arguments for automations.
+ ///
+ [JsonProperty("tax")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("tax")]
+#endif
+ public PaymentIntentHooksInputsTaxOptions Tax { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentHooksInputsTaxOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentHooksInputsTaxOptions.cs
new file mode 100644
index 0000000000..da581e6405
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentHooksInputsTaxOptions.cs
@@ -0,0 +1,20 @@
+// 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 PaymentIntentHooksInputsTaxOptions : INestedOptions
+ {
+ ///
+ /// The TaxCalculation id.
+ ///
+ [JsonProperty("calculation")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("calculation")]
+#endif
+ public string Calculation { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentHooksOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentHooksOptions.cs
new file mode 100644
index 0000000000..18e0b5e669
--- /dev/null
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentHooksOptions.cs
@@ -0,0 +1,20 @@
+// 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 PaymentIntentHooksOptions : INestedOptions
+ {
+ ///
+ /// Arguments passed in automations.
+ ///
+ [JsonProperty("inputs")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("inputs")]
+#endif
+ public PaymentIntentHooksInputsOptions Inputs { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentIncrementAuthorizationOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentIncrementAuthorizationOptions.cs
index ad30bfc65a..77ce6e7e42 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentIncrementAuthorizationOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentIncrementAuthorizationOptions.cs
@@ -51,6 +51,15 @@ public class PaymentIntentIncrementAuthorizationOptions : BaseOptions, IHasMetad
#endif
public string Description { get; set; }
+ ///
+ /// Automations to be run during the PaymentIntent lifecycle.
+ ///
+ [JsonProperty("hooks")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("hooks")]
+#endif
+ public PaymentIntentHooksOptions Hooks { get; set; }
+
///
/// Set of key-value pairs that you can
/// attach to an object. This can be useful for storing additional information about the
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataIdealOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataIdealOptions.cs
index 2ad330c343..c0c3e0e8fe 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataIdealOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataIdealOptions.cs
@@ -11,7 +11,7 @@ public class PaymentIntentPaymentMethodDataIdealOptions : INestedOptions
///
/// The customer's bank. Only use this parameter for existing customers. Don't use it for
/// new customers.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentUpdateOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentUpdateOptions.cs
index 46ba90145c..c703f0405a 100644
--- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentUpdateOptions.cs
+++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentUpdateOptions.cs
@@ -118,6 +118,15 @@ public class PaymentIntentUpdateOptions : BaseOptions, IHasMetadata
#endif
public List ExcludedPaymentMethodTypes { get; set; }
+ ///
+ /// Automations to be run during the PaymentIntent lifecycle.
+ ///
+ [JsonProperty("hooks")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("hooks")]
+#endif
+ public PaymentIntentHooksOptions Hooks { get; set; }
+
///
/// Set of key-value pairs that you can
/// attach to an object. This can be useful for storing additional information about the
diff --git a/src/Stripe.net/Services/PaymentMethods/PaymentMethodIdealOptions.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodIdealOptions.cs
index 31d1521a73..2b791deff2 100644
--- a/src/Stripe.net/Services/PaymentMethods/PaymentMethodIdealOptions.cs
+++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodIdealOptions.cs
@@ -11,7 +11,7 @@ public class PaymentMethodIdealOptions : INestedOptions
///
/// The customer's bank. Only use this parameter for existing customers. Don't use it for
/// new customers.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
diff --git a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataIdealOptions.cs b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataIdealOptions.cs
index 2539be4b3d..c9c191a84a 100644
--- a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataIdealOptions.cs
+++ b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataIdealOptions.cs
@@ -11,7 +11,7 @@ public class SetupIntentPaymentMethodDataIdealOptions : INestedOptions
///
/// The customer's bank. Only use this parameter for existing customers. Don't use it for
/// new customers.
- /// One of: abn_amro, asn_bank, bunq, buut,
+ /// One of: abn_amro, asn_bank, bunq, buut, finom,
/// handelsbanken, ing, knab, moneyou, n26, nn,
/// rabobank, regiobank, revolut, sns_bank, triodos_bank,
/// van_lanschot, or yoursafe.
diff --git a/src/Stripe.net/Services/Tax/Associations/AssociationFindOptions.cs b/src/Stripe.net/Services/Tax/Associations/AssociationFindOptions.cs
new file mode 100644
index 0000000000..82b32b756a
--- /dev/null
+++ b/src/Stripe.net/Services/Tax/Associations/AssociationFindOptions.cs
@@ -0,0 +1,20 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Tax
+{
+ using Newtonsoft.Json;
+#if NET6_0_OR_GREATER
+ using STJS = System.Text.Json.Serialization;
+#endif
+
+ public class AssociationFindOptions : BaseOptions
+ {
+ ///
+ /// Valid PaymentIntent id.
+ ///
+ [JsonProperty("payment_intent")]
+#if NET6_0_OR_GREATER
+ [STJS.JsonPropertyName("payment_intent")]
+#endif
+ public string PaymentIntent { get; set; }
+ }
+}
diff --git a/src/Stripe.net/Services/Tax/Associations/AssociationService.cs b/src/Stripe.net/Services/Tax/Associations/AssociationService.cs
new file mode 100644
index 0000000000..fa40621ed7
--- /dev/null
+++ b/src/Stripe.net/Services/Tax/Associations/AssociationService.cs
@@ -0,0 +1,41 @@
+// File generated from our OpenAPI spec
+namespace Stripe.Tax
+{
+ using System;
+ using System.Net.Http;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ public class AssociationService : Service
+ {
+ public AssociationService()
+ {
+ }
+
+ internal AssociationService(ApiRequestor requestor)
+ : base(requestor)
+ {
+ }
+
+ public AssociationService(IStripeClient client)
+ : base(client)
+ {
+ }
+
+ ///
+ ///
Finds a tax association object by PaymentIntent id.