diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index ddf5ac5449..8d6382a9f6 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1505 \ No newline at end of file +v1626 \ No newline at end of file diff --git a/src/Stripe.net/Constants/ApiVersion.cs b/src/Stripe.net/Constants/ApiVersion.cs index aac2243ecb..53a6443585 100644 --- a/src/Stripe.net/Constants/ApiVersion.cs +++ b/src/Stripe.net/Constants/ApiVersion.cs @@ -3,6 +3,6 @@ namespace Stripe { internal class ApiVersion { - public const string Current = "2025-02-24.acacia"; + public const string Current = "2025-03-31.basil"; } } \ No newline at end of file diff --git a/src/Stripe.net/Constants/EventTypes.cs b/src/Stripe.net/Constants/EventTypes.cs index d5cbf0870d..12b22e3646 100644 --- a/src/Stripe.net/Constants/EventTypes.cs +++ b/src/Stripe.net/Constants/EventTypes.cs @@ -91,11 +91,46 @@ public static class EventTypes /// public const string BillingAlertTriggered = "billing.alert.triggered"; + /// + /// Occurs when a credit balance transaction is created. + /// + public const string BillingCreditBalanceTransactionCreated = "billing.credit_balance_transaction.created"; + + /// + /// Occurs when a credit grant is created. + /// + public const string BillingCreditGrantCreated = "billing.credit_grant.created"; + + /// + /// Occurs when a credit grant is updated. + /// + public const string BillingCreditGrantUpdated = "billing.credit_grant.updated"; + /// /// Notifies of errors on a billing meter. /// public const string BillingMeterErrorReportTriggered = "billing.meter_error_report.triggered"; + /// + /// Occurs when a meter is created. + /// + public const string BillingMeterCreated = "billing.meter.created"; + + /// + /// Occurs when a meter is deactivated. + /// + public const string BillingMeterDeactivated = "billing.meter.deactivated"; + + /// + /// Occurs when a meter is reactivated. + /// + public const string BillingMeterReactivated = "billing.meter.reactivated"; + + /// + /// Occurs when a meter is updated. + /// + public const string BillingMeterUpdated = "billing.meter.updated"; + /// /// Occurs whenever a capability has new requirements or a new status. /// @@ -1089,7 +1124,8 @@ public static class EventTypes /// /// Occurs whenever a review is closed. The review's reason field indicates why: - /// approved, disputed, refunded, or refunded_as_fraud. + /// approved, disputed, refunded, refunded_as_fraud, or + /// canceled. /// public const string ReviewClosed = "review.closed"; diff --git a/src/Stripe.net/Entities/Accounts/Account.cs b/src/Stripe.net/Entities/Accounts/Account.cs index 610dc90379..8160d9d387 100644 --- a/src/Stripe.net/Entities/Accounts/Account.cs +++ b/src/Stripe.net/Entities/Accounts/Account.cs @@ -57,12 +57,7 @@ public class Account : StripeEntity, IHasId, IHasMetadata, IHasObject, public AccountBusinessProfile BusinessProfile { get; set; } /// - /// The business type. After you create an Account Link or Account Session, this property is - /// only returned for accounts where controller.requirement_collection - /// is application, which includes Custom accounts. + /// The business type. /// One of: company, government_entity, individual, or /// non_profit. /// @@ -192,7 +187,7 @@ public class Account : StripeEntity, IHasId, IHasMetadata, IHasObject, /// /// This is an object representing a person associated with a Stripe account. /// - /// A platform cannot access a person for an account where account.controller.requirement_collection /// is stripe, which includes Standard and Express accounts, after creating an /// Account Link or Account Session to start Connect onboarding. diff --git a/src/Stripe.net/Entities/Accounts/AccountCapabilities.cs b/src/Stripe.net/Entities/Accounts/AccountCapabilities.cs index 5a027ad332..55894184e5 100644 --- a/src/Stripe.net/Entities/Accounts/AccountCapabilities.cs +++ b/src/Stripe.net/Entities/Accounts/AccountCapabilities.cs @@ -117,6 +117,17 @@ public class AccountCapabilities : StripeEntity #endif public string BankTransferPayments { get; set; } + /// + /// The status of the Billie capability of the account, or whether the account can directly + /// process Billie payments. + /// One of: active, inactive, or pending. + /// + [JsonProperty("billie_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billie_payments")] +#endif + public string BilliePayments { get; set; } + /// /// The status of the blik payments capability of the account, or whether the account can /// directly process blik charges. @@ -566,6 +577,17 @@ public class AccountCapabilities : StripeEntity #endif public string SamsungPayPayments { get; set; } + /// + /// The status of the Satispay capability of the account, or whether the account can + /// directly process Satispay payments. + /// One of: active, inactive, or pending. + /// + [JsonProperty("satispay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("satispay_payments")] +#endif + public string SatispayPayments { get; set; } + /// /// The status of the SEPA customer_balance payments (EUR currency) capability of the /// account, or whether the account can directly process SEPA customer_balance charges. diff --git a/src/Stripe.net/Entities/Accounts/AccountCompany.cs b/src/Stripe.net/Entities/Accounts/AccountCompany.cs index ed9722d841..cab28dea10 100644 --- a/src/Stripe.net/Entities/Accounts/AccountCompany.cs +++ b/src/Stripe.net/Entities/Accounts/AccountCompany.cs @@ -87,7 +87,9 @@ public class AccountCompany : StripeEntity public string ExportPurposeCode { get; set; } /// - /// The company's legal name. + /// The company's legal name. Also available for accounts where controller.requirement_collection + /// is stripe. /// [JsonProperty("name")] #if NET6_0_OR_GREATER @@ -96,7 +98,10 @@ public class AccountCompany : StripeEntity public string Name { get; set; } /// - /// The Kana variation of the company's legal name (Japan only). + /// The Kana variation of the company's legal name (Japan only). Also available for accounts + /// where controller.requirement_collection + /// is stripe. /// [JsonProperty("name_kana")] #if NET6_0_OR_GREATER @@ -105,7 +110,10 @@ public class AccountCompany : StripeEntity public string NameKana { get; set; } /// - /// The Kanji variation of the company's legal name (Japan only). + /// The Kanji variation of the company's legal name (Japan only). Also available for + /// accounts where controller.requirement_collection + /// is stripe. /// [JsonProperty("name_kanji")] #if NET6_0_OR_GREATER @@ -139,6 +147,12 @@ public class AccountCompany : StripeEntity public AccountCompanyOwnershipDeclaration OwnershipDeclaration { get; set; } /// + /// This value is used to determine if a business is exempt from providing ultimate + /// beneficial owners. See this + /// support article and changelog + /// for more details. /// One of: qualified_entity_exceeds_ownership_threshold, or /// qualifies_as_financial_institution. /// @@ -158,7 +172,10 @@ public class AccountCompany : StripeEntity public string Phone { get; set; } /// - /// The category identifying the legal structure of the company or legal entity. See controller.requirement_collection + /// is stripe. See Business /// structure for more details. /// One of: free_zone_establishment, free_zone_llc, diff --git a/src/Stripe.net/Entities/Accounts/AccountFutureRequirementsError.cs b/src/Stripe.net/Entities/Accounts/AccountFutureRequirementsError.cs index c5e8e112b8..98fed84463 100644 --- a/src/Stripe.net/Entities/Accounts/AccountFutureRequirementsError.cs +++ b/src/Stripe.net/Entities/Accounts/AccountFutureRequirementsError.cs @@ -10,13 +10,13 @@ public class AccountFutureRequirementsError : StripeEntity /// The code for the type of error. - /// One of: invalid_address_city_state_postal_code, + /// One of: information_missing, invalid_address_city_state_postal_code, /// invalid_address_highway_contract_box, invalid_address_private_mailbox, /// invalid_business_profile_name, invalid_business_profile_name_denylisted, /// invalid_company_name_denylisted, invalid_dob_age_over_maximum, /// invalid_dob_age_under_18, invalid_dob_age_under_minimum, /// invalid_product_description_length, invalid_product_description_url_match, - /// invalid_representative_country, + /// invalid_representative_country, invalid_signator, /// invalid_statement_descriptor_business_mismatch, /// invalid_statement_descriptor_denylisted, /// invalid_statement_descriptor_length, @@ -59,6 +59,7 @@ public class AccountFutureRequirementsError : StripeEntityverification_document_not_uploaded, verification_document_photo_mismatch, /// verification_document_too_large, verification_document_type_not_supported, /// verification_extraneous_directors, verification_failed_address_match, + /// verification_failed_authorizer_authority, /// verification_failed_business_iec_number, /// verification_failed_document_match, verification_failed_id_number_match, /// verification_failed_keyed_identity, verification_failed_keyed_match, @@ -67,6 +68,7 @@ public class AccountFutureRequirementsError : StripeEntityverification_failed_residential_address, verification_failed_tax_id_match, /// verification_failed_tax_id_not_issued, verification_missing_directors, /// verification_missing_executives, verification_missing_owners, + /// verification_rejected_ownership_exemption_reason, /// verification_requires_additional_memorandum_of_associations, /// verification_requires_additional_proof_of_registration, or /// verification_supportability. diff --git a/src/Stripe.net/Entities/Accounts/AccountRequirementsError.cs b/src/Stripe.net/Entities/Accounts/AccountRequirementsError.cs index 9367a9426a..2bf03d9d87 100644 --- a/src/Stripe.net/Entities/Accounts/AccountRequirementsError.cs +++ b/src/Stripe.net/Entities/Accounts/AccountRequirementsError.cs @@ -10,13 +10,13 @@ public class AccountRequirementsError : StripeEntity { /// /// The code for the type of error. - /// One of: invalid_address_city_state_postal_code, + /// One of: information_missing, invalid_address_city_state_postal_code, /// invalid_address_highway_contract_box, invalid_address_private_mailbox, /// invalid_business_profile_name, invalid_business_profile_name_denylisted, /// invalid_company_name_denylisted, invalid_dob_age_over_maximum, /// invalid_dob_age_under_18, invalid_dob_age_under_minimum, /// invalid_product_description_length, invalid_product_description_url_match, - /// invalid_representative_country, + /// invalid_representative_country, invalid_signator, /// invalid_statement_descriptor_business_mismatch, /// invalid_statement_descriptor_denylisted, /// invalid_statement_descriptor_length, @@ -59,6 +59,7 @@ public class AccountRequirementsError : StripeEntity /// verification_document_not_uploaded, verification_document_photo_mismatch, /// verification_document_too_large, verification_document_type_not_supported, /// verification_extraneous_directors, verification_failed_address_match, + /// verification_failed_authorizer_authority, /// verification_failed_business_iec_number, /// verification_failed_document_match, verification_failed_id_number_match, /// verification_failed_keyed_identity, verification_failed_keyed_match, @@ -67,6 +68,7 @@ public class AccountRequirementsError : StripeEntity /// verification_failed_residential_address, verification_failed_tax_id_match, /// verification_failed_tax_id_not_issued, verification_missing_directors, /// verification_missing_executives, verification_missing_owners, + /// verification_rejected_ownership_exemption_reason, /// verification_requires_additional_memorandum_of_associations, /// verification_requires_additional_proof_of_registration, or /// verification_supportability. diff --git a/src/Stripe.net/Entities/Accounts/AccountSettingsInvoices.cs b/src/Stripe.net/Entities/Accounts/AccountSettingsInvoices.cs index c67803874d..da4456b976 100644 --- a/src/Stripe.net/Entities/Accounts/AccountSettingsInvoices.cs +++ b/src/Stripe.net/Entities/Accounts/AccountSettingsInvoices.cs @@ -54,5 +54,16 @@ public List DefaultAccountTaxIds #endif internal List> InternalDefaultAccountTaxIds { get; set; } #endregion + + /// + /// Whether payment methods should be saved when a payment is completed for a one-time + /// invoices on a hosted invoice page. + /// One of: always, never, or offer. + /// + [JsonProperty("hosted_payment_method_save")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("hosted_payment_method_save")] +#endif + public string HostedPaymentMethodSave { get; set; } } } diff --git a/src/Stripe.net/Entities/ApplicationFees/ApplicationFeeFeeSource.cs b/src/Stripe.net/Entities/ApplicationFees/ApplicationFeeFeeSource.cs index 3234bc6ccd..709803f759 100644 --- a/src/Stripe.net/Entities/ApplicationFees/ApplicationFeeFeeSource.cs +++ b/src/Stripe.net/Entities/ApplicationFees/ApplicationFeeFeeSource.cs @@ -27,7 +27,7 @@ public class ApplicationFeeFeeSource : StripeEntity public string Payout { get; set; } /// - /// Type of object that created the application fee, either charge or payout. + /// Type of object that created the application fee. /// One of: charge, or payout. /// [JsonProperty("type")] diff --git a/src/Stripe.net/Entities/BankAccounts/BankAccount.cs b/src/Stripe.net/Entities/BankAccounts/BankAccount.cs index d8a215d97f..e96dff8d61 100644 --- a/src/Stripe.net/Entities/BankAccounts/BankAccount.cs +++ b/src/Stripe.net/Entities/BankAccounts/BankAccount.cs @@ -45,7 +45,12 @@ public class BankAccount : StripeEntity, IHasId, IHasMetadata, IHas /// /// (ID of the Account) - /// The ID of the account that the bank account is associated with. + /// The account this bank account belongs to. Only applicable on Accounts (not customers or + /// recipients) This property is only available when returned as an External Account + /// where controller.is_controller + /// is true. /// [JsonIgnore] #if NET6_0_OR_GREATER @@ -59,7 +64,12 @@ public string AccountId /// /// (Expanded) - /// The ID of the account that the bank account is associated with. + /// The account this bank account belongs to. Only applicable on Accounts (not customers or + /// recipients) This property is only available when returned as an External Account + /// where controller.is_controller + /// is true. /// /// For more information, see the expand documentation. /// diff --git a/src/Stripe.net/Entities/BankAccounts/BankAccountFutureRequirementsError.cs b/src/Stripe.net/Entities/BankAccounts/BankAccountFutureRequirementsError.cs index 233075bd4f..13f7191e16 100644 --- a/src/Stripe.net/Entities/BankAccounts/BankAccountFutureRequirementsError.cs +++ b/src/Stripe.net/Entities/BankAccounts/BankAccountFutureRequirementsError.cs @@ -10,13 +10,13 @@ public class BankAccountFutureRequirementsError : StripeEntity /// The code for the type of error. - /// One of: invalid_address_city_state_postal_code, + /// One of: information_missing, invalid_address_city_state_postal_code, /// invalid_address_highway_contract_box, invalid_address_private_mailbox, /// invalid_business_profile_name, invalid_business_profile_name_denylisted, /// invalid_company_name_denylisted, invalid_dob_age_over_maximum, /// invalid_dob_age_under_18, invalid_dob_age_under_minimum, /// invalid_product_description_length, invalid_product_description_url_match, - /// invalid_representative_country, + /// invalid_representative_country, invalid_signator, /// invalid_statement_descriptor_business_mismatch, /// invalid_statement_descriptor_denylisted, /// invalid_statement_descriptor_length, @@ -59,6 +59,7 @@ public class BankAccountFutureRequirementsError : StripeEntityverification_document_not_uploaded, verification_document_photo_mismatch, /// verification_document_too_large, verification_document_type_not_supported, /// verification_extraneous_directors, verification_failed_address_match, + /// verification_failed_authorizer_authority, /// verification_failed_business_iec_number, /// verification_failed_document_match, verification_failed_id_number_match, /// verification_failed_keyed_identity, verification_failed_keyed_match, @@ -67,6 +68,7 @@ public class BankAccountFutureRequirementsError : StripeEntityverification_failed_residential_address, verification_failed_tax_id_match, /// verification_failed_tax_id_not_issued, verification_missing_directors, /// verification_missing_executives, verification_missing_owners, + /// verification_rejected_ownership_exemption_reason, /// verification_requires_additional_memorandum_of_associations, /// verification_requires_additional_proof_of_registration, or /// verification_supportability. diff --git a/src/Stripe.net/Entities/BankAccounts/BankAccountRequirementsError.cs b/src/Stripe.net/Entities/BankAccounts/BankAccountRequirementsError.cs index a51381f28f..f35f8cb8aa 100644 --- a/src/Stripe.net/Entities/BankAccounts/BankAccountRequirementsError.cs +++ b/src/Stripe.net/Entities/BankAccounts/BankAccountRequirementsError.cs @@ -10,13 +10,13 @@ public class BankAccountRequirementsError : StripeEntity /// The code for the type of error. - /// One of: invalid_address_city_state_postal_code, + /// One of: information_missing, invalid_address_city_state_postal_code, /// invalid_address_highway_contract_box, invalid_address_private_mailbox, /// invalid_business_profile_name, invalid_business_profile_name_denylisted, /// invalid_company_name_denylisted, invalid_dob_age_over_maximum, /// invalid_dob_age_under_18, invalid_dob_age_under_minimum, /// invalid_product_description_length, invalid_product_description_url_match, - /// invalid_representative_country, + /// invalid_representative_country, invalid_signator, /// invalid_statement_descriptor_business_mismatch, /// invalid_statement_descriptor_denylisted, /// invalid_statement_descriptor_length, @@ -59,6 +59,7 @@ public class BankAccountRequirementsError : StripeEntityverification_document_not_uploaded, verification_document_photo_mismatch, /// verification_document_too_large, verification_document_type_not_supported, /// verification_extraneous_directors, verification_failed_address_match, + /// verification_failed_authorizer_authority, /// verification_failed_business_iec_number, /// verification_failed_document_match, verification_failed_id_number_match, /// verification_failed_keyed_identity, verification_failed_keyed_match, @@ -67,6 +68,7 @@ public class BankAccountRequirementsError : StripeEntityverification_failed_residential_address, verification_failed_tax_id_match, /// verification_failed_tax_id_not_issued, verification_missing_directors, /// verification_missing_executives, verification_missing_owners, + /// verification_rejected_ownership_exemption_reason, /// verification_requires_additional_memorandum_of_associations, /// verification_requires_additional_proof_of_registration, or /// verification_supportability. diff --git a/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrantApplicabilityConfigScope.cs b/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrantApplicabilityConfigScope.cs index 61fcbf3e60..672e08d5f5 100644 --- a/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrantApplicabilityConfigScope.cs +++ b/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrantApplicabilityConfigScope.cs @@ -13,6 +13,7 @@ public class CreditGrantApplicabilityConfigScope : StripeEntitymetered price type. This refers to prices that have a Billing Meter attached to them. + /// Cannot be used in combination with prices. /// [JsonProperty("price_type")] #if NET6_0_OR_GREATER @@ -24,6 +25,7 @@ public class CreditGrantApplicabilityConfigScope : StripeEntitymetered /// prices. This refers to prices that have a Billing Meter attached to them. + /// Cannot be used in combination with price_type. /// [JsonProperty("prices")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/Billing/Meters/MeterDefaultAggregation.cs b/src/Stripe.net/Entities/Billing/Meters/MeterDefaultAggregation.cs index 7c16418e78..01b5b0b5c5 100644 --- a/src/Stripe.net/Entities/Billing/Meters/MeterDefaultAggregation.cs +++ b/src/Stripe.net/Entities/Billing/Meters/MeterDefaultAggregation.cs @@ -10,7 +10,7 @@ public class MeterDefaultAggregation : StripeEntity { /// /// Specifies how events are aggregated. - /// One of: count, or sum. + /// One of: count, last, or sum. /// [JsonProperty("formula")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/Capabilities/CapabilityFutureRequirementsError.cs b/src/Stripe.net/Entities/Capabilities/CapabilityFutureRequirementsError.cs index b1b9fb5bdb..b560d2978f 100644 --- a/src/Stripe.net/Entities/Capabilities/CapabilityFutureRequirementsError.cs +++ b/src/Stripe.net/Entities/Capabilities/CapabilityFutureRequirementsError.cs @@ -10,13 +10,13 @@ public class CapabilityFutureRequirementsError : StripeEntity /// The code for the type of error. - /// One of: invalid_address_city_state_postal_code, + /// One of: information_missing, invalid_address_city_state_postal_code, /// invalid_address_highway_contract_box, invalid_address_private_mailbox, /// invalid_business_profile_name, invalid_business_profile_name_denylisted, /// invalid_company_name_denylisted, invalid_dob_age_over_maximum, /// invalid_dob_age_under_18, invalid_dob_age_under_minimum, /// invalid_product_description_length, invalid_product_description_url_match, - /// invalid_representative_country, + /// invalid_representative_country, invalid_signator, /// invalid_statement_descriptor_business_mismatch, /// invalid_statement_descriptor_denylisted, /// invalid_statement_descriptor_length, @@ -59,6 +59,7 @@ public class CapabilityFutureRequirementsError : StripeEntityverification_document_not_uploaded, verification_document_photo_mismatch, /// verification_document_too_large, verification_document_type_not_supported, /// verification_extraneous_directors, verification_failed_address_match, + /// verification_failed_authorizer_authority, /// verification_failed_business_iec_number, /// verification_failed_document_match, verification_failed_id_number_match, /// verification_failed_keyed_identity, verification_failed_keyed_match, @@ -67,6 +68,7 @@ public class CapabilityFutureRequirementsError : StripeEntityverification_failed_residential_address, verification_failed_tax_id_match, /// verification_failed_tax_id_not_issued, verification_missing_directors, /// verification_missing_executives, verification_missing_owners, + /// verification_rejected_ownership_exemption_reason, /// verification_requires_additional_memorandum_of_associations, /// verification_requires_additional_proof_of_registration, or /// verification_supportability. diff --git a/src/Stripe.net/Entities/Cards/Card.cs b/src/Stripe.net/Entities/Cards/Card.cs index 99c41dd785..95d3a7854a 100644 --- a/src/Stripe.net/Entities/Cards/Card.cs +++ b/src/Stripe.net/Entities/Cards/Card.cs @@ -41,14 +41,6 @@ public class Card : StripeEntity, IHasId, IHasMetadata, IHasObject, IExter #region Expandable Account - /// - /// (ID of the Account) - /// The account this card belongs to. This attribute will not be in the card object if the - /// card belongs to a customer or recipient instead. This property is only available for - /// accounts where controller.requirement_collection - /// is application, which includes Custom accounts. - /// [JsonIgnore] #if NET6_0_OR_GREATER [STJS.JsonIgnore] @@ -59,16 +51,6 @@ public string AccountId set => this.InternalAccount = SetExpandableFieldId(value, this.InternalAccount); } - /// - /// (Expanded) - /// The account this card belongs to. This attribute will not be in the card object if the - /// card belongs to a customer or recipient instead. This property is only available for - /// accounts where controller.requirement_collection - /// is application, which includes Custom accounts. - /// - /// For more information, see the expand documentation. - /// [JsonIgnore] #if NET6_0_OR_GREATER [STJS.JsonIgnore] @@ -223,9 +205,11 @@ public Account Account /// currency in lowercase. Must be a supported currency. Only applicable on /// accounts (not customers or recipients). The card can be used as a transfer destination - /// for funds in this currency. This property is only available for accounts where controller.requirement_collection - /// is application, which includes Custom accounts. + /// for funds in this currency. This property is only available when returned as an External Account where + /// controller.is_controller + /// is true. /// [JsonProperty("currency")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/Charges/Charge.cs b/src/Stripe.net/Entities/Charges/Charge.cs index 452ad563c5..6acda1fcbc 100644 --- a/src/Stripe.net/Entities/Charges/Charge.cs +++ b/src/Stripe.net/Entities/Charges/Charge.cs @@ -403,47 +403,6 @@ public BalanceTransaction FailureBalanceTransaction #endif public ChargeFraudDetails FraudDetails { get; set; } - #region Expandable Invoice - - /// - /// (ID of the Invoice) - /// ID of the invoice this charge is for if one exists. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string InvoiceId - { - get => this.InternalInvoice?.Id; - set => this.InternalInvoice = SetExpandableFieldId(value, this.InternalInvoice); - } - - /// - /// (Expanded) - /// ID of the invoice this charge is for if one exists. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public Invoice Invoice - { - get => this.InternalInvoice?.ExpandedObject; - set => this.InternalInvoice = SetExpandableFieldObject(value, this.InternalInvoice); - } - - [JsonProperty("invoice")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("invoice")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalInvoice { get; set; } - #endregion - [JsonProperty("level3")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("level3")] @@ -596,6 +555,12 @@ public PaymentIntent PaymentIntent #endif public ChargePaymentMethodDetails PaymentMethodDetails { get; set; } + [JsonProperty("presentment_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("presentment_details")] +#endif + public ChargePresentmentDetails PresentmentDetails { get; set; } + /// /// Options to configure Radar. See Radar Session for more diff --git a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetails.cs b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetails.cs index b9dd7f87ec..0c493a16cf 100644 --- a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetails.cs +++ b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetails.cs @@ -74,6 +74,12 @@ public class ChargePaymentMethodDetails : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsNzBankAccount.cs b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsNzBankAccount.cs new file mode 100644 index 0000000000..b5e0578585 --- /dev/null +++ b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsNzBankAccount.cs @@ -0,0 +1,66 @@ +// 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 ChargePaymentMethodDetailsNzBankAccount : StripeEntity + { + /// + /// The name on the bank account. Only present if the account holder name is different from + /// the name of the authorized signatory collected in the PaymentMethod’s billing details. + /// + [JsonProperty("account_holder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_name")] +#endif + public string AccountHolderName { get; set; } + + /// + /// The numeric code for the bank account's bank. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// The name of the bank. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// The numeric code for the bank account's bank branch. + /// + [JsonProperty("branch_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_code")] +#endif + public string BranchCode { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// The suffix of the bank account number. + /// + [JsonProperty("suffix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("suffix")] +#endif + public string Suffix { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsSatispay.cs b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsSatispay.cs new file mode 100644 index 0000000000..c183fea85b --- /dev/null +++ b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsSatispay.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class ChargePaymentMethodDetailsSatispay : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/Charges/ChargePresentmentDetails.cs b/src/Stripe.net/Entities/Charges/ChargePresentmentDetails.cs new file mode 100644 index 0000000000..c8d2822b73 --- /dev/null +++ b/src/Stripe.net/Entities/Charges/ChargePresentmentDetails.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ChargePresentmentDetails : StripeEntity + { + /// + /// Amount intended to be collected by this payment, denominated in presentment_currency. + /// + [JsonProperty("presentment_amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("presentment_amount")] +#endif + public long PresentmentAmount { get; set; } + + /// + /// Currency presented to the customer during payment. + /// + [JsonProperty("presentment_currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("presentment_currency")] +#endif + public string PresentmentCurrency { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Checkout/Sessions/Session.cs b/src/Stripe.net/Entities/Checkout/Sessions/Session.cs index dda9ba0e52..e1a4e4eb25 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/Session.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/Session.cs @@ -134,7 +134,10 @@ public class Session : StripeEntity, IHasId, IHasMetadata, IHasObject public string ClientReferenceId { get; set; } /// - /// The client secret of the Session. Use this with ui_mode: embedded or ui_mode: custom. For ui_mode: embedded, the + /// client secret is to be used when initializing Stripe.js embedded checkout. For + /// ui_mode: custom, use the client secret with initCheckout on your front /// end. /// @@ -429,6 +432,15 @@ public Invoice Invoice #endif public string Mode { get; set; } + /// + /// The optional items presented to the customer at checkout. + /// + [JsonProperty("optional_items")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("optional_items")] +#endif + public List OptionalItems { get; set; } + #region Expandable PaymentIntent /// @@ -589,6 +601,12 @@ public PaymentLink PaymentLink #endif public SessionPhoneNumberCollection PhoneNumberCollection { get; set; } + [JsonProperty("presentment_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("presentment_details")] +#endif + public SessionPresentmentDetails PresentmentDetails { get; set; } + /// /// The ID of the original expired Checkout Session that triggered the recovery flow. /// @@ -698,15 +716,6 @@ public SetupIntent SetupIntent #endif public SessionShippingCost ShippingCost { get; set; } - /// - /// Shipping information for this Checkout Session. - /// - [JsonProperty("shipping_details")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("shipping_details")] -#endif - public SessionShippingDetails ShippingDetails { get; set; } - /// /// The shipping rate options applied to this Session. /// @@ -817,8 +826,8 @@ public Subscription Subscription public string UiMode { get; set; } /// - /// The URL to the Checkout Session. Redirect customers to this URL to take them to - /// Checkout. If you’re using ui_mode: + /// hosted. Redirect customers to this URL to take them to Checkout. If you’re using Custom Domains, the /// URL will use your subdomain. Otherwise, it’ll use checkout.stripe.com. This value /// is only present when the session is active. diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionAutomaticTax.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionAutomaticTax.cs index 1be8203d03..975087f0a3 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/SessionAutomaticTax.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionAutomaticTax.cs @@ -28,6 +28,15 @@ public class SessionAutomaticTax : StripeEntity #endif public SessionAutomaticTaxLiability Liability { get; set; } + /// + /// The tax provider powering automatic tax. + /// + [JsonProperty("provider")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("provider")] +#endif + public string Provider { get; set; } + /// /// The status of the most recent automated tax calculation for this session. /// One of: complete, failed, or requires_location_inputs. diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionCollectedInformationShippingDetails.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionCollectedInformationShippingDetails.cs index 3adfce72eb..242f919d6c 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/SessionCollectedInformationShippingDetails.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionCollectedInformationShippingDetails.cs @@ -15,41 +15,12 @@ public class SessionCollectedInformationShippingDetails : StripeEntity - /// The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. - /// - [JsonProperty("carrier")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("carrier")] -#endif - public string Carrier { get; set; } - - /// - /// Recipient name. + /// Customer name. /// [JsonProperty("name")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("name")] #endif public string Name { get; set; } - - /// - /// Recipient phone (including extension). - /// - [JsonProperty("phone")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("phone")] -#endif - public string Phone { get; set; } - - /// - /// The tracking number for a physical product, obtained from the delivery service. If - /// multiple tracking numbers were generated for this purchase, please separate them with - /// commas. - /// - [JsonProperty("tracking_number")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tracking_number")] -#endif - public string TrackingNumber { get; set; } } } diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionOptionalItem.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionOptionalItem.cs new file mode 100644 index 0000000000..6919378ef8 --- /dev/null +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionOptionalItem.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.Checkout +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class SessionOptionalItem : StripeEntity + { + [JsonProperty("adjustable_quantity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("adjustable_quantity")] +#endif + public SessionOptionalItemAdjustableQuantity AdjustableQuantity { get; set; } + + [JsonProperty("price")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] +#endif + public string Price { get; set; } + + [JsonProperty("quantity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("quantity")] +#endif + public long Quantity { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionOptionalItemAdjustableQuantity.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionOptionalItemAdjustableQuantity.cs new file mode 100644 index 0000000000..5307b3a711 --- /dev/null +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionOptionalItemAdjustableQuantity.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Checkout +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class SessionOptionalItemAdjustableQuantity : StripeEntity + { + /// + /// Set to true if the quantity can be adjusted to any non-negative integer. + /// + [JsonProperty("enabled")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("enabled")] +#endif + public bool Enabled { get; set; } + + /// + /// The maximum quantity of this item the customer can purchase. By default this value is + /// 99. You can specify a value up to 999999. + /// + [JsonProperty("maximum")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("maximum")] +#endif + public long? Maximum { get; set; } + + /// + /// The minimum quantity of this item the customer must purchase, if they choose to purchase + /// it. Because this item is optional, the customer will always be able to remove it from + /// their order, even if the minimum configured here is greater than 0. By default + /// this value is 0. + /// + [JsonProperty("minimum")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("minimum")] +#endif + public long? Minimum { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionPermissions.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionPermissions.cs index d31be2510b..442072c39d 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/SessionPermissions.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionPermissions.cs @@ -16,5 +16,23 @@ public class SessionPermissions : StripeEntity [STJS.JsonPropertyName("update")] #endif public SessionPermissionsUpdate Update { get; set; } + + /// + /// Determines which entity is allowed to update the shipping details. + /// + /// Default is client_only. Stripe Checkout client will automatically update the + /// shipping details. If set to server_only, only your server is allowed to update + /// the shipping details. + /// + /// When set to server_only, you must add the onShippingDetailsChange event handler + /// when initializing the Stripe Checkout client and manually update the shipping details + /// from your server using the Stripe API. + /// One of: client_only, or server_only. + /// + [JsonProperty("update_shipping_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("update_shipping_details")] +#endif + public string UpdateShippingDetails { get; set; } } } diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionPresentmentDetails.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionPresentmentDetails.cs new file mode 100644 index 0000000000..26870a5383 --- /dev/null +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionPresentmentDetails.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.Checkout +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class SessionPresentmentDetails : StripeEntity + { + /// + /// Amount intended to be collected by this payment, denominated in presentment_currency. + /// + [JsonProperty("presentment_amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("presentment_amount")] +#endif + public long PresentmentAmount { get; set; } + + /// + /// Currency presented to the customer during payment. + /// + [JsonProperty("presentment_currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("presentment_currency")] +#endif + public string PresentmentCurrency { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionShippingDetails.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionShippingDetails.cs deleted file mode 100644 index e5ff79c90f..0000000000 --- a/src/Stripe.net/Entities/Checkout/Sessions/SessionShippingDetails.cs +++ /dev/null @@ -1,55 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe.Checkout -{ - using Newtonsoft.Json; -#if NET6_0_OR_GREATER - using STJS = System.Text.Json.Serialization; -#endif - - public class SessionShippingDetails : StripeEntity - { - [JsonProperty("address")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("address")] -#endif - public Address Address { get; set; } - - /// - /// The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. - /// - [JsonProperty("carrier")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("carrier")] -#endif - public string Carrier { get; set; } - - /// - /// Recipient name. - /// - [JsonProperty("name")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("name")] -#endif - public string Name { get; set; } - - /// - /// Recipient phone (including extension). - /// - [JsonProperty("phone")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("phone")] -#endif - public string Phone { get; set; } - - /// - /// The tracking number for a physical product, obtained from the delivery service. If - /// multiple tracking numbers were generated for this purchase, please separate them with - /// commas. - /// - [JsonProperty("tracking_number")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tracking_number")] -#endif - public string TrackingNumber { get; set; } - } -} diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreview.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreview.cs index a8727f7e9c..8799628678 100644 --- a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreview.cs +++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreview.cs @@ -79,6 +79,12 @@ public class ConfirmationTokenPaymentMethodPreview : StripeEntityacss_debit, affirm, afterpay_clearpay, alipay, /// alma, amazon_pay, au_becs_debit, bacs_debit, - /// bancontact, blik, boleto, card, card_present, - /// cashapp, customer_balance, eps, fpx, giropay, - /// gopay, grabpay, id_bank_transfer, ideal, + /// bancontact, billie, blik, boleto, card, + /// card_present, cashapp, customer_balance, eps, fpx, + /// giropay, gopay, grabpay, id_bank_transfer, ideal, /// interac_present, kakao_pay, klarna, konbini, kr_card, /// link, mb_way, mobilepay, multibanco, naver_pay, - /// oxxo, p24, pay_by_bank, payco, paynow, paypal, - /// payto, pix, promptpay, qris, rechnung, - /// revolut_pay, samsung_pay, sepa_debit, shopeepay, - /// sofort, swish, twint, us_bank_account, wechat_pay, or - /// zip. + /// nz_bank_account, oxxo, p24, pay_by_bank, payco, + /// paynow, paypal, payto, pix, promptpay, qris, + /// rechnung, revolut_pay, samsung_pay, satispay, + /// sepa_debit, shopeepay, sofort, swish, twint, + /// us_bank_account, wechat_pay, or zip. /// [JsonProperty("type")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewBillie.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewBillie.cs new file mode 100644 index 0000000000..599402af92 --- /dev/null +++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewBillie.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class ConfirmationTokenPaymentMethodPreviewBillie : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewNaverPay.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewNaverPay.cs index 646907b6fb..1f3bd678e9 100644 --- a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewNaverPay.cs +++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewNaverPay.cs @@ -8,6 +8,16 @@ namespace Stripe public class ConfirmationTokenPaymentMethodPreviewNaverPay : StripeEntity { + /// + /// Uniquely identifies this particular Naver Pay account. You can use this attribute to + /// check whether two Naver Pay accounts are the same. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + /// /// Whether to fund this transaction with Naver Pay points or a card. /// One of: card, or points. diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewNzBankAccount.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewNzBankAccount.cs new file mode 100644 index 0000000000..537bfa22ad --- /dev/null +++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewNzBankAccount.cs @@ -0,0 +1,66 @@ +// 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 ConfirmationTokenPaymentMethodPreviewNzBankAccount : StripeEntity + { + /// + /// The name on the bank account. Only present if the account holder name is different from + /// the name of the authorized signatory collected in the PaymentMethod’s billing details. + /// + [JsonProperty("account_holder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_name")] +#endif + public string AccountHolderName { get; set; } + + /// + /// The numeric code for the bank account's bank. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// The name of the bank. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// The numeric code for the bank account's bank branch. + /// + [JsonProperty("branch_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_code")] +#endif + public string BranchCode { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// The suffix of the bank account number. + /// + [JsonProperty("suffix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("suffix")] +#endif + public string Suffix { get; set; } + } +} diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewSatispay.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewSatispay.cs new file mode 100644 index 0000000000..664b87d611 --- /dev/null +++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewSatispay.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class ConfirmationTokenPaymentMethodPreviewSatispay : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/Coupons/Coupon.cs b/src/Stripe.net/Entities/Coupons/Coupon.cs index d101cea153..7f0b7f7625 100644 --- a/src/Stripe.net/Entities/Coupons/Coupon.cs +++ b/src/Stripe.net/Entities/Coupons/Coupon.cs @@ -101,7 +101,7 @@ public class Coupon : StripeEntity, IHasId, IHasMetadata, IHasObject /// /// One of forever, once, and repeating. Describes how long a customer /// who applies this coupon will get the discount. - /// One of: forever, once, repeating, or variable. + /// One of: forever, or once. /// [JsonProperty("duration")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItem.cs b/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItem.cs index 85127767dc..8c6052877e 100644 --- a/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItem.cs +++ b/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItem.cs @@ -40,16 +40,6 @@ public class CreditNoteLineItem : StripeEntity, IHasId, IHas #endif public long Amount { get; set; } - /// - /// The integer amount in cents (or local equivalent) representing the amount being credited - /// for this line item, excluding all tax and discounts. - /// - [JsonProperty("amount_excluding_tax")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount_excluding_tax")] -#endif - public long? AmountExcludingTax { get; set; } - /// /// Description of the item being credited. /// @@ -116,13 +106,13 @@ public class CreditNoteLineItem : StripeEntity, IHasId, IHas public long? Quantity { get; set; } /// - /// The amount of tax calculated per tax rate for this line item. + /// The tax calculation identifiers of the line item. /// - [JsonProperty("tax_amounts")] + [JsonProperty("tax_calculation_reference")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tax_amounts")] + [STJS.JsonPropertyName("tax_calculation_reference")] #endif - public List TaxAmounts { get; set; } + public CreditNoteLineItemTaxCalculationReference TaxCalculationReference { get; set; } /// /// The tax rates which apply to the line item. @@ -133,6 +123,15 @@ public class CreditNoteLineItem : StripeEntity, IHasId, IHas #endif public List TaxRates { get; set; } + /// + /// The tax information of the line item. + /// + [JsonProperty("taxes")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxes")] +#endif + public List Taxes { get; set; } + /// /// The type of the credit note line item, one of invoice_line_item or /// custom_line_item. When the type is invoice_line_item there is an @@ -163,15 +162,5 @@ public class CreditNoteLineItem : StripeEntity, IHasId, IHas [STJS.JsonPropertyName("unit_amount_decimal")] #endif public decimal? UnitAmountDecimal { get; set; } - - /// - /// The amount in cents (or local equivalent) representing the unit amount being credited - /// for this line item, excluding all tax and discounts. - /// - [JsonProperty("unit_amount_excluding_tax")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("unit_amount_excluding_tax")] -#endif - public decimal? UnitAmountExcludingTax { get; set; } } } diff --git a/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItemTax.cs b/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItemTax.cs new file mode 100644 index 0000000000..8e0a117eed --- /dev/null +++ b/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItemTax.cs @@ -0,0 +1,74 @@ +// 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 CreditNoteLineItemTax : StripeEntity + { + /// + /// The amount of the tax, in cents (or local equivalent). + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public long Amount { get; set; } + + /// + /// Whether this tax is inclusive or exclusive. + /// One of: exclusive, or inclusive. + /// + [JsonProperty("tax_behavior")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_behavior")] +#endif + public string TaxBehavior { get; set; } + + /// + /// Additional details about the tax rate. Only present when type is + /// tax_rate_details. + /// + [JsonProperty("tax_rate_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_rate_details")] +#endif + public CreditNoteLineItemTaxTaxRateDetails TaxRateDetails { get; set; } + + /// + /// The reasoning behind this tax, for example, if the product is tax exempt. The possible + /// values for this field may be extended as new tax rules are supported. + /// One of: customer_exempt, not_available, not_collecting, + /// not_subject_to_tax, not_supported, portion_product_exempt, + /// portion_reduced_rated, portion_standard_rated, product_exempt, + /// product_exempt_holiday, proportionally_rated, reduced_rated, + /// reverse_charge, standard_rated, taxable_basis_reduced, or + /// zero_rated. + /// + [JsonProperty("taxability_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxability_reason")] +#endif + public string TaxabilityReason { get; set; } + + /// + /// The amount on which tax is calculated, in cents (or local equivalent). + /// + [JsonProperty("taxable_amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxable_amount")] +#endif + public long? TaxableAmount { get; set; } + + /// + /// The type of tax information. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItemTaxCalculationReference.cs b/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItemTaxCalculationReference.cs new file mode 100644 index 0000000000..115e7e905c --- /dev/null +++ b/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItemTaxCalculationReference.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class CreditNoteLineItemTaxCalculationReference : StripeEntity + { + /// + /// The calculation identifier for tax calculation response. + /// + [JsonProperty("calculation_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("calculation_id")] +#endif + public string CalculationId { get; set; } + + /// + /// The calculation identifier for tax calculation response line item. + /// + [JsonProperty("calculation_item_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("calculation_item_id")] +#endif + public string CalculationItemId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItemTaxTaxRateDetails.cs b/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItemTaxTaxRateDetails.cs new file mode 100644 index 0000000000..c4272b2885 --- /dev/null +++ b/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItemTaxTaxRateDetails.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 CreditNoteLineItemTaxTaxRateDetails : StripeEntity + { + [JsonProperty("tax_rate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_rate")] +#endif + public string TaxRate { get; set; } + } +} diff --git a/src/Stripe.net/Entities/CreditNotes/CreditNote.cs b/src/Stripe.net/Entities/CreditNotes/CreditNote.cs index 4196c76ec4..16d05c267c 100644 --- a/src/Stripe.net/Entities/CreditNotes/CreditNote.cs +++ b/src/Stripe.net/Entities/CreditNotes/CreditNote.cs @@ -334,47 +334,6 @@ public Invoice Invoice #endif public string Reason { get; set; } - #region Expandable Refund - - /// - /// (ID of the Refund) - /// Refund related to this credit note. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string RefundId - { - get => this.InternalRefund?.Id; - set => this.InternalRefund = SetExpandableFieldId(value, this.InternalRefund); - } - - /// - /// (Expanded) - /// Refund related to this credit note. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public Refund Refund - { - get => this.InternalRefund?.ExpandedObject; - set => this.InternalRefund = SetExpandableFieldObject(value, this.InternalRefund); - } - - [JsonProperty("refund")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("refund")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalRefund { get; set; } - #endregion - /// /// Refunds related to this credit note. /// @@ -425,15 +384,6 @@ public Refund Refund #endif public long? SubtotalExcludingTax { get; set; } - /// - /// The aggregate amounts calculated per tax rate for all line items. - /// - [JsonProperty("tax_amounts")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tax_amounts")] -#endif - public List TaxAmounts { get; set; } - /// /// The integer amount in cents (or local equivalent) representing the total amount of the /// credit note, including tax and all discount. @@ -454,6 +404,15 @@ public Refund Refund #endif public long? TotalExcludingTax { get; set; } + /// + /// The aggregate tax information for all line items. + /// + [JsonProperty("total_taxes")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("total_taxes")] +#endif + public List TotalTaxes { get; set; } + /// /// Type of this credit note, one of pre_payment or post_payment. A /// pre_payment credit note means it was issued when the invoice was open. A diff --git a/src/Stripe.net/Entities/CreditNotes/CreditNoteTaxAmount.cs b/src/Stripe.net/Entities/CreditNotes/CreditNoteTaxAmount.cs deleted file mode 100644 index d6944cad90..0000000000 --- a/src/Stripe.net/Entities/CreditNotes/CreditNoteTaxAmount.cs +++ /dev/null @@ -1,98 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - using Stripe.Infrastructure; -#if NET6_0_OR_GREATER - using STJS = System.Text.Json.Serialization; -#endif - -#if NET6_0_OR_GREATER - [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] -#endif - public class CreditNoteTaxAmount : StripeEntity - { - /// - /// The amount, in cents (or local equivalent), of the tax. - /// - [JsonProperty("amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount")] -#endif - public long Amount { get; set; } - - /// - /// Whether this tax amount is inclusive or exclusive. - /// - [JsonProperty("inclusive")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("inclusive")] -#endif - public bool Inclusive { get; set; } - - #region Expandable TaxRate - - /// - /// (ID of the TaxRate) - /// The tax rate that was applied to get this tax amount. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string TaxRateId - { - get => this.InternalTaxRate?.Id; - set => this.InternalTaxRate = SetExpandableFieldId(value, this.InternalTaxRate); - } - - /// - /// (Expanded) - /// The tax rate that was applied to get this tax amount. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public TaxRate TaxRate - { - get => this.InternalTaxRate?.ExpandedObject; - set => this.InternalTaxRate = SetExpandableFieldObject(value, this.InternalTaxRate); - } - - [JsonProperty("tax_rate")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tax_rate")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalTaxRate { get; set; } - #endregion - - /// - /// The reasoning behind this tax, for example, if the product is tax exempt. The possible - /// values for this field may be extended as new tax rules are supported. - /// One of: customer_exempt, not_collecting, not_subject_to_tax, - /// not_supported, portion_product_exempt, portion_reduced_rated, - /// portion_standard_rated, product_exempt, product_exempt_holiday, - /// proportionally_rated, reduced_rated, reverse_charge, - /// standard_rated, taxable_basis_reduced, or zero_rated. - /// - [JsonProperty("taxability_reason")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("taxability_reason")] -#endif - public string TaxabilityReason { get; set; } - - /// - /// The amount on which tax is calculated, in cents (or local equivalent). - /// - [JsonProperty("taxable_amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("taxable_amount")] -#endif - public long? TaxableAmount { get; set; } - } -} diff --git a/src/Stripe.net/Entities/CreditNotes/CreditNoteTotalTax.cs b/src/Stripe.net/Entities/CreditNotes/CreditNoteTotalTax.cs new file mode 100644 index 0000000000..03de6d2bc9 --- /dev/null +++ b/src/Stripe.net/Entities/CreditNotes/CreditNoteTotalTax.cs @@ -0,0 +1,74 @@ +// 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 CreditNoteTotalTax : StripeEntity + { + /// + /// The amount of the tax, in cents (or local equivalent). + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public long Amount { get; set; } + + /// + /// Whether this tax is inclusive or exclusive. + /// One of: exclusive, or inclusive. + /// + [JsonProperty("tax_behavior")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_behavior")] +#endif + public string TaxBehavior { get; set; } + + /// + /// Additional details about the tax rate. Only present when type is + /// tax_rate_details. + /// + [JsonProperty("tax_rate_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_rate_details")] +#endif + public CreditNoteTotalTaxTaxRateDetails TaxRateDetails { get; set; } + + /// + /// The reasoning behind this tax, for example, if the product is tax exempt. The possible + /// values for this field may be extended as new tax rules are supported. + /// One of: customer_exempt, not_available, not_collecting, + /// not_subject_to_tax, not_supported, portion_product_exempt, + /// portion_reduced_rated, portion_standard_rated, product_exempt, + /// product_exempt_holiday, proportionally_rated, reduced_rated, + /// reverse_charge, standard_rated, taxable_basis_reduced, or + /// zero_rated. + /// + [JsonProperty("taxability_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxability_reason")] +#endif + public string TaxabilityReason { get; set; } + + /// + /// The amount on which tax is calculated, in cents (or local equivalent). + /// + [JsonProperty("taxable_amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxable_amount")] +#endif + public long? TaxableAmount { get; set; } + + /// + /// The type of tax information. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/CreditNotes/CreditNoteTotalTaxTaxRateDetails.cs b/src/Stripe.net/Entities/CreditNotes/CreditNoteTotalTaxTaxRateDetails.cs new file mode 100644 index 0000000000..b3d31a25f2 --- /dev/null +++ b/src/Stripe.net/Entities/CreditNotes/CreditNoteTotalTaxTaxRateDetails.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 CreditNoteTotalTaxTaxRateDetails : StripeEntity + { + [JsonProperty("tax_rate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_rate")] +#endif + public string TaxRate { get; set; } + } +} diff --git a/src/Stripe.net/Entities/CustomerBalanceTransactions/CustomerBalanceTransaction.cs b/src/Stripe.net/Entities/CustomerBalanceTransactions/CustomerBalanceTransaction.cs index 71a7bed11c..70b571fbe6 100644 --- a/src/Stripe.net/Entities/CustomerBalanceTransactions/CustomerBalanceTransaction.cs +++ b/src/Stripe.net/Entities/CustomerBalanceTransactions/CustomerBalanceTransaction.cs @@ -54,6 +54,47 @@ public class CustomerBalanceTransaction : StripeEntity + /// (ID of the Checkout.Session) + /// The ID of the checkout session (if any) that created the transaction. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string CheckoutSessionId + { + get => this.InternalCheckoutSession?.Id; + set => this.InternalCheckoutSession = SetExpandableFieldId(value, this.InternalCheckoutSession); + } + + /// + /// (Expanded) + /// The ID of the checkout session (if any) that created the transaction. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Checkout.Session CheckoutSession + { + get => this.InternalCheckoutSession?.ExpandedObject; + set => this.InternalCheckoutSession = SetExpandableFieldObject(value, this.InternalCheckoutSession); + } + + [JsonProperty("checkout_session")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("checkout_session")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalCheckoutSession { get; set; } + #endregion + /// /// Time at which the object was created. Measured in seconds since the Unix epoch. /// @@ -243,11 +284,14 @@ public Invoice Invoice /// /// Transaction type: adjustment, applied_to_invoice, credit_note, /// initial, invoice_overpaid, invoice_too_large, - /// invoice_too_small, unspent_receiver_credit, or - /// unapplied_from_invoice. See the invoice_too_small, unspent_receiver_credit, unapplied_from_invoice, + /// checkout_session_subscription_payment, or + /// checkout_session_subscription_payment_canceled. See the Customer Balance page /// to learn more about transaction types. - /// One of: adjustment, applied_to_invoice, credit_note, + /// One of: adjustment, applied_to_invoice, + /// checkout_session_subscription_payment, + /// checkout_session_subscription_payment_canceled, credit_note, /// initial, invoice_overpaid, invoice_too_large, /// invoice_too_small, migration, unapplied_from_invoice, or /// unspent_receiver_credit. diff --git a/src/Stripe.net/Entities/Customers/CustomerTax.cs b/src/Stripe.net/Entities/Customers/CustomerTax.cs index af1c2d8073..df24d7c5b0 100644 --- a/src/Stripe.net/Entities/Customers/CustomerTax.cs +++ b/src/Stripe.net/Entities/Customers/CustomerTax.cs @@ -30,7 +30,7 @@ public class CustomerTax : StripeEntity public string IpAddress { get; set; } /// - /// The customer's location as identified by Stripe Tax. + /// The identified tax location of the customer. /// [JsonProperty("location")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/Customers/CustomerTaxLocation.cs b/src/Stripe.net/Entities/Customers/CustomerTaxLocation.cs index d181d3ed15..c3c13bdb92 100644 --- a/src/Stripe.net/Entities/Customers/CustomerTaxLocation.cs +++ b/src/Stripe.net/Entities/Customers/CustomerTaxLocation.cs @@ -9,7 +9,7 @@ namespace Stripe public class CustomerTaxLocation : StripeEntity { /// - /// The customer's country as identified by Stripe Tax. + /// The identified tax country of the customer. /// [JsonProperty("country")] #if NET6_0_OR_GREATER @@ -29,7 +29,7 @@ public class CustomerTaxLocation : StripeEntity public string Source { get; set; } /// - /// The customer's state, county, province, or region as identified by Stripe Tax. + /// The identified tax state, county, province, or region of the customer. /// [JsonProperty("state")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/Events/Event.cs b/src/Stripe.net/Entities/Events/Event.cs index adf5b5793a..108e5e20b6 100644 --- a/src/Stripe.net/Entities/Events/Event.cs +++ b/src/Stripe.net/Entities/Events/Event.cs @@ -81,6 +81,12 @@ public class Event : StripeEntity, IHasId, IHasObject #endif public string ApiVersion { get; set; } + [JsonProperty("context")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("context")] +#endif + public string Context { get; set; } + /// /// Time at which the object was created. Measured in seconds since the Unix epoch. /// diff --git a/src/Stripe.net/Entities/InvoiceItems/InvoiceItem.cs b/src/Stripe.net/Entities/InvoiceItems/InvoiceItem.cs index 79f6e6b10e..7a8ce401ed 100644 --- a/src/Stripe.net/Entities/InvoiceItems/InvoiceItem.cs +++ b/src/Stripe.net/Entities/InvoiceItems/InvoiceItem.cs @@ -299,30 +299,26 @@ public List Margins #endif public Dictionary Metadata { get; set; } - [JsonProperty("period")] + [JsonProperty("parent")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("period")] + [STJS.JsonPropertyName("parent")] #endif - public InvoiceItemPeriod Period { get; set; } + public InvoiceItemParent Parent { get; set; } - /// - /// If the invoice item is a proration, the plan of the subscription that the proration was - /// computed for. - /// - [JsonProperty("plan")] + [JsonProperty("period")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("plan")] + [STJS.JsonPropertyName("period")] #endif - public Plan Plan { get; set; } + public InvoiceItemPeriod Period { get; set; } /// - /// The price of the invoice item. + /// The pricing information of the invoice item. /// - [JsonProperty("price")] + [JsonProperty("pricing")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("price")] + [STJS.JsonPropertyName("pricing")] #endif - public Price Price { get; set; } + public InvoiceItemPricing Pricing { get; set; } /// /// Whether the invoice item was created automatically as a proration adjustment when the @@ -344,56 +340,6 @@ public List Margins #endif public long Quantity { get; set; } - #region Expandable Subscription - - /// - /// (ID of the Subscription) - /// The subscription that this invoice item has been created for, if any. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string SubscriptionId - { - get => this.InternalSubscription?.Id; - set => this.InternalSubscription = SetExpandableFieldId(value, this.InternalSubscription); - } - - /// - /// (Expanded) - /// The subscription that this invoice item has been created for, if any. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public Subscription Subscription - { - get => this.InternalSubscription?.ExpandedObject; - set => this.InternalSubscription = SetExpandableFieldObject(value, this.InternalSubscription); - } - - [JsonProperty("subscription")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalSubscription { get; set; } - #endregion - - /// - /// The subscription item that this invoice item has been created for, if any. - /// - [JsonProperty("subscription_item")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_item")] -#endif - public string SubscriptionItem { get; set; } - /// /// The tax rates which apply to the invoice item. When set, the default_tax_rates on /// the invoice do not apply to this invoice item. @@ -444,23 +390,5 @@ public TestHelpers.TestClock TestClock #endif internal ExpandableField InternalTestClock { get; set; } #endregion - - /// - /// Unit amount (in the currency specified) of the invoice item. - /// - [JsonProperty("unit_amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("unit_amount")] -#endif - public long? UnitAmount { get; set; } - - /// - /// Same as unit_amount, but contains a decimal value with at most 12 decimal places. - /// - [JsonProperty("unit_amount_decimal")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("unit_amount_decimal")] -#endif - public decimal? UnitAmountDecimal { get; set; } } } diff --git a/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParent.cs b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParent.cs new file mode 100644 index 0000000000..20d2a351e8 --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParent.cs @@ -0,0 +1,23 @@ +// 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 InvoiceItemParent : StripeEntity + { + [JsonProperty("subscription_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription_details")] +#endif + public InvoiceItemParentSubscriptionDetails SubscriptionDetails { get; set; } + + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParentSubscriptionDetails.cs b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParentSubscriptionDetails.cs new file mode 100644 index 0000000000..b377680234 --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParentSubscriptionDetails.cs @@ -0,0 +1,23 @@ +// 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 InvoiceItemParentSubscriptionDetails : StripeEntity + { + [JsonProperty("subscription")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription")] +#endif + public string Subscription { get; set; } + + [JsonProperty("subscription_item")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription_item")] +#endif + public string SubscriptionItem { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceItems/InvoiceItemPricing.cs b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemPricing.cs new file mode 100644 index 0000000000..bddb5ddb12 --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemPricing.cs @@ -0,0 +1,36 @@ +// 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 InvoiceItemPricing : StripeEntity + { + [JsonProperty("price_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price_details")] +#endif + public InvoiceItemPricingPriceDetails PriceDetails { get; set; } + + /// + /// The type of the pricing details. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The unit amount (in the currency specified) of the item which contains a decimal + /// value with at most 12 decimal places. + /// + [JsonProperty("unit_amount_decimal")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("unit_amount_decimal")] +#endif + public decimal? UnitAmountDecimal { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceItems/InvoiceItemPricingPriceDetails.cs b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemPricingPriceDetails.cs new file mode 100644 index 0000000000..74d2045feb --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemPricingPriceDetails.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InvoiceItemPricingPriceDetails : StripeEntity + { + /// + /// The ID of the price this item is associated with. + /// + [JsonProperty("price")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] +#endif + public string Price { get; set; } + + /// + /// The ID of the product this item is associated with. + /// + [JsonProperty("product")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("product")] +#endif + public string Product { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs index ae1894c5f5..4c8bef6e69 100644 --- a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs @@ -50,16 +50,6 @@ public class InvoiceLineItem : StripeEntity, IHasId, IHasMetada #endif public long Amount { get; set; } - /// - /// The integer amount in cents (or local equivalent) representing the amount for this line - /// item, excluding all tax and discounts. - /// - [JsonProperty("amount_excluding_tax")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount_excluding_tax")] -#endif - public long? AmountExcludingTax { get; set; } - /// /// Three-letter ISO currency /// code, in lowercase. Must be a supported @@ -148,49 +138,6 @@ public List Discounts #endif public string Invoice { get; set; } - #region Expandable InvoiceItem - - /// - /// (ID of the InvoiceItem) - /// The ID of the invoice item - /// associated with this line item if any. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string InvoiceItemId - { - get => this.InternalInvoiceItem?.Id; - set => this.InternalInvoiceItem = SetExpandableFieldId(value, this.InternalInvoiceItem); - } - - /// - /// (Expanded) - /// The ID of the invoice item - /// associated with this line item if any. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public InvoiceItem InvoiceItem - { - get => this.InternalInvoiceItem?.ExpandedObject; - set => this.InternalInvoiceItem = SetExpandableFieldObject(value, this.InternalInvoiceItem); - } - - [JsonProperty("invoice_item")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("invoice_item")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalInvoiceItem { get; set; } - #endregion - /// /// Has the value true if the object exists in live mode or the value false if /// the object exists in test mode. @@ -267,20 +214,17 @@ public List Margins #endif public Dictionary Metadata { get; set; } - [JsonProperty("period")] + [JsonProperty("parent")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("period")] + [STJS.JsonPropertyName("parent")] #endif - public InvoiceLineItemPeriod Period { get; set; } + public InvoiceLineItemParent Parent { get; set; } - /// - /// The plan of the subscription, if the line item is a subscription or a proration. - /// - [JsonProperty("plan")] + [JsonProperty("period")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("plan")] + [STJS.JsonPropertyName("period")] #endif - public Plan Plan { get; set; } + public InvoiceLineItemPeriod Period { get; set; } /// /// Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this @@ -293,31 +237,13 @@ public List Margins public List PretaxCreditAmounts { get; set; } /// - /// The price of the line item. - /// - [JsonProperty("price")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("price")] -#endif - public Price Price { get; set; } - - /// - /// Whether this is a proration. - /// - [JsonProperty("proration")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("proration")] -#endif - public bool Proration { get; set; } - - /// - /// Additional details for proration line items. + /// The pricing information of the line item. /// - [JsonProperty("proration_details")] + [JsonProperty("pricing")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("proration_details")] + [STJS.JsonPropertyName("pricing")] #endif - public InvoiceLineItemProrationDetails ProrationDetails { get; set; } + public InvoiceLineItemPricing Pricing { get; set; } /// /// The quantity of the subscription, if the line item is a subscription or a proration. @@ -330,10 +256,6 @@ public List Margins #region Expandable Subscription - /// - /// (ID of the Subscription) - /// The subscription that the invoice item pertains to, if any. - /// [JsonIgnore] #if NET6_0_OR_GREATER [STJS.JsonIgnore] @@ -344,12 +266,6 @@ public string SubscriptionId set => this.InternalSubscription = SetExpandableFieldId(value, this.InternalSubscription); } - /// - /// (Expanded) - /// The subscription that the invoice item pertains to, if any. - /// - /// For more information, see the expand documentation. - /// [JsonIgnore] #if NET6_0_OR_GREATER [STJS.JsonIgnore] @@ -369,86 +285,22 @@ public Subscription Subscription internal ExpandableField InternalSubscription { get; set; } #endregion - #region Expandable SubscriptionItem - - /// - /// (ID of the SubscriptionItem) - /// The subscription item that generated this line item. Left empty if the line item is not - /// an explicit result of a subscription. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string SubscriptionItemId - { - get => this.InternalSubscriptionItem?.Id; - set => this.InternalSubscriptionItem = SetExpandableFieldId(value, this.InternalSubscriptionItem); - } - - /// - /// (Expanded) - /// The subscription item that generated this line item. Left empty if the line item is not - /// an explicit result of a subscription. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public SubscriptionItem SubscriptionItem - { - get => this.InternalSubscriptionItem?.ExpandedObject; - set => this.InternalSubscriptionItem = SetExpandableFieldObject(value, this.InternalSubscriptionItem); - } - - [JsonProperty("subscription_item")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_item")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalSubscriptionItem { get; set; } - #endregion - - /// - /// The amount of tax calculated per tax rate for this line item. - /// - [JsonProperty("tax_amounts")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tax_amounts")] -#endif - public List TaxAmounts { get; set; } - - /// - /// The tax rates which apply to the line item. - /// - [JsonProperty("tax_rates")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tax_rates")] -#endif - public List TaxRates { get; set; } - /// - /// A string identifying the type of the source of this line item, either an - /// invoiceitem or a subscription. - /// One of: invoiceitem, or subscription. + /// The tax calculation identifiers of the line item. /// - [JsonProperty("type")] + [JsonProperty("tax_calculation_reference")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("type")] + [STJS.JsonPropertyName("tax_calculation_reference")] #endif - public string Type { get; set; } + public InvoiceLineItemTaxCalculationReference TaxCalculationReference { get; set; } /// - /// The amount in cents (or local equivalent) representing the unit amount for this line - /// item, excluding all tax and discounts. + /// The tax information of the line item. /// - [JsonProperty("unit_amount_excluding_tax")] + [JsonProperty("taxes")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("unit_amount_excluding_tax")] + [STJS.JsonPropertyName("taxes")] #endif - public decimal? UnitAmountExcludingTax { get; set; } + public List Taxes { get; set; } } } diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParent.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParent.cs new file mode 100644 index 0000000000..40167d3723 --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParent.cs @@ -0,0 +1,32 @@ +// 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 InvoiceLineItemParent : StripeEntity + { + [JsonProperty("invoice_item_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("invoice_item_details")] +#endif + public InvoiceLineItemParentInvoiceItemDetails InvoiceItemDetails { get; set; } + + [JsonProperty("subscription_item_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription_item_details")] +#endif + public InvoiceLineItemParentSubscriptionItemDetails SubscriptionItemDetails { get; set; } + + /// + /// One of: invoice_item_details, or subscription_item_details. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.cs new file mode 100644 index 0000000000..2cfa650349 --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.cs @@ -0,0 +1,41 @@ +// 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 InvoiceLineItemParentInvoiceItemDetails : StripeEntity + { + [JsonProperty("invoice_item")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("invoice_item")] +#endif + public string InvoiceItem { get; set; } + + /// + /// Whether this is a proration. + /// + [JsonProperty("proration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("proration")] +#endif + public bool Proration { get; set; } + + /// + /// Additional details for proration line items. + /// + [JsonProperty("proration_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("proration_details")] +#endif + public InvoiceLineItemParentInvoiceItemDetailsProrationDetails ProrationDetails { get; set; } + + [JsonProperty("subscription")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription")] +#endif + public string Subscription { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemProrationDetails.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetailsProrationDetails.cs similarity index 65% rename from src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemProrationDetails.cs rename to src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetailsProrationDetails.cs index 7216e26868..4812017109 100644 --- a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemProrationDetails.cs +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetailsProrationDetails.cs @@ -6,7 +6,7 @@ namespace Stripe using STJS = System.Text.Json.Serialization; #endif - public class InvoiceLineItemProrationDetails : StripeEntity + public class InvoiceLineItemParentInvoiceItemDetailsProrationDetails : StripeEntity { /// /// For a credit proration line_item, the original debit line_items to which the @@ -16,6 +16,6 @@ public class InvoiceLineItemProrationDetails : StripeEntity + public class InvoiceLineItemParentInvoiceItemDetailsProrationDetailsCreditedItems : StripeEntity { /// /// Invoice containing the credited invoice line items. diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentSubscriptionItemDetails.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentSubscriptionItemDetails.cs new file mode 100644 index 0000000000..bfa7d985ca --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentSubscriptionItemDetails.cs @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InvoiceLineItemParentSubscriptionItemDetails : StripeEntity + { + [JsonProperty("invoice_item")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("invoice_item")] +#endif + public string InvoiceItem { get; set; } + + /// + /// Whether this is a proration. + /// + [JsonProperty("proration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("proration")] +#endif + public bool Proration { get; set; } + + /// + /// Additional details for proration line items. + /// + [JsonProperty("proration_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("proration_details")] +#endif + public InvoiceLineItemParentSubscriptionItemDetailsProrationDetails ProrationDetails { get; set; } + + [JsonProperty("subscription")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription")] +#endif + public string Subscription { get; set; } + + [JsonProperty("subscription_item")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription_item")] +#endif + public string SubscriptionItem { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentSubscriptionItemDetailsProrationDetails.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentSubscriptionItemDetailsProrationDetails.cs new file mode 100644 index 0000000000..f10b4db76b --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentSubscriptionItemDetailsProrationDetails.cs @@ -0,0 +1,21 @@ +// 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 InvoiceLineItemParentSubscriptionItemDetailsProrationDetails : StripeEntity + { + /// + /// For a credit proration line_item, the original debit line_items to which the + /// credit proration applies. + /// + [JsonProperty("credited_items")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("credited_items")] +#endif + public InvoiceLineItemParentSubscriptionItemDetailsProrationDetailsCreditedItems CreditedItems { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentSubscriptionItemDetailsProrationDetailsCreditedItems.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentSubscriptionItemDetailsProrationDetailsCreditedItems.cs new file mode 100644 index 0000000000..8e839fa7ef --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentSubscriptionItemDetailsProrationDetailsCreditedItems.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InvoiceLineItemParentSubscriptionItemDetailsProrationDetailsCreditedItems : StripeEntity + { + /// + /// Invoice containing the credited invoice line items. + /// + [JsonProperty("invoice")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("invoice")] +#endif + public string Invoice { get; set; } + + /// + /// Credited invoice line items. + /// + [JsonProperty("invoice_line_items")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("invoice_line_items")] +#endif + public List InvoiceLineItems { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemPricing.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemPricing.cs new file mode 100644 index 0000000000..6d90cea3b7 --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemPricing.cs @@ -0,0 +1,36 @@ +// 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 InvoiceLineItemPricing : StripeEntity + { + [JsonProperty("price_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price_details")] +#endif + public InvoiceLineItemPricingPriceDetails PriceDetails { get; set; } + + /// + /// The type of the pricing details. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The unit amount (in the currency specified) of the item which contains a decimal + /// value with at most 12 decimal places. + /// + [JsonProperty("unit_amount_decimal")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("unit_amount_decimal")] +#endif + public decimal? UnitAmountDecimal { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemPricingPriceDetails.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemPricingPriceDetails.cs new file mode 100644 index 0000000000..eae143184a --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemPricingPriceDetails.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InvoiceLineItemPricingPriceDetails : StripeEntity + { + /// + /// The ID of the price this item is associated with. + /// + [JsonProperty("price")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] +#endif + public string Price { get; set; } + + /// + /// The ID of the product this item is associated with. + /// + [JsonProperty("product")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("product")] +#endif + public string Product { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTax.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTax.cs new file mode 100644 index 0000000000..7288937ebb --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTax.cs @@ -0,0 +1,74 @@ +// 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 InvoiceLineItemTax : StripeEntity + { + /// + /// The amount of the tax, in cents (or local equivalent). + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public long Amount { get; set; } + + /// + /// Whether this tax is inclusive or exclusive. + /// One of: exclusive, or inclusive. + /// + [JsonProperty("tax_behavior")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_behavior")] +#endif + public string TaxBehavior { get; set; } + + /// + /// Additional details about the tax rate. Only present when type is + /// tax_rate_details. + /// + [JsonProperty("tax_rate_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_rate_details")] +#endif + public InvoiceLineItemTaxTaxRateDetails TaxRateDetails { get; set; } + + /// + /// The reasoning behind this tax, for example, if the product is tax exempt. The possible + /// values for this field may be extended as new tax rules are supported. + /// One of: customer_exempt, not_available, not_collecting, + /// not_subject_to_tax, not_supported, portion_product_exempt, + /// portion_reduced_rated, portion_standard_rated, product_exempt, + /// product_exempt_holiday, proportionally_rated, reduced_rated, + /// reverse_charge, standard_rated, taxable_basis_reduced, or + /// zero_rated. + /// + [JsonProperty("taxability_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxability_reason")] +#endif + public string TaxabilityReason { get; set; } + + /// + /// The amount on which tax is calculated, in cents (or local equivalent). + /// + [JsonProperty("taxable_amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxable_amount")] +#endif + public long? TaxableAmount { get; set; } + + /// + /// The type of tax information. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTaxAmount.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTaxAmount.cs deleted file mode 100644 index a35f7ccd05..0000000000 --- a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTaxAmount.cs +++ /dev/null @@ -1,98 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - using Stripe.Infrastructure; -#if NET6_0_OR_GREATER - using STJS = System.Text.Json.Serialization; -#endif - -#if NET6_0_OR_GREATER - [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] -#endif - public class InvoiceLineItemTaxAmount : StripeEntity - { - /// - /// The amount, in cents (or local equivalent), of the tax. - /// - [JsonProperty("amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount")] -#endif - public long Amount { get; set; } - - /// - /// Whether this tax amount is inclusive or exclusive. - /// - [JsonProperty("inclusive")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("inclusive")] -#endif - public bool Inclusive { get; set; } - - #region Expandable TaxRate - - /// - /// (ID of the TaxRate) - /// The tax rate that was applied to get this tax amount. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string TaxRateId - { - get => this.InternalTaxRate?.Id; - set => this.InternalTaxRate = SetExpandableFieldId(value, this.InternalTaxRate); - } - - /// - /// (Expanded) - /// The tax rate that was applied to get this tax amount. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public TaxRate TaxRate - { - get => this.InternalTaxRate?.ExpandedObject; - set => this.InternalTaxRate = SetExpandableFieldObject(value, this.InternalTaxRate); - } - - [JsonProperty("tax_rate")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tax_rate")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalTaxRate { get; set; } - #endregion - - /// - /// The reasoning behind this tax, for example, if the product is tax exempt. The possible - /// values for this field may be extended as new tax rules are supported. - /// One of: customer_exempt, not_collecting, not_subject_to_tax, - /// not_supported, portion_product_exempt, portion_reduced_rated, - /// portion_standard_rated, product_exempt, product_exempt_holiday, - /// proportionally_rated, reduced_rated, reverse_charge, - /// standard_rated, taxable_basis_reduced, or zero_rated. - /// - [JsonProperty("taxability_reason")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("taxability_reason")] -#endif - public string TaxabilityReason { get; set; } - - /// - /// The amount on which tax is calculated, in cents (or local equivalent). - /// - [JsonProperty("taxable_amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("taxable_amount")] -#endif - public long? TaxableAmount { get; set; } - } -} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTaxCalculationReference.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTaxCalculationReference.cs new file mode 100644 index 0000000000..d8b8325b13 --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTaxCalculationReference.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InvoiceLineItemTaxCalculationReference : StripeEntity + { + /// + /// The calculation identifier for tax calculation response. + /// + [JsonProperty("calculation_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("calculation_id")] +#endif + public string CalculationId { get; set; } + + /// + /// The calculation identifier for tax calculation response line item. + /// + [JsonProperty("calculation_item_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("calculation_item_id")] +#endif + public string CalculationItemId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTaxTaxRateDetails.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTaxTaxRateDetails.cs new file mode 100644 index 0000000000..8da24238db --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTaxTaxRateDetails.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 InvoiceLineItemTaxTaxRateDetails : StripeEntity + { + [JsonProperty("tax_rate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_rate")] +#endif + public string TaxRate { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoicePayments/InvoicePayment.cs b/src/Stripe.net/Entities/InvoicePayments/InvoicePayment.cs index e614c097c1..d7a96912c2 100644 --- a/src/Stripe.net/Entities/InvoicePayments/InvoicePayment.cs +++ b/src/Stripe.net/Entities/InvoicePayments/InvoicePayment.cs @@ -34,19 +34,6 @@ public class InvoicePayment : StripeEntity, IHasId, IHasObject #endif public string Object { get; set; } - /// - /// Excess payment that was received for this invoice and credited to the customer’s - /// invoice_credit_balance. This field is null until the payment is paid. - /// Overpayment can happen when you attach more than one PaymentIntent to the invoice, and - /// each of them succeeds. To avoid overpayment, cancel any PaymentIntents that you do not - /// need before attaching more. - /// - [JsonProperty("amount_overpaid")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount_overpaid")] -#endif - public long? AmountOverpaid { get; set; } - /// /// Amount that was actually paid for this invoice, in cents (or local equivalent). This /// field is null until the payment is paid. This amount can be less than the @@ -140,7 +127,7 @@ public Invoice Invoice #if NET6_0_OR_GREATER [STJS.JsonPropertyName("is_default")] #endif - public bool? IsDefault { get; set; } + public bool IsDefault { get; set; } /// /// Has the value true if the object exists in live mode or the value false if diff --git a/src/Stripe.net/Entities/InvoicePayments/InvoicePaymentPayment.cs b/src/Stripe.net/Entities/InvoicePayments/InvoicePaymentPayment.cs index 211ff89e7c..08a56b2b0a 100644 --- a/src/Stripe.net/Entities/InvoicePayments/InvoicePaymentPayment.cs +++ b/src/Stripe.net/Entities/InvoicePayments/InvoicePaymentPayment.cs @@ -143,8 +143,7 @@ public PaymentRecord PaymentRecord /// /// Type of payment object associated with this invoice payment. - /// One of: charge, out_of_band_payment, payment_intent, or - /// payment_record. + /// One of: charge, or payment_intent. /// [JsonProperty("type")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/Invoices/Invoice.cs b/src/Stripe.net/Entities/Invoices/Invoice.cs index 6f757786e8..8316f687da 100644 --- a/src/Stripe.net/Entities/Invoices/Invoice.cs +++ b/src/Stripe.net/Entities/Invoices/Invoice.cs @@ -147,8 +147,8 @@ public List AccountTaxIds public long AmountDue { get; set; } /// - /// Amount that was overpaid on the invoice. Overpayments are debited to the customer's - /// credit balance. + /// Amount that was overpaid on the invoice. The amount overpaid is credited to the + /// customer's credit balance. /// [JsonProperty("amount_overpaid")] #if NET6_0_OR_GREATER @@ -234,16 +234,6 @@ public Application Application internal ExpandableField InternalApplication { get; set; } #endregion - /// - /// The fee in cents (or local equivalent) that will be applied to the invoice and - /// transferred to the application owner's Stripe account when the invoice is paid. - /// - [JsonProperty("application_fee_amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("application_fee_amount")] -#endif - public long? ApplicationFeeAmount { get; set; } - /// /// Number of payment attempts made for this invoice, from the perspective of the payment /// retry schedule. Any payment attempt counts as the first attempt, and subsequently only @@ -325,47 +315,6 @@ public Application Application #endif public string BillingReason { get; set; } - #region Expandable Charge - - /// - /// (ID of the Charge) - /// ID of the latest charge generated for this invoice, if any. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string ChargeId - { - get => this.InternalCharge?.Id; - set => this.InternalCharge = SetExpandableFieldId(value, this.InternalCharge); - } - - /// - /// (Expanded) - /// ID of the latest charge generated for this invoice, if any. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public Charge Charge - { - get => this.InternalCharge?.ExpandedObject; - set => this.InternalCharge = SetExpandableFieldObject(value, this.InternalCharge); - } - - [JsonProperty("charge")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("charge")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalCharge { get; set; } - #endregion - /// /// Either charge_automatically, or send_invoice. When charging automatically, /// Stripe will attempt to pay this invoice using the default source attached to the @@ -379,6 +328,16 @@ public Charge Charge #endif public string CollectionMethod { get; set; } + /// + /// The confirmation secret associated with this invoice. Currently, this contains the + /// client_secret of the PaymentIntent that Stripe creates during invoice finalization. + /// + [JsonProperty("confirmation_secret")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("confirmation_secret")] +#endif + public InvoiceConfirmationSecret ConfirmationSecret { get; set; } + /// /// Time at which the object was created. Measured in seconds since the Unix epoch. /// @@ -689,16 +648,6 @@ public IPaymentSource DefaultSource #endif public string Description { get; set; } - /// - /// Describes the current discount applied to this invoice, if there is one. Not populated - /// if there are multiple discounts. - /// - [JsonProperty("discount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("discount")] -#endif - public Discount Discount { get; set; } - #region Expandable Discounts /// @@ -975,70 +924,11 @@ public Account OnBehalfOf internal ExpandableField InternalOnBehalfOf { get; set; } #endregion - /// - /// Whether payment was successfully collected for this invoice. An invoice can be paid - /// (most commonly) with a charge or with credit from the customer's account balance. - /// - [JsonProperty("paid")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("paid")] -#endif - public bool Paid { get; set; } - - /// - /// Returns true if the invoice was manually marked paid, returns false if the invoice - /// hasn't been paid yet or was paid on Stripe. - /// - [JsonProperty("paid_out_of_band")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("paid_out_of_band")] -#endif - public bool PaidOutOfBand { get; set; } - - #region Expandable PaymentIntent - - /// - /// (ID of the PaymentIntent) - /// The PaymentIntent associated with this invoice. The PaymentIntent is generated when the - /// invoice is finalized, and can then be used to pay the invoice. Note that voiding an - /// invoice will cancel the PaymentIntent. - /// - [JsonIgnore] + [JsonProperty("parent")] #if NET6_0_OR_GREATER - [STJS.JsonIgnore] + [STJS.JsonPropertyName("parent")] #endif - public string PaymentIntentId - { - get => this.InternalPaymentIntent?.Id; - set => this.InternalPaymentIntent = SetExpandableFieldId(value, this.InternalPaymentIntent); - } - - /// - /// (Expanded) - /// The PaymentIntent associated with this invoice. The PaymentIntent is generated when the - /// invoice is finalized, and can then be used to pay the invoice. Note that voiding an - /// invoice will cancel the PaymentIntent. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public PaymentIntent PaymentIntent - { - get => this.InternalPaymentIntent?.ExpandedObject; - set => this.InternalPaymentIntent = SetExpandableFieldObject(value, this.InternalPaymentIntent); - } - - [JsonProperty("payment_intent")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("payment_intent")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalPaymentIntent { get; set; } - #endregion + public InvoiceParent Parent { get; set; } [JsonProperty("payment_settings")] #if NET6_0_OR_GREATER @@ -1101,47 +991,6 @@ public PaymentIntent PaymentIntent #endif public long PrePaymentCreditNotesAmount { get; set; } - #region Expandable Quote - - /// - /// (ID of the Quote) - /// The quote this invoice was generated from. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string QuoteId - { - get => this.InternalQuote?.Id; - set => this.InternalQuote = SetExpandableFieldId(value, this.InternalQuote); - } - - /// - /// (Expanded) - /// The quote this invoice was generated from. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public Quote Quote - { - get => this.InternalQuote?.ExpandedObject; - set => this.InternalQuote = SetExpandableFieldObject(value, this.InternalQuote); - } - - [JsonProperty("quote")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("quote")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalQuote { get; set; } - #endregion - /// /// This is the transaction number that appears on email receipts sent for this invoice. /// @@ -1222,10 +1071,6 @@ public Quote Quote #region Expandable Subscription - /// - /// (ID of the Subscription) - /// The subscription that this invoice was prepared for, if any. - /// [JsonIgnore] #if NET6_0_OR_GREATER [STJS.JsonIgnore] @@ -1236,12 +1081,6 @@ public string SubscriptionId set => this.InternalSubscription = SetExpandableFieldId(value, this.InternalSubscription); } - /// - /// (Expanded) - /// The subscription that this invoice was prepared for, if any. - /// - /// For more information, see the expand documentation. - /// [JsonIgnore] #if NET6_0_OR_GREATER [STJS.JsonIgnore] @@ -1261,27 +1100,6 @@ public Subscription Subscription internal ExpandableField InternalSubscription { get; set; } #endregion - /// - /// Details about the subscription that created this invoice. - /// - [JsonProperty("subscription_details")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_details")] -#endif - public InvoiceSubscriptionDetails SubscriptionDetails { get; set; } - - /// - /// Only set for upcoming invoices that preview prorations. The time used to calculate - /// prorations. - /// - [JsonProperty("subscription_proration_date")] - [JsonConverter(typeof(UnixDateTimeConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_proration_date")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] -#endif - public DateTime SubscriptionProrationDate { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; - /// /// Total of all subscriptions, invoice items, and prorations on the invoice before any /// invoice level discount or exclusive tax is applied. Item discounts are already @@ -1304,16 +1122,6 @@ public Subscription Subscription #endif public long? SubtotalExcludingTax { get; set; } - /// - /// The amount of tax on this invoice. This is the sum of all the tax amounts on this - /// invoice. - /// - [JsonProperty("tax")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tax")] -#endif - public long? Tax { get; set; } - #region Expandable TestClock /// @@ -1410,23 +1218,13 @@ public TestHelpers.TestClock TestClock public List TotalPretaxCreditAmounts { get; set; } /// - /// The aggregate amounts calculated per tax rate for all line items. - /// - [JsonProperty("total_tax_amounts")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("total_tax_amounts")] -#endif - public List TotalTaxAmounts { get; set; } - - /// - /// The account (if any) the payment will be attributed to for tax reporting, and where - /// funds from the payment will be transferred to for the invoice. + /// The aggregate tax information of all line items. /// - [JsonProperty("transfer_data")] + [JsonProperty("total_taxes")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("transfer_data")] + [STJS.JsonPropertyName("total_taxes")] #endif - public InvoiceTransferData TransferData { get; set; } + public List TotalTaxes { get; set; } /// /// Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until diff --git a/src/Stripe.net/Entities/Invoices/InvoiceAutomaticTax.cs b/src/Stripe.net/Entities/Invoices/InvoiceAutomaticTax.cs index d9e6a69ca7..30d989a89b 100644 --- a/src/Stripe.net/Entities/Invoices/InvoiceAutomaticTax.cs +++ b/src/Stripe.net/Entities/Invoices/InvoiceAutomaticTax.cs @@ -42,6 +42,15 @@ public class InvoiceAutomaticTax : StripeEntity #endif public InvoiceAutomaticTaxLiability Liability { get; set; } + /// + /// The tax provider powering automatic tax. + /// + [JsonProperty("provider")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("provider")] +#endif + public string Provider { get; set; } + /// /// The status of the most recent automated tax calculation for this invoice. /// One of: complete, failed, or requires_location_inputs. diff --git a/src/Stripe.net/Entities/Invoices/InvoiceConfirmationSecret.cs b/src/Stripe.net/Entities/Invoices/InvoiceConfirmationSecret.cs new file mode 100644 index 0000000000..17ddb4c4fb --- /dev/null +++ b/src/Stripe.net/Entities/Invoices/InvoiceConfirmationSecret.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 InvoiceConfirmationSecret : StripeEntity + { + /// + /// The client_secret of the payment that Stripe creates for the invoice after finalization. + /// + [JsonProperty("client_secret")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("client_secret")] +#endif + public string ClientSecret { get; set; } + + /// + /// The type of client_secret. Currently this is always payment_intent, referencing the + /// default payment_intent that Stripe creates during invoice finalization. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Invoices/InvoiceParent.cs b/src/Stripe.net/Entities/Invoices/InvoiceParent.cs new file mode 100644 index 0000000000..7336634c24 --- /dev/null +++ b/src/Stripe.net/Entities/Invoices/InvoiceParent.cs @@ -0,0 +1,32 @@ +// 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 InvoiceParent : StripeEntity + { + [JsonProperty("quote_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("quote_details")] +#endif + public InvoiceParentQuoteDetails QuoteDetails { get; set; } + + [JsonProperty("subscription_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription_details")] +#endif + public InvoiceParentSubscriptionDetails SubscriptionDetails { get; set; } + + /// + /// One of: quote_details, or subscription_details. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Invoices/InvoiceParentQuoteDetails.cs b/src/Stripe.net/Entities/Invoices/InvoiceParentQuoteDetails.cs new file mode 100644 index 0000000000..9afc8754b8 --- /dev/null +++ b/src/Stripe.net/Entities/Invoices/InvoiceParentQuoteDetails.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 InvoiceParentQuoteDetails : StripeEntity + { + [JsonProperty("quote")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("quote")] +#endif + public string Quote { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Invoices/InvoiceParentSubscriptionDetails.cs b/src/Stripe.net/Entities/Invoices/InvoiceParentSubscriptionDetails.cs new file mode 100644 index 0000000000..c6c4aed746 --- /dev/null +++ b/src/Stripe.net/Entities/Invoices/InvoiceParentSubscriptionDetails.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + 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 InvoiceParentSubscriptionDetails : StripeEntity, IHasMetadata + { + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + [JsonProperty("pause_collection")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("pause_collection")] +#endif + public InvoiceParentSubscriptionDetailsPauseCollection PauseCollection { get; set; } + + [JsonProperty("subscription")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription")] +#endif + public string Subscription { get; set; } + + [JsonProperty("subscription_proration_date")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription_proration_date")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime SubscriptionProrationDate { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + } +} diff --git a/src/Stripe.net/Entities/Invoices/InvoiceSubscriptionDetailsPauseCollection.cs b/src/Stripe.net/Entities/Invoices/InvoiceParentSubscriptionDetailsPauseCollection.cs similarity index 55% rename from src/Stripe.net/Entities/Invoices/InvoiceSubscriptionDetailsPauseCollection.cs rename to src/Stripe.net/Entities/Invoices/InvoiceParentSubscriptionDetailsPauseCollection.cs index 232419c064..a0291f079e 100644 --- a/src/Stripe.net/Entities/Invoices/InvoiceSubscriptionDetailsPauseCollection.cs +++ b/src/Stripe.net/Entities/Invoices/InvoiceParentSubscriptionDetailsPauseCollection.cs @@ -8,22 +8,14 @@ namespace Stripe using STJS = System.Text.Json.Serialization; #endif - public class InvoiceSubscriptionDetailsPauseCollection : StripeEntity + public class InvoiceParentSubscriptionDetailsPauseCollection : StripeEntity { - /// - /// The payment collection behavior for this subscription while paused. One of - /// keep_as_draft, mark_uncollectible, or void. - /// One of: keep_as_draft, mark_uncollectible, or void. - /// [JsonProperty("behavior")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("behavior")] #endif public string Behavior { get; set; } - /// - /// The time after which the subscription will resume collecting payments. - /// [JsonProperty("resumes_at")] [JsonConverter(typeof(UnixDateTimeConverter))] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/Invoices/InvoicePaymentSettings.cs b/src/Stripe.net/Entities/Invoices/InvoicePaymentSettings.cs index 6e78e77b87..a88d1181ce 100644 --- a/src/Stripe.net/Entities/Invoices/InvoicePaymentSettings.cs +++ b/src/Stripe.net/Entities/Invoices/InvoicePaymentSettings.cs @@ -40,11 +40,11 @@ public class InvoicePaymentSettings : StripeEntity /// amazon_pay, au_becs_debit, bacs_debit, bancontact, /// boleto, card, cashapp, custom, customer_balance, /// eps, fpx, giropay, grabpay, id_bank_transfer, - /// ideal, jp_credit_transfer, kakao_pay, konbini, - /// kr_card, link, multibanco, naver_pay, p24, - /// payco, paynow, paypal, promptpay, revolut_pay, - /// sepa_credit_transfer, sepa_debit, sofort, swish, - /// us_bank_account, or wechat_pay. + /// ideal, jp_credit_transfer, kakao_pay, klarna, + /// konbini, kr_card, link, multibanco, naver_pay, + /// nz_bank_account, p24, payco, paynow, paypal, + /// promptpay, revolut_pay, sepa_credit_transfer, sepa_debit, + /// sofort, swish, us_bank_account, or wechat_pay. /// [JsonProperty("payment_method_types")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/Invoices/InvoiceSubscriptionDetails.cs b/src/Stripe.net/Entities/Invoices/InvoiceSubscriptionDetails.cs deleted file mode 100644 index 3356064552..0000000000 --- a/src/Stripe.net/Entities/Invoices/InvoiceSubscriptionDetails.cs +++ /dev/null @@ -1,36 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; -#if NET6_0_OR_GREATER - using STJS = System.Text.Json.Serialization; -#endif - - public class InvoiceSubscriptionDetails : StripeEntity, IHasMetadata - { - /// - /// Set of key-value pairs defined as - /// subscription metadata when an invoice is created. Becomes an immutable snapshot of the - /// subscription metadata at the time of invoice finalization. Note: This attribute is - /// populated only for invoices created on or after June 29, 2023.. - /// - [JsonProperty("metadata")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("metadata")] -#endif - public Dictionary Metadata { get; set; } - - /// - /// If specified, payment collection for this subscription will be paused. Note that the - /// subscription status will be unchanged and will not be updated to paused. Learn - /// more about pausing - /// collection. - /// - [JsonProperty("pause_collection")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("pause_collection")] -#endif - public InvoiceSubscriptionDetailsPauseCollection PauseCollection { get; set; } - } -} diff --git a/src/Stripe.net/Entities/Invoices/InvoiceTotalTax.cs b/src/Stripe.net/Entities/Invoices/InvoiceTotalTax.cs new file mode 100644 index 0000000000..d743f8405e --- /dev/null +++ b/src/Stripe.net/Entities/Invoices/InvoiceTotalTax.cs @@ -0,0 +1,74 @@ +// 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 InvoiceTotalTax : StripeEntity + { + /// + /// The amount of the tax, in cents (or local equivalent). + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public long Amount { get; set; } + + /// + /// Whether this tax is inclusive or exclusive. + /// One of: exclusive, or inclusive. + /// + [JsonProperty("tax_behavior")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_behavior")] +#endif + public string TaxBehavior { get; set; } + + /// + /// Additional details about the tax rate. Only present when type is + /// tax_rate_details. + /// + [JsonProperty("tax_rate_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_rate_details")] +#endif + public InvoiceTotalTaxTaxRateDetails TaxRateDetails { get; set; } + + /// + /// The reasoning behind this tax, for example, if the product is tax exempt. The possible + /// values for this field may be extended as new tax rules are supported. + /// One of: customer_exempt, not_available, not_collecting, + /// not_subject_to_tax, not_supported, portion_product_exempt, + /// portion_reduced_rated, portion_standard_rated, product_exempt, + /// product_exempt_holiday, proportionally_rated, reduced_rated, + /// reverse_charge, standard_rated, taxable_basis_reduced, or + /// zero_rated. + /// + [JsonProperty("taxability_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxability_reason")] +#endif + public string TaxabilityReason { get; set; } + + /// + /// The amount on which tax is calculated, in cents (or local equivalent). + /// + [JsonProperty("taxable_amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxable_amount")] +#endif + public long? TaxableAmount { get; set; } + + /// + /// The type of tax information. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Invoices/InvoiceTotalTaxTaxRateDetails.cs b/src/Stripe.net/Entities/Invoices/InvoiceTotalTaxTaxRateDetails.cs new file mode 100644 index 0000000000..5ef072b8f5 --- /dev/null +++ b/src/Stripe.net/Entities/Invoices/InvoiceTotalTaxTaxRateDetails.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 InvoiceTotalTaxTaxRateDetails : StripeEntity + { + [JsonProperty("tax_rate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_rate")] +#endif + public string TaxRate { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Invoices/InvoiceTransferData.cs b/src/Stripe.net/Entities/Invoices/InvoiceTransferData.cs deleted file mode 100644 index ca9d366aba..0000000000 --- a/src/Stripe.net/Entities/Invoices/InvoiceTransferData.cs +++ /dev/null @@ -1,67 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - using Stripe.Infrastructure; -#if NET6_0_OR_GREATER - using STJS = System.Text.Json.Serialization; -#endif - -#if NET6_0_OR_GREATER - [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] -#endif - public class InvoiceTransferData : StripeEntity - { - /// - /// The amount in cents (or local equivalent) that will be transferred to the destination - /// account when the invoice is paid. By default, the entire amount is transferred to the - /// destination. - /// - [JsonProperty("amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount")] -#endif - public long? Amount { get; set; } - - #region Expandable Destination - - /// - /// (ID of the Account) - /// The account where funds from the payment will be transferred to upon payment success. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string DestinationId - { - get => this.InternalDestination?.Id; - set => this.InternalDestination = SetExpandableFieldId(value, this.InternalDestination); - } - - /// - /// (Expanded) - /// The account where funds from the payment will be transferred to upon payment success. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public Account Destination - { - get => this.InternalDestination?.ExpandedObject; - set => this.InternalDestination = SetExpandableFieldObject(value, this.InternalDestination); - } - - [JsonProperty("destination")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("destination")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalDestination { get; set; } - #endregion - } -} diff --git a/src/Stripe.net/Entities/Issuing/Authorizations/Authorization.cs b/src/Stripe.net/Entities/Issuing/Authorizations/Authorization.cs index 1e13a8038a..29fbeccab1 100644 --- a/src/Stripe.net/Entities/Issuing/Authorizations/Authorization.cs +++ b/src/Stripe.net/Entities/Issuing/Authorizations/Authorization.cs @@ -286,7 +286,7 @@ public Cardholder Cardholder /// /// The current status of the authorization in its lifecycle. - /// One of: closed, pending, or reversed. + /// One of: closed, expired, pending, or reversed. /// [JsonProperty("status")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/Issuing/DisputeSettlementDetails/DisputeSettlementDetail.cs b/src/Stripe.net/Entities/Issuing/DisputeSettlementDetails/DisputeSettlementDetail.cs index 34a865ec06..e530df87ae 100644 --- a/src/Stripe.net/Entities/Issuing/DisputeSettlementDetails/DisputeSettlementDetail.cs +++ b/src/Stripe.net/Entities/Issuing/DisputeSettlementDetails/DisputeSettlementDetail.cs @@ -116,6 +116,15 @@ public class DisputeSettlementDetail : StripeEntity, IH #endif public string Network { get; set; } + /// + /// Details about the transaction, such as processing dates, set by the card network. + /// + [JsonProperty("network_data")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network_data")] +#endif + public DisputeSettlementDetailNetworkData NetworkData { get; set; } + /// /// The ID of the linked card network settlement. /// diff --git a/src/Stripe.net/Entities/Issuing/DisputeSettlementDetails/DisputeSettlementDetailNetworkData.cs b/src/Stripe.net/Entities/Issuing/DisputeSettlementDetails/DisputeSettlementDetailNetworkData.cs new file mode 100644 index 0000000000..de99a89c72 --- /dev/null +++ b/src/Stripe.net/Entities/Issuing/DisputeSettlementDetails/DisputeSettlementDetailNetworkData.cs @@ -0,0 +1,22 @@ +// File generated from our OpenAPI spec +namespace Stripe.Issuing +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class DisputeSettlementDetailNetworkData : StripeEntity + { + /// + /// The date the transaction was processed by the card network. This can be different from + /// the date the seller recorded the transaction depending on when the acquirer submits the + /// transaction to the network. + /// + [JsonProperty("processing_date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("processing_date")] +#endif + public string ProcessingDate { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Issuing/Settlements/Settlement.cs b/src/Stripe.net/Entities/Issuing/Settlements/Settlement.cs index 422831cc3c..2bd21d538b 100644 --- a/src/Stripe.net/Entities/Issuing/Settlements/Settlement.cs +++ b/src/Stripe.net/Entities/Issuing/Settlements/Settlement.cs @@ -79,11 +79,11 @@ public class Settlement : StripeEntity, IHasId, IHasMetadata, IHasOb /// /// The total interchange received as reimbursement for the transactions. /// - [JsonProperty("interchange_fees")] + [JsonProperty("interchange_fees_amount")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("interchange_fees")] + [STJS.JsonPropertyName("interchange_fees_amount")] #endif - public long InterchangeFees { get; set; } + public long InterchangeFeesAmount { get; set; } /// /// Has the value true if the object exists in live mode or the value false if @@ -109,11 +109,11 @@ public class Settlement : StripeEntity, IHasId, IHasMetadata, IHasOb /// /// The total net amount required to settle with the network. /// - [JsonProperty("net_total")] + [JsonProperty("net_total_amount")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("net_total")] + [STJS.JsonPropertyName("net_total_amount")] #endif - public long NetTotal { get; set; } + public long NetTotalAmount { get; set; } /// /// The card network for this settlement report. One of ["visa", "maestro"]. @@ -128,11 +128,11 @@ public class Settlement : StripeEntity, IHasId, IHasMetadata, IHasOb /// /// The total amount of fees owed to the network. /// - [JsonProperty("network_fees")] + [JsonProperty("network_fees_amount")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("network_fees")] + [STJS.JsonPropertyName("network_fees_amount")] #endif - public long NetworkFees { get; set; } + public long NetworkFeesAmount { get; set; } /// /// The Settlement Identification Number assigned by the network. @@ -143,6 +143,24 @@ public class Settlement : StripeEntity, IHasId, IHasMetadata, IHasOb #endif public string NetworkSettlementIdentifier { get; set; } + /// + /// The total amount of any additional fees assessed by the card network. + /// + [JsonProperty("other_fees_amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("other_fees_amount")] +#endif + public long OtherFeesAmount { get; set; } + + /// + /// The total number of additional fees assessed by the card network. + /// + [JsonProperty("other_fees_count")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("other_fees_count")] +#endif + public long OtherFeesCount { get; set; } + /// /// One of international or uk_national_net. /// @@ -163,21 +181,21 @@ public class Settlement : StripeEntity, IHasId, IHasMetadata, IHasOb public string Status { get; set; } /// - /// The total number of transactions reflected in this settlement. + /// The total transaction amount reflected in this settlement. /// - [JsonProperty("transaction_count")] + [JsonProperty("transaction_amount")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("transaction_count")] + [STJS.JsonPropertyName("transaction_amount")] #endif - public long TransactionCount { get; set; } + public long TransactionAmount { get; set; } /// - /// The total transaction amount reflected in this settlement. + /// The total number of transactions reflected in this settlement. /// - [JsonProperty("transaction_volume")] + [JsonProperty("transaction_count")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("transaction_volume")] + [STJS.JsonPropertyName("transaction_count")] #endif - public long TransactionVolume { get; set; } + public long TransactionCount { get; set; } } } diff --git a/src/Stripe.net/Entities/Issuing/Transactions/Transaction.cs b/src/Stripe.net/Entities/Issuing/Transactions/Transaction.cs index 062a242064..86b58ad5ec 100644 --- a/src/Stripe.net/Entities/Issuing/Transactions/Transaction.cs +++ b/src/Stripe.net/Entities/Issuing/Transactions/Transaction.cs @@ -359,6 +359,11 @@ public Dispute Dispute #region Expandable Settlement + /// + /// (ID of the Settlement) + /// The ID of the settlement + /// to which this transaction belongs. + /// [JsonIgnore] #if NET6_0_OR_GREATER [STJS.JsonIgnore] @@ -369,6 +374,13 @@ public string SettlementId set => this.InternalSettlement = SetExpandableFieldId(value, this.InternalSettlement); } + /// + /// (Expanded) + /// The ID of the settlement + /// to which this transaction belongs. + /// + /// For more information, see the expand documentation. + /// [JsonIgnore] #if NET6_0_OR_GREATER [STJS.JsonIgnore] diff --git a/src/Stripe.net/Entities/LineItems/LineItem.cs b/src/Stripe.net/Entities/LineItems/LineItem.cs index 7b634d7fe7..ea3d8c0d7c 100644 --- a/src/Stripe.net/Entities/LineItems/LineItem.cs +++ b/src/Stripe.net/Entities/LineItems/LineItem.cs @@ -196,6 +196,15 @@ public Product Product #endif public long? Quantity { get; set; } + /// + /// The tax calculation identifiers of the line item. + /// + [JsonProperty("tax_calculation_reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_calculation_reference")] +#endif + public LineItemTaxCalculationReference TaxCalculationReference { get; set; } + /// /// The taxes applied to the line item. /// diff --git a/src/Stripe.net/Entities/LineItems/LineItemTaxCalculationReference.cs b/src/Stripe.net/Entities/LineItems/LineItemTaxCalculationReference.cs new file mode 100644 index 0000000000..937e331f82 --- /dev/null +++ b/src/Stripe.net/Entities/LineItems/LineItemTaxCalculationReference.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class LineItemTaxCalculationReference : StripeEntity + { + /// + /// The calculation identifier for tax calculation response. + /// + [JsonProperty("calculation_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("calculation_id")] +#endif + public string CalculationId { get; set; } + + /// + /// The calculation identifier for tax calculation response line item. + /// + [JsonProperty("calculation_item_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("calculation_item_id")] +#endif + public string CalculationItemId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetails.cs b/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetails.cs index 794c1b1007..96ecb7c17e 100644 --- a/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetails.cs +++ b/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetails.cs @@ -62,6 +62,18 @@ public class MandatePaymentMethodDetails : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetailsNzBankAccount.cs b/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetailsNzBankAccount.cs new file mode 100644 index 0000000000..c1ca27d67b --- /dev/null +++ b/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetailsNzBankAccount.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class MandatePaymentMethodDetailsNzBankAccount : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecord.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecord.cs index f497433df0..6eee2baf71 100644 --- a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecord.cs +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecord.cs @@ -159,6 +159,16 @@ public class PaymentAttemptRecord : StripeEntity, IHasId, #endif public string PaymentReference { get; set; } + /// + /// Indicates who reported the payment. + /// One of: self, or stripe. + /// + [JsonProperty("reported_by")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reported_by")] +#endif + public string ReportedBy { get; set; } + /// /// Shipping information for this payment. /// diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs index 29cd5d6b42..e765e4c2d1 100644 --- a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs @@ -8,6 +8,78 @@ namespace Stripe public class PaymentAttemptRecordPaymentMethodDetails : StripeEntity { + [JsonProperty("ach_credit_transfer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ach_credit_transfer")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsAchCreditTransfer AchCreditTransfer { get; set; } + + [JsonProperty("ach_debit")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ach_debit")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsAchDebit AchDebit { get; set; } + + [JsonProperty("acss_debit")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("acss_debit")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsAcssDebit AcssDebit { get; set; } + + [JsonProperty("affirm")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("affirm")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsAffirm Affirm { get; set; } + + [JsonProperty("afterpay_clearpay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("afterpay_clearpay")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsAfterpayClearpay AfterpayClearpay { get; set; } + + [JsonProperty("alipay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("alipay")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsAlipay Alipay { get; set; } + + [JsonProperty("alma")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("alma")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsAlma Alma { get; set; } + + [JsonProperty("amazon_pay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amazon_pay")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsAmazonPay AmazonPay { get; set; } + + [JsonProperty("au_becs_debit")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("au_becs_debit")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsAuBecsDebit AuBecsDebit { get; set; } + + [JsonProperty("bacs_debit")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bacs_debit")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsBacsDebit BacsDebit { get; set; } + + [JsonProperty("bancontact")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bancontact")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsBancontact Bancontact { get; set; } + + [JsonProperty("billie")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billie")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsBillie Billie { get; set; } + /// /// The billing details associated with the method of payment. /// @@ -17,8 +89,43 @@ public class PaymentAttemptRecordPaymentMethodDetails : StripeEntity - /// Information about the custom (user-defined) payment method used to make this payment. + /// Details of the card used for this payment attempt. + /// + [JsonProperty("card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsCard Card { get; set; } + + [JsonProperty("card_present")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_present")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsCardPresent CardPresent { get; set; } + + [JsonProperty("cashapp")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cashapp")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsCashapp Cashapp { get; set; } + + /// + /// Custom Payment Methods represent Payment Method types not modeled directly in the Stripe + /// API. This resource consists of details about the custom payment method used for this + /// payment attempt. /// [JsonProperty("custom")] #if NET6_0_OR_GREATER @@ -26,6 +133,144 @@ public class PaymentAttemptRecordPaymentMethodDetails : StripeEntity /// ID of the Stripe PaymentMethod used to make this payment. /// @@ -35,13 +280,144 @@ public class PaymentAttemptRecordPaymentMethodDetails : StripeEntity - /// The type of Payment Method used for this payment attempt. + /// The type of transaction-specific details of the payment method used in the payment. See + /// PaymentMethod.type + /// for the full list of possible types. An additional hash is included on + /// payment_method_details with a name matching this value. It contains information + /// specific to the payment method. /// [JsonProperty("type")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("type")] #endif public string Type { get; set; } + + [JsonProperty("us_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("us_bank_account")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsUsBankAccount UsBankAccount { get; set; } + + [JsonProperty("wechat")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("wechat")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsWechat Wechat { get; set; } + + [JsonProperty("wechat_pay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("wechat_pay")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsWechatPay WechatPay { get; set; } + + [JsonProperty("zip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("zip")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsZip Zip { get; set; } } } diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAchCreditTransfer.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAchCreditTransfer.cs new file mode 100644 index 0000000000..3fc5059941 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAchCreditTransfer.cs @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentAttemptRecordPaymentMethodDetailsAchCreditTransfer : StripeEntity + { + /// + /// Account number to transfer funds to. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// Name of the bank associated with the routing number. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Routing transit number for the bank account to transfer funds to. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + + /// + /// SWIFT code of the bank associated with the routing number. + /// + [JsonProperty("swift_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("swift_code")] +#endif + public string SwiftCode { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAchDebit.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAchDebit.cs new file mode 100644 index 0000000000..dcd3ca760e --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAchDebit.cs @@ -0,0 +1,68 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsAchDebit : StripeEntity + { + /// + /// Type of entity that holds the account. This can be either individual or + /// company. + /// One of: company, or individual. + /// + [JsonProperty("account_holder_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_type")] +#endif + public string AccountHolderType { get; set; } + + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Two-letter ISO code representing the country the bank account is located in. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Uniquely identifies this particular bank account. You can use this attribute to check + /// whether two bank accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// Routing transit number of the bank account. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAcssDebit.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAcssDebit.cs new file mode 100644 index 0000000000..15dc865bc7 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAcssDebit.cs @@ -0,0 +1,66 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsAcssDebit : StripeEntity + { + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Uniquely identifies this particular bank account. You can use this attribute to check + /// whether two bank accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Institution number of the bank account. + /// + [JsonProperty("institution_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("institution_number")] +#endif + public string InstitutionNumber { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// ID of the mandate used to make this payment. + /// + [JsonProperty("mandate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mandate")] +#endif + public string Mandate { get; set; } + + /// + /// Transit number of the bank account. + /// + [JsonProperty("transit_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transit_number")] +#endif + public string TransitNumber { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAffirm.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAffirm.cs new file mode 100644 index 0000000000..cb02c095bb --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAffirm.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 PaymentAttemptRecordPaymentMethodDetailsAffirm : StripeEntity + { + /// + /// The Affirm transaction ID associated with this payment. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAfterpayClearpay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAfterpayClearpay.cs new file mode 100644 index 0000000000..cd7e73896b --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAfterpayClearpay.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentAttemptRecordPaymentMethodDetailsAfterpayClearpay : StripeEntity + { + /// + /// The Afterpay order ID associated with this payment intent. + /// + [JsonProperty("order_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("order_id")] +#endif + public string OrderId { get; set; } + + /// + /// Order identifier shown to the merchant in Afterpay’s online portal. + /// + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAlipay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAlipay.cs new file mode 100644 index 0000000000..d9df7a1589 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAlipay.cs @@ -0,0 +1,40 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsAlipay : StripeEntity + { + /// + /// Uniquely identifies this particular Alipay account. You can use this attribute to check + /// whether two Alipay accounts are the same. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + + /// + /// Uniquely identifies this particular Alipay account. You can use this attribute to check + /// whether two Alipay accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Transaction ID of this particular Alipay transaction. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAlma.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAlma.cs new file mode 100644 index 0000000000..b231b80b29 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAlma.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsAlma : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAmazonPay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAmazonPay.cs new file mode 100644 index 0000000000..3ce91792eb --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAmazonPay.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 PaymentAttemptRecordPaymentMethodDetailsAmazonPay : StripeEntity + { + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsAmazonPayFunding Funding { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAmazonPayFunding.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAmazonPayFunding.cs new file mode 100644 index 0000000000..8a9a6dcf2e --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAmazonPayFunding.cs @@ -0,0 +1,26 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentAttemptRecordPaymentMethodDetailsAmazonPayFunding : StripeEntity + { + [JsonProperty("card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsAmazonPayFundingCard Card { get; set; } + + /// + /// funding type of the underlying payment method. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAmazonPayFundingCard.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAmazonPayFundingCard.cs new file mode 100644 index 0000000000..acaee8a144 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAmazonPayFundingCard.cs @@ -0,0 +1,80 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsAmazonPayFundingCard : StripeEntity + { + /// + /// Card brand. Can be amex, diners, discover, eftpos_au, + /// jcb, link, mastercard, unionpay, visa, or + /// unknown. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// The product code that + /// identifies the specific program or product associated with a card. (For internal use + /// only and not typically available in standard API requests.). + /// + [JsonProperty("brand_product")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand_product")] +#endif + public string BrandProduct { get; set; } + + /// + /// 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. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Two-digit number representing the card's expiration month. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long? ExpMonth { get; set; } + + /// + /// Four-digit number representing the card's expiration year. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long? ExpYear { get; set; } + + /// + /// Card funding type. Can be credit, debit, prepaid, or + /// unknown. + /// + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public string Funding { get; set; } + + /// + /// The last four digits of the card. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAuBecsDebit.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAuBecsDebit.cs new file mode 100644 index 0000000000..37c21720a7 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsAuBecsDebit.cs @@ -0,0 +1,48 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsAuBecsDebit : StripeEntity + { + /// + /// Bank-State-Branch number of the bank account. + /// + [JsonProperty("bsb_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bsb_number")] +#endif + public string BsbNumber { get; set; } + + /// + /// Uniquely identifies this particular bank account. You can use this attribute to check + /// whether two bank accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// ID of the mandate used to make this payment. + /// + [JsonProperty("mandate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mandate")] +#endif + public string Mandate { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBacsDebit.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBacsDebit.cs new file mode 100644 index 0000000000..c668237321 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBacsDebit.cs @@ -0,0 +1,48 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsBacsDebit : StripeEntity + { + /// + /// Uniquely identifies this particular bank account. You can use this attribute to check + /// whether two bank accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// ID of the mandate used to make this payment. + /// + [JsonProperty("mandate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mandate")] +#endif + public string Mandate { get; set; } + + /// + /// Sort code of the bank account. (e.g., 10-20-30). + /// + [JsonProperty("sort_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sort_code")] +#endif + public string SortCode { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBancontact.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBancontact.cs new file mode 100644 index 0000000000..18c5600725 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBancontact.cs @@ -0,0 +1,154 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class PaymentAttemptRecordPaymentMethodDetailsBancontact : StripeEntity + { + /// + /// Bank code of bank associated with the bank account. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Bank Identifier Code of the bank associated with the bank account. + /// + [JsonProperty("bic")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bic")] +#endif + public string Bic { get; set; } + + #region Expandable GeneratedSepaDebit + + /// + /// (ID of the PaymentMethod) + /// The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GeneratedSepaDebitId + { + get => this.InternalGeneratedSepaDebit?.Id; + set => this.InternalGeneratedSepaDebit = SetExpandableFieldId(value, this.InternalGeneratedSepaDebit); + } + + /// + /// (Expanded) + /// The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public PaymentMethod GeneratedSepaDebit + { + get => this.InternalGeneratedSepaDebit?.ExpandedObject; + set => this.InternalGeneratedSepaDebit = SetExpandableFieldObject(value, this.InternalGeneratedSepaDebit); + } + + [JsonProperty("generated_sepa_debit")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_sepa_debit")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalGeneratedSepaDebit { get; set; } + #endregion + + #region Expandable GeneratedSepaDebitMandate + + /// + /// (ID of the Mandate) + /// The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GeneratedSepaDebitMandateId + { + get => this.InternalGeneratedSepaDebitMandate?.Id; + set => this.InternalGeneratedSepaDebitMandate = SetExpandableFieldId(value, this.InternalGeneratedSepaDebitMandate); + } + + /// + /// (Expanded) + /// The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Mandate GeneratedSepaDebitMandate + { + get => this.InternalGeneratedSepaDebitMandate?.ExpandedObject; + set => this.InternalGeneratedSepaDebitMandate = SetExpandableFieldObject(value, this.InternalGeneratedSepaDebitMandate); + } + + [JsonProperty("generated_sepa_debit_mandate")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_sepa_debit_mandate")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalGeneratedSepaDebitMandate { get; set; } + #endregion + + /// + /// Last four characters of the IBAN. + /// + [JsonProperty("iban_last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("iban_last4")] +#endif + public string IbanLast4 { get; set; } + + /// + /// Preferred language of the Bancontact authorization page that the customer is redirected + /// to. Can be one of en, de, fr, or nl. + /// One of: de, en, fr, or nl. + /// + [JsonProperty("preferred_language")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preferred_language")] +#endif + public string PreferredLanguage { get; set; } + + /// + /// Owner's verified full name. Values are verified or provided by Bancontact directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBillie.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBillie.cs new file mode 100644 index 0000000000..488c3a2da7 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBillie.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsBillie : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBlik.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBlik.cs new file mode 100644 index 0000000000..cd6176919f --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBlik.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 PaymentAttemptRecordPaymentMethodDetailsBlik : StripeEntity + { + /// + /// A unique and immutable identifier assigned by BLIK to every buyer. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBoleto.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBoleto.cs new file mode 100644 index 0000000000..03575a0d61 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsBoleto.cs @@ -0,0 +1,21 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsBoleto : StripeEntity + { + /// + /// The tax ID of the customer (CPF for individuals consumers or CNPJ for businesses + /// consumers). + /// + [JsonProperty("tax_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_id")] +#endif + public string TaxId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCard.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCard.cs new file mode 100644 index 0000000000..112c3ab49e --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCard.cs @@ -0,0 +1,166 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsCard : StripeEntity + { + /// + /// Card brand. Can be amex, diners, discover, eftpos_au, + /// jcb, link, mastercard, unionpay, visa, or + /// unknown. + /// One of: amex, cartes_bancaires, diners, discover, + /// eftpos_au, interac, jcb, link, mastercard, + /// unionpay, unknown, or visa. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// When using manual capture, a future timestamp at which the charge will be automatically + /// refunded if uncaptured. + /// + [JsonProperty("capture_before")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capture_before")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime CaptureBefore { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Check results by Card networks on Card address and CVC at time of payment. + /// + [JsonProperty("checks")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("checks")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsCardChecks Checks { get; set; } + + /// + /// 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. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Two-digit number representing the card's expiration month. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long ExpMonth { get; set; } + + /// + /// Four-digit number representing the card's expiration year. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long ExpYear { get; set; } + + /// + /// Uniquely identifies this particular card number. You can use this attribute to check + /// whether two customers who’ve signed up with you are using the same card number, for + /// example. For payment methods that tokenize card information (Apple Pay, Google Pay), the + /// tokenized number might be provided instead of the underlying card number. + /// + /// As of May 1, 2021, card fingerprint in India for Connect changed to allow two + /// fingerprints for the same card---one for India and one for the rest of the world.. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Card funding type. Can be credit, debit, prepaid, or + /// unknown. + /// One of: credit, debit, prepaid, or unknown. + /// + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public string Funding { get; set; } + + /// + /// The last four digits of the card. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// True if this payment was marked as MOTO and out of scope for SCA. + /// + [JsonProperty("moto")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("moto")] +#endif + public bool Moto { get; set; } + + /// + /// Identifies which network this charge was processed on. Can be amex, + /// cartes_bancaires, diners, discover, eftpos_au, + /// interac, jcb, link, mastercard, unionpay, + /// visa, or unknown. + /// One of: amex, cartes_bancaires, diners, discover, + /// eftpos_au, interac, jcb, link, mastercard, + /// unionpay, unknown, or visa. + /// + [JsonProperty("network")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network")] +#endif + public string Network { get; set; } + + /// + /// If this card has network token credentials, this contains the details of the network + /// token credentials. + /// + [JsonProperty("network_token")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network_token")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsCardNetworkToken NetworkToken { get; set; } + + /// + /// This is used by the financial networks to identify a transaction. Visa calls this the + /// Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the + /// Acquirer Reference Data. This value will be present if it is returned by the financial + /// network in the authorization response, and null otherwise. + /// + [JsonProperty("network_transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network_transaction_id")] +#endif + public string NetworkTransactionId { get; set; } + + /// + /// Populated if this transaction used 3D Secure authentication. + /// + [JsonProperty("three_d_secure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("three_d_secure")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsCardThreeDSecure ThreeDSecure { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardChecks.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardChecks.cs new file mode 100644 index 0000000000..ed24e8d833 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardChecks.cs @@ -0,0 +1,38 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsCardChecks : StripeEntity + { + /// + /// One of: fail, pass, unavailable, or unchecked. + /// + [JsonProperty("address_line1_check")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address_line1_check")] +#endif + public string AddressLine1Check { get; set; } + + /// + /// One of: fail, pass, unavailable, or unchecked. + /// + [JsonProperty("address_postal_code_check")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address_postal_code_check")] +#endif + public string AddressPostalCodeCheck { get; set; } + + /// + /// One of: fail, pass, unavailable, or unchecked. + /// + [JsonProperty("cvc_check")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cvc_check")] +#endif + public string CvcCheck { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardNetworkToken.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardNetworkToken.cs new file mode 100644 index 0000000000..76f606fe42 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardNetworkToken.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 PaymentAttemptRecordPaymentMethodDetailsCardNetworkToken : StripeEntity + { + [JsonProperty("used")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("used")] +#endif + public bool Used { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardPresent.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardPresent.cs new file mode 100644 index 0000000000..fe9b84e4e3 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardPresent.cs @@ -0,0 +1,271 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + 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 PaymentAttemptRecordPaymentMethodDetailsCardPresent : StripeEntity + { + /// + /// The authorized amount. + /// + [JsonProperty("amount_authorized")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount_authorized")] +#endif + public long? AmountAuthorized { get; set; } + + /// + /// Card brand. Can be amex, diners, discover, eftpos_au, + /// jcb, link, mastercard, unionpay, visa, or + /// unknown. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// The product code that + /// identifies the specific program or product associated with a card. + /// + [JsonProperty("brand_product")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand_product")] +#endif + public string BrandProduct { get; set; } + + /// + /// When using manual capture, a future timestamp after which the charge will be + /// automatically refunded if uncaptured. + /// + [JsonProperty("capture_before")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capture_before")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime CaptureBefore { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// The cardholder name as read from the card, in ISO 7813 format. May include + /// alphanumeric characters, special characters and first/last name separator (/). In + /// some cases, the cardholder name may not be available depending on how the issuer has + /// configured the card. Cardholder name is typically not available on swipe or contactless + /// payments, such as those made with Apple Pay and Google Pay. + /// + [JsonProperty("cardholder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cardholder_name")] +#endif + public string CardholderName { get; set; } + + /// + /// 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. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// A high-level description of the type of cards issued in this range. (For internal use + /// only and not typically available in standard API requests.). + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// Authorization response cryptogram. + /// + [JsonProperty("emv_auth_data")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("emv_auth_data")] +#endif + public string EmvAuthData { get; set; } + + /// + /// Two-digit number representing the card's expiration month. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long ExpMonth { get; set; } + + /// + /// Four-digit number representing the card's expiration year. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long ExpYear { get; set; } + + /// + /// Uniquely identifies this particular card number. You can use this attribute to check + /// whether two customers who’ve signed up with you are using the same card number, for + /// example. For payment methods that tokenize card information (Apple Pay, Google Pay), the + /// tokenized number might be provided instead of the underlying card number. + /// + /// As of May 1, 2021, card fingerprint in India for Connect changed to allow two + /// fingerprints for the same card---one for India and one for the rest of the world.. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Card funding type. Can be credit, debit, prepaid, or + /// unknown. + /// + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public string Funding { get; set; } + + /// + /// ID of a card PaymentMethod generated from the card_present PaymentMethod that may be + /// attached to a Customer for future transactions. Only present if it was possible to + /// generate a card PaymentMethod. + /// + [JsonProperty("generated_card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_card")] +#endif + public string GeneratedCard { get; set; } + + /// + /// Issuer identification number of the card. (For internal use only and not typically + /// available in standard API requests.). + /// + [JsonProperty("iin")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("iin")] +#endif + public string Iin { get; set; } + + /// + /// Whether this PaymentIntent is + /// eligible for incremental authorizations. Request support using request_incremental_authorization_support. + /// + [JsonProperty("incremental_authorization_supported")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("incremental_authorization_supported")] +#endif + public bool IncrementalAuthorizationSupported { get; set; } + + /// + /// The name of the card's issuing bank. (For internal use only and not typically available + /// in standard API requests.). + /// + [JsonProperty("issuer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("issuer")] +#endif + public string Issuer { get; set; } + + /// + /// The last four digits of the card. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// Identifies which network this charge was processed on. Can be amex, + /// cartes_bancaires, diners, discover, eftpos_au, + /// interac, jcb, link, mastercard, unionpay, + /// visa, or unknown. + /// + [JsonProperty("network")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network")] +#endif + public string Network { get; set; } + + /// + /// This is used by the financial networks to identify a transaction. Visa calls this the + /// Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the + /// Acquirer Reference Data. This value will be present if it is returned by the financial + /// network in the authorization response, and null otherwise. + /// + [JsonProperty("network_transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network_transaction_id")] +#endif + public string NetworkTransactionId { get; set; } + + /// + /// Details about payments collected offline. + /// + [JsonProperty("offline")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("offline")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsCardPresentOffline Offline { get; set; } + + /// + /// Defines whether the authorized amount can be over-captured or not. + /// + [JsonProperty("overcapture_supported")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("overcapture_supported")] +#endif + public bool OvercaptureSupported { get; set; } + + /// + /// EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. + /// + [JsonProperty("preferred_locales")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preferred_locales")] +#endif + public List PreferredLocales { get; set; } + + /// + /// How card details were read in this transaction. + /// One of: contact_emv, contactless_emv, contactless_magstripe_mode, + /// magnetic_stripe_fallback, or magnetic_stripe_track2. + /// + [JsonProperty("read_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("read_method")] +#endif + public string ReadMethod { get; set; } + + /// + /// A collection of fields required to be displayed on receipts. Only required for EMV + /// transactions. + /// + [JsonProperty("receipt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("receipt")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsCardPresentReceipt Receipt { get; set; } + + [JsonProperty("wallet")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("wallet")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsCardPresentWallet Wallet { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardPresentOffline.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardPresentOffline.cs new file mode 100644 index 0000000000..a16eb61673 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardPresentOffline.cs @@ -0,0 +1,33 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsCardPresentOffline : StripeEntity + { + /// + /// Time at which the payment was collected while offline. + /// + [JsonProperty("stored_at")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("stored_at")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime? StoredAt { get; set; } + + /// + /// The method used to process this payment method offline. Only deferred is allowed. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardPresentReceipt.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardPresentReceipt.cs new file mode 100644 index 0000000000..d310681433 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardPresentReceipt.cs @@ -0,0 +1,95 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsCardPresentReceipt : StripeEntity + { + /// + /// The type of account being debited or credited. + /// One of: checking, credit, prepaid, or unknown. + /// + [JsonProperty("account_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_type")] +#endif + public string AccountType { get; set; } + + /// + /// EMV tag 9F26, cryptogram generated by the integrated circuit chip. + /// + [JsonProperty("application_cryptogram")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("application_cryptogram")] +#endif + public string ApplicationCryptogram { get; set; } + + /// + /// Mnenomic of the Application Identifier. + /// + [JsonProperty("application_preferred_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("application_preferred_name")] +#endif + public string ApplicationPreferredName { get; set; } + + /// + /// Identifier for this transaction. + /// + [JsonProperty("authorization_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("authorization_code")] +#endif + public string AuthorizationCode { get; set; } + + /// + /// EMV tag 8A. A code returned by the card issuer. + /// + [JsonProperty("authorization_response_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("authorization_response_code")] +#endif + public string AuthorizationResponseCode { get; set; } + + /// + /// Describes the method used by the cardholder to verify ownership of the card. One of the + /// following: approval, failure, none, offline_pin, + /// offline_pin_and_signature, online_pin, or signature. + /// + [JsonProperty("cardholder_verification_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cardholder_verification_method")] +#endif + public string CardholderVerificationMethod { get; set; } + + /// + /// EMV tag 84. Similar to the application identifier stored on the integrated circuit chip. + /// + [JsonProperty("dedicated_file_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("dedicated_file_name")] +#endif + public string DedicatedFileName { get; set; } + + /// + /// The outcome of a series of EMV functions performed by the card reader. + /// + [JsonProperty("terminal_verification_results")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("terminal_verification_results")] +#endif + public string TerminalVerificationResults { get; set; } + + /// + /// An indication of various EMV functions performed during the transaction. + /// + [JsonProperty("transaction_status_information")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_status_information")] +#endif + public string TransactionStatusInformation { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardPresentWallet.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardPresentWallet.cs new file mode 100644 index 0000000000..96da6a347a --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardPresentWallet.cs @@ -0,0 +1,22 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsCardPresentWallet : StripeEntity + { + /// + /// The type of mobile wallet, one of apple_pay, google_pay, + /// samsung_pay, or unknown. + /// One of: apple_pay, google_pay, samsung_pay, or unknown. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardThreeDSecure.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardThreeDSecure.cs new file mode 100644 index 0000000000..d7a9d046af --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCardThreeDSecure.cs @@ -0,0 +1,49 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsCardThreeDSecure : StripeEntity + { + /// + /// One of: challenge, or frictionless. + /// + [JsonProperty("authentication_flow")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("authentication_flow")] +#endif + public string AuthenticationFlow { get; set; } + + /// + /// One of: attempt_acknowledged, authenticated, exempted, + /// failed, not_supported, or processing_error. + /// + [JsonProperty("result")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("result")] +#endif + public string Result { get; set; } + + /// + /// One of: abandoned, bypassed, canceled, card_not_enrolled, + /// network_not_supported, protocol_error, or rejected. + /// + [JsonProperty("result_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("result_reason")] +#endif + public string ResultReason { get; set; } + + /// + /// One of: 1.0.2, 2.1.0, or 2.2.0. + /// + [JsonProperty("version")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("version")] +#endif + public string Version { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCashapp.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCashapp.cs new file mode 100644 index 0000000000..509c2f639e --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCashapp.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentAttemptRecordPaymentMethodDetailsCashapp : StripeEntity + { + /// + /// A unique and immutable identifier assigned by Cash App to every buyer. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + + /// + /// A public identifier for buyers using Cash App. + /// + [JsonProperty("cashtag")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cashtag")] +#endif + public string Cashtag { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCustomerBalance.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCustomerBalance.cs new file mode 100644 index 0000000000..de5ccea81d --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsCustomerBalance.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsCustomerBalance : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsEps.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsEps.cs new file mode 100644 index 0000000000..965231462d --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsEps.cs @@ -0,0 +1,57 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsEps : StripeEntity + { + /// + /// The customer's bank. Should be one of arzte_und_apotheker_bank, + /// austrian_anadi_bank_ag, bank_austria, bankhaus_carl_spangler, + /// bankhaus_schelhammer_und_schattera_ag, bawag_psk_ag, bks_bank_ag, + /// brull_kallmus_bank_ag, btv_vier_lander_bank, + /// capital_bank_grawe_gruppe_ag, deutsche_bank_ag, dolomitenbank, + /// easybank_ag, erste_bank_und_sparkassen, + /// hypo_alpeadriabank_international_ag, + /// hypo_noe_lb_fur_niederosterreich_u_wien, + /// hypo_oberosterreich_salzburg_steiermark, hypo_tirol_bank_ag, + /// hypo_vorarlberg_bank_ag, hypo_bank_burgenland_aktiengesellschaft, + /// marchfelder_bank, oberbank_ag, raiffeisen_bankengruppe_osterreich, + /// schoellerbank_ag, sparda_bank_wien, volksbank_gruppe, + /// volkskreditbank_ag, or vr_bank_braunau. + /// One of: arzte_und_apotheker_bank, austrian_anadi_bank_ag, + /// bank_austria, bankhaus_carl_spangler, + /// bankhaus_schelhammer_und_schattera_ag, bawag_psk_ag, bks_bank_ag, + /// brull_kallmus_bank_ag, btv_vier_lander_bank, + /// capital_bank_grawe_gruppe_ag, deutsche_bank_ag, dolomitenbank, + /// easybank_ag, erste_bank_und_sparkassen, + /// hypo_alpeadriabank_international_ag, + /// hypo_bank_burgenland_aktiengesellschaft, + /// hypo_noe_lb_fur_niederosterreich_u_wien, + /// hypo_oberosterreich_salzburg_steiermark, hypo_tirol_bank_ag, + /// hypo_vorarlberg_bank_ag, marchfelder_bank, oberbank_ag, + /// raiffeisen_bankengruppe_osterreich, schoellerbank_ag, + /// sparda_bank_wien, volksbank_gruppe, volkskreditbank_ag, or + /// vr_bank_braunau. + /// + [JsonProperty("bank")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank")] +#endif + public string Bank { get; set; } + + /// + /// Owner's verified full name. Values are verified or provided by EPS directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// EPS rarely provides this information so the attribute is usually empty. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsFpx.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsFpx.cs new file mode 100644 index 0000000000..a47ffa6452 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsFpx.cs @@ -0,0 +1,49 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsFpx : StripeEntity + { + /// + /// Account holder type, if provided. Can be one of individual or company. + /// One of: company, or individual. + /// + [JsonProperty("account_holder_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_type")] +#endif + public string AccountHolderType { get; set; } + + /// + /// The customer's bank. Can be one of affin_bank, agrobank, + /// alliance_bank, ambank, bank_islam, bank_muamalat, + /// bank_rakyat, bsn, cimb, hong_leong_bank, hsbc, + /// kfh, maybank2u, ocbc, public_bank, rhb, + /// standard_chartered, uob, deutsche_bank, maybank2e, + /// pb_enterprise, or bank_of_china. + /// One of: affin_bank, agrobank, alliance_bank, ambank, + /// bank_islam, bank_muamalat, bank_of_china, bank_rakyat, + /// bsn, cimb, deutsche_bank, hong_leong_bank, hsbc, + /// kfh, maybank2e, maybank2u, ocbc, pb_enterprise, + /// public_bank, rhb, standard_chartered, or uob. + /// + [JsonProperty("bank")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank")] +#endif + public string Bank { get; set; } + + /// + /// Unique transaction id generated by FPX for every request from the merchant. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsGiropay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsGiropay.cs new file mode 100644 index 0000000000..a849753d5c --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsGiropay.cs @@ -0,0 +1,49 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsGiropay : StripeEntity + { + /// + /// Bank code of bank associated with the bank account. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Bank Identifier Code of the bank associated with the bank account. + /// + [JsonProperty("bic")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bic")] +#endif + public string Bic { get; set; } + + /// + /// Owner's verified full name. Values are verified or provided by Giropay directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// Giropay rarely provides this information so the attribute is usually empty. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsGopay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsGopay.cs new file mode 100644 index 0000000000..6caddb63a9 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsGopay.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsGopay : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsGrabpay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsGrabpay.cs new file mode 100644 index 0000000000..6a9b3a2480 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsGrabpay.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 PaymentAttemptRecordPaymentMethodDetailsGrabpay : StripeEntity + { + /// + /// Unique transaction id generated by GrabPay. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdBankTransfer.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdBankTransfer.cs new file mode 100644 index 0000000000..0de46fa607 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdBankTransfer.cs @@ -0,0 +1,58 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsIdBankTransfer : StripeEntity + { + /// + /// Account number of the bank account to transfer funds to. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// Bank where the account is located. + /// One of: bca, bni, bri, cimb, or permata. + /// + [JsonProperty("bank")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank")] +#endif + public string Bank { get; set; } + + /// + /// Local bank code of the bank. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Merchant name and billing details name, for the customer to check for the correct + /// merchant when performing the bank transfer. + /// + [JsonProperty("display_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_name")] +#endif + public string DisplayName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdeal.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdeal.cs new file mode 100644 index 0000000000..be57525b00 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsIdeal.cs @@ -0,0 +1,145 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class PaymentAttemptRecordPaymentMethodDetailsIdeal : StripeEntity + { + /// + /// The customer's bank. Can be one of abn_amro, asn_bank, bunq, + /// handelsbanken, ing, knab, moneyou, n26, nn, + /// rabobank, regiobank, revolut, sns_bank, triodos_bank, + /// van_lanschot, or yoursafe. + /// One of: abn_amro, asn_bank, bunq, handelsbanken, ing, + /// knab, moneyou, n26, nn, rabobank, regiobank, + /// revolut, sns_bank, triodos_bank, van_lanschot, or + /// yoursafe. + /// + [JsonProperty("bank")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank")] +#endif + public string Bank { get; set; } + + /// + /// The Bank Identifier Code of the customer's bank. + /// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A, + /// FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H, MOYONL21, + /// NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21, REVOIE23, + /// REVOLT21, SNSBNL2A, or TRIONL2U. + /// + [JsonProperty("bic")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bic")] +#endif + public string Bic { get; set; } + + #region Expandable GeneratedSepaDebit + + /// + /// (ID of the PaymentMethod) + /// The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GeneratedSepaDebitId + { + get => this.InternalGeneratedSepaDebit?.Id; + set => this.InternalGeneratedSepaDebit = SetExpandableFieldId(value, this.InternalGeneratedSepaDebit); + } + + /// + /// (Expanded) + /// The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public PaymentMethod GeneratedSepaDebit + { + get => this.InternalGeneratedSepaDebit?.ExpandedObject; + set => this.InternalGeneratedSepaDebit = SetExpandableFieldObject(value, this.InternalGeneratedSepaDebit); + } + + [JsonProperty("generated_sepa_debit")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_sepa_debit")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalGeneratedSepaDebit { get; set; } + #endregion + + #region Expandable GeneratedSepaDebitMandate + + /// + /// (ID of the Mandate) + /// The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GeneratedSepaDebitMandateId + { + get => this.InternalGeneratedSepaDebitMandate?.Id; + set => this.InternalGeneratedSepaDebitMandate = SetExpandableFieldId(value, this.InternalGeneratedSepaDebitMandate); + } + + /// + /// (Expanded) + /// The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Mandate GeneratedSepaDebitMandate + { + get => this.InternalGeneratedSepaDebitMandate?.ExpandedObject; + set => this.InternalGeneratedSepaDebitMandate = SetExpandableFieldObject(value, this.InternalGeneratedSepaDebitMandate); + } + + [JsonProperty("generated_sepa_debit_mandate")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_sepa_debit_mandate")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalGeneratedSepaDebitMandate { get; set; } + #endregion + + /// + /// Last four characters of the IBAN. + /// + [JsonProperty("iban_last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("iban_last4")] +#endif + public string IbanLast4 { 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. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsInteracPresent.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsInteracPresent.cs new file mode 100644 index 0000000000..060a090300 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsInteracPresent.cs @@ -0,0 +1,201 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentAttemptRecordPaymentMethodDetailsInteracPresent : StripeEntity + { + /// + /// Card brand. Can be interac, mastercard or visa. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// The cardholder name as read from the card, in ISO 7813 format. May include + /// alphanumeric characters, special characters and first/last name separator (/). In + /// some cases, the cardholder name may not be available depending on how the issuer has + /// configured the card. Cardholder name is typically not available on swipe or contactless + /// payments, such as those made with Apple Pay and Google Pay. + /// + [JsonProperty("cardholder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cardholder_name")] +#endif + public string CardholderName { get; set; } + + /// + /// 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. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// A high-level description of the type of cards issued in this range. (For internal use + /// only and not typically available in standard API requests.). + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// Authorization response cryptogram. + /// + [JsonProperty("emv_auth_data")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("emv_auth_data")] +#endif + public string EmvAuthData { get; set; } + + /// + /// Two-digit number representing the card's expiration month. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long ExpMonth { get; set; } + + /// + /// Four-digit number representing the card's expiration year. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long ExpYear { get; set; } + + /// + /// Uniquely identifies this particular card number. You can use this attribute to check + /// whether two customers who’ve signed up with you are using the same card number, for + /// example. For payment methods that tokenize card information (Apple Pay, Google Pay), the + /// tokenized number might be provided instead of the underlying card number. + /// + /// As of May 1, 2021, card fingerprint in India for Connect changed to allow two + /// fingerprints for the same card---one for India and one for the rest of the world.. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Card funding type. Can be credit, debit, prepaid, or + /// unknown. + /// + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public string Funding { get; set; } + + /// + /// ID of a card PaymentMethod generated from the card_present PaymentMethod that may be + /// attached to a Customer for future transactions. Only present if it was possible to + /// generate a card PaymentMethod. + /// + [JsonProperty("generated_card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_card")] +#endif + public string GeneratedCard { get; set; } + + /// + /// Issuer identification number of the card. (For internal use only and not typically + /// available in standard API requests.). + /// + [JsonProperty("iin")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("iin")] +#endif + public string Iin { get; set; } + + /// + /// The name of the card's issuing bank. (For internal use only and not typically available + /// in standard API requests.). + /// + [JsonProperty("issuer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("issuer")] +#endif + public string Issuer { get; set; } + + /// + /// The last four digits of the card. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// Identifies which network this charge was processed on. Can be amex, + /// cartes_bancaires, diners, discover, eftpos_au, + /// interac, jcb, link, mastercard, unionpay, + /// visa, or unknown. + /// + [JsonProperty("network")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network")] +#endif + public string Network { get; set; } + + /// + /// This is used by the financial networks to identify a transaction. Visa calls this the + /// Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the + /// Acquirer Reference Data. This value will be present if it is returned by the financial + /// network in the authorization response, and null otherwise. + /// + [JsonProperty("network_transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network_transaction_id")] +#endif + public string NetworkTransactionId { get; set; } + + /// + /// EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. + /// + [JsonProperty("preferred_locales")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preferred_locales")] +#endif + public List PreferredLocales { get; set; } + + /// + /// How card details were read in this transaction. + /// One of: contact_emv, contactless_emv, contactless_magstripe_mode, + /// magnetic_stripe_fallback, or magnetic_stripe_track2. + /// + [JsonProperty("read_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("read_method")] +#endif + public string ReadMethod { get; set; } + + /// + /// A collection of fields required to be displayed on receipts. Only required for EMV + /// transactions. + /// + [JsonProperty("receipt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("receipt")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsInteracPresentReceipt Receipt { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsInteracPresentReceipt.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsInteracPresentReceipt.cs new file mode 100644 index 0000000000..9284ecd0af --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsInteracPresentReceipt.cs @@ -0,0 +1,95 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsInteracPresentReceipt : StripeEntity + { + /// + /// The type of account being debited or credited. + /// One of: checking, savings, or unknown. + /// + [JsonProperty("account_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_type")] +#endif + public string AccountType { get; set; } + + /// + /// EMV tag 9F26, cryptogram generated by the integrated circuit chip. + /// + [JsonProperty("application_cryptogram")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("application_cryptogram")] +#endif + public string ApplicationCryptogram { get; set; } + + /// + /// Mnenomic of the Application Identifier. + /// + [JsonProperty("application_preferred_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("application_preferred_name")] +#endif + public string ApplicationPreferredName { get; set; } + + /// + /// Identifier for this transaction. + /// + [JsonProperty("authorization_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("authorization_code")] +#endif + public string AuthorizationCode { get; set; } + + /// + /// EMV tag 8A. A code returned by the card issuer. + /// + [JsonProperty("authorization_response_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("authorization_response_code")] +#endif + public string AuthorizationResponseCode { get; set; } + + /// + /// Describes the method used by the cardholder to verify ownership of the card. One of the + /// following: approval, failure, none, offline_pin, + /// offline_pin_and_signature, online_pin, or signature. + /// + [JsonProperty("cardholder_verification_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cardholder_verification_method")] +#endif + public string CardholderVerificationMethod { get; set; } + + /// + /// EMV tag 84. Similar to the application identifier stored on the integrated circuit chip. + /// + [JsonProperty("dedicated_file_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("dedicated_file_name")] +#endif + public string DedicatedFileName { get; set; } + + /// + /// The outcome of a series of EMV functions performed by the card reader. + /// + [JsonProperty("terminal_verification_results")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("terminal_verification_results")] +#endif + public string TerminalVerificationResults { get; set; } + + /// + /// An indication of various EMV functions performed during the transaction. + /// + [JsonProperty("transaction_status_information")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_status_information")] +#endif + public string TransactionStatusInformation { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKakaoPay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKakaoPay.cs new file mode 100644 index 0000000000..f15137f456 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKakaoPay.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 PaymentAttemptRecordPaymentMethodDetailsKakaoPay : StripeEntity + { + /// + /// A unique identifier for the buyer as determined by the local payment processor. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKlarna.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKlarna.cs new file mode 100644 index 0000000000..b84eeff656 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKlarna.cs @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentAttemptRecordPaymentMethodDetailsKlarna : StripeEntity + { + /// + /// The payer details for this transaction. + /// + [JsonProperty("payer_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payer_details")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsKlarnaPayerDetails PayerDetails { get; set; } + + /// + /// The Klarna payment method used for this transaction. Can be one of pay_later, + /// pay_now, pay_with_financing, or pay_in_installments. + /// + [JsonProperty("payment_method_category")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payment_method_category")] +#endif + public string PaymentMethodCategory { get; set; } + + /// + /// Preferred language of the Klarna authorization page that the customer is redirected to. + /// Can be one of de-AT, en-AT, nl-BE, fr-BE, en-BE, + /// de-DE, en-DE, da-DK, en-DK, es-ES, en-ES, + /// fi-FI, sv-FI, en-FI, en-GB, en-IE, it-IT, + /// en-IT, nl-NL, en-NL, nb-NO, en-NO, sv-SE, + /// en-SE, en-US, es-US, fr-FR, en-FR, cs-CZ, + /// en-CZ, ro-RO, en-RO, el-GR, en-GR, en-AU, + /// en-NZ, en-CA, fr-CA, pl-PL, en-PL, pt-PT, + /// en-PT, de-CH, fr-CH, it-CH, or en-CH. + /// + [JsonProperty("preferred_locale")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preferred_locale")] +#endif + public string PreferredLocale { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKlarnaPayerDetails.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKlarnaPayerDetails.cs new file mode 100644 index 0000000000..c7b62eae74 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKlarnaPayerDetails.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 PaymentAttemptRecordPaymentMethodDetailsKlarnaPayerDetails : StripeEntity + { + /// + /// The payer's address. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsKlarnaPayerDetailsAddress Address { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKlarnaPayerDetailsAddress.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKlarnaPayerDetailsAddress.cs new file mode 100644 index 0000000000..721aaa7b81 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKlarnaPayerDetailsAddress.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 PaymentAttemptRecordPaymentMethodDetailsKlarnaPayerDetailsAddress : StripeEntity + { + /// + /// The payer address country. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKonbini.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKonbini.cs new file mode 100644 index 0000000000..dce6edc0ff --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKonbini.cs @@ -0,0 +1,21 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsKonbini : StripeEntity + { + /// + /// If the payment succeeded, this contains the details of the convenience store where the + /// payment was completed. + /// + [JsonProperty("store")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("store")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsKonbiniStore Store { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKonbiniStore.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKonbiniStore.cs new file mode 100644 index 0000000000..a8042a311c --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKonbiniStore.cs @@ -0,0 +1,21 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsKonbiniStore : StripeEntity + { + /// + /// The name of the convenience store chain where the payment was completed. + /// One of: familymart, lawson, ministop, or seicomart. + /// + [JsonProperty("chain")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("chain")] +#endif + public string Chain { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKrCard.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKrCard.cs new file mode 100644 index 0000000000..fbf1e5a955 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsKrCard.cs @@ -0,0 +1,43 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsKrCard : StripeEntity + { + /// + /// The local credit or debit card brand. + /// One of: bc, citi, hana, hyundai, jeju, + /// jeonbuk, kakaobank, kbank, kdbbank, kookmin, + /// kwangju, lotte, mg, nh, post, samsung, + /// savingsbank, shinhan, shinhyup, suhyup, tossbank, or + /// woori. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// A unique identifier for the buyer as determined by the local payment processor. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + + /// + /// The last four digits of the card. This may not be present for American Express cards. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsLink.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsLink.cs new file mode 100644 index 0000000000..cc69c21bf5 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsLink.cs @@ -0,0 +1,21 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsLink : StripeEntity + { + /// + /// Two-letter ISO code representing the funding source country beneath the Link payment. + /// You could use this attribute to get a sense of international fees. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsMbWay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsMbWay.cs new file mode 100644 index 0000000000..515a4e8234 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsMbWay.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsMbWay : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsMobilepay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsMobilepay.cs new file mode 100644 index 0000000000..fbeb467031 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsMobilepay.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 PaymentAttemptRecordPaymentMethodDetailsMobilepay : StripeEntity + { + /// + /// Internal card details. + /// + [JsonProperty("card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsMobilepayCard Card { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsMobilepayCard.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsMobilepayCard.cs new file mode 100644 index 0000000000..cc49dc11b9 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsMobilepayCard.cs @@ -0,0 +1,56 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsMobilepayCard : StripeEntity + { + /// + /// Brand of the card used in the transaction. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// Two-letter ISO code representing the country of the card. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Two digit number representing the card's expiration month. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long? ExpMonth { get; set; } + + /// + /// Two digit number representing the card's expiration year. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long? ExpYear { get; set; } + + /// + /// The last 4 digits of the card. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsMultibanco.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsMultibanco.cs new file mode 100644 index 0000000000..5b9c884804 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsMultibanco.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentAttemptRecordPaymentMethodDetailsMultibanco : StripeEntity + { + /// + /// Entity number associated with this Multibanco payment. + /// + [JsonProperty("entity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("entity")] +#endif + public string Entity { get; set; } + + /// + /// Reference number associated with this Multibanco payment. + /// + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsNaverPay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsNaverPay.cs new file mode 100644 index 0000000000..f860532176 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsNaverPay.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 PaymentAttemptRecordPaymentMethodDetailsNaverPay : StripeEntity + { + /// + /// A unique identifier for the buyer as determined by the local payment processor. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsNzBankAccount.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsNzBankAccount.cs new file mode 100644 index 0000000000..63b1e40810 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsNzBankAccount.cs @@ -0,0 +1,66 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsNzBankAccount : StripeEntity + { + /// + /// The name on the bank account. Only present if the account holder name is different from + /// the name of the authorized signatory collected in the PaymentMethod’s billing details. + /// + [JsonProperty("account_holder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_name")] +#endif + public string AccountHolderName { get; set; } + + /// + /// The numeric code for the bank account's bank. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// The name of the bank. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// The numeric code for the bank account's bank branch. + /// + [JsonProperty("branch_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_code")] +#endif + public string BranchCode { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// The suffix of the bank account number. + /// + [JsonProperty("suffix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("suffix")] +#endif + public string Suffix { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsOxxo.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsOxxo.cs new file mode 100644 index 0000000000..b554e3eff7 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsOxxo.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 PaymentAttemptRecordPaymentMethodDetailsOxxo : StripeEntity + { + /// + /// OXXO reference number. + /// + [JsonProperty("number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("number")] +#endif + public string Number { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsP24.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsP24.cs new file mode 100644 index 0000000000..48fc17b79d --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsP24.cs @@ -0,0 +1,55 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsP24 : StripeEntity + { + /// + /// The customer's bank. Can be one of ing, citi_handlowy, + /// tmobile_usbugi_bankowe, plus_bank, etransfer_pocztowy24, + /// banki_spbdzielcze, bank_nowy_bfg_sa, getin_bank, velobank, + /// blik, noble_pay, ideabank, envelobank, + /// santander_przelew24, nest_przelew, mbank_mtransfer, + /// inteligo, pbac_z_ipko, bnp_paribas, credit_agricole, + /// toyota_bank, bank_pekao_sa, volkswagen_bank, + /// bank_millennium, alior_bank, or boz. + /// One of: alior_bank, bank_millennium, bank_nowy_bfg_sa, + /// bank_pekao_sa, banki_spbdzielcze, blik, bnp_paribas, + /// boz, citi_handlowy, credit_agricole, envelobank, + /// etransfer_pocztowy24, getin_bank, ideabank, ing, + /// inteligo, mbank_mtransfer, nest_przelew, noble_pay, + /// pbac_z_ipko, plus_bank, santander_przelew24, + /// tmobile_usbugi_bankowe, toyota_bank, velobank, or + /// volkswagen_bank. + /// + [JsonProperty("bank")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank")] +#endif + public string Bank { get; set; } + + /// + /// Unique reference for this Przelewy24 payment. + /// + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + + /// + /// Owner's verified full name. Values are verified or provided by Przelewy24 directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// Przelewy24 rarely provides this information so the attribute is usually empty. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPayByBank.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPayByBank.cs new file mode 100644 index 0000000000..fa1ddbbc4f --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPayByBank.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsPayByBank : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPayco.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPayco.cs new file mode 100644 index 0000000000..421639c378 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPayco.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 PaymentAttemptRecordPaymentMethodDetailsPayco : StripeEntity + { + /// + /// A unique identifier for the buyer as determined by the local payment processor. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPaynow.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPaynow.cs new file mode 100644 index 0000000000..ef977a44ed --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPaynow.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 PaymentAttemptRecordPaymentMethodDetailsPaynow : StripeEntity + { + /// + /// Reference number associated with this PayNow payment. + /// + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPaypal.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPaypal.cs new file mode 100644 index 0000000000..e467c8c459 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPaypal.cs @@ -0,0 +1,114 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsPaypal : StripeEntity + { + /// + /// Two-letter ISO code representing the buyer's country. Values are provided by PayPal + /// directly (if supported) at the time of authorization or settlement. They cannot be set + /// or mutated. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Owner's email. Values are provided by PayPal directly (if supported) at the time of + /// authorization or settlement. They cannot be set or mutated. + /// + [JsonProperty("payer_email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payer_email")] +#endif + public string PayerEmail { get; set; } + + /// + /// PayPal account PayerID. This identifier uniquely identifies the PayPal customer. + /// + [JsonProperty("payer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payer_id")] +#endif + public string PayerId { get; set; } + + /// + /// Owner's full name. Values provided by PayPal directly (if supported) at the time of + /// authorization or settlement. They cannot be set or mutated. + /// + [JsonProperty("payer_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payer_name")] +#endif + public string PayerName { get; set; } + + /// + /// The level of protection offered as defined by PayPal Seller Protection for Merchants, + /// for this transaction. + /// + [JsonProperty("seller_protection")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("seller_protection")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsPaypalSellerProtection SellerProtection { get; set; } + + /// + /// The shipping address for the customer, as supplied by the merchant at the point of + /// payment execution. This shipping address will not be updated if the merchant updates the + /// shipping address on the PaymentIntent after the PaymentIntent was successfully + /// confirmed. + /// + [JsonProperty("shipping")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("shipping")] +#endif + public Address Shipping { get; set; } + + /// + /// A unique ID generated by PayPal for this transaction. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + + /// + /// The shipping address for the customer, as supplied by the merchant at the point of + /// payment execution. This shipping address will not be updated if the merchant updates the + /// shipping address on the PaymentIntent after the PaymentIntent was successfully + /// confirmed. + /// + [JsonProperty("verified_address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_address")] +#endif + public Address VerifiedAddress { get; set; } + + /// + /// Owner's verified email. Values are verified or provided by PayPal directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// + [JsonProperty("verified_email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_email")] +#endif + public string VerifiedEmail { get; set; } + + /// + /// Owner's verified full name. Values are verified or provided by PayPal directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPaypalSellerProtection.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPaypalSellerProtection.cs new file mode 100644 index 0000000000..3d457440a9 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPaypalSellerProtection.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentAttemptRecordPaymentMethodDetailsPaypalSellerProtection : StripeEntity + { + /// + /// An array of conditions that are covered for the transaction, if applicable. + /// One of: fraudulent, or product_not_received. + /// + [JsonProperty("dispute_categories")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("dispute_categories")] +#endif + public List DisputeCategories { get; set; } + + /// + /// Indicates whether the transaction is eligible for PayPal's seller protection. + /// One of: eligible, not_eligible, or partially_eligible. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPayto.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPayto.cs new file mode 100644 index 0000000000..2e245e0052 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPayto.cs @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentAttemptRecordPaymentMethodDetailsPayto : StripeEntity + { + /// + /// Bank-State-Branch number of the bank account. + /// + [JsonProperty("bsb_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bsb_number")] +#endif + public string BsbNumber { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// ID of the mandate used to make this payment. + /// + [JsonProperty("mandate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mandate")] +#endif + public string Mandate { get; set; } + + /// + /// The PayID alias for the bank account. + /// + [JsonProperty("pay_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("pay_id")] +#endif + public string PayId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPix.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPix.cs new file mode 100644 index 0000000000..9102e73990 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPix.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 PaymentAttemptRecordPaymentMethodDetailsPix : StripeEntity + { + /// + /// Unique transaction id generated by BCB. + /// + [JsonProperty("bank_transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_transaction_id")] +#endif + public string BankTransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPromptpay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPromptpay.cs new file mode 100644 index 0000000000..81f9e937d9 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsPromptpay.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 PaymentAttemptRecordPaymentMethodDetailsPromptpay : StripeEntity + { + /// + /// Bill reference generated by PromptPay. + /// + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsQris.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsQris.cs new file mode 100644 index 0000000000..714c55e6de --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsQris.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsQris : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsRechnung.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsRechnung.cs new file mode 100644 index 0000000000..6e7424e126 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsRechnung.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsRechnung : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsRevolutPay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsRevolutPay.cs new file mode 100644 index 0000000000..445b6c5129 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsRevolutPay.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 PaymentAttemptRecordPaymentMethodDetailsRevolutPay : StripeEntity + { + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsRevolutPayFunding Funding { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsRevolutPayFunding.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsRevolutPayFunding.cs new file mode 100644 index 0000000000..f1bbb39b8d --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsRevolutPayFunding.cs @@ -0,0 +1,26 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentAttemptRecordPaymentMethodDetailsRevolutPayFunding : StripeEntity + { + [JsonProperty("card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card")] +#endif + public PaymentAttemptRecordPaymentMethodDetailsRevolutPayFundingCard Card { get; set; } + + /// + /// funding type of the underlying payment method. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsRevolutPayFundingCard.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsRevolutPayFundingCard.cs new file mode 100644 index 0000000000..5244636391 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsRevolutPayFundingCard.cs @@ -0,0 +1,80 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsRevolutPayFundingCard : StripeEntity + { + /// + /// Card brand. Can be amex, diners, discover, eftpos_au, + /// jcb, link, mastercard, unionpay, visa, or + /// unknown. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// The product code that + /// identifies the specific program or product associated with a card. (For internal use + /// only and not typically available in standard API requests.). + /// + [JsonProperty("brand_product")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand_product")] +#endif + public string BrandProduct { get; set; } + + /// + /// 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. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Two-digit number representing the card's expiration month. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long? ExpMonth { get; set; } + + /// + /// Four-digit number representing the card's expiration year. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long? ExpYear { get; set; } + + /// + /// Card funding type. Can be credit, debit, prepaid, or + /// unknown. + /// + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public string Funding { get; set; } + + /// + /// The last four digits of the card. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSamsungPay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSamsungPay.cs new file mode 100644 index 0000000000..ccb4611b58 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSamsungPay.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 PaymentAttemptRecordPaymentMethodDetailsSamsungPay : StripeEntity + { + /// + /// A unique identifier for the buyer as determined by the local payment processor. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSatispay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSatispay.cs new file mode 100644 index 0000000000..55e913f1ea --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSatispay.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsSatispay : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSepaCreditTransfer.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSepaCreditTransfer.cs new file mode 100644 index 0000000000..4c5dd48911 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSepaCreditTransfer.cs @@ -0,0 +1,38 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsSepaCreditTransfer : StripeEntity + { + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Bank Identifier Code of the bank associated with the bank account. + /// + [JsonProperty("bic")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bic")] +#endif + public string Bic { get; set; } + + /// + /// IBAN of the bank account to transfer funds to. + /// + [JsonProperty("iban")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("iban")] +#endif + public string Iban { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSepaDebit.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSepaDebit.cs new file mode 100644 index 0000000000..a20882ee35 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSepaDebit.cs @@ -0,0 +1,69 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsSepaDebit : StripeEntity + { + /// + /// Bank code of bank associated with the bank account. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// Branch code of bank associated with the bank account. + /// + [JsonProperty("branch_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_code")] +#endif + public string BranchCode { get; set; } + + /// + /// Two-letter ISO code representing the country the bank account is located in. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Uniquely identifies this particular bank account. You can use this attribute to check + /// whether two bank accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Last four characters of the IBAN. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// Find the ID of the mandate used for this payment under the payment_method_details.sepa_debit.mandate + /// property on the Charge. Use this mandate ID to retrieve the Mandate. + /// + [JsonProperty("mandate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mandate")] +#endif + public string Mandate { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsShopeepay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsShopeepay.cs new file mode 100644 index 0000000000..fd75002f65 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsShopeepay.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsShopeepay : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSofort.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSofort.cs new file mode 100644 index 0000000000..5f4312090d --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSofort.cs @@ -0,0 +1,164 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class PaymentAttemptRecordPaymentMethodDetailsSofort : StripeEntity + { + /// + /// Bank code of bank associated with the bank account. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Bank Identifier Code of the bank associated with the bank account. + /// + [JsonProperty("bic")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bic")] +#endif + public string Bic { get; set; } + + /// + /// Two-letter ISO code representing the country the bank account is located in. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + #region Expandable GeneratedSepaDebit + + /// + /// (ID of the PaymentMethod) + /// The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GeneratedSepaDebitId + { + get => this.InternalGeneratedSepaDebit?.Id; + set => this.InternalGeneratedSepaDebit = SetExpandableFieldId(value, this.InternalGeneratedSepaDebit); + } + + /// + /// (Expanded) + /// The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public PaymentMethod GeneratedSepaDebit + { + get => this.InternalGeneratedSepaDebit?.ExpandedObject; + set => this.InternalGeneratedSepaDebit = SetExpandableFieldObject(value, this.InternalGeneratedSepaDebit); + } + + [JsonProperty("generated_sepa_debit")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_sepa_debit")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalGeneratedSepaDebit { get; set; } + #endregion + + #region Expandable GeneratedSepaDebitMandate + + /// + /// (ID of the Mandate) + /// The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GeneratedSepaDebitMandateId + { + get => this.InternalGeneratedSepaDebitMandate?.Id; + set => this.InternalGeneratedSepaDebitMandate = SetExpandableFieldId(value, this.InternalGeneratedSepaDebitMandate); + } + + /// + /// (Expanded) + /// The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Mandate GeneratedSepaDebitMandate + { + get => this.InternalGeneratedSepaDebitMandate?.ExpandedObject; + set => this.InternalGeneratedSepaDebitMandate = SetExpandableFieldObject(value, this.InternalGeneratedSepaDebitMandate); + } + + [JsonProperty("generated_sepa_debit_mandate")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_sepa_debit_mandate")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalGeneratedSepaDebitMandate { get; set; } + #endregion + + /// + /// Last four characters of the IBAN. + /// + [JsonProperty("iban_last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("iban_last4")] +#endif + public string IbanLast4 { get; set; } + + /// + /// Preferred language of the SOFORT authorization page that the customer is redirected to. + /// Can be one of de, en, es, fr, it, nl, or + /// pl. + /// One of: de, en, es, fr, it, nl, or pl. + /// + [JsonProperty("preferred_language")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preferred_language")] +#endif + public string PreferredLanguage { get; set; } + + /// + /// Owner's verified full name. Values are verified or provided by SOFORT directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsStripeAccount.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsStripeAccount.cs new file mode 100644 index 0000000000..59386a3e58 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsStripeAccount.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsStripeAccount : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSwish.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSwish.cs new file mode 100644 index 0000000000..ce3d7941cd --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsSwish.cs @@ -0,0 +1,39 @@ +// 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 PaymentAttemptRecordPaymentMethodDetailsSwish : StripeEntity + { + /// + /// Uniquely identifies the payer's Swish account. You can use this attribute to check + /// whether two Swish transactions were paid for by the same payer. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Payer bank reference number for the payment. + /// + [JsonProperty("payment_reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payment_reference")] +#endif + public string PaymentReference { get; set; } + + /// + /// The last four digits of the Swish account phone number. + /// + [JsonProperty("verified_phone_last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_phone_last4")] +#endif + public string VerifiedPhoneLast4 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsTwint.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsTwint.cs new file mode 100644 index 0000000000..f3515f9b34 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsTwint.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsTwint : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsUsBankAccount.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsUsBankAccount.cs new file mode 100644 index 0000000000..7b4d77b791 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsUsBankAccount.cs @@ -0,0 +1,122 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class PaymentAttemptRecordPaymentMethodDetailsUsBankAccount : StripeEntity + { + /// + /// Account holder type: individual or company. + /// One of: company, or individual. + /// + [JsonProperty("account_holder_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_type")] +#endif + public string AccountHolderType { get; set; } + + /// + /// Account type: checkings or savings. Defaults to checking if omitted. + /// One of: checking, or savings. + /// + [JsonProperty("account_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_type")] +#endif + public string AccountType { get; set; } + + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Uniquely identifies this particular bank account. You can use this attribute to check + /// whether two bank accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + #region Expandable Mandate + + /// + /// (ID of the Mandate) + /// ID of the mandate used to make this payment. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string MandateId + { + get => this.InternalMandate?.Id; + set => this.InternalMandate = SetExpandableFieldId(value, this.InternalMandate); + } + + /// + /// (Expanded) + /// ID of the mandate used to make this payment. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Mandate Mandate + { + get => this.InternalMandate?.ExpandedObject; + set => this.InternalMandate = SetExpandableFieldObject(value, this.InternalMandate); + } + + [JsonProperty("mandate")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mandate")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalMandate { get; set; } + #endregion + + /// + /// Reference number to locate ACH payments with customer's bank. + /// + [JsonProperty("payment_reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payment_reference")] +#endif + public string PaymentReference { get; set; } + + /// + /// Routing number of the bank account. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsWechat.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsWechat.cs new file mode 100644 index 0000000000..b61ddd9d1d --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsWechat.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsWechat : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsWechatPay.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsWechatPay.cs new file mode 100644 index 0000000000..585613664d --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsWechatPay.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 PaymentAttemptRecordPaymentMethodDetailsWechatPay : StripeEntity + { + /// + /// Uniquely identifies this particular WeChat Pay account. You can use this attribute to + /// check whether two WeChat accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Transaction ID of this particular WeChat Pay transaction. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsZip.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsZip.cs new file mode 100644 index 0000000000..f946dbdfac --- /dev/null +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsZip.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentAttemptRecordPaymentMethodDetailsZip : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs index d05f897c2e..22c0fdeab7 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs @@ -130,7 +130,7 @@ public Application Application /// /// The amount of the application fee (if any) that will be requested to be applied to the /// payment and transferred to the application owner's Stripe account. The amount of the - /// application fee collected will be capped at the total payment amount. For more + /// application fee collected will be capped at the total amount captured. For more /// information, see the PaymentIntents use case for connected /// accounts. @@ -172,9 +172,11 @@ public Application Application /// /// Reason for cancellation of this PaymentIntent, either user-provided (duplicate, /// fraudulent, requested_by_customer, or abandoned) or generated by - /// Stripe internally (failed_invoice, void_invoice, or automatic). - /// One of: abandoned, automatic, duplicate, failed_invoice, - /// fraudulent, requested_by_customer, or void_invoice. + /// Stripe internally (failed_invoice, void_invoice, automatic, or + /// expired). + /// One of: abandoned, automatic, duplicate, expired, + /// failed_invoice, fraudulent, requested_by_customer, or + /// void_invoice. /// [JsonProperty("cancellation_reason")] #if NET6_0_OR_GREATER @@ -315,47 +317,6 @@ public Customer Customer #endif public string Description { get; set; } - #region Expandable Invoice - - /// - /// (ID of the Invoice) - /// ID of the invoice that created this PaymentIntent, if it exists. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string InvoiceId - { - get => this.InternalInvoice?.Id; - set => this.InternalInvoice = SetExpandableFieldId(value, this.InternalInvoice); - } - - /// - /// (Expanded) - /// ID of the invoice that created this PaymentIntent, if it exists. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public Invoice Invoice - { - get => this.InternalInvoice?.ExpandedObject; - set => this.InternalInvoice = SetExpandableFieldObject(value, this.InternalInvoice); - } - - [JsonProperty("invoice")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("invoice")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalInvoice { get; set; } - #endregion - /// /// The payment error encountered in the previous PaymentIntent confirmation. It will be /// cleared if the PaymentIntent is later updated for any reason. @@ -558,6 +519,8 @@ public PaymentMethod PaymentMethod /// /// The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. + /// A comprehensive list of valid payment method types can be found here. /// [JsonProperty("payment_method_types")] #if NET6_0_OR_GREATER @@ -565,6 +528,12 @@ public PaymentMethod PaymentMethod #endif public List PaymentMethodTypes { get; set; } + [JsonProperty("presentment_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("presentment_details")] +#endif + public PaymentIntentPresentmentDetails PresentmentDetails { get; set; } + /// /// If present, this property tells you about the processing state of the payment. /// diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptions.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptions.cs index 822db2f950..995324432a 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptions.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptions.cs @@ -200,6 +200,12 @@ public class PaymentIntentPaymentMethodOptions : StripeEntity + /// 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 attach the payment method 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 attach the payment method to a + /// Customer after the transaction completes. + /// + /// If the payment method is card_present and isn't a digital wallet, Stripe creates + /// and attaches a generated_card + /// payment method representing the card to the Customer instead. + /// + /// When processing card payments, Stripe uses setup_future_usage to help you comply + /// with regional legislation and network rules, such as SCA. + /// One of: none, or off_session. + /// + [JsonProperty("setup_future_usage")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("setup_future_usage")] +#endif + public string SetupFutureUsage { get; set; } } } diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsNzBankAccount.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsNzBankAccount.cs new file mode 100644 index 0000000000..4c68f295d0 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsNzBankAccount.cs @@ -0,0 +1,49 @@ +// 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 PaymentIntentPaymentMethodOptionsNzBankAccount : StripeEntity + { + /// + /// 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 attach the payment method 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 attach the payment method to a + /// Customer after the transaction completes. + /// + /// If the payment method is card_present and isn't a digital wallet, Stripe creates + /// and attaches a generated_card + /// payment method representing the card to the Customer instead. + /// + /// When processing card payments, Stripe uses setup_future_usage to help you comply + /// with regional legislation and network rules, such as SCA. + /// One of: none, off_session, or on_session. + /// + [JsonProperty("setup_future_usage")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("setup_future_usage")] +#endif + public string SetupFutureUsage { get; set; } + + /// + /// Controls when Stripe will attempt to debit the funds from the customer's account. The + /// date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 + /// and 15 calendar days from now. + /// + [JsonProperty("target_date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("target_date")] +#endif + public string TargetDate { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPresentmentDetails.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPresentmentDetails.cs new file mode 100644 index 0000000000..dc461cb5cb --- /dev/null +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPresentmentDetails.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentIntentPresentmentDetails : StripeEntity + { + /// + /// Amount intended to be collected by this payment, denominated in presentment_currency. + /// + [JsonProperty("presentment_amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("presentment_amount")] +#endif + public long PresentmentAmount { get; set; } + + /// + /// Currency presented to the customer during payment. + /// + [JsonProperty("presentment_currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("presentment_currency")] +#endif + public string PresentmentCurrency { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentLinks/PaymentLink.cs b/src/Stripe.net/Entities/PaymentLinks/PaymentLink.cs index 064d589098..9201d517de 100644 --- a/src/Stripe.net/Entities/PaymentLinks/PaymentLink.cs +++ b/src/Stripe.net/Entities/PaymentLinks/PaymentLink.cs @@ -285,6 +285,15 @@ public Account OnBehalfOf internal ExpandableField InternalOnBehalfOf { get; set; } #endregion + /// + /// The optional items presented to the customer at checkout. + /// + [JsonProperty("optional_items")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("optional_items")] +#endif + public List OptionalItems { get; set; } + /// /// Indicates the parameters to be passed to PaymentIntent creation during checkout. /// @@ -311,13 +320,14 @@ public Account OnBehalfOf /// href="https://dashboard.stripe.com/settings/payment_methods">payment method /// settings. /// One of: affirm, afterpay_clearpay, alipay, alma, - /// au_becs_debit, bacs_debit, bancontact, blik, boleto, - /// card, cashapp, eps, fpx, giropay, gopay, - /// grabpay, ideal, klarna, konbini, link, mb_way, - /// mobilepay, multibanco, oxxo, p24, pay_by_bank, - /// paynow, paypal, payto, pix, promptpay, qris, - /// rechnung, sepa_debit, shopeepay, sofort, swish, - /// twint, us_bank_account, wechat_pay, or zip. + /// au_becs_debit, bacs_debit, bancontact, billie, blik, + /// boleto, card, cashapp, eps, fpx, giropay, + /// gopay, grabpay, ideal, klarna, konbini, link, + /// mb_way, mobilepay, multibanco, oxxo, p24, + /// pay_by_bank, paynow, paypal, payto, pix, + /// promptpay, qris, rechnung, satispay, sepa_debit, + /// shopeepay, sofort, swish, twint, us_bank_account, + /// wechat_pay, or zip. /// [JsonProperty("payment_method_types")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/PaymentLinks/PaymentLinkCustomFieldDropdown.cs b/src/Stripe.net/Entities/PaymentLinks/PaymentLinkCustomFieldDropdown.cs index 3b500bc991..cdbd358759 100644 --- a/src/Stripe.net/Entities/PaymentLinks/PaymentLinkCustomFieldDropdown.cs +++ b/src/Stripe.net/Entities/PaymentLinks/PaymentLinkCustomFieldDropdown.cs @@ -9,6 +9,15 @@ namespace Stripe public class PaymentLinkCustomFieldDropdown : StripeEntity { + /// + /// The value that will pre-fill on the payment page. + /// + [JsonProperty("default_value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("default_value")] +#endif + public string DefaultValue { get; set; } + /// /// The options available for the customer to select. Up to 200 options allowed. /// diff --git a/src/Stripe.net/Entities/PaymentLinks/PaymentLinkCustomFieldNumeric.cs b/src/Stripe.net/Entities/PaymentLinks/PaymentLinkCustomFieldNumeric.cs index e1240d901b..9a5d6255eb 100644 --- a/src/Stripe.net/Entities/PaymentLinks/PaymentLinkCustomFieldNumeric.cs +++ b/src/Stripe.net/Entities/PaymentLinks/PaymentLinkCustomFieldNumeric.cs @@ -8,6 +8,15 @@ namespace Stripe public class PaymentLinkCustomFieldNumeric : StripeEntity { + /// + /// The value that will pre-fill the field on the payment page. + /// + [JsonProperty("default_value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("default_value")] +#endif + public string DefaultValue { get; set; } + /// /// The maximum character length constraint for the customer's input. /// diff --git a/src/Stripe.net/Entities/PaymentLinks/PaymentLinkCustomFieldText.cs b/src/Stripe.net/Entities/PaymentLinks/PaymentLinkCustomFieldText.cs index 83a80e3888..94c0ac3f92 100644 --- a/src/Stripe.net/Entities/PaymentLinks/PaymentLinkCustomFieldText.cs +++ b/src/Stripe.net/Entities/PaymentLinks/PaymentLinkCustomFieldText.cs @@ -8,6 +8,15 @@ namespace Stripe public class PaymentLinkCustomFieldText : StripeEntity { + /// + /// The value that will pre-fill the field on the payment page. + /// + [JsonProperty("default_value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("default_value")] +#endif + public string DefaultValue { get; set; } + /// /// The maximum character length constraint for the customer's input. /// diff --git a/src/Stripe.net/Entities/PaymentLinks/PaymentLinkOptionalItem.cs b/src/Stripe.net/Entities/PaymentLinks/PaymentLinkOptionalItem.cs new file mode 100644 index 0000000000..c4ef47c599 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentLinks/PaymentLinkOptionalItem.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentLinkOptionalItem : StripeEntity + { + [JsonProperty("adjustable_quantity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("adjustable_quantity")] +#endif + public PaymentLinkOptionalItemAdjustableQuantity AdjustableQuantity { get; set; } + + [JsonProperty("price")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] +#endif + public string Price { get; set; } + + [JsonProperty("quantity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("quantity")] +#endif + public long Quantity { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentLinks/PaymentLinkOptionalItemAdjustableQuantity.cs b/src/Stripe.net/Entities/PaymentLinks/PaymentLinkOptionalItemAdjustableQuantity.cs new file mode 100644 index 0000000000..fe8904a680 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentLinks/PaymentLinkOptionalItemAdjustableQuantity.cs @@ -0,0 +1,42 @@ +// 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 PaymentLinkOptionalItemAdjustableQuantity : StripeEntity + { + /// + /// Set to true if the quantity can be adjusted to any non-negative integer. + /// + [JsonProperty("enabled")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("enabled")] +#endif + public bool Enabled { get; set; } + + /// + /// The maximum quantity of this item the customer can purchase. By default this value is + /// 99. + /// + [JsonProperty("maximum")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("maximum")] +#endif + public long? Maximum { get; set; } + + /// + /// The minimum quantity of this item the customer must purchase, if they choose to purchase + /// it. Because this item is optional, the customer will always be able to remove it from + /// their order, even if the minimum configured here is greater than 0. By default + /// this value is 0. + /// + [JsonProperty("minimum")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("minimum")] +#endif + public long? Minimum { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfiguration.cs b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfiguration.cs index b97b528542..5ecd7369da 100644 --- a/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfiguration.cs +++ b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfiguration.cs @@ -134,6 +134,12 @@ public class PaymentMethodConfiguration : StripeEntity + { + /// + /// Whether this payment method may be offered at checkout. True if + /// display_preference is on and the payment method's capability is active. + /// + [JsonProperty("available")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("available")] +#endif + public bool Available { get; set; } + + [JsonProperty("display_preference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_preference")] +#endif + public PaymentMethodConfigurationBillieDisplayPreference DisplayPreference { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationBillieDisplayPreference.cs b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationBillieDisplayPreference.cs new file mode 100644 index 0000000000..4bcc8aaccc --- /dev/null +++ b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationBillieDisplayPreference.cs @@ -0,0 +1,41 @@ +// 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 PaymentMethodConfigurationBillieDisplayPreference : StripeEntity + { + /// + /// For child configs, whether or not the account's preference will be observed. If + /// false, the parent configuration's default is used. + /// + [JsonProperty("overridable")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("overridable")] +#endif + public bool? Overridable { get; set; } + + /// + /// The account's display preference. + /// One of: none, off, or on. + /// + [JsonProperty("preference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preference")] +#endif + public string Preference { get; set; } + + /// + /// The effective display preference value. + /// One of: off, or on. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccount.cs b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccount.cs new file mode 100644 index 0000000000..2c7b79879d --- /dev/null +++ b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccount.cs @@ -0,0 +1,27 @@ +// 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 PaymentMethodConfigurationNzBankAccount : StripeEntity + { + /// + /// Whether this payment method may be offered at checkout. True if + /// display_preference is on and the payment method's capability is active. + /// + [JsonProperty("available")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("available")] +#endif + public bool Available { get; set; } + + [JsonProperty("display_preference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_preference")] +#endif + public PaymentMethodConfigurationNzBankAccountDisplayPreference DisplayPreference { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccountDisplayPreference.cs b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccountDisplayPreference.cs new file mode 100644 index 0000000000..cc974a78b8 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccountDisplayPreference.cs @@ -0,0 +1,41 @@ +// 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 PaymentMethodConfigurationNzBankAccountDisplayPreference : StripeEntity + { + /// + /// For child configs, whether or not the account's preference will be observed. If + /// false, the parent configuration's default is used. + /// + [JsonProperty("overridable")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("overridable")] +#endif + public bool? Overridable { get; set; } + + /// + /// The account's display preference. + /// One of: none, off, or on. + /// + [JsonProperty("preference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preference")] +#endif + public string Preference { get; set; } + + /// + /// The effective display preference value. + /// One of: off, or on. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationSatispay.cs b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationSatispay.cs new file mode 100644 index 0000000000..266f906bd9 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationSatispay.cs @@ -0,0 +1,27 @@ +// 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 PaymentMethodConfigurationSatispay : StripeEntity + { + /// + /// Whether this payment method may be offered at checkout. True if + /// display_preference is on and the payment method's capability is active. + /// + [JsonProperty("available")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("available")] +#endif + public bool Available { get; set; } + + [JsonProperty("display_preference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_preference")] +#endif + public PaymentMethodConfigurationSatispayDisplayPreference DisplayPreference { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationSatispayDisplayPreference.cs b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationSatispayDisplayPreference.cs new file mode 100644 index 0000000000..151838dbf2 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationSatispayDisplayPreference.cs @@ -0,0 +1,41 @@ +// 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 PaymentMethodConfigurationSatispayDisplayPreference : StripeEntity + { + /// + /// For child configs, whether or not the account's preference will be observed. If + /// false, the parent configuration's default is used. + /// + [JsonProperty("overridable")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("overridable")] +#endif + public bool? Overridable { get; set; } + + /// + /// The account's display preference. + /// One of: none, off, or on. + /// + [JsonProperty("preference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preference")] +#endif + public string Preference { get; set; } + + /// + /// The effective display preference value. + /// One of: off, or on. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethod.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethod.cs index 865a0e2982..728e899967 100644 --- a/src/Stripe.net/Entities/PaymentMethods/PaymentMethod.cs +++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethod.cs @@ -109,6 +109,12 @@ public class PaymentMethod : StripeEntity, IHasId, IHasMetadata, #endif public PaymentMethodBancontact Bancontact { get; set; } + [JsonProperty("billie")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billie")] +#endif + public PaymentMethodBillie Billie { get; set; } + [JsonProperty("billing_details")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("billing_details")] @@ -328,6 +334,12 @@ public Customer Customer #endif public PaymentMethodNaverPay NaverPay { get; set; } + [JsonProperty("nz_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nz_bank_account")] +#endif + public PaymentMethodNzBankAccount NzBankAccount { get; set; } + [JsonProperty("oxxo")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("oxxo")] @@ -417,6 +429,12 @@ public Customer Customer #endif public PaymentMethodSamsungPay SamsungPay { get; set; } + [JsonProperty("satispay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("satispay")] +#endif + public PaymentMethodSatispay Satispay { get; set; } + [JsonProperty("sepa_debit")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("sepa_debit")] @@ -453,16 +471,16 @@ public Customer Customer /// PaymentMethod type. /// One of: acss_debit, affirm, afterpay_clearpay, alipay, /// alma, amazon_pay, au_becs_debit, bacs_debit, - /// bancontact, blik, boleto, card, card_present, - /// cashapp, customer_balance, eps, fpx, giropay, - /// gopay, grabpay, id_bank_transfer, ideal, + /// bancontact, billie, blik, boleto, card, + /// card_present, cashapp, customer_balance, eps, fpx, + /// giropay, gopay, grabpay, id_bank_transfer, ideal, /// interac_present, kakao_pay, klarna, konbini, kr_card, /// link, mb_way, mobilepay, multibanco, naver_pay, - /// oxxo, p24, pay_by_bank, payco, paynow, paypal, - /// payto, pix, promptpay, qris, rechnung, - /// revolut_pay, samsung_pay, sepa_debit, shopeepay, - /// sofort, swish, twint, us_bank_account, wechat_pay, or - /// zip. + /// nz_bank_account, oxxo, p24, pay_by_bank, payco, + /// paynow, paypal, payto, pix, promptpay, qris, + /// rechnung, revolut_pay, samsung_pay, satispay, + /// sepa_debit, shopeepay, sofort, swish, twint, + /// us_bank_account, wechat_pay, or zip. /// [JsonProperty("type")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodBillie.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodBillie.cs new file mode 100644 index 0000000000..165dcc8eb5 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodBillie.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentMethodBillie : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodNaverPay.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodNaverPay.cs index 6f2b2c1fc0..352195262a 100644 --- a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodNaverPay.cs +++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodNaverPay.cs @@ -8,6 +8,16 @@ namespace Stripe public class PaymentMethodNaverPay : StripeEntity { + /// + /// Uniquely identifies this particular Naver Pay account. You can use this attribute to + /// check whether two Naver Pay accounts are the same. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + /// /// Whether to fund this transaction with Naver Pay points or a card. /// One of: card, or points. diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodNzBankAccount.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodNzBankAccount.cs new file mode 100644 index 0000000000..435f4ad29d --- /dev/null +++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodNzBankAccount.cs @@ -0,0 +1,66 @@ +// 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 PaymentMethodNzBankAccount : StripeEntity + { + /// + /// The name on the bank account. Only present if the account holder name is different from + /// the name of the authorized signatory collected in the PaymentMethod’s billing details. + /// + [JsonProperty("account_holder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_name")] +#endif + public string AccountHolderName { get; set; } + + /// + /// The numeric code for the bank account's bank. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// The name of the bank. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// The numeric code for the bank account's bank branch. + /// + [JsonProperty("branch_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_code")] +#endif + public string BranchCode { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// The suffix of the bank account number. + /// + [JsonProperty("suffix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("suffix")] +#endif + public string Suffix { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodSatispay.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodSatispay.cs new file mode 100644 index 0000000000..08005bd0d1 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodSatispay.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentMethodSatispay : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs index 201a91d801..e870761892 100644 --- a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs @@ -8,6 +8,78 @@ namespace Stripe public class PaymentRecordPaymentMethodDetails : StripeEntity { + [JsonProperty("ach_credit_transfer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ach_credit_transfer")] +#endif + public PaymentRecordPaymentMethodDetailsAchCreditTransfer AchCreditTransfer { get; set; } + + [JsonProperty("ach_debit")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ach_debit")] +#endif + public PaymentRecordPaymentMethodDetailsAchDebit AchDebit { get; set; } + + [JsonProperty("acss_debit")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("acss_debit")] +#endif + public PaymentRecordPaymentMethodDetailsAcssDebit AcssDebit { get; set; } + + [JsonProperty("affirm")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("affirm")] +#endif + public PaymentRecordPaymentMethodDetailsAffirm Affirm { get; set; } + + [JsonProperty("afterpay_clearpay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("afterpay_clearpay")] +#endif + public PaymentRecordPaymentMethodDetailsAfterpayClearpay AfterpayClearpay { get; set; } + + [JsonProperty("alipay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("alipay")] +#endif + public PaymentRecordPaymentMethodDetailsAlipay Alipay { get; set; } + + [JsonProperty("alma")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("alma")] +#endif + public PaymentRecordPaymentMethodDetailsAlma Alma { get; set; } + + [JsonProperty("amazon_pay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amazon_pay")] +#endif + public PaymentRecordPaymentMethodDetailsAmazonPay AmazonPay { get; set; } + + [JsonProperty("au_becs_debit")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("au_becs_debit")] +#endif + public PaymentRecordPaymentMethodDetailsAuBecsDebit AuBecsDebit { get; set; } + + [JsonProperty("bacs_debit")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bacs_debit")] +#endif + public PaymentRecordPaymentMethodDetailsBacsDebit BacsDebit { get; set; } + + [JsonProperty("bancontact")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bancontact")] +#endif + public PaymentRecordPaymentMethodDetailsBancontact Bancontact { get; set; } + + [JsonProperty("billie")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billie")] +#endif + public PaymentRecordPaymentMethodDetailsBillie Billie { get; set; } + /// /// The billing details associated with the method of payment. /// @@ -17,8 +89,43 @@ public class PaymentRecordPaymentMethodDetails : StripeEntity - /// Information about the custom (user-defined) payment method used to make this payment. + /// Details of the card used for this payment attempt. + /// + [JsonProperty("card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card")] +#endif + public PaymentRecordPaymentMethodDetailsCard Card { get; set; } + + [JsonProperty("card_present")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_present")] +#endif + public PaymentRecordPaymentMethodDetailsCardPresent CardPresent { get; set; } + + [JsonProperty("cashapp")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cashapp")] +#endif + public PaymentRecordPaymentMethodDetailsCashapp Cashapp { get; set; } + + /// + /// Custom Payment Methods represent Payment Method types not modeled directly in the Stripe + /// API. This resource consists of details about the custom payment method used for this + /// payment attempt. /// [JsonProperty("custom")] #if NET6_0_OR_GREATER @@ -26,6 +133,144 @@ public class PaymentRecordPaymentMethodDetails : StripeEntity /// ID of the Stripe PaymentMethod used to make this payment. /// @@ -35,13 +280,144 @@ public class PaymentRecordPaymentMethodDetails : StripeEntity - /// The type of Payment Method used for this payment attempt. + /// The type of transaction-specific details of the payment method used in the payment. See + /// PaymentMethod.type + /// for the full list of possible types. An additional hash is included on + /// payment_method_details with a name matching this value. It contains information + /// specific to the payment method. /// [JsonProperty("type")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("type")] #endif public string Type { get; set; } + + [JsonProperty("us_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("us_bank_account")] +#endif + public PaymentRecordPaymentMethodDetailsUsBankAccount UsBankAccount { get; set; } + + [JsonProperty("wechat")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("wechat")] +#endif + public PaymentRecordPaymentMethodDetailsWechat Wechat { get; set; } + + [JsonProperty("wechat_pay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("wechat_pay")] +#endif + public PaymentRecordPaymentMethodDetailsWechatPay WechatPay { get; set; } + + [JsonProperty("zip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("zip")] +#endif + public PaymentRecordPaymentMethodDetailsZip Zip { get; set; } } } diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAchCreditTransfer.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAchCreditTransfer.cs new file mode 100644 index 0000000000..99f60b5820 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAchCreditTransfer.cs @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentRecordPaymentMethodDetailsAchCreditTransfer : StripeEntity + { + /// + /// Account number to transfer funds to. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// Name of the bank associated with the routing number. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Routing transit number for the bank account to transfer funds to. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + + /// + /// SWIFT code of the bank associated with the routing number. + /// + [JsonProperty("swift_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("swift_code")] +#endif + public string SwiftCode { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAchDebit.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAchDebit.cs new file mode 100644 index 0000000000..efb89567a4 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAchDebit.cs @@ -0,0 +1,68 @@ +// 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 PaymentRecordPaymentMethodDetailsAchDebit : StripeEntity + { + /// + /// Type of entity that holds the account. This can be either individual or + /// company. + /// One of: company, or individual. + /// + [JsonProperty("account_holder_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_type")] +#endif + public string AccountHolderType { get; set; } + + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Two-letter ISO code representing the country the bank account is located in. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Uniquely identifies this particular bank account. You can use this attribute to check + /// whether two bank accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// Routing transit number of the bank account. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAcssDebit.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAcssDebit.cs new file mode 100644 index 0000000000..ca434c17bc --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAcssDebit.cs @@ -0,0 +1,66 @@ +// 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 PaymentRecordPaymentMethodDetailsAcssDebit : StripeEntity + { + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Uniquely identifies this particular bank account. You can use this attribute to check + /// whether two bank accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Institution number of the bank account. + /// + [JsonProperty("institution_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("institution_number")] +#endif + public string InstitutionNumber { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// ID of the mandate used to make this payment. + /// + [JsonProperty("mandate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mandate")] +#endif + public string Mandate { get; set; } + + /// + /// Transit number of the bank account. + /// + [JsonProperty("transit_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transit_number")] +#endif + public string TransitNumber { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAffirm.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAffirm.cs new file mode 100644 index 0000000000..0d6c0c2ca3 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAffirm.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 PaymentRecordPaymentMethodDetailsAffirm : StripeEntity + { + /// + /// The Affirm transaction ID associated with this payment. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAfterpayClearpay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAfterpayClearpay.cs new file mode 100644 index 0000000000..e1c30446be --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAfterpayClearpay.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentRecordPaymentMethodDetailsAfterpayClearpay : StripeEntity + { + /// + /// The Afterpay order ID associated with this payment intent. + /// + [JsonProperty("order_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("order_id")] +#endif + public string OrderId { get; set; } + + /// + /// Order identifier shown to the merchant in Afterpay’s online portal. + /// + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAlipay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAlipay.cs new file mode 100644 index 0000000000..d08602e53b --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAlipay.cs @@ -0,0 +1,40 @@ +// 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 PaymentRecordPaymentMethodDetailsAlipay : StripeEntity + { + /// + /// Uniquely identifies this particular Alipay account. You can use this attribute to check + /// whether two Alipay accounts are the same. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + + /// + /// Uniquely identifies this particular Alipay account. You can use this attribute to check + /// whether two Alipay accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Transaction ID of this particular Alipay transaction. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAlma.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAlma.cs new file mode 100644 index 0000000000..2ec41d24b3 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAlma.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsAlma : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAmazonPay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAmazonPay.cs new file mode 100644 index 0000000000..ba5dabed61 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAmazonPay.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 PaymentRecordPaymentMethodDetailsAmazonPay : StripeEntity + { + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public PaymentRecordPaymentMethodDetailsAmazonPayFunding Funding { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAmazonPayFunding.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAmazonPayFunding.cs new file mode 100644 index 0000000000..c318a8ffe6 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAmazonPayFunding.cs @@ -0,0 +1,26 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentRecordPaymentMethodDetailsAmazonPayFunding : StripeEntity + { + [JsonProperty("card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card")] +#endif + public PaymentRecordPaymentMethodDetailsAmazonPayFundingCard Card { get; set; } + + /// + /// funding type of the underlying payment method. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAmazonPayFundingCard.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAmazonPayFundingCard.cs new file mode 100644 index 0000000000..2f5810d437 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAmazonPayFundingCard.cs @@ -0,0 +1,80 @@ +// 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 PaymentRecordPaymentMethodDetailsAmazonPayFundingCard : StripeEntity + { + /// + /// Card brand. Can be amex, diners, discover, eftpos_au, + /// jcb, link, mastercard, unionpay, visa, or + /// unknown. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// The product code that + /// identifies the specific program or product associated with a card. (For internal use + /// only and not typically available in standard API requests.). + /// + [JsonProperty("brand_product")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand_product")] +#endif + public string BrandProduct { get; set; } + + /// + /// 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. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Two-digit number representing the card's expiration month. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long? ExpMonth { get; set; } + + /// + /// Four-digit number representing the card's expiration year. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long? ExpYear { get; set; } + + /// + /// Card funding type. Can be credit, debit, prepaid, or + /// unknown. + /// + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public string Funding { get; set; } + + /// + /// The last four digits of the card. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAuBecsDebit.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAuBecsDebit.cs new file mode 100644 index 0000000000..95b26055d9 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsAuBecsDebit.cs @@ -0,0 +1,48 @@ +// 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 PaymentRecordPaymentMethodDetailsAuBecsDebit : StripeEntity + { + /// + /// Bank-State-Branch number of the bank account. + /// + [JsonProperty("bsb_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bsb_number")] +#endif + public string BsbNumber { get; set; } + + /// + /// Uniquely identifies this particular bank account. You can use this attribute to check + /// whether two bank accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// ID of the mandate used to make this payment. + /// + [JsonProperty("mandate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mandate")] +#endif + public string Mandate { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBacsDebit.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBacsDebit.cs new file mode 100644 index 0000000000..e54a9497ba --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBacsDebit.cs @@ -0,0 +1,48 @@ +// 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 PaymentRecordPaymentMethodDetailsBacsDebit : StripeEntity + { + /// + /// Uniquely identifies this particular bank account. You can use this attribute to check + /// whether two bank accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// ID of the mandate used to make this payment. + /// + [JsonProperty("mandate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mandate")] +#endif + public string Mandate { get; set; } + + /// + /// Sort code of the bank account. (e.g., 10-20-30). + /// + [JsonProperty("sort_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sort_code")] +#endif + public string SortCode { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBancontact.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBancontact.cs new file mode 100644 index 0000000000..cb77ac39d1 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBancontact.cs @@ -0,0 +1,154 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class PaymentRecordPaymentMethodDetailsBancontact : StripeEntity + { + /// + /// Bank code of bank associated with the bank account. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Bank Identifier Code of the bank associated with the bank account. + /// + [JsonProperty("bic")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bic")] +#endif + public string Bic { get; set; } + + #region Expandable GeneratedSepaDebit + + /// + /// (ID of the PaymentMethod) + /// The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GeneratedSepaDebitId + { + get => this.InternalGeneratedSepaDebit?.Id; + set => this.InternalGeneratedSepaDebit = SetExpandableFieldId(value, this.InternalGeneratedSepaDebit); + } + + /// + /// (Expanded) + /// The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public PaymentMethod GeneratedSepaDebit + { + get => this.InternalGeneratedSepaDebit?.ExpandedObject; + set => this.InternalGeneratedSepaDebit = SetExpandableFieldObject(value, this.InternalGeneratedSepaDebit); + } + + [JsonProperty("generated_sepa_debit")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_sepa_debit")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalGeneratedSepaDebit { get; set; } + #endregion + + #region Expandable GeneratedSepaDebitMandate + + /// + /// (ID of the Mandate) + /// The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GeneratedSepaDebitMandateId + { + get => this.InternalGeneratedSepaDebitMandate?.Id; + set => this.InternalGeneratedSepaDebitMandate = SetExpandableFieldId(value, this.InternalGeneratedSepaDebitMandate); + } + + /// + /// (Expanded) + /// The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Mandate GeneratedSepaDebitMandate + { + get => this.InternalGeneratedSepaDebitMandate?.ExpandedObject; + set => this.InternalGeneratedSepaDebitMandate = SetExpandableFieldObject(value, this.InternalGeneratedSepaDebitMandate); + } + + [JsonProperty("generated_sepa_debit_mandate")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_sepa_debit_mandate")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalGeneratedSepaDebitMandate { get; set; } + #endregion + + /// + /// Last four characters of the IBAN. + /// + [JsonProperty("iban_last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("iban_last4")] +#endif + public string IbanLast4 { get; set; } + + /// + /// Preferred language of the Bancontact authorization page that the customer is redirected + /// to. Can be one of en, de, fr, or nl. + /// One of: de, en, fr, or nl. + /// + [JsonProperty("preferred_language")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preferred_language")] +#endif + public string PreferredLanguage { get; set; } + + /// + /// Owner's verified full name. Values are verified or provided by Bancontact directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBillie.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBillie.cs new file mode 100644 index 0000000000..a118f5ed39 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBillie.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsBillie : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBlik.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBlik.cs new file mode 100644 index 0000000000..fbfbb8fdcd --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBlik.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 PaymentRecordPaymentMethodDetailsBlik : StripeEntity + { + /// + /// A unique and immutable identifier assigned by BLIK to every buyer. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBoleto.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBoleto.cs new file mode 100644 index 0000000000..d4f4c36823 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsBoleto.cs @@ -0,0 +1,21 @@ +// 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 PaymentRecordPaymentMethodDetailsBoleto : StripeEntity + { + /// + /// The tax ID of the customer (CPF for individuals consumers or CNPJ for businesses + /// consumers). + /// + [JsonProperty("tax_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_id")] +#endif + public string TaxId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCard.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCard.cs new file mode 100644 index 0000000000..8174517c14 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCard.cs @@ -0,0 +1,166 @@ +// 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 PaymentRecordPaymentMethodDetailsCard : StripeEntity + { + /// + /// Card brand. Can be amex, diners, discover, eftpos_au, + /// jcb, link, mastercard, unionpay, visa, or + /// unknown. + /// One of: amex, cartes_bancaires, diners, discover, + /// eftpos_au, interac, jcb, link, mastercard, + /// unionpay, unknown, or visa. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// When using manual capture, a future timestamp at which the charge will be automatically + /// refunded if uncaptured. + /// + [JsonProperty("capture_before")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capture_before")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime CaptureBefore { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Check results by Card networks on Card address and CVC at time of payment. + /// + [JsonProperty("checks")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("checks")] +#endif + public PaymentRecordPaymentMethodDetailsCardChecks Checks { get; set; } + + /// + /// 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. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Two-digit number representing the card's expiration month. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long ExpMonth { get; set; } + + /// + /// Four-digit number representing the card's expiration year. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long ExpYear { get; set; } + + /// + /// Uniquely identifies this particular card number. You can use this attribute to check + /// whether two customers who’ve signed up with you are using the same card number, for + /// example. For payment methods that tokenize card information (Apple Pay, Google Pay), the + /// tokenized number might be provided instead of the underlying card number. + /// + /// As of May 1, 2021, card fingerprint in India for Connect changed to allow two + /// fingerprints for the same card---one for India and one for the rest of the world.. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Card funding type. Can be credit, debit, prepaid, or + /// unknown. + /// One of: credit, debit, prepaid, or unknown. + /// + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public string Funding { get; set; } + + /// + /// The last four digits of the card. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// True if this payment was marked as MOTO and out of scope for SCA. + /// + [JsonProperty("moto")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("moto")] +#endif + public bool Moto { get; set; } + + /// + /// Identifies which network this charge was processed on. Can be amex, + /// cartes_bancaires, diners, discover, eftpos_au, + /// interac, jcb, link, mastercard, unionpay, + /// visa, or unknown. + /// One of: amex, cartes_bancaires, diners, discover, + /// eftpos_au, interac, jcb, link, mastercard, + /// unionpay, unknown, or visa. + /// + [JsonProperty("network")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network")] +#endif + public string Network { get; set; } + + /// + /// If this card has network token credentials, this contains the details of the network + /// token credentials. + /// + [JsonProperty("network_token")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network_token")] +#endif + public PaymentRecordPaymentMethodDetailsCardNetworkToken NetworkToken { get; set; } + + /// + /// This is used by the financial networks to identify a transaction. Visa calls this the + /// Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the + /// Acquirer Reference Data. This value will be present if it is returned by the financial + /// network in the authorization response, and null otherwise. + /// + [JsonProperty("network_transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network_transaction_id")] +#endif + public string NetworkTransactionId { get; set; } + + /// + /// Populated if this transaction used 3D Secure authentication. + /// + [JsonProperty("three_d_secure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("three_d_secure")] +#endif + public PaymentRecordPaymentMethodDetailsCardThreeDSecure ThreeDSecure { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardChecks.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardChecks.cs new file mode 100644 index 0000000000..27f6964fcf --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardChecks.cs @@ -0,0 +1,38 @@ +// 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 PaymentRecordPaymentMethodDetailsCardChecks : StripeEntity + { + /// + /// One of: fail, pass, unavailable, or unchecked. + /// + [JsonProperty("address_line1_check")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address_line1_check")] +#endif + public string AddressLine1Check { get; set; } + + /// + /// One of: fail, pass, unavailable, or unchecked. + /// + [JsonProperty("address_postal_code_check")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address_postal_code_check")] +#endif + public string AddressPostalCodeCheck { get; set; } + + /// + /// One of: fail, pass, unavailable, or unchecked. + /// + [JsonProperty("cvc_check")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cvc_check")] +#endif + public string CvcCheck { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardNetworkToken.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardNetworkToken.cs new file mode 100644 index 0000000000..07b6eff630 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardNetworkToken.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 PaymentRecordPaymentMethodDetailsCardNetworkToken : StripeEntity + { + [JsonProperty("used")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("used")] +#endif + public bool Used { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardPresent.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardPresent.cs new file mode 100644 index 0000000000..dff63b447a --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardPresent.cs @@ -0,0 +1,271 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + 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 PaymentRecordPaymentMethodDetailsCardPresent : StripeEntity + { + /// + /// The authorized amount. + /// + [JsonProperty("amount_authorized")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount_authorized")] +#endif + public long? AmountAuthorized { get; set; } + + /// + /// Card brand. Can be amex, diners, discover, eftpos_au, + /// jcb, link, mastercard, unionpay, visa, or + /// unknown. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// The product code that + /// identifies the specific program or product associated with a card. + /// + [JsonProperty("brand_product")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand_product")] +#endif + public string BrandProduct { get; set; } + + /// + /// When using manual capture, a future timestamp after which the charge will be + /// automatically refunded if uncaptured. + /// + [JsonProperty("capture_before")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capture_before")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime CaptureBefore { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// The cardholder name as read from the card, in ISO 7813 format. May include + /// alphanumeric characters, special characters and first/last name separator (/). In + /// some cases, the cardholder name may not be available depending on how the issuer has + /// configured the card. Cardholder name is typically not available on swipe or contactless + /// payments, such as those made with Apple Pay and Google Pay. + /// + [JsonProperty("cardholder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cardholder_name")] +#endif + public string CardholderName { get; set; } + + /// + /// 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. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// A high-level description of the type of cards issued in this range. (For internal use + /// only and not typically available in standard API requests.). + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// Authorization response cryptogram. + /// + [JsonProperty("emv_auth_data")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("emv_auth_data")] +#endif + public string EmvAuthData { get; set; } + + /// + /// Two-digit number representing the card's expiration month. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long ExpMonth { get; set; } + + /// + /// Four-digit number representing the card's expiration year. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long ExpYear { get; set; } + + /// + /// Uniquely identifies this particular card number. You can use this attribute to check + /// whether two customers who’ve signed up with you are using the same card number, for + /// example. For payment methods that tokenize card information (Apple Pay, Google Pay), the + /// tokenized number might be provided instead of the underlying card number. + /// + /// As of May 1, 2021, card fingerprint in India for Connect changed to allow two + /// fingerprints for the same card---one for India and one for the rest of the world.. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Card funding type. Can be credit, debit, prepaid, or + /// unknown. + /// + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public string Funding { get; set; } + + /// + /// ID of a card PaymentMethod generated from the card_present PaymentMethod that may be + /// attached to a Customer for future transactions. Only present if it was possible to + /// generate a card PaymentMethod. + /// + [JsonProperty("generated_card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_card")] +#endif + public string GeneratedCard { get; set; } + + /// + /// Issuer identification number of the card. (For internal use only and not typically + /// available in standard API requests.). + /// + [JsonProperty("iin")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("iin")] +#endif + public string Iin { get; set; } + + /// + /// Whether this PaymentIntent is + /// eligible for incremental authorizations. Request support using request_incremental_authorization_support. + /// + [JsonProperty("incremental_authorization_supported")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("incremental_authorization_supported")] +#endif + public bool IncrementalAuthorizationSupported { get; set; } + + /// + /// The name of the card's issuing bank. (For internal use only and not typically available + /// in standard API requests.). + /// + [JsonProperty("issuer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("issuer")] +#endif + public string Issuer { get; set; } + + /// + /// The last four digits of the card. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// Identifies which network this charge was processed on. Can be amex, + /// cartes_bancaires, diners, discover, eftpos_au, + /// interac, jcb, link, mastercard, unionpay, + /// visa, or unknown. + /// + [JsonProperty("network")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network")] +#endif + public string Network { get; set; } + + /// + /// This is used by the financial networks to identify a transaction. Visa calls this the + /// Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the + /// Acquirer Reference Data. This value will be present if it is returned by the financial + /// network in the authorization response, and null otherwise. + /// + [JsonProperty("network_transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network_transaction_id")] +#endif + public string NetworkTransactionId { get; set; } + + /// + /// Details about payments collected offline. + /// + [JsonProperty("offline")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("offline")] +#endif + public PaymentRecordPaymentMethodDetailsCardPresentOffline Offline { get; set; } + + /// + /// Defines whether the authorized amount can be over-captured or not. + /// + [JsonProperty("overcapture_supported")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("overcapture_supported")] +#endif + public bool OvercaptureSupported { get; set; } + + /// + /// EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. + /// + [JsonProperty("preferred_locales")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preferred_locales")] +#endif + public List PreferredLocales { get; set; } + + /// + /// How card details were read in this transaction. + /// One of: contact_emv, contactless_emv, contactless_magstripe_mode, + /// magnetic_stripe_fallback, or magnetic_stripe_track2. + /// + [JsonProperty("read_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("read_method")] +#endif + public string ReadMethod { get; set; } + + /// + /// A collection of fields required to be displayed on receipts. Only required for EMV + /// transactions. + /// + [JsonProperty("receipt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("receipt")] +#endif + public PaymentRecordPaymentMethodDetailsCardPresentReceipt Receipt { get; set; } + + [JsonProperty("wallet")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("wallet")] +#endif + public PaymentRecordPaymentMethodDetailsCardPresentWallet Wallet { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardPresentOffline.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardPresentOffline.cs new file mode 100644 index 0000000000..54129ab8cb --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardPresentOffline.cs @@ -0,0 +1,33 @@ +// 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 PaymentRecordPaymentMethodDetailsCardPresentOffline : StripeEntity + { + /// + /// Time at which the payment was collected while offline. + /// + [JsonProperty("stored_at")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("stored_at")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime? StoredAt { get; set; } + + /// + /// The method used to process this payment method offline. Only deferred is allowed. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardPresentReceipt.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardPresentReceipt.cs new file mode 100644 index 0000000000..5663517ece --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardPresentReceipt.cs @@ -0,0 +1,95 @@ +// 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 PaymentRecordPaymentMethodDetailsCardPresentReceipt : StripeEntity + { + /// + /// The type of account being debited or credited. + /// One of: checking, credit, prepaid, or unknown. + /// + [JsonProperty("account_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_type")] +#endif + public string AccountType { get; set; } + + /// + /// EMV tag 9F26, cryptogram generated by the integrated circuit chip. + /// + [JsonProperty("application_cryptogram")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("application_cryptogram")] +#endif + public string ApplicationCryptogram { get; set; } + + /// + /// Mnenomic of the Application Identifier. + /// + [JsonProperty("application_preferred_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("application_preferred_name")] +#endif + public string ApplicationPreferredName { get; set; } + + /// + /// Identifier for this transaction. + /// + [JsonProperty("authorization_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("authorization_code")] +#endif + public string AuthorizationCode { get; set; } + + /// + /// EMV tag 8A. A code returned by the card issuer. + /// + [JsonProperty("authorization_response_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("authorization_response_code")] +#endif + public string AuthorizationResponseCode { get; set; } + + /// + /// Describes the method used by the cardholder to verify ownership of the card. One of the + /// following: approval, failure, none, offline_pin, + /// offline_pin_and_signature, online_pin, or signature. + /// + [JsonProperty("cardholder_verification_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cardholder_verification_method")] +#endif + public string CardholderVerificationMethod { get; set; } + + /// + /// EMV tag 84. Similar to the application identifier stored on the integrated circuit chip. + /// + [JsonProperty("dedicated_file_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("dedicated_file_name")] +#endif + public string DedicatedFileName { get; set; } + + /// + /// The outcome of a series of EMV functions performed by the card reader. + /// + [JsonProperty("terminal_verification_results")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("terminal_verification_results")] +#endif + public string TerminalVerificationResults { get; set; } + + /// + /// An indication of various EMV functions performed during the transaction. + /// + [JsonProperty("transaction_status_information")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_status_information")] +#endif + public string TransactionStatusInformation { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardPresentWallet.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardPresentWallet.cs new file mode 100644 index 0000000000..7461602906 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardPresentWallet.cs @@ -0,0 +1,22 @@ +// 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 PaymentRecordPaymentMethodDetailsCardPresentWallet : StripeEntity + { + /// + /// The type of mobile wallet, one of apple_pay, google_pay, + /// samsung_pay, or unknown. + /// One of: apple_pay, google_pay, samsung_pay, or unknown. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardThreeDSecure.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardThreeDSecure.cs new file mode 100644 index 0000000000..0aaf45b173 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCardThreeDSecure.cs @@ -0,0 +1,49 @@ +// 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 PaymentRecordPaymentMethodDetailsCardThreeDSecure : StripeEntity + { + /// + /// One of: challenge, or frictionless. + /// + [JsonProperty("authentication_flow")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("authentication_flow")] +#endif + public string AuthenticationFlow { get; set; } + + /// + /// One of: attempt_acknowledged, authenticated, exempted, + /// failed, not_supported, or processing_error. + /// + [JsonProperty("result")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("result")] +#endif + public string Result { get; set; } + + /// + /// One of: abandoned, bypassed, canceled, card_not_enrolled, + /// network_not_supported, protocol_error, or rejected. + /// + [JsonProperty("result_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("result_reason")] +#endif + public string ResultReason { get; set; } + + /// + /// One of: 1.0.2, 2.1.0, or 2.2.0. + /// + [JsonProperty("version")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("version")] +#endif + public string Version { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCashapp.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCashapp.cs new file mode 100644 index 0000000000..1f4bb1ae81 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCashapp.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentRecordPaymentMethodDetailsCashapp : StripeEntity + { + /// + /// A unique and immutable identifier assigned by Cash App to every buyer. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + + /// + /// A public identifier for buyers using Cash App. + /// + [JsonProperty("cashtag")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cashtag")] +#endif + public string Cashtag { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCustomerBalance.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCustomerBalance.cs new file mode 100644 index 0000000000..5027cce204 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsCustomerBalance.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsCustomerBalance : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsEps.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsEps.cs new file mode 100644 index 0000000000..01a6ea305d --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsEps.cs @@ -0,0 +1,57 @@ +// 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 PaymentRecordPaymentMethodDetailsEps : StripeEntity + { + /// + /// The customer's bank. Should be one of arzte_und_apotheker_bank, + /// austrian_anadi_bank_ag, bank_austria, bankhaus_carl_spangler, + /// bankhaus_schelhammer_und_schattera_ag, bawag_psk_ag, bks_bank_ag, + /// brull_kallmus_bank_ag, btv_vier_lander_bank, + /// capital_bank_grawe_gruppe_ag, deutsche_bank_ag, dolomitenbank, + /// easybank_ag, erste_bank_und_sparkassen, + /// hypo_alpeadriabank_international_ag, + /// hypo_noe_lb_fur_niederosterreich_u_wien, + /// hypo_oberosterreich_salzburg_steiermark, hypo_tirol_bank_ag, + /// hypo_vorarlberg_bank_ag, hypo_bank_burgenland_aktiengesellschaft, + /// marchfelder_bank, oberbank_ag, raiffeisen_bankengruppe_osterreich, + /// schoellerbank_ag, sparda_bank_wien, volksbank_gruppe, + /// volkskreditbank_ag, or vr_bank_braunau. + /// One of: arzte_und_apotheker_bank, austrian_anadi_bank_ag, + /// bank_austria, bankhaus_carl_spangler, + /// bankhaus_schelhammer_und_schattera_ag, bawag_psk_ag, bks_bank_ag, + /// brull_kallmus_bank_ag, btv_vier_lander_bank, + /// capital_bank_grawe_gruppe_ag, deutsche_bank_ag, dolomitenbank, + /// easybank_ag, erste_bank_und_sparkassen, + /// hypo_alpeadriabank_international_ag, + /// hypo_bank_burgenland_aktiengesellschaft, + /// hypo_noe_lb_fur_niederosterreich_u_wien, + /// hypo_oberosterreich_salzburg_steiermark, hypo_tirol_bank_ag, + /// hypo_vorarlberg_bank_ag, marchfelder_bank, oberbank_ag, + /// raiffeisen_bankengruppe_osterreich, schoellerbank_ag, + /// sparda_bank_wien, volksbank_gruppe, volkskreditbank_ag, or + /// vr_bank_braunau. + /// + [JsonProperty("bank")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank")] +#endif + public string Bank { get; set; } + + /// + /// Owner's verified full name. Values are verified or provided by EPS directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// EPS rarely provides this information so the attribute is usually empty. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsFpx.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsFpx.cs new file mode 100644 index 0000000000..11ebee2469 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsFpx.cs @@ -0,0 +1,49 @@ +// 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 PaymentRecordPaymentMethodDetailsFpx : StripeEntity + { + /// + /// Account holder type, if provided. Can be one of individual or company. + /// One of: company, or individual. + /// + [JsonProperty("account_holder_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_type")] +#endif + public string AccountHolderType { get; set; } + + /// + /// The customer's bank. Can be one of affin_bank, agrobank, + /// alliance_bank, ambank, bank_islam, bank_muamalat, + /// bank_rakyat, bsn, cimb, hong_leong_bank, hsbc, + /// kfh, maybank2u, ocbc, public_bank, rhb, + /// standard_chartered, uob, deutsche_bank, maybank2e, + /// pb_enterprise, or bank_of_china. + /// One of: affin_bank, agrobank, alliance_bank, ambank, + /// bank_islam, bank_muamalat, bank_of_china, bank_rakyat, + /// bsn, cimb, deutsche_bank, hong_leong_bank, hsbc, + /// kfh, maybank2e, maybank2u, ocbc, pb_enterprise, + /// public_bank, rhb, standard_chartered, or uob. + /// + [JsonProperty("bank")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank")] +#endif + public string Bank { get; set; } + + /// + /// Unique transaction id generated by FPX for every request from the merchant. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsGiropay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsGiropay.cs new file mode 100644 index 0000000000..c2451537eb --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsGiropay.cs @@ -0,0 +1,49 @@ +// 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 PaymentRecordPaymentMethodDetailsGiropay : StripeEntity + { + /// + /// Bank code of bank associated with the bank account. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Bank Identifier Code of the bank associated with the bank account. + /// + [JsonProperty("bic")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bic")] +#endif + public string Bic { get; set; } + + /// + /// Owner's verified full name. Values are verified or provided by Giropay directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// Giropay rarely provides this information so the attribute is usually empty. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsGopay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsGopay.cs new file mode 100644 index 0000000000..1998c6b714 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsGopay.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsGopay : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsGrabpay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsGrabpay.cs new file mode 100644 index 0000000000..06dfdefd16 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsGrabpay.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 PaymentRecordPaymentMethodDetailsGrabpay : StripeEntity + { + /// + /// Unique transaction id generated by GrabPay. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdBankTransfer.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdBankTransfer.cs new file mode 100644 index 0000000000..c88be241d7 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdBankTransfer.cs @@ -0,0 +1,58 @@ +// 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 PaymentRecordPaymentMethodDetailsIdBankTransfer : StripeEntity + { + /// + /// Account number of the bank account to transfer funds to. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// Bank where the account is located. + /// One of: bca, bni, bri, cimb, or permata. + /// + [JsonProperty("bank")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank")] +#endif + public string Bank { get; set; } + + /// + /// Local bank code of the bank. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Merchant name and billing details name, for the customer to check for the correct + /// merchant when performing the bank transfer. + /// + [JsonProperty("display_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_name")] +#endif + public string DisplayName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdeal.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdeal.cs new file mode 100644 index 0000000000..fd56718d10 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsIdeal.cs @@ -0,0 +1,145 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class PaymentRecordPaymentMethodDetailsIdeal : StripeEntity + { + /// + /// The customer's bank. Can be one of abn_amro, asn_bank, bunq, + /// handelsbanken, ing, knab, moneyou, n26, nn, + /// rabobank, regiobank, revolut, sns_bank, triodos_bank, + /// van_lanschot, or yoursafe. + /// One of: abn_amro, asn_bank, bunq, handelsbanken, ing, + /// knab, moneyou, n26, nn, rabobank, regiobank, + /// revolut, sns_bank, triodos_bank, van_lanschot, or + /// yoursafe. + /// + [JsonProperty("bank")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank")] +#endif + public string Bank { get; set; } + + /// + /// The Bank Identifier Code of the customer's bank. + /// One of: ABNANL2A, ASNBNL21, BITSNL2A, BUNQNL2A, + /// FVLBNL22, HANDNL2A, INGBNL2A, KNABNL2H, MOYONL21, + /// NNBANL2G, NTSBDEB1, RABONL2U, RBRBNL21, REVOIE23, + /// REVOLT21, SNSBNL2A, or TRIONL2U. + /// + [JsonProperty("bic")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bic")] +#endif + public string Bic { get; set; } + + #region Expandable GeneratedSepaDebit + + /// + /// (ID of the PaymentMethod) + /// The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GeneratedSepaDebitId + { + get => this.InternalGeneratedSepaDebit?.Id; + set => this.InternalGeneratedSepaDebit = SetExpandableFieldId(value, this.InternalGeneratedSepaDebit); + } + + /// + /// (Expanded) + /// The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public PaymentMethod GeneratedSepaDebit + { + get => this.InternalGeneratedSepaDebit?.ExpandedObject; + set => this.InternalGeneratedSepaDebit = SetExpandableFieldObject(value, this.InternalGeneratedSepaDebit); + } + + [JsonProperty("generated_sepa_debit")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_sepa_debit")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalGeneratedSepaDebit { get; set; } + #endregion + + #region Expandable GeneratedSepaDebitMandate + + /// + /// (ID of the Mandate) + /// The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GeneratedSepaDebitMandateId + { + get => this.InternalGeneratedSepaDebitMandate?.Id; + set => this.InternalGeneratedSepaDebitMandate = SetExpandableFieldId(value, this.InternalGeneratedSepaDebitMandate); + } + + /// + /// (Expanded) + /// The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Mandate GeneratedSepaDebitMandate + { + get => this.InternalGeneratedSepaDebitMandate?.ExpandedObject; + set => this.InternalGeneratedSepaDebitMandate = SetExpandableFieldObject(value, this.InternalGeneratedSepaDebitMandate); + } + + [JsonProperty("generated_sepa_debit_mandate")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_sepa_debit_mandate")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalGeneratedSepaDebitMandate { get; set; } + #endregion + + /// + /// Last four characters of the IBAN. + /// + [JsonProperty("iban_last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("iban_last4")] +#endif + public string IbanLast4 { 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. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsInteracPresent.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsInteracPresent.cs new file mode 100644 index 0000000000..9ec0997123 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsInteracPresent.cs @@ -0,0 +1,201 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentRecordPaymentMethodDetailsInteracPresent : StripeEntity + { + /// + /// Card brand. Can be interac, mastercard or visa. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// The cardholder name as read from the card, in ISO 7813 format. May include + /// alphanumeric characters, special characters and first/last name separator (/). In + /// some cases, the cardholder name may not be available depending on how the issuer has + /// configured the card. Cardholder name is typically not available on swipe or contactless + /// payments, such as those made with Apple Pay and Google Pay. + /// + [JsonProperty("cardholder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cardholder_name")] +#endif + public string CardholderName { get; set; } + + /// + /// 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. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// A high-level description of the type of cards issued in this range. (For internal use + /// only and not typically available in standard API requests.). + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// Authorization response cryptogram. + /// + [JsonProperty("emv_auth_data")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("emv_auth_data")] +#endif + public string EmvAuthData { get; set; } + + /// + /// Two-digit number representing the card's expiration month. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long ExpMonth { get; set; } + + /// + /// Four-digit number representing the card's expiration year. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long ExpYear { get; set; } + + /// + /// Uniquely identifies this particular card number. You can use this attribute to check + /// whether two customers who’ve signed up with you are using the same card number, for + /// example. For payment methods that tokenize card information (Apple Pay, Google Pay), the + /// tokenized number might be provided instead of the underlying card number. + /// + /// As of May 1, 2021, card fingerprint in India for Connect changed to allow two + /// fingerprints for the same card---one for India and one for the rest of the world.. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Card funding type. Can be credit, debit, prepaid, or + /// unknown. + /// + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public string Funding { get; set; } + + /// + /// ID of a card PaymentMethod generated from the card_present PaymentMethod that may be + /// attached to a Customer for future transactions. Only present if it was possible to + /// generate a card PaymentMethod. + /// + [JsonProperty("generated_card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_card")] +#endif + public string GeneratedCard { get; set; } + + /// + /// Issuer identification number of the card. (For internal use only and not typically + /// available in standard API requests.). + /// + [JsonProperty("iin")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("iin")] +#endif + public string Iin { get; set; } + + /// + /// The name of the card's issuing bank. (For internal use only and not typically available + /// in standard API requests.). + /// + [JsonProperty("issuer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("issuer")] +#endif + public string Issuer { get; set; } + + /// + /// The last four digits of the card. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// Identifies which network this charge was processed on. Can be amex, + /// cartes_bancaires, diners, discover, eftpos_au, + /// interac, jcb, link, mastercard, unionpay, + /// visa, or unknown. + /// + [JsonProperty("network")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network")] +#endif + public string Network { get; set; } + + /// + /// This is used by the financial networks to identify a transaction. Visa calls this the + /// Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the + /// Acquirer Reference Data. This value will be present if it is returned by the financial + /// network in the authorization response, and null otherwise. + /// + [JsonProperty("network_transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network_transaction_id")] +#endif + public string NetworkTransactionId { get; set; } + + /// + /// EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. + /// + [JsonProperty("preferred_locales")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preferred_locales")] +#endif + public List PreferredLocales { get; set; } + + /// + /// How card details were read in this transaction. + /// One of: contact_emv, contactless_emv, contactless_magstripe_mode, + /// magnetic_stripe_fallback, or magnetic_stripe_track2. + /// + [JsonProperty("read_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("read_method")] +#endif + public string ReadMethod { get; set; } + + /// + /// A collection of fields required to be displayed on receipts. Only required for EMV + /// transactions. + /// + [JsonProperty("receipt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("receipt")] +#endif + public PaymentRecordPaymentMethodDetailsInteracPresentReceipt Receipt { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsInteracPresentReceipt.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsInteracPresentReceipt.cs new file mode 100644 index 0000000000..291a60eb45 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsInteracPresentReceipt.cs @@ -0,0 +1,95 @@ +// 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 PaymentRecordPaymentMethodDetailsInteracPresentReceipt : StripeEntity + { + /// + /// The type of account being debited or credited. + /// One of: checking, savings, or unknown. + /// + [JsonProperty("account_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_type")] +#endif + public string AccountType { get; set; } + + /// + /// EMV tag 9F26, cryptogram generated by the integrated circuit chip. + /// + [JsonProperty("application_cryptogram")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("application_cryptogram")] +#endif + public string ApplicationCryptogram { get; set; } + + /// + /// Mnenomic of the Application Identifier. + /// + [JsonProperty("application_preferred_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("application_preferred_name")] +#endif + public string ApplicationPreferredName { get; set; } + + /// + /// Identifier for this transaction. + /// + [JsonProperty("authorization_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("authorization_code")] +#endif + public string AuthorizationCode { get; set; } + + /// + /// EMV tag 8A. A code returned by the card issuer. + /// + [JsonProperty("authorization_response_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("authorization_response_code")] +#endif + public string AuthorizationResponseCode { get; set; } + + /// + /// Describes the method used by the cardholder to verify ownership of the card. One of the + /// following: approval, failure, none, offline_pin, + /// offline_pin_and_signature, online_pin, or signature. + /// + [JsonProperty("cardholder_verification_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cardholder_verification_method")] +#endif + public string CardholderVerificationMethod { get; set; } + + /// + /// EMV tag 84. Similar to the application identifier stored on the integrated circuit chip. + /// + [JsonProperty("dedicated_file_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("dedicated_file_name")] +#endif + public string DedicatedFileName { get; set; } + + /// + /// The outcome of a series of EMV functions performed by the card reader. + /// + [JsonProperty("terminal_verification_results")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("terminal_verification_results")] +#endif + public string TerminalVerificationResults { get; set; } + + /// + /// An indication of various EMV functions performed during the transaction. + /// + [JsonProperty("transaction_status_information")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_status_information")] +#endif + public string TransactionStatusInformation { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKakaoPay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKakaoPay.cs new file mode 100644 index 0000000000..8590957d4e --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKakaoPay.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 PaymentRecordPaymentMethodDetailsKakaoPay : StripeEntity + { + /// + /// A unique identifier for the buyer as determined by the local payment processor. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKlarna.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKlarna.cs new file mode 100644 index 0000000000..c3e7819abd --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKlarna.cs @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentRecordPaymentMethodDetailsKlarna : StripeEntity + { + /// + /// The payer details for this transaction. + /// + [JsonProperty("payer_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payer_details")] +#endif + public PaymentRecordPaymentMethodDetailsKlarnaPayerDetails PayerDetails { get; set; } + + /// + /// The Klarna payment method used for this transaction. Can be one of pay_later, + /// pay_now, pay_with_financing, or pay_in_installments. + /// + [JsonProperty("payment_method_category")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payment_method_category")] +#endif + public string PaymentMethodCategory { get; set; } + + /// + /// Preferred language of the Klarna authorization page that the customer is redirected to. + /// Can be one of de-AT, en-AT, nl-BE, fr-BE, en-BE, + /// de-DE, en-DE, da-DK, en-DK, es-ES, en-ES, + /// fi-FI, sv-FI, en-FI, en-GB, en-IE, it-IT, + /// en-IT, nl-NL, en-NL, nb-NO, en-NO, sv-SE, + /// en-SE, en-US, es-US, fr-FR, en-FR, cs-CZ, + /// en-CZ, ro-RO, en-RO, el-GR, en-GR, en-AU, + /// en-NZ, en-CA, fr-CA, pl-PL, en-PL, pt-PT, + /// en-PT, de-CH, fr-CH, it-CH, or en-CH. + /// + [JsonProperty("preferred_locale")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preferred_locale")] +#endif + public string PreferredLocale { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKlarnaPayerDetails.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKlarnaPayerDetails.cs new file mode 100644 index 0000000000..1e8bc70f1b --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKlarnaPayerDetails.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 PaymentRecordPaymentMethodDetailsKlarnaPayerDetails : StripeEntity + { + /// + /// The payer's address. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public PaymentRecordPaymentMethodDetailsKlarnaPayerDetailsAddress Address { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKlarnaPayerDetailsAddress.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKlarnaPayerDetailsAddress.cs new file mode 100644 index 0000000000..abe5da27c4 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKlarnaPayerDetailsAddress.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 PaymentRecordPaymentMethodDetailsKlarnaPayerDetailsAddress : StripeEntity + { + /// + /// The payer address country. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKonbini.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKonbini.cs new file mode 100644 index 0000000000..41d8c7eafa --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKonbini.cs @@ -0,0 +1,21 @@ +// 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 PaymentRecordPaymentMethodDetailsKonbini : StripeEntity + { + /// + /// If the payment succeeded, this contains the details of the convenience store where the + /// payment was completed. + /// + [JsonProperty("store")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("store")] +#endif + public PaymentRecordPaymentMethodDetailsKonbiniStore Store { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKonbiniStore.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKonbiniStore.cs new file mode 100644 index 0000000000..56a12701e7 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKonbiniStore.cs @@ -0,0 +1,21 @@ +// 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 PaymentRecordPaymentMethodDetailsKonbiniStore : StripeEntity + { + /// + /// The name of the convenience store chain where the payment was completed. + /// One of: familymart, lawson, ministop, or seicomart. + /// + [JsonProperty("chain")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("chain")] +#endif + public string Chain { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKrCard.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKrCard.cs new file mode 100644 index 0000000000..4132867440 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsKrCard.cs @@ -0,0 +1,43 @@ +// 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 PaymentRecordPaymentMethodDetailsKrCard : StripeEntity + { + /// + /// The local credit or debit card brand. + /// One of: bc, citi, hana, hyundai, jeju, + /// jeonbuk, kakaobank, kbank, kdbbank, kookmin, + /// kwangju, lotte, mg, nh, post, samsung, + /// savingsbank, shinhan, shinhyup, suhyup, tossbank, or + /// woori. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// A unique identifier for the buyer as determined by the local payment processor. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + + /// + /// The last four digits of the card. This may not be present for American Express cards. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsLink.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsLink.cs new file mode 100644 index 0000000000..e8cebcffa6 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsLink.cs @@ -0,0 +1,21 @@ +// 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 PaymentRecordPaymentMethodDetailsLink : StripeEntity + { + /// + /// Two-letter ISO code representing the funding source country beneath the Link payment. + /// You could use this attribute to get a sense of international fees. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsMbWay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsMbWay.cs new file mode 100644 index 0000000000..0dbc455f6b --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsMbWay.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsMbWay : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsMobilepay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsMobilepay.cs new file mode 100644 index 0000000000..5ccfedf61a --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsMobilepay.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 PaymentRecordPaymentMethodDetailsMobilepay : StripeEntity + { + /// + /// Internal card details. + /// + [JsonProperty("card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card")] +#endif + public PaymentRecordPaymentMethodDetailsMobilepayCard Card { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsMobilepayCard.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsMobilepayCard.cs new file mode 100644 index 0000000000..f94f5ddd3a --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsMobilepayCard.cs @@ -0,0 +1,56 @@ +// 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 PaymentRecordPaymentMethodDetailsMobilepayCard : StripeEntity + { + /// + /// Brand of the card used in the transaction. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// Two-letter ISO code representing the country of the card. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Two digit number representing the card's expiration month. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long? ExpMonth { get; set; } + + /// + /// Two digit number representing the card's expiration year. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long? ExpYear { get; set; } + + /// + /// The last 4 digits of the card. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsMultibanco.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsMultibanco.cs new file mode 100644 index 0000000000..bd5ca66af3 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsMultibanco.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentRecordPaymentMethodDetailsMultibanco : StripeEntity + { + /// + /// Entity number associated with this Multibanco payment. + /// + [JsonProperty("entity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("entity")] +#endif + public string Entity { get; set; } + + /// + /// Reference number associated with this Multibanco payment. + /// + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsNaverPay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsNaverPay.cs new file mode 100644 index 0000000000..24315832e6 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsNaverPay.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 PaymentRecordPaymentMethodDetailsNaverPay : StripeEntity + { + /// + /// A unique identifier for the buyer as determined by the local payment processor. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsNzBankAccount.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsNzBankAccount.cs new file mode 100644 index 0000000000..0009d3525f --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsNzBankAccount.cs @@ -0,0 +1,66 @@ +// 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 PaymentRecordPaymentMethodDetailsNzBankAccount : StripeEntity + { + /// + /// The name on the bank account. Only present if the account holder name is different from + /// the name of the authorized signatory collected in the PaymentMethod’s billing details. + /// + [JsonProperty("account_holder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_name")] +#endif + public string AccountHolderName { get; set; } + + /// + /// The numeric code for the bank account's bank. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// The name of the bank. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// The numeric code for the bank account's bank branch. + /// + [JsonProperty("branch_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_code")] +#endif + public string BranchCode { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// The suffix of the bank account number. + /// + [JsonProperty("suffix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("suffix")] +#endif + public string Suffix { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsOxxo.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsOxxo.cs new file mode 100644 index 0000000000..582ddb53d7 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsOxxo.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 PaymentRecordPaymentMethodDetailsOxxo : StripeEntity + { + /// + /// OXXO reference number. + /// + [JsonProperty("number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("number")] +#endif + public string Number { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsP24.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsP24.cs new file mode 100644 index 0000000000..99eb947d00 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsP24.cs @@ -0,0 +1,55 @@ +// 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 PaymentRecordPaymentMethodDetailsP24 : StripeEntity + { + /// + /// The customer's bank. Can be one of ing, citi_handlowy, + /// tmobile_usbugi_bankowe, plus_bank, etransfer_pocztowy24, + /// banki_spbdzielcze, bank_nowy_bfg_sa, getin_bank, velobank, + /// blik, noble_pay, ideabank, envelobank, + /// santander_przelew24, nest_przelew, mbank_mtransfer, + /// inteligo, pbac_z_ipko, bnp_paribas, credit_agricole, + /// toyota_bank, bank_pekao_sa, volkswagen_bank, + /// bank_millennium, alior_bank, or boz. + /// One of: alior_bank, bank_millennium, bank_nowy_bfg_sa, + /// bank_pekao_sa, banki_spbdzielcze, blik, bnp_paribas, + /// boz, citi_handlowy, credit_agricole, envelobank, + /// etransfer_pocztowy24, getin_bank, ideabank, ing, + /// inteligo, mbank_mtransfer, nest_przelew, noble_pay, + /// pbac_z_ipko, plus_bank, santander_przelew24, + /// tmobile_usbugi_bankowe, toyota_bank, velobank, or + /// volkswagen_bank. + /// + [JsonProperty("bank")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank")] +#endif + public string Bank { get; set; } + + /// + /// Unique reference for this Przelewy24 payment. + /// + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + + /// + /// Owner's verified full name. Values are verified or provided by Przelewy24 directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// Przelewy24 rarely provides this information so the attribute is usually empty. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPayByBank.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPayByBank.cs new file mode 100644 index 0000000000..570df7ce56 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPayByBank.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsPayByBank : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPayco.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPayco.cs new file mode 100644 index 0000000000..c0179e1ce3 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPayco.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 PaymentRecordPaymentMethodDetailsPayco : StripeEntity + { + /// + /// A unique identifier for the buyer as determined by the local payment processor. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPaynow.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPaynow.cs new file mode 100644 index 0000000000..65880d713a --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPaynow.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 PaymentRecordPaymentMethodDetailsPaynow : StripeEntity + { + /// + /// Reference number associated with this PayNow payment. + /// + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPaypal.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPaypal.cs new file mode 100644 index 0000000000..8a5209b003 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPaypal.cs @@ -0,0 +1,114 @@ +// 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 PaymentRecordPaymentMethodDetailsPaypal : StripeEntity + { + /// + /// Two-letter ISO code representing the buyer's country. Values are provided by PayPal + /// directly (if supported) at the time of authorization or settlement. They cannot be set + /// or mutated. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Owner's email. Values are provided by PayPal directly (if supported) at the time of + /// authorization or settlement. They cannot be set or mutated. + /// + [JsonProperty("payer_email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payer_email")] +#endif + public string PayerEmail { get; set; } + + /// + /// PayPal account PayerID. This identifier uniquely identifies the PayPal customer. + /// + [JsonProperty("payer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payer_id")] +#endif + public string PayerId { get; set; } + + /// + /// Owner's full name. Values provided by PayPal directly (if supported) at the time of + /// authorization or settlement. They cannot be set or mutated. + /// + [JsonProperty("payer_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payer_name")] +#endif + public string PayerName { get; set; } + + /// + /// The level of protection offered as defined by PayPal Seller Protection for Merchants, + /// for this transaction. + /// + [JsonProperty("seller_protection")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("seller_protection")] +#endif + public PaymentRecordPaymentMethodDetailsPaypalSellerProtection SellerProtection { get; set; } + + /// + /// The shipping address for the customer, as supplied by the merchant at the point of + /// payment execution. This shipping address will not be updated if the merchant updates the + /// shipping address on the PaymentIntent after the PaymentIntent was successfully + /// confirmed. + /// + [JsonProperty("shipping")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("shipping")] +#endif + public Address Shipping { get; set; } + + /// + /// A unique ID generated by PayPal for this transaction. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + + /// + /// The shipping address for the customer, as supplied by the merchant at the point of + /// payment execution. This shipping address will not be updated if the merchant updates the + /// shipping address on the PaymentIntent after the PaymentIntent was successfully + /// confirmed. + /// + [JsonProperty("verified_address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_address")] +#endif + public Address VerifiedAddress { get; set; } + + /// + /// Owner's verified email. Values are verified or provided by PayPal directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// + [JsonProperty("verified_email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_email")] +#endif + public string VerifiedEmail { get; set; } + + /// + /// Owner's verified full name. Values are verified or provided by PayPal directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPaypalSellerProtection.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPaypalSellerProtection.cs new file mode 100644 index 0000000000..0dfe581805 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPaypalSellerProtection.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentRecordPaymentMethodDetailsPaypalSellerProtection : StripeEntity + { + /// + /// An array of conditions that are covered for the transaction, if applicable. + /// One of: fraudulent, or product_not_received. + /// + [JsonProperty("dispute_categories")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("dispute_categories")] +#endif + public List DisputeCategories { get; set; } + + /// + /// Indicates whether the transaction is eligible for PayPal's seller protection. + /// One of: eligible, not_eligible, or partially_eligible. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPayto.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPayto.cs new file mode 100644 index 0000000000..c87c47950a --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPayto.cs @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentRecordPaymentMethodDetailsPayto : StripeEntity + { + /// + /// Bank-State-Branch number of the bank account. + /// + [JsonProperty("bsb_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bsb_number")] +#endif + public string BsbNumber { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// ID of the mandate used to make this payment. + /// + [JsonProperty("mandate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mandate")] +#endif + public string Mandate { get; set; } + + /// + /// The PayID alias for the bank account. + /// + [JsonProperty("pay_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("pay_id")] +#endif + public string PayId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPix.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPix.cs new file mode 100644 index 0000000000..ae77e6eb13 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPix.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 PaymentRecordPaymentMethodDetailsPix : StripeEntity + { + /// + /// Unique transaction id generated by BCB. + /// + [JsonProperty("bank_transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_transaction_id")] +#endif + public string BankTransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPromptpay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPromptpay.cs new file mode 100644 index 0000000000..c6a85f9fbf --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsPromptpay.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 PaymentRecordPaymentMethodDetailsPromptpay : StripeEntity + { + /// + /// Bill reference generated by PromptPay. + /// + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsQris.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsQris.cs new file mode 100644 index 0000000000..679f4887ed --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsQris.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsQris : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsRechnung.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsRechnung.cs new file mode 100644 index 0000000000..f9b11806bb --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsRechnung.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsRechnung : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsRevolutPay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsRevolutPay.cs new file mode 100644 index 0000000000..57fb0445ae --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsRevolutPay.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 PaymentRecordPaymentMethodDetailsRevolutPay : StripeEntity + { + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public PaymentRecordPaymentMethodDetailsRevolutPayFunding Funding { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsRevolutPayFunding.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsRevolutPayFunding.cs new file mode 100644 index 0000000000..7705d1cc87 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsRevolutPayFunding.cs @@ -0,0 +1,26 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PaymentRecordPaymentMethodDetailsRevolutPayFunding : StripeEntity + { + [JsonProperty("card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card")] +#endif + public PaymentRecordPaymentMethodDetailsRevolutPayFundingCard Card { get; set; } + + /// + /// funding type of the underlying payment method. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsRevolutPayFundingCard.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsRevolutPayFundingCard.cs new file mode 100644 index 0000000000..6db8bb86e5 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsRevolutPayFundingCard.cs @@ -0,0 +1,80 @@ +// 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 PaymentRecordPaymentMethodDetailsRevolutPayFundingCard : StripeEntity + { + /// + /// Card brand. Can be amex, diners, discover, eftpos_au, + /// jcb, link, mastercard, unionpay, visa, or + /// unknown. + /// + [JsonProperty("brand")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand")] +#endif + public string Brand { get; set; } + + /// + /// The product code that + /// identifies the specific program or product associated with a card. (For internal use + /// only and not typically available in standard API requests.). + /// + [JsonProperty("brand_product")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("brand_product")] +#endif + public string BrandProduct { get; set; } + + /// + /// 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. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Two-digit number representing the card's expiration month. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public long? ExpMonth { get; set; } + + /// + /// Four-digit number representing the card's expiration year. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public long? ExpYear { get; set; } + + /// + /// Card funding type. Can be credit, debit, prepaid, or + /// unknown. + /// + [JsonProperty("funding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("funding")] +#endif + public string Funding { get; set; } + + /// + /// The last four digits of the card. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSamsungPay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSamsungPay.cs new file mode 100644 index 0000000000..1ca8ec7596 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSamsungPay.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 PaymentRecordPaymentMethodDetailsSamsungPay : StripeEntity + { + /// + /// A unique identifier for the buyer as determined by the local payment processor. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSatispay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSatispay.cs new file mode 100644 index 0000000000..1dfcab71d8 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSatispay.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsSatispay : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSepaCreditTransfer.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSepaCreditTransfer.cs new file mode 100644 index 0000000000..de7440af4f --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSepaCreditTransfer.cs @@ -0,0 +1,38 @@ +// 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 PaymentRecordPaymentMethodDetailsSepaCreditTransfer : StripeEntity + { + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Bank Identifier Code of the bank associated with the bank account. + /// + [JsonProperty("bic")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bic")] +#endif + public string Bic { get; set; } + + /// + /// IBAN of the bank account to transfer funds to. + /// + [JsonProperty("iban")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("iban")] +#endif + public string Iban { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSepaDebit.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSepaDebit.cs new file mode 100644 index 0000000000..7d840918de --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSepaDebit.cs @@ -0,0 +1,69 @@ +// 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 PaymentRecordPaymentMethodDetailsSepaDebit : StripeEntity + { + /// + /// Bank code of bank associated with the bank account. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// Branch code of bank associated with the bank account. + /// + [JsonProperty("branch_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_code")] +#endif + public string BranchCode { get; set; } + + /// + /// Two-letter ISO code representing the country the bank account is located in. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Uniquely identifies this particular bank account. You can use this attribute to check + /// whether two bank accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Last four characters of the IBAN. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// Find the ID of the mandate used for this payment under the payment_method_details.sepa_debit.mandate + /// property on the Charge. Use this mandate ID to retrieve the Mandate. + /// + [JsonProperty("mandate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mandate")] +#endif + public string Mandate { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsShopeepay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsShopeepay.cs new file mode 100644 index 0000000000..90856954de --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsShopeepay.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsShopeepay : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSofort.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSofort.cs new file mode 100644 index 0000000000..98ffccf5e8 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSofort.cs @@ -0,0 +1,164 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class PaymentRecordPaymentMethodDetailsSofort : StripeEntity + { + /// + /// Bank code of bank associated with the bank account. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Bank Identifier Code of the bank associated with the bank account. + /// + [JsonProperty("bic")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bic")] +#endif + public string Bic { get; set; } + + /// + /// Two-letter ISO code representing the country the bank account is located in. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + #region Expandable GeneratedSepaDebit + + /// + /// (ID of the PaymentMethod) + /// The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GeneratedSepaDebitId + { + get => this.InternalGeneratedSepaDebit?.Id; + set => this.InternalGeneratedSepaDebit = SetExpandableFieldId(value, this.InternalGeneratedSepaDebit); + } + + /// + /// (Expanded) + /// The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public PaymentMethod GeneratedSepaDebit + { + get => this.InternalGeneratedSepaDebit?.ExpandedObject; + set => this.InternalGeneratedSepaDebit = SetExpandableFieldObject(value, this.InternalGeneratedSepaDebit); + } + + [JsonProperty("generated_sepa_debit")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_sepa_debit")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalGeneratedSepaDebit { get; set; } + #endregion + + #region Expandable GeneratedSepaDebitMandate + + /// + /// (ID of the Mandate) + /// The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GeneratedSepaDebitMandateId + { + get => this.InternalGeneratedSepaDebitMandate?.Id; + set => this.InternalGeneratedSepaDebitMandate = SetExpandableFieldId(value, this.InternalGeneratedSepaDebitMandate); + } + + /// + /// (Expanded) + /// The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Mandate GeneratedSepaDebitMandate + { + get => this.InternalGeneratedSepaDebitMandate?.ExpandedObject; + set => this.InternalGeneratedSepaDebitMandate = SetExpandableFieldObject(value, this.InternalGeneratedSepaDebitMandate); + } + + [JsonProperty("generated_sepa_debit_mandate")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("generated_sepa_debit_mandate")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalGeneratedSepaDebitMandate { get; set; } + #endregion + + /// + /// Last four characters of the IBAN. + /// + [JsonProperty("iban_last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("iban_last4")] +#endif + public string IbanLast4 { get; set; } + + /// + /// Preferred language of the SOFORT authorization page that the customer is redirected to. + /// Can be one of de, en, es, fr, it, nl, or + /// pl. + /// One of: de, en, es, fr, it, nl, or pl. + /// + [JsonProperty("preferred_language")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preferred_language")] +#endif + public string PreferredLanguage { get; set; } + + /// + /// Owner's verified full name. Values are verified or provided by SOFORT directly (if + /// supported) at the time of authorization or settlement. They cannot be set or mutated. + /// + [JsonProperty("verified_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_name")] +#endif + public string VerifiedName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsStripeAccount.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsStripeAccount.cs new file mode 100644 index 0000000000..8208fb1d53 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsStripeAccount.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsStripeAccount : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSwish.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSwish.cs new file mode 100644 index 0000000000..1538f8c535 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsSwish.cs @@ -0,0 +1,39 @@ +// 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 PaymentRecordPaymentMethodDetailsSwish : StripeEntity + { + /// + /// Uniquely identifies the payer's Swish account. You can use this attribute to check + /// whether two Swish transactions were paid for by the same payer. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Payer bank reference number for the payment. + /// + [JsonProperty("payment_reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payment_reference")] +#endif + public string PaymentReference { get; set; } + + /// + /// The last four digits of the Swish account phone number. + /// + [JsonProperty("verified_phone_last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("verified_phone_last4")] +#endif + public string VerifiedPhoneLast4 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsTwint.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsTwint.cs new file mode 100644 index 0000000000..618f2de443 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsTwint.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsTwint : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsUsBankAccount.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsUsBankAccount.cs new file mode 100644 index 0000000000..41c14dea44 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsUsBankAccount.cs @@ -0,0 +1,122 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + +#if NET6_0_OR_GREATER + [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] +#endif + public class PaymentRecordPaymentMethodDetailsUsBankAccount : StripeEntity + { + /// + /// Account holder type: individual or company. + /// One of: company, or individual. + /// + [JsonProperty("account_holder_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_type")] +#endif + public string AccountHolderType { get; set; } + + /// + /// Account type: checkings or savings. Defaults to checking if omitted. + /// One of: checking, or savings. + /// + [JsonProperty("account_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_type")] +#endif + public string AccountType { get; set; } + + /// + /// Name of the bank associated with the bank account. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Uniquely identifies this particular bank account. You can use this attribute to check + /// whether two bank accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Last four digits of the bank account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + #region Expandable Mandate + + /// + /// (ID of the Mandate) + /// ID of the mandate used to make this payment. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string MandateId + { + get => this.InternalMandate?.Id; + set => this.InternalMandate = SetExpandableFieldId(value, this.InternalMandate); + } + + /// + /// (Expanded) + /// ID of the mandate used to make this payment. + /// + /// For more information, see the expand documentation. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public Mandate Mandate + { + get => this.InternalMandate?.ExpandedObject; + set => this.InternalMandate = SetExpandableFieldObject(value, this.InternalMandate); + } + + [JsonProperty("mandate")] + [JsonConverter(typeof(ExpandableFieldConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mandate")] + [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] +#endif + internal ExpandableField InternalMandate { get; set; } + #endregion + + /// + /// Reference number to locate ACH payments with customer's bank. + /// + [JsonProperty("payment_reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payment_reference")] +#endif + public string PaymentReference { get; set; } + + /// + /// Routing number of the bank account. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsWechat.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsWechat.cs new file mode 100644 index 0000000000..05f03a39f7 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsWechat.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsWechat : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsWechatPay.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsWechatPay.cs new file mode 100644 index 0000000000..2b54aab006 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsWechatPay.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 PaymentRecordPaymentMethodDetailsWechatPay : StripeEntity + { + /// + /// Uniquely identifies this particular WeChat Pay account. You can use this attribute to + /// check whether two WeChat accounts are the same. + /// + [JsonProperty("fingerprint")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fingerprint")] +#endif + public string Fingerprint { get; set; } + + /// + /// Transaction ID of this particular WeChat Pay transaction. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsZip.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsZip.cs new file mode 100644 index 0000000000..d400c62aa5 --- /dev/null +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsZip.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentRecordPaymentMethodDetailsZip : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/Payouts/Payout.cs b/src/Stripe.net/Entities/Payouts/Payout.cs index 62620f3a5e..a8c59bec2f 100644 --- a/src/Stripe.net/Entities/Payouts/Payout.cs +++ b/src/Stripe.net/Entities/Payouts/Payout.cs @@ -386,6 +386,15 @@ public Payout OriginalPayout internal ExpandableField InternalOriginalPayout { get; set; } #endregion + /// + /// ID of the v2 FinancialAccount the funds are sent to. + /// + [JsonProperty("payout_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payout_method")] +#endif + public string PayoutMethod { get; set; } + /// /// If completed, you can use the Balance diff --git a/src/Stripe.net/Entities/Persons/Person.cs b/src/Stripe.net/Entities/Persons/Person.cs index b57b58e190..c560c82929 100644 --- a/src/Stripe.net/Entities/Persons/Person.cs +++ b/src/Stripe.net/Entities/Persons/Person.cs @@ -12,7 +12,7 @@ namespace Stripe /// /// This is an object representing a person associated with a Stripe account. /// - /// A platform cannot access a person for an account where account.controller.requirement_collection /// is stripe, which includes Standard and Express accounts, after creating an /// Account Link or Account Session to start Connect onboarding. @@ -111,7 +111,9 @@ public class Person : StripeEntity, IHasId, IHasMetadata, IHasObject public Dob Dob { get; set; } /// - /// The person's email address. + /// The person's email address. Also available for accounts where controller.requirement_collection + /// is stripe. /// [JsonProperty("email")] #if NET6_0_OR_GREATER @@ -120,7 +122,9 @@ public class Person : StripeEntity, IHasId, IHasMetadata, IHasObject public string Email { get; set; } /// - /// The person's first name. + /// The person's first name. Also available for accounts where controller.requirement_collection + /// is stripe. /// [JsonProperty("first_name")] #if NET6_0_OR_GREATER @@ -129,7 +133,10 @@ public class Person : StripeEntity, IHasId, IHasMetadata, IHasObject public string FirstName { get; set; } /// - /// The Kana variation of the person's first name (Japan only). + /// The Kana variation of the person's first name (Japan only). Also available for accounts + /// where controller.requirement_collection + /// is stripe. /// [JsonProperty("first_name_kana")] #if NET6_0_OR_GREATER @@ -138,7 +145,10 @@ public class Person : StripeEntity, IHasId, IHasMetadata, IHasObject public string FirstNameKana { get; set; } /// - /// The Kanji variation of the person's first name (Japan only). + /// The Kanji variation of the person's first name (Japan only). Also available for accounts + /// where controller.requirement_collection + /// is stripe. /// [JsonProperty("first_name_kanji")] #if NET6_0_OR_GREATER @@ -147,7 +157,10 @@ public class Person : StripeEntity, IHasId, IHasMetadata, IHasObject public string FirstNameKanji { get; set; } /// - /// A list of alternate names or aliases that the person is known by. + /// A list of alternate names or aliases that the person is known by. Also available for + /// accounts where controller.requirement_collection + /// is stripe. /// [JsonProperty("full_name_aliases")] #if NET6_0_OR_GREATER @@ -197,7 +210,9 @@ public class Person : StripeEntity, IHasId, IHasMetadata, IHasObject public bool IdNumberSecondaryProvided { get; set; } /// - /// The person's last name. + /// The person's last name. Also available for accounts where controller.requirement_collection + /// is stripe. /// [JsonProperty("last_name")] #if NET6_0_OR_GREATER @@ -206,7 +221,10 @@ public class Person : StripeEntity, IHasId, IHasMetadata, IHasObject public string LastName { get; set; } /// - /// The Kana variation of the person's last name (Japan only). + /// The Kana variation of the person's last name (Japan only). Also available for accounts + /// where controller.requirement_collection + /// is stripe. /// [JsonProperty("last_name_kana")] #if NET6_0_OR_GREATER @@ -215,7 +233,10 @@ public class Person : StripeEntity, IHasId, IHasMetadata, IHasObject public string LastNameKana { get; set; } /// - /// The Kanji variation of the person's last name (Japan only). + /// The Kanji variation of the person's last name (Japan only). Also available for accounts + /// where controller.requirement_collection + /// is stripe. /// [JsonProperty("last_name_kanji")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/Persons/PersonFutureRequirementsError.cs b/src/Stripe.net/Entities/Persons/PersonFutureRequirementsError.cs index 212db3635a..7499873499 100644 --- a/src/Stripe.net/Entities/Persons/PersonFutureRequirementsError.cs +++ b/src/Stripe.net/Entities/Persons/PersonFutureRequirementsError.cs @@ -10,13 +10,13 @@ public class PersonFutureRequirementsError : StripeEntity /// The code for the type of error. - /// One of: invalid_address_city_state_postal_code, + /// One of: information_missing, invalid_address_city_state_postal_code, /// invalid_address_highway_contract_box, invalid_address_private_mailbox, /// invalid_business_profile_name, invalid_business_profile_name_denylisted, /// invalid_company_name_denylisted, invalid_dob_age_over_maximum, /// invalid_dob_age_under_18, invalid_dob_age_under_minimum, /// invalid_product_description_length, invalid_product_description_url_match, - /// invalid_representative_country, + /// invalid_representative_country, invalid_signator, /// invalid_statement_descriptor_business_mismatch, /// invalid_statement_descriptor_denylisted, /// invalid_statement_descriptor_length, @@ -59,6 +59,7 @@ public class PersonFutureRequirementsError : StripeEntityverification_document_not_uploaded, verification_document_photo_mismatch, /// verification_document_too_large, verification_document_type_not_supported, /// verification_extraneous_directors, verification_failed_address_match, + /// verification_failed_authorizer_authority, /// verification_failed_business_iec_number, /// verification_failed_document_match, verification_failed_id_number_match, /// verification_failed_keyed_identity, verification_failed_keyed_match, @@ -67,6 +68,7 @@ public class PersonFutureRequirementsError : StripeEntityverification_failed_residential_address, verification_failed_tax_id_match, /// verification_failed_tax_id_not_issued, verification_missing_directors, /// verification_missing_executives, verification_missing_owners, + /// verification_rejected_ownership_exemption_reason, /// verification_requires_additional_memorandum_of_associations, /// verification_requires_additional_proof_of_registration, or /// verification_supportability. diff --git a/src/Stripe.net/Entities/Persons/PersonRequirementsError.cs b/src/Stripe.net/Entities/Persons/PersonRequirementsError.cs index f510621d79..667e080cf7 100644 --- a/src/Stripe.net/Entities/Persons/PersonRequirementsError.cs +++ b/src/Stripe.net/Entities/Persons/PersonRequirementsError.cs @@ -10,13 +10,13 @@ public class PersonRequirementsError : StripeEntity { /// /// The code for the type of error. - /// One of: invalid_address_city_state_postal_code, + /// One of: information_missing, invalid_address_city_state_postal_code, /// invalid_address_highway_contract_box, invalid_address_private_mailbox, /// invalid_business_profile_name, invalid_business_profile_name_denylisted, /// invalid_company_name_denylisted, invalid_dob_age_over_maximum, /// invalid_dob_age_under_18, invalid_dob_age_under_minimum, /// invalid_product_description_length, invalid_product_description_url_match, - /// invalid_representative_country, + /// invalid_representative_country, invalid_signator, /// invalid_statement_descriptor_business_mismatch, /// invalid_statement_descriptor_denylisted, /// invalid_statement_descriptor_length, @@ -59,6 +59,7 @@ public class PersonRequirementsError : StripeEntity /// verification_document_not_uploaded, verification_document_photo_mismatch, /// verification_document_too_large, verification_document_type_not_supported, /// verification_extraneous_directors, verification_failed_address_match, + /// verification_failed_authorizer_authority, /// verification_failed_business_iec_number, /// verification_failed_document_match, verification_failed_id_number_match, /// verification_failed_keyed_identity, verification_failed_keyed_match, @@ -67,6 +68,7 @@ public class PersonRequirementsError : StripeEntity /// verification_failed_residential_address, verification_failed_tax_id_match, /// verification_failed_tax_id_not_issued, verification_missing_directors, /// verification_missing_executives, verification_missing_owners, + /// verification_rejected_ownership_exemption_reason, /// verification_requires_additional_memorandum_of_associations, /// verification_requires_additional_proof_of_registration, or /// verification_supportability. diff --git a/src/Stripe.net/Entities/Plans/Plan.cs b/src/Stripe.net/Entities/Plans/Plan.cs index e19839d6f4..b7c0ca4237 100644 --- a/src/Stripe.net/Entities/Plans/Plan.cs +++ b/src/Stripe.net/Entities/Plans/Plan.cs @@ -61,21 +61,6 @@ public class Plan : StripeEntity, IHasId, IHasMetadata, IHasObject #endif public bool Active { get; set; } - /// - /// Specifies a usage aggregation strategy for plans of usage_type=metered. Allowed - /// values are sum for summing up all usage during a period, - /// last_during_period for using the last usage record reported within a period, - /// last_ever for using the last usage record ever (across period bounds) or - /// max which uses the usage record with the maximum reported usage during a period. - /// Defaults to sum. - /// One of: last_during_period, last_ever, max, or sum. - /// - [JsonProperty("aggregate_usage")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("aggregate_usage")] -#endif - public string AggregateUsage { get; set; } - /// /// The unit amount in cents (or local equivalent) to be charged, represented as a whole /// integer if possible. Only set if billing_scheme=per_unit. diff --git a/src/Stripe.net/Entities/Prices/PriceRecurring.cs b/src/Stripe.net/Entities/Prices/PriceRecurring.cs index 2ecf132afe..f9e8566bb0 100644 --- a/src/Stripe.net/Entities/Prices/PriceRecurring.cs +++ b/src/Stripe.net/Entities/Prices/PriceRecurring.cs @@ -8,17 +8,6 @@ namespace Stripe public class PriceRecurring : StripeEntity { - /// - /// Specifies a usage aggregation strategy for prices of usage_type=metered. Defaults - /// to sum. - /// One of: last_during_period, last_ever, max, or sum. - /// - [JsonProperty("aggregate_usage")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("aggregate_usage")] -#endif - public string AggregateUsage { get; set; } - /// /// The frequency at which a subscription is billed. One of day, week, /// month or year. diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs index d3d6391798..b5a6c07137 100644 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs @@ -147,8 +147,8 @@ public List AccountTaxIds public long AmountDue { get; set; } /// - /// Amount that was overpaid on the invoice. Overpayments are debited to the customer's - /// credit balance. + /// Amount that was overpaid on the invoice. The amount overpaid is credited to the + /// customer's credit balance. /// [JsonProperty("amount_overpaid")] #if NET6_0_OR_GREATER @@ -234,16 +234,6 @@ public Application Application internal ExpandableField InternalApplication { get; set; } #endregion - /// - /// The fee in cents (or local equivalent) that will be applied to the invoice and - /// transferred to the application owner's Stripe account when the invoice is paid. - /// - [JsonProperty("application_fee_amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("application_fee_amount")] -#endif - public long? ApplicationFeeAmount { get; set; } - [JsonProperty("applies_to")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("applies_to")] @@ -332,6 +322,16 @@ public Application Application #endif public string CollectionMethod { get; set; } + /// + /// The confirmation secret associated with this invoice. Currently, this contains the + /// client_secret of the PaymentIntent that Stripe creates during invoice finalization. + /// + [JsonProperty("confirmation_secret")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("confirmation_secret")] +#endif + public QuotePreviewInvoiceConfirmationSecret ConfirmationSecret { get; set; } + /// /// Time at which the object was created. Measured in seconds since the Unix epoch. /// @@ -591,16 +591,6 @@ public IPaymentSource DefaultSource #endif public string Description { get; set; } - /// - /// Describes the current discount applied to this invoice, if there is one. Not populated - /// if there are multiple discounts. - /// - [JsonProperty("discount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("discount")] -#endif - public Discount Discount { get; set; } - #region Expandable Discounts /// @@ -857,70 +847,11 @@ public Account OnBehalfOf internal ExpandableField InternalOnBehalfOf { get; set; } #endregion - /// - /// Whether payment was successfully collected for this invoice. An invoice can be paid - /// (most commonly) with a charge or with credit from the customer's account balance. - /// - [JsonProperty("paid")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("paid")] -#endif - public bool Paid { get; set; } - - /// - /// Returns true if the invoice was manually marked paid, returns false if the invoice - /// hasn't been paid yet or was paid on Stripe. - /// - [JsonProperty("paid_out_of_band")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("paid_out_of_band")] -#endif - public bool PaidOutOfBand { get; set; } - - #region Expandable PaymentIntent - - /// - /// (ID of the PaymentIntent) - /// The PaymentIntent associated with this invoice. The PaymentIntent is generated when the - /// invoice is finalized, and can then be used to pay the invoice. Note that voiding an - /// invoice will cancel the PaymentIntent. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string PaymentIntentId - { - get => this.InternalPaymentIntent?.Id; - set => this.InternalPaymentIntent = SetExpandableFieldId(value, this.InternalPaymentIntent); - } - - /// - /// (Expanded) - /// The PaymentIntent associated with this invoice. The PaymentIntent is generated when the - /// invoice is finalized, and can then be used to pay the invoice. Note that voiding an - /// invoice will cancel the PaymentIntent. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public PaymentIntent PaymentIntent - { - get => this.InternalPaymentIntent?.ExpandedObject; - set => this.InternalPaymentIntent = SetExpandableFieldObject(value, this.InternalPaymentIntent); - } - - [JsonProperty("payment_intent")] - [JsonConverter(typeof(ExpandableFieldConverter))] + [JsonProperty("parent")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("payment_intent")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] + [STJS.JsonPropertyName("parent")] #endif - internal ExpandableField InternalPaymentIntent { get; set; } - #endregion + public QuotePreviewInvoiceParent Parent { get; set; } [JsonProperty("payment_settings")] #if NET6_0_OR_GREATER @@ -983,47 +914,6 @@ public PaymentIntent PaymentIntent #endif public long PrePaymentCreditNotesAmount { get; set; } - #region Expandable Quote - - /// - /// (ID of the Quote) - /// The quote this invoice was generated from. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string QuoteId - { - get => this.InternalQuote?.Id; - set => this.InternalQuote = SetExpandableFieldId(value, this.InternalQuote); - } - - /// - /// (Expanded) - /// The quote this invoice was generated from. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public Quote Quote - { - get => this.InternalQuote?.ExpandedObject; - set => this.InternalQuote = SetExpandableFieldObject(value, this.InternalQuote); - } - - [JsonProperty("quote")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("quote")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalQuote { get; set; } - #endregion - /// /// This is the transaction number that appears on email receipts sent for this invoice. /// @@ -1133,27 +1023,6 @@ public Subscription Subscription internal ExpandableField InternalSubscription { get; set; } #endregion - /// - /// Details about the subscription that created this invoice. - /// - [JsonProperty("subscription_details")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_details")] -#endif - public QuotePreviewInvoiceSubscriptionDetails SubscriptionDetails { get; set; } - - /// - /// Only set for upcoming invoices that preview prorations. The time used to calculate - /// prorations. - /// - [JsonProperty("subscription_proration_date")] - [JsonConverter(typeof(UnixDateTimeConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_proration_date")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] -#endif - public DateTime SubscriptionProrationDate { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; - /// /// Total of all subscriptions, invoice items, and prorations on the invoice before any /// invoice level discount or exclusive tax is applied. Item discounts are already @@ -1176,16 +1045,6 @@ public Subscription Subscription #endif public long? SubtotalExcludingTax { get; set; } - /// - /// The amount of tax on this invoice. This is the sum of all the tax amounts on this - /// invoice. - /// - [JsonProperty("tax")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tax")] -#endif - public long? Tax { get; set; } - #region Expandable TestClock /// @@ -1282,23 +1141,13 @@ public TestHelpers.TestClock TestClock public List TotalPretaxCreditAmounts { get; set; } /// - /// The aggregate amounts calculated per tax rate for all line items. - /// - [JsonProperty("total_tax_amounts")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("total_tax_amounts")] -#endif - public List TotalTaxAmounts { get; set; } - - /// - /// The account (if any) the payment will be attributed to for tax reporting, and where - /// funds from the payment will be transferred to for the invoice. + /// The aggregate tax information of all line items. /// - [JsonProperty("transfer_data")] + [JsonProperty("total_taxes")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("transfer_data")] + [STJS.JsonPropertyName("total_taxes")] #endif - public QuotePreviewInvoiceTransferData TransferData { get; set; } + public List TotalTaxes { get; set; } /// /// Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceAutomaticTax.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceAutomaticTax.cs index 02e87c9df0..4a2c82439b 100644 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceAutomaticTax.cs +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceAutomaticTax.cs @@ -42,6 +42,15 @@ public class QuotePreviewInvoiceAutomaticTax : StripeEntity + /// The tax provider powering automatic tax. + /// + [JsonProperty("provider")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("provider")] +#endif + public string Provider { get; set; } + /// /// The status of the most recent automated tax calculation for this invoice. /// One of: complete, failed, or requires_location_inputs. diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceConfirmationSecret.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceConfirmationSecret.cs new file mode 100644 index 0000000000..c4e4742bdc --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceConfirmationSecret.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 QuotePreviewInvoiceConfirmationSecret : StripeEntity + { + /// + /// The client_secret of the payment that Stripe creates for the invoice after finalization. + /// + [JsonProperty("client_secret")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("client_secret")] +#endif + public string ClientSecret { get; set; } + + /// + /// The type of client_secret. Currently this is always payment_intent, referencing the + /// default payment_intent that Stripe creates during invoice finalization. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParent.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParent.cs new file mode 100644 index 0000000000..b800e85a50 --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParent.cs @@ -0,0 +1,32 @@ +// 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 QuotePreviewInvoiceParent : StripeEntity + { + [JsonProperty("quote_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("quote_details")] +#endif + public QuotePreviewInvoiceParentQuoteDetails QuoteDetails { get; set; } + + [JsonProperty("subscription_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription_details")] +#endif + public QuotePreviewInvoiceParentSubscriptionDetails SubscriptionDetails { get; set; } + + /// + /// One of: quote_details, or subscription_details. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentQuoteDetails.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentQuoteDetails.cs new file mode 100644 index 0000000000..47d22ff687 --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentQuoteDetails.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 QuotePreviewInvoiceParentQuoteDetails : StripeEntity + { + [JsonProperty("quote")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("quote")] +#endif + public string Quote { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentSubscriptionDetails.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentSubscriptionDetails.cs new file mode 100644 index 0000000000..8903cab531 --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentSubscriptionDetails.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + 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 QuotePreviewInvoiceParentSubscriptionDetails : StripeEntity, IHasMetadata + { + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + [JsonProperty("pause_collection")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("pause_collection")] +#endif + public QuotePreviewInvoiceParentSubscriptionDetailsPauseCollection PauseCollection { get; set; } + + [JsonProperty("subscription")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription")] +#endif + public string Subscription { get; set; } + + [JsonProperty("subscription_proration_date")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("subscription_proration_date")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime SubscriptionProrationDate { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceSubscriptionDetailsPauseCollection.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentSubscriptionDetailsPauseCollection.cs similarity index 54% rename from src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceSubscriptionDetailsPauseCollection.cs rename to src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentSubscriptionDetailsPauseCollection.cs index e12c684681..1eed079be8 100644 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceSubscriptionDetailsPauseCollection.cs +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentSubscriptionDetailsPauseCollection.cs @@ -8,22 +8,14 @@ namespace Stripe using STJS = System.Text.Json.Serialization; #endif - public class QuotePreviewInvoiceSubscriptionDetailsPauseCollection : StripeEntity + public class QuotePreviewInvoiceParentSubscriptionDetailsPauseCollection : StripeEntity { - /// - /// The payment collection behavior for this subscription while paused. One of - /// keep_as_draft, mark_uncollectible, or void. - /// One of: keep_as_draft, mark_uncollectible, or void. - /// [JsonProperty("behavior")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("behavior")] #endif public string Behavior { get; set; } - /// - /// The time after which the subscription will resume collecting payments. - /// [JsonProperty("resumes_at")] [JsonConverter(typeof(UnixDateTimeConverter))] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoicePaymentSettings.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoicePaymentSettings.cs index 2c1825c683..c1ab7da081 100644 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoicePaymentSettings.cs +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoicePaymentSettings.cs @@ -40,11 +40,11 @@ public class QuotePreviewInvoicePaymentSettings : StripeEntityamazon_pay, au_becs_debit, bacs_debit, bancontact, /// boleto, card, cashapp, custom, customer_balance, /// eps, fpx, giropay, grabpay, id_bank_transfer, - /// ideal, jp_credit_transfer, kakao_pay, konbini, - /// kr_card, link, multibanco, naver_pay, p24, - /// payco, paynow, paypal, promptpay, revolut_pay, - /// sepa_credit_transfer, sepa_debit, sofort, swish, - /// us_bank_account, or wechat_pay. + /// ideal, jp_credit_transfer, kakao_pay, klarna, + /// konbini, kr_card, link, multibanco, naver_pay, + /// nz_bank_account, p24, payco, paynow, paypal, + /// promptpay, revolut_pay, sepa_credit_transfer, sepa_debit, + /// sofort, swish, us_bank_account, or wechat_pay. /// [JsonProperty("payment_method_types")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceSubscriptionDetails.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceSubscriptionDetails.cs deleted file mode 100644 index e679eaad3d..0000000000 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceSubscriptionDetails.cs +++ /dev/null @@ -1,36 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; -#if NET6_0_OR_GREATER - using STJS = System.Text.Json.Serialization; -#endif - - public class QuotePreviewInvoiceSubscriptionDetails : StripeEntity, IHasMetadata - { - /// - /// Set of key-value pairs defined as - /// subscription metadata when an invoice is created. Becomes an immutable snapshot of the - /// subscription metadata at the time of invoice finalization. Note: This attribute is - /// populated only for invoices created on or after June 29, 2023.. - /// - [JsonProperty("metadata")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("metadata")] -#endif - public Dictionary Metadata { get; set; } - - /// - /// If specified, payment collection for this subscription will be paused. Note that the - /// subscription status will be unchanged and will not be updated to paused. Learn - /// more about pausing - /// collection. - /// - [JsonProperty("pause_collection")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("pause_collection")] -#endif - public QuotePreviewInvoiceSubscriptionDetailsPauseCollection PauseCollection { get; set; } - } -} diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceTotalTax.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceTotalTax.cs new file mode 100644 index 0000000000..c5cc054fe1 --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceTotalTax.cs @@ -0,0 +1,74 @@ +// 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 QuotePreviewInvoiceTotalTax : StripeEntity + { + /// + /// The amount of the tax, in cents (or local equivalent). + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public long Amount { get; set; } + + /// + /// Whether this tax is inclusive or exclusive. + /// One of: exclusive, or inclusive. + /// + [JsonProperty("tax_behavior")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_behavior")] +#endif + public string TaxBehavior { get; set; } + + /// + /// Additional details about the tax rate. Only present when type is + /// tax_rate_details. + /// + [JsonProperty("tax_rate_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_rate_details")] +#endif + public QuotePreviewInvoiceTotalTaxTaxRateDetails TaxRateDetails { get; set; } + + /// + /// The reasoning behind this tax, for example, if the product is tax exempt. The possible + /// values for this field may be extended as new tax rules are supported. + /// One of: customer_exempt, not_available, not_collecting, + /// not_subject_to_tax, not_supported, portion_product_exempt, + /// portion_reduced_rated, portion_standard_rated, product_exempt, + /// product_exempt_holiday, proportionally_rated, reduced_rated, + /// reverse_charge, standard_rated, taxable_basis_reduced, or + /// zero_rated. + /// + [JsonProperty("taxability_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxability_reason")] +#endif + public string TaxabilityReason { get; set; } + + /// + /// The amount on which tax is calculated, in cents (or local equivalent). + /// + [JsonProperty("taxable_amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxable_amount")] +#endif + public long? TaxableAmount { get; set; } + + /// + /// The type of tax information. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceTotalTaxAmount.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceTotalTaxAmount.cs deleted file mode 100644 index a8bc5a331f..0000000000 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceTotalTaxAmount.cs +++ /dev/null @@ -1,98 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - using Stripe.Infrastructure; -#if NET6_0_OR_GREATER - using STJS = System.Text.Json.Serialization; -#endif - -#if NET6_0_OR_GREATER - [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] -#endif - public class QuotePreviewInvoiceTotalTaxAmount : StripeEntity - { - /// - /// The amount, in cents (or local equivalent), of the tax. - /// - [JsonProperty("amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount")] -#endif - public long Amount { get; set; } - - /// - /// Whether this tax amount is inclusive or exclusive. - /// - [JsonProperty("inclusive")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("inclusive")] -#endif - public bool Inclusive { get; set; } - - #region Expandable TaxRate - - /// - /// (ID of the TaxRate) - /// The tax rate that was applied to get this tax amount. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string TaxRateId - { - get => this.InternalTaxRate?.Id; - set => this.InternalTaxRate = SetExpandableFieldId(value, this.InternalTaxRate); - } - - /// - /// (Expanded) - /// The tax rate that was applied to get this tax amount. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public TaxRate TaxRate - { - get => this.InternalTaxRate?.ExpandedObject; - set => this.InternalTaxRate = SetExpandableFieldObject(value, this.InternalTaxRate); - } - - [JsonProperty("tax_rate")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tax_rate")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalTaxRate { get; set; } - #endregion - - /// - /// The reasoning behind this tax, for example, if the product is tax exempt. The possible - /// values for this field may be extended as new tax rules are supported. - /// One of: customer_exempt, not_collecting, not_subject_to_tax, - /// not_supported, portion_product_exempt, portion_reduced_rated, - /// portion_standard_rated, product_exempt, product_exempt_holiday, - /// proportionally_rated, reduced_rated, reverse_charge, - /// standard_rated, taxable_basis_reduced, or zero_rated. - /// - [JsonProperty("taxability_reason")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("taxability_reason")] -#endif - public string TaxabilityReason { get; set; } - - /// - /// The amount on which tax is calculated, in cents (or local equivalent). - /// - [JsonProperty("taxable_amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("taxable_amount")] -#endif - public long? TaxableAmount { get; set; } - } -} diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceTotalTaxTaxRateDetails.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceTotalTaxTaxRateDetails.cs new file mode 100644 index 0000000000..1df1da07dc --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceTotalTaxTaxRateDetails.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 QuotePreviewInvoiceTotalTaxTaxRateDetails : StripeEntity + { + [JsonProperty("tax_rate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_rate")] +#endif + public string TaxRate { get; set; } + } +} diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceTransferData.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceTransferData.cs deleted file mode 100644 index bf49b44ceb..0000000000 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceTransferData.cs +++ /dev/null @@ -1,67 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - using Stripe.Infrastructure; -#if NET6_0_OR_GREATER - using STJS = System.Text.Json.Serialization; -#endif - -#if NET6_0_OR_GREATER - [STJS.JsonConverter(typeof(STJMemberSerializationOptIn))] -#endif - public class QuotePreviewInvoiceTransferData : StripeEntity - { - /// - /// The amount in cents (or local equivalent) that will be transferred to the destination - /// account when the invoice is paid. By default, the entire amount is transferred to the - /// destination. - /// - [JsonProperty("amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount")] -#endif - public long? Amount { get; set; } - - #region Expandable Destination - - /// - /// (ID of the Account) - /// The account where funds from the payment will be transferred to upon payment success. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string DestinationId - { - get => this.InternalDestination?.Id; - set => this.InternalDestination = SetExpandableFieldId(value, this.InternalDestination); - } - - /// - /// (Expanded) - /// The account where funds from the payment will be transferred to upon payment success. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public Account Destination - { - get => this.InternalDestination?.ExpandedObject; - set => this.InternalDestination = SetExpandableFieldObject(value, this.InternalDestination); - } - - [JsonProperty("destination")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("destination")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalDestination { get; set; } - #endregion - } -} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleDefaultSettings.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleDefaultSettings.cs index a86020187e..6301cbe376 100644 --- a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleDefaultSettings.cs +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleDefaultSettings.cs @@ -43,16 +43,6 @@ public class QuotePreviewSubscriptionScheduleDefaultSettings : StripeEntity - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public QuotePreviewSubscriptionScheduleDefaultSettingsBillingThresholds BillingThresholds { get; set; } - /// /// Either charge_automatically, or send_invoice. When charging automatically, /// Stripe will attempt to pay the underlying subscription at the end of each billing cycle diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleDefaultSettingsBillingThresholds.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleDefaultSettingsBillingThresholds.cs deleted file mode 100644 index 5b7e615ca2..0000000000 --- a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleDefaultSettingsBillingThresholds.cs +++ /dev/null @@ -1,33 +0,0 @@ -// 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 QuotePreviewSubscriptionScheduleDefaultSettingsBillingThresholds : StripeEntity - { - /// - /// Monetary threshold that triggers the subscription to create an invoice. - /// - [JsonProperty("amount_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount_gte")] -#endif - public long? AmountGte { get; set; } - - /// - /// Indicates if the billing_cycle_anchor should be reset when a threshold is - /// reached. If true, billing_cycle_anchor will be updated to the date/time the - /// threshold was last reached; otherwise, the value will remain unchanged. This value may - /// not be true if the subscription contains items with plans that have - /// aggregate_usage=last_ever. - /// - [JsonProperty("reset_billing_cycle_anchor")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("reset_billing_cycle_anchor")] -#endif - public bool? ResetBillingCycleAnchor { get; set; } - } -} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhase.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhase.cs index 68332e8ec0..e6ea5688d4 100644 --- a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhase.cs +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhase.cs @@ -55,16 +55,6 @@ public class QuotePreviewSubscriptionSchedulePhase : StripeEntity - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public QuotePreviewSubscriptionSchedulePhaseBillingThresholds BillingThresholds { get; set; } - /// /// Either charge_automatically, or send_invoice. When charging automatically, /// Stripe will attempt to pay the underlying subscription at the end of each billing cycle @@ -79,47 +69,6 @@ public class QuotePreviewSubscriptionSchedulePhase : StripeEntity - /// (ID of the Coupon) - /// ID of the coupon to use during this phase of the subscription schedule. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string CouponId - { - get => this.InternalCoupon?.Id; - set => this.InternalCoupon = SetExpandableFieldId(value, this.InternalCoupon); - } - - /// - /// (Expanded) - /// ID of the coupon to use during this phase of the subscription schedule. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public Coupon Coupon - { - get => this.InternalCoupon?.ExpandedObject; - set => this.InternalCoupon = SetExpandableFieldObject(value, this.InternalCoupon); - } - - [JsonProperty("coupon")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("coupon")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalCoupon { get; set; } - #endregion - /// /// Three-letter ISO currency /// code, in lowercase. Must be a supported diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhaseBillingThresholds.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhaseBillingThresholds.cs deleted file mode 100644 index c9f1be9bc6..0000000000 --- a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhaseBillingThresholds.cs +++ /dev/null @@ -1,33 +0,0 @@ -// 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 QuotePreviewSubscriptionSchedulePhaseBillingThresholds : StripeEntity - { - /// - /// Monetary threshold that triggers the subscription to create an invoice. - /// - [JsonProperty("amount_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount_gte")] -#endif - public long? AmountGte { get; set; } - - /// - /// Indicates if the billing_cycle_anchor should be reset when a threshold is - /// reached. If true, billing_cycle_anchor will be updated to the date/time the - /// threshold was last reached; otherwise, the value will remain unchanged. This value may - /// not be true if the subscription contains items with plans that have - /// aggregate_usage=last_ever. - /// - [JsonProperty("reset_billing_cycle_anchor")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("reset_billing_cycle_anchor")] -#endif - public bool? ResetBillingCycleAnchor { get; set; } - } -} diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhaseItem.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhaseItem.cs index 6c0221ebfd..0a53165888 100644 --- a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhaseItem.cs +++ b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhaseItem.cs @@ -13,16 +13,6 @@ namespace Stripe #endif public class QuotePreviewSubscriptionSchedulePhaseItem : StripeEntity, IHasMetadata { - /// - /// Define thresholds at which an invoice will be sent, and the related subscription - /// advanced to a new billing period. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public QuotePreviewSubscriptionSchedulePhaseItemBillingThresholds BillingThresholds { get; set; } - /// /// The discounts applied to the subscription item. Subscription item discounts are applied /// before subscription discounts. Use expand[]=discounts to expand each discount. diff --git a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhaseItemBillingThresholds.cs b/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhaseItemBillingThresholds.cs deleted file mode 100644 index 90bd85e363..0000000000 --- a/src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhaseItemBillingThresholds.cs +++ /dev/null @@ -1,20 +0,0 @@ -// 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 QuotePreviewSubscriptionSchedulePhaseItemBillingThresholds : StripeEntity - { - /// - /// Usage threshold that triggers the subscription to create an invoice. - /// - [JsonProperty("usage_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("usage_gte")] -#endif - public long? UsageGte { get; set; } - } -} diff --git a/src/Stripe.net/Entities/Quotes/QuoteAutomaticTax.cs b/src/Stripe.net/Entities/Quotes/QuoteAutomaticTax.cs index 14510fa376..18acdb19a7 100644 --- a/src/Stripe.net/Entities/Quotes/QuoteAutomaticTax.cs +++ b/src/Stripe.net/Entities/Quotes/QuoteAutomaticTax.cs @@ -28,6 +28,15 @@ public class QuoteAutomaticTax : StripeEntity #endif public QuoteAutomaticTaxLiability Liability { get; set; } + /// + /// The tax provider powering automatic tax. + /// + [JsonProperty("provider")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("provider")] +#endif + public string Provider { get; set; } + /// /// The status of the most recent automated tax calculation for this quote. /// One of: complete, failed, or requires_location_inputs. diff --git a/src/Stripe.net/Entities/Refunds/Refund.cs b/src/Stripe.net/Entities/Refunds/Refund.cs index 82098c259b..84567e583e 100644 --- a/src/Stripe.net/Entities/Refunds/Refund.cs +++ b/src/Stripe.net/Entities/Refunds/Refund.cs @@ -290,6 +290,12 @@ public PaymentIntent PaymentIntent internal ExpandableField InternalPaymentIntent { get; set; } #endregion + [JsonProperty("presentment_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("presentment_details")] +#endif + public RefundPresentmentDetails PresentmentDetails { get; set; } + /// /// Reason for the refund, which is either user-provided (duplicate, /// fraudulent, or requested_by_customer) or generated by Stripe internally diff --git a/src/Stripe.net/Entities/Refunds/RefundDestinationDetails.cs b/src/Stripe.net/Entities/Refunds/RefundDestinationDetails.cs index 5ff960e736..9275d75fae 100644 --- a/src/Stripe.net/Entities/Refunds/RefundDestinationDetails.cs +++ b/src/Stripe.net/Entities/Refunds/RefundDestinationDetails.cs @@ -134,6 +134,12 @@ public class RefundDestinationDetails : StripeEntity #endif public RefundDestinationDetailsMxBankTransfer MxBankTransfer { get; set; } + [JsonProperty("nz_bank_transfer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nz_bank_transfer")] +#endif + public RefundDestinationDetailsNzBankTransfer NzBankTransfer { get; set; } + [JsonProperty("p24")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("p24")] diff --git a/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsNzBankTransfer.cs b/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsNzBankTransfer.cs new file mode 100644 index 0000000000..5515ee87ad --- /dev/null +++ b/src/Stripe.net/Entities/Refunds/RefundDestinationDetailsNzBankTransfer.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class RefundDestinationDetailsNzBankTransfer : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/Refunds/RefundPresentmentDetails.cs b/src/Stripe.net/Entities/Refunds/RefundPresentmentDetails.cs new file mode 100644 index 0000000000..02cfa96671 --- /dev/null +++ b/src/Stripe.net/Entities/Refunds/RefundPresentmentDetails.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class RefundPresentmentDetails : StripeEntity + { + /// + /// Amount intended to be collected by this payment, denominated in presentment_currency. + /// + [JsonProperty("presentment_amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("presentment_amount")] +#endif + public long PresentmentAmount { get; set; } + + /// + /// Currency presented to the customer during payment. + /// + [JsonProperty("presentment_currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("presentment_currency")] +#endif + public string PresentmentCurrency { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Reviews/Review.cs b/src/Stripe.net/Entities/Reviews/Review.cs index 54b80129bb..7eec9e2a4b 100644 --- a/src/Stripe.net/Entities/Reviews/Review.cs +++ b/src/Stripe.net/Entities/Reviews/Review.cs @@ -89,10 +89,10 @@ public Charge Charge /// /// The reason the review was closed, or null if it has not yet been closed. One of - /// approved, refunded, refunded_as_fraud, disputed, or - /// redacted. - /// One of: approved, disputed, redacted, refunded, or - /// refunded_as_fraud. + /// approved, refunded, refunded_as_fraud, disputed, + /// redacted, or canceled. + /// One of: approved, canceled, disputed, redacted, + /// refunded, or refunded_as_fraud. /// [JsonProperty("closed_reason")] #if NET6_0_OR_GREATER @@ -203,8 +203,8 @@ public PaymentIntent PaymentIntent /// /// The reason the review is currently open or closed. One of rule, manual, - /// approved, refunded, refunded_as_fraud, disputed, or - /// redacted. + /// approved, refunded, refunded_as_fraud, disputed, + /// redacted, or canceled. /// [JsonProperty("reason")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetails.cs b/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetails.cs index 29dee91282..e4c2d20be2 100644 --- a/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetails.cs +++ b/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetails.cs @@ -98,6 +98,18 @@ public class SetupAttemptPaymentMethodDetails : StripeEntity + { + /// + /// Uniquely identifies this particular Naver Pay account. You can use this attribute to + /// check whether two Naver Pay accounts are the same. + /// + [JsonProperty("buyer_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("buyer_id")] +#endif + public string BuyerId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetailsNzBankAccount.cs b/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetailsNzBankAccount.cs new file mode 100644 index 0000000000..4f92dad0b4 --- /dev/null +++ b/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetailsNzBankAccount.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class SetupAttemptPaymentMethodDetailsNzBankAccount : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItem.cs b/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItem.cs index d6c8893274..1c996ff0e8 100644 --- a/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItem.cs +++ b/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItem.cs @@ -38,25 +38,37 @@ public class SubscriptionItem : StripeEntity, IHasId, IHasMeta public string Object { get; set; } /// - /// Define thresholds at which an invoice will be sent, and the related subscription - /// advanced to a new billing period. + /// Time at which the object was created. Measured in seconds since the Unix epoch. /// - [JsonProperty("billing_thresholds")] + [JsonProperty("created")] + [JsonConverter(typeof(UnixDateTimeConverter))] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] + [STJS.JsonPropertyName("created")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] #endif - public SubscriptionItemBillingThresholds BillingThresholds { get; set; } + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; /// - /// Time at which the object was created. Measured in seconds since the Unix epoch. + /// The end time of this subscription item's current billing period. /// - [JsonProperty("created")] + [JsonProperty("current_period_end")] [JsonConverter(typeof(UnixDateTimeConverter))] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("created")] + [STJS.JsonPropertyName("current_period_end")] [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] #endif - public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + public DateTime CurrentPeriodEnd { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// The start time of this subscription item's current billing period. + /// + [JsonProperty("current_period_start")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("current_period_start")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime CurrentPeriodStart { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; /// /// Whether this object is deleted or not. diff --git a/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItemBillingThresholds.cs b/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItemBillingThresholds.cs deleted file mode 100644 index 6e5501e26b..0000000000 --- a/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItemBillingThresholds.cs +++ /dev/null @@ -1,20 +0,0 @@ -// 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 SubscriptionItemBillingThresholds : StripeEntity - { - /// - /// Usage threshold that triggers the subscription to create an invoice. - /// - [JsonProperty("usage_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("usage_gte")] -#endif - public long? UsageGte { get; set; } - } -} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleDefaultSettings.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleDefaultSettings.cs index 35459e069a..80163c265a 100644 --- a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleDefaultSettings.cs +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleDefaultSettings.cs @@ -43,16 +43,6 @@ public class SubscriptionScheduleDefaultSettings : StripeEntity - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public SubscriptionScheduleDefaultSettingsBillingThresholds BillingThresholds { get; set; } - /// /// Either charge_automatically, or send_invoice. When charging automatically, /// Stripe will attempt to pay the underlying subscription at the end of each billing cycle diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsBillingThresholds.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsBillingThresholds.cs deleted file mode 100644 index c2f87dbce4..0000000000 --- a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsBillingThresholds.cs +++ /dev/null @@ -1,33 +0,0 @@ -// 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 SubscriptionScheduleDefaultSettingsBillingThresholds : StripeEntity - { - /// - /// Monetary threshold that triggers the subscription to create an invoice. - /// - [JsonProperty("amount_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount_gte")] -#endif - public long? AmountGte { get; set; } - - /// - /// Indicates if the billing_cycle_anchor should be reset when a threshold is - /// reached. If true, billing_cycle_anchor will be updated to the date/time the - /// threshold was last reached; otherwise, the value will remain unchanged. This value may - /// not be true if the subscription contains items with plans that have - /// aggregate_usage=last_ever. - /// - [JsonProperty("reset_billing_cycle_anchor")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("reset_billing_cycle_anchor")] -#endif - public bool? ResetBillingCycleAnchor { get; set; } - } -} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhase.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhase.cs index 638b30822c..cb26ef271c 100644 --- a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhase.cs +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhase.cs @@ -55,16 +55,6 @@ public class SubscriptionSchedulePhase : StripeEntity #endif public string BillingCycleAnchor { get; set; } - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public SubscriptionSchedulePhaseBillingThresholds BillingThresholds { get; set; } - /// /// Either charge_automatically, or send_invoice. When charging automatically, /// Stripe will attempt to pay the underlying subscription at the end of each billing cycle @@ -79,47 +69,6 @@ public class SubscriptionSchedulePhase : StripeEntity #endif public string CollectionMethod { get; set; } - #region Expandable Coupon - - /// - /// (ID of the Coupon) - /// ID of the coupon to use during this phase of the subscription schedule. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public string CouponId - { - get => this.InternalCoupon?.Id; - set => this.InternalCoupon = SetExpandableFieldId(value, this.InternalCoupon); - } - - /// - /// (Expanded) - /// ID of the coupon to use during this phase of the subscription schedule. - /// - /// For more information, see the expand documentation. - /// - [JsonIgnore] -#if NET6_0_OR_GREATER - [STJS.JsonIgnore] -#endif - public Coupon Coupon - { - get => this.InternalCoupon?.ExpandedObject; - set => this.InternalCoupon = SetExpandableFieldObject(value, this.InternalCoupon); - } - - [JsonProperty("coupon")] - [JsonConverter(typeof(ExpandableFieldConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("coupon")] - [STJS.JsonConverter(typeof(STJExpandableFieldConverter))] -#endif - internal ExpandableField InternalCoupon { get; set; } - #endregion - /// /// Three-letter ISO currency /// code, in lowercase. Must be a supported diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhaseBillingThresholds.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhaseBillingThresholds.cs deleted file mode 100644 index c55587d44e..0000000000 --- a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhaseBillingThresholds.cs +++ /dev/null @@ -1,33 +0,0 @@ -// 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 SubscriptionSchedulePhaseBillingThresholds : StripeEntity - { - /// - /// Monetary threshold that triggers the subscription to create an invoice. - /// - [JsonProperty("amount_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount_gte")] -#endif - public long? AmountGte { get; set; } - - /// - /// Indicates if the billing_cycle_anchor should be reset when a threshold is - /// reached. If true, billing_cycle_anchor will be updated to the date/time the - /// threshold was last reached; otherwise, the value will remain unchanged. This value may - /// not be true if the subscription contains items with plans that have - /// aggregate_usage=last_ever. - /// - [JsonProperty("reset_billing_cycle_anchor")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("reset_billing_cycle_anchor")] -#endif - public bool? ResetBillingCycleAnchor { get; set; } - } -} diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhaseItem.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhaseItem.cs index 2e6d113cba..df000d5679 100644 --- a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhaseItem.cs +++ b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhaseItem.cs @@ -13,16 +13,6 @@ namespace Stripe #endif public class SubscriptionSchedulePhaseItem : StripeEntity, IHasMetadata { - /// - /// Define thresholds at which an invoice will be sent, and the related subscription - /// advanced to a new billing period. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public SubscriptionSchedulePhaseItemBillingThresholds BillingThresholds { get; set; } - /// /// The discounts applied to the subscription item. Subscription item discounts are applied /// before subscription discounts. Use expand[]=discounts to expand each discount. diff --git a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhaseItemBillingThresholds.cs b/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhaseItemBillingThresholds.cs deleted file mode 100644 index 8a25fdb981..0000000000 --- a/src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhaseItemBillingThresholds.cs +++ /dev/null @@ -1,20 +0,0 @@ -// 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 SubscriptionSchedulePhaseItemBillingThresholds : StripeEntity - { - /// - /// Usage threshold that triggers the subscription to create an invoice. - /// - [JsonProperty("usage_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("usage_gte")] -#endif - public long? UsageGte { get; set; } - } -} diff --git a/src/Stripe.net/Entities/Subscriptions/Subscription.cs b/src/Stripe.net/Entities/Subscriptions/Subscription.cs index 51a986bdff..801a6d2b1a 100644 --- a/src/Stripe.net/Entities/Subscriptions/Subscription.cs +++ b/src/Stripe.net/Entities/Subscriptions/Subscription.cs @@ -121,16 +121,6 @@ public Application Application #endif public SubscriptionBillingCycleAnchorConfig BillingCycleAnchorConfig { get; set; } - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public SubscriptionBillingThresholds BillingThresholds { get; set; } - /// /// A date in the future at which the subscription will automatically get canceled. /// @@ -150,7 +140,7 @@ public Application Application #if NET6_0_OR_GREATER [STJS.JsonPropertyName("cancel_at_period_end")] #endif - public bool CancelAtPeriodEnd { get; set; } + public bool? CancelAtPeriodEnd { get; set; } /// /// If the subscription has been canceled, the date of that cancellation. If the @@ -211,29 +201,6 @@ public Application Application #endif public string Currency { get; set; } - /// - /// End of the current period that the subscription has been invoiced for. At the end of - /// this period, a new invoice will be created. - /// - [JsonProperty("current_period_end")] - [JsonConverter(typeof(UnixDateTimeConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("current_period_end")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] -#endif - public DateTime CurrentPeriodEnd { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; - - /// - /// Start of the current period that the subscription has been invoiced for. - /// - [JsonProperty("current_period_start")] - [JsonConverter(typeof(UnixDateTimeConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("current_period_start")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] -#endif - public DateTime CurrentPeriodStart { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; - #region Expandable Customer /// @@ -412,18 +379,6 @@ public IPaymentSource DefaultSource #endif public string Description { get; set; } - /// - /// Describes the current discount applied to this subscription, if there is one. When - /// billing, a discount applied to a subscription overrides a discount applied on a - /// customer-wide basis. This field has been deprecated and will be removed in a future API - /// version. Use discounts instead. - /// - [JsonProperty("discount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("discount")] -#endif - public Discount Discount { get; set; } - #region Expandable Discounts /// @@ -579,7 +534,9 @@ public Invoice LatestInvoice /// /// (ID of the Account) /// The account (if any) the charge was made on behalf of for charges associated with this - /// subscription. See the Connect documentation for details. + /// subscription. See the Connect + /// documentation for details. /// [JsonIgnore] #if NET6_0_OR_GREATER @@ -594,7 +551,9 @@ public string OnBehalfOfId /// /// (Expanded) /// The account (if any) the charge was made on behalf of for charges associated with this - /// subscription. See the Connect documentation for details. + /// subscription. See the Connect + /// documentation for details. /// /// For more information, see the expand documentation. /// diff --git a/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingThresholds.cs b/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingThresholds.cs deleted file mode 100644 index b243bff262..0000000000 --- a/src/Stripe.net/Entities/Subscriptions/SubscriptionBillingThresholds.cs +++ /dev/null @@ -1,33 +0,0 @@ -// 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 SubscriptionBillingThresholds : StripeEntity - { - /// - /// Monetary threshold that triggers the subscription to create an invoice. - /// - [JsonProperty("amount_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount_gte")] -#endif - public long? AmountGte { get; set; } - - /// - /// Indicates if the billing_cycle_anchor should be reset when a threshold is - /// reached. If true, billing_cycle_anchor will be updated to the date/time the - /// threshold was last reached; otherwise, the value will remain unchanged. This value may - /// not be true if the subscription contains items with plans that have - /// aggregate_usage=last_ever. - /// - [JsonProperty("reset_billing_cycle_anchor")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("reset_billing_cycle_anchor")] -#endif - public bool? ResetBillingCycleAnchor { get; set; } - } -} diff --git a/src/Stripe.net/Entities/Subscriptions/SubscriptionPaymentSettings.cs b/src/Stripe.net/Entities/Subscriptions/SubscriptionPaymentSettings.cs index e8bcb184ec..01ef7759d9 100644 --- a/src/Stripe.net/Entities/Subscriptions/SubscriptionPaymentSettings.cs +++ b/src/Stripe.net/Entities/Subscriptions/SubscriptionPaymentSettings.cs @@ -30,11 +30,11 @@ public class SubscriptionPaymentSettings : StripeEntityamazon_pay, au_becs_debit, bacs_debit, bancontact, /// boleto, card, cashapp, custom, customer_balance, /// eps, fpx, giropay, grabpay, id_bank_transfer, - /// ideal, jp_credit_transfer, kakao_pay, konbini, - /// kr_card, link, multibanco, naver_pay, p24, - /// payco, paynow, paypal, promptpay, revolut_pay, - /// sepa_credit_transfer, sepa_debit, sofort, swish, - /// us_bank_account, or wechat_pay. + /// ideal, jp_credit_transfer, kakao_pay, klarna, + /// konbini, kr_card, link, multibanco, naver_pay, + /// nz_bank_account, p24, payco, paynow, paypal, + /// promptpay, revolut_pay, sepa_credit_transfer, sepa_debit, + /// sofort, swish, us_bank_account, or wechat_pay. /// [JsonProperty("payment_method_types")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Entities/Terminal/Configurations/Configuration.cs b/src/Stripe.net/Entities/Terminal/Configurations/Configuration.cs index 8a90ece59f..25bb6ea534 100644 --- a/src/Stripe.net/Entities/Terminal/Configurations/Configuration.cs +++ b/src/Stripe.net/Entities/Terminal/Configurations/Configuration.cs @@ -103,5 +103,11 @@ public class Configuration : StripeEntity, IHasId, IHasObject [STJS.JsonPropertyName("verifone_p400")] #endif public ConfigurationVerifoneP400 VerifoneP400 { get; set; } + + [JsonProperty("wifi")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("wifi")] +#endif + public ConfigurationWifi Wifi { get; set; } } } diff --git a/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationBbposWiseposE.cs b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationBbposWiseposE.cs index f07cc8a12e..e3f53283c5 100644 --- a/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationBbposWiseposE.cs +++ b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationBbposWiseposE.cs @@ -16,7 +16,7 @@ public class ConfigurationBbposWiseposE : StripeEntity /// (ID of the File) - /// A File ID representing an image you would like displayed on the reader. + /// A File ID representing an image to display on the reader. /// [JsonIgnore] #if NET6_0_OR_GREATER @@ -30,7 +30,7 @@ public string SplashscreenId /// /// (Expanded) - /// A File ID representing an image you would like displayed on the reader. + /// A File ID representing an image to display on the reader. /// /// For more information, see the expand documentation. /// diff --git a/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationStripeS700.cs b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationStripeS700.cs index aefbb6d175..48d1cd224a 100644 --- a/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationStripeS700.cs +++ b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationStripeS700.cs @@ -16,7 +16,7 @@ public class ConfigurationStripeS700 : StripeEntity /// /// (ID of the File) - /// A File ID representing an image you would like displayed on the reader. + /// A File ID representing an image to display on the reader. /// [JsonIgnore] #if NET6_0_OR_GREATER @@ -30,7 +30,7 @@ public string SplashscreenId /// /// (Expanded) - /// A File ID representing an image you would like displayed on the reader. + /// A File ID representing an image to display on the reader. /// /// For more information, see the expand documentation. /// diff --git a/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationVerifoneP400.cs b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationVerifoneP400.cs index 48c466f980..8673524b2e 100644 --- a/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationVerifoneP400.cs +++ b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationVerifoneP400.cs @@ -16,7 +16,7 @@ public class ConfigurationVerifoneP400 : StripeEntity /// /// (ID of the File) - /// A File ID representing an image you would like displayed on the reader. + /// A File ID representing an image to display on the reader. /// [JsonIgnore] #if NET6_0_OR_GREATER @@ -30,7 +30,7 @@ public string SplashscreenId /// /// (Expanded) - /// A File ID representing an image you would like displayed on the reader. + /// A File ID representing an image to display on the reader. /// /// For more information, see the expand documentation. /// diff --git a/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationWifi.cs b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationWifi.cs new file mode 100644 index 0000000000..ff8ddc0f88 --- /dev/null +++ b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationWifi.cs @@ -0,0 +1,40 @@ +// 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 ConfigurationWifi : StripeEntity + { + [JsonProperty("enterprise_eap_peap")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("enterprise_eap_peap")] +#endif + public ConfigurationWifiEnterpriseEapPeap EnterpriseEapPeap { get; set; } + + [JsonProperty("enterprise_eap_tls")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("enterprise_eap_tls")] +#endif + public ConfigurationWifiEnterpriseEapTls EnterpriseEapTls { get; set; } + + [JsonProperty("personal_psk")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("personal_psk")] +#endif + public ConfigurationWifiPersonalPsk PersonalPsk { get; set; } + + /// + /// Security type of the WiFi network. The hash with the corresponding name contains the + /// credentials for this security type. + /// One of: enterprise_eap_peap, enterprise_eap_tls, or personal_psk. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationWifiEnterpriseEapPeap.cs b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationWifiEnterpriseEapPeap.cs new file mode 100644 index 0000000000..d24f53960e --- /dev/null +++ b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationWifiEnterpriseEapPeap.cs @@ -0,0 +1,47 @@ +// 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 ConfigurationWifiEnterpriseEapPeap : StripeEntity + { + /// + /// A File ID representing a PEM file containing the server certificate. + /// + [JsonProperty("ca_certificate_file")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ca_certificate_file")] +#endif + public string CaCertificateFile { get; set; } + + /// + /// Password for connecting to the WiFi network. + /// + [JsonProperty("password")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("password")] +#endif + public string Password { get; set; } + + /// + /// Name of the WiFi network. + /// + [JsonProperty("ssid")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ssid")] +#endif + public string Ssid { get; set; } + + /// + /// Username for connecting to the WiFi network. + /// + [JsonProperty("username")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("username")] +#endif + public string Username { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationWifiEnterpriseEapTls.cs b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationWifiEnterpriseEapTls.cs new file mode 100644 index 0000000000..6be66dba33 --- /dev/null +++ b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationWifiEnterpriseEapTls.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 + + public class ConfigurationWifiEnterpriseEapTls : StripeEntity + { + /// + /// A File ID representing a PEM file containing the server certificate. + /// + [JsonProperty("ca_certificate_file")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ca_certificate_file")] +#endif + public string CaCertificateFile { get; set; } + + /// + /// A File ID representing a PEM file containing the client certificate. + /// + [JsonProperty("client_certificate_file")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("client_certificate_file")] +#endif + public string ClientCertificateFile { get; set; } + + /// + /// A File ID representing a PEM file containing the client RSA private key. + /// + [JsonProperty("private_key_file")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("private_key_file")] +#endif + public string PrivateKeyFile { get; set; } + + /// + /// Password for the private key file. + /// + [JsonProperty("private_key_file_password")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("private_key_file_password")] +#endif + public string PrivateKeyFilePassword { get; set; } + + /// + /// Name of the WiFi network. + /// + [JsonProperty("ssid")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ssid")] +#endif + public string Ssid { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationWifiPersonalPsk.cs b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationWifiPersonalPsk.cs new file mode 100644 index 0000000000..a605916b85 --- /dev/null +++ b/src/Stripe.net/Entities/Terminal/Configurations/ConfigurationWifiPersonalPsk.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 ConfigurationWifiPersonalPsk : StripeEntity + { + /// + /// Password for connecting to the WiFi network. + /// + [JsonProperty("password")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("password")] +#endif + public string Password { get; set; } + + /// + /// Name of the WiFi network. + /// + [JsonProperty("ssid")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ssid")] +#endif + public string Ssid { get; set; } + } +} diff --git a/src/Stripe.net/Entities/UsageRecordSummaries/UsageRecordSummary.cs b/src/Stripe.net/Entities/UsageRecordSummaries/UsageRecordSummary.cs deleted file mode 100644 index 3fc12372b3..0000000000 --- a/src/Stripe.net/Entities/UsageRecordSummaries/UsageRecordSummary.cs +++ /dev/null @@ -1,76 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; -#if NET6_0_OR_GREATER - using STJS = System.Text.Json.Serialization; -#endif - - /// - /// A usage record summary represents an aggregated view of how much usage was accrued for a - /// subscription item within a subscription billing period. - /// - public class UsageRecordSummary : 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 invoice in which this usage period has been billed for. - /// - [JsonProperty("invoice")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("invoice")] -#endif - public string Invoice { get; set; } - - /// - /// Has the value true if the object exists in live mode or the value false if - /// the object exists in test mode. - /// - [JsonProperty("livemode")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("livemode")] -#endif - public bool Livemode { get; set; } - - [JsonProperty("period")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("period")] -#endif - public UsageRecordSummaryPeriod Period { get; set; } - - /// - /// The ID of the subscription item this summary is describing. - /// - [JsonProperty("subscription_item")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_item")] -#endif - public string SubscriptionItem { get; set; } - - /// - /// The total usage within this usage period. - /// - [JsonProperty("total_usage")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("total_usage")] -#endif - public long TotalUsage { get; set; } - } -} diff --git a/src/Stripe.net/Entities/UsageRecordSummaries/UsageRecordSummaryPeriod.cs b/src/Stripe.net/Entities/UsageRecordSummaries/UsageRecordSummaryPeriod.cs deleted file mode 100644 index 63bd9c42b5..0000000000 --- a/src/Stripe.net/Entities/UsageRecordSummaries/UsageRecordSummaryPeriod.cs +++ /dev/null @@ -1,36 +0,0 @@ -// 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 UsageRecordSummaryPeriod : StripeEntity - { - /// - /// The end date of this usage period. All usage up to and including this point in time is - /// included. - /// - [JsonProperty("end")] - [JsonConverter(typeof(UnixDateTimeConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("end")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] -#endif - public DateTime? End { get; set; } - - /// - /// The start date of this usage period. All usage after this point in time is included. - /// - [JsonProperty("start")] - [JsonConverter(typeof(UnixDateTimeConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("start")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] -#endif - public DateTime? Start { get; set; } - } -} diff --git a/src/Stripe.net/Entities/UsageRecords/UsageRecord.cs b/src/Stripe.net/Entities/UsageRecords/UsageRecord.cs deleted file mode 100644 index c23657a212..0000000000 --- a/src/Stripe.net/Entities/UsageRecords/UsageRecord.cs +++ /dev/null @@ -1,81 +0,0 @@ -// 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 - - /// - /// Usage records allow you to report customer usage and metrics to Stripe for metered - /// billing of subscription prices. - /// - /// Related guide: Metered billing. - /// - /// This is our legacy usage-based billing API. See the updated usage-based - /// billing docs. - /// - public class UsageRecord : 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; } - - /// - /// Has the value true if the object exists in live mode or the value false if - /// the object exists in test mode. - /// - [JsonProperty("livemode")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("livemode")] -#endif - public bool Livemode { get; set; } - - /// - /// The usage quantity for the specified date. - /// - [JsonProperty("quantity")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("quantity")] -#endif - public long Quantity { get; set; } - - /// - /// The ID of the subscription item this usage record contains data for. - /// - [JsonProperty("subscription_item")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_item")] -#endif - public string SubscriptionItem { get; set; } - - /// - /// The timestamp when this usage occurred. - /// - [JsonProperty("timestamp")] - [JsonConverter(typeof(UnixDateTimeConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("timestamp")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] -#endif - public DateTime Timestamp { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; - } -} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/Account.cs b/src/Stripe.net/Entities/V2/Core/Accounts/Account.cs new file mode 100644 index 0000000000..0c0b0b260e --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/Account.cs @@ -0,0 +1,136 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// A V2 Account is a representation of a company or individual that a Stripe user does + /// business with. Accounts contain the contact details, Legal Entity information, and + /// configuration required to enable the Account for use across Stripe products. + /// + public class Account : StripeEntity, IHasId, IHasMetadata, IHasObject + { + /// + /// Unique identifier for the Account. + /// + [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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// Filter only accounts that have all of the configurations specified. If omitted, returns + /// all accounts regardless of which configurations they have. + /// One of: customer, merchant, or recipient. + /// + [JsonProperty("applied_configurations")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("applied_configurations")] +#endif + public List AppliedConfigurations { get; set; } + + /// + /// An Account Configuration which allows the Account to take on a key persona across Stripe + /// products. + /// + [JsonProperty("configuration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("configuration")] +#endif + public AccountConfiguration Configuration { get; set; } + + /// + /// The default contact email address for the Account. + /// + [JsonProperty("contact_email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("contact_email")] +#endif + public string ContactEmail { get; set; } + + /// + /// Time at which the object was created. Represented as a RFC 3339 date & time UTC + /// value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// A value indicating the Stripe dashboard this Account has access to. This will depend on + /// which configurations are enabled for this account. + /// One of: express, full, or none. + /// + [JsonProperty("dashboard")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("dashboard")] +#endif + public string Dashboard { get; set; } + + /// + /// Default values to be used on Account Configurations. + /// + [JsonProperty("defaults")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("defaults")] +#endif + public AccountDefaults Defaults { get; set; } + + /// + /// A descriptive name for the Account. This name will be surfaced in the Stripe Dashboard + /// and on any invoices sent to the Account. + /// + [JsonProperty("display_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_name")] +#endif + public string DisplayName { get; set; } + + /// + /// Information about the company, individual, and business represented by the Account. + /// + [JsonProperty("identity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("identity")] +#endif + public AccountIdentity Identity { get; set; } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// Information about the requirements for the Account, including what information needs to + /// be collected, and by when. + /// + [JsonProperty("requirements")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requirements")] +#endif + public AccountRequirements Requirements { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfiguration.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfiguration.cs new file mode 100644 index 0000000000..2270c66512 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfiguration.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfiguration : StripeEntity + { + /// + /// The Customer Configuration allows the Account to be used in inbound payment flows. + /// + [JsonProperty("customer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("customer")] +#endif + public AccountConfigurationCustomer Customer { get; set; } + + /// + /// The Merchant Configuration allows the Account to make charges. + /// + [JsonProperty("merchant")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("merchant")] +#endif + public AccountConfigurationMerchant Merchant { get; set; } + + /// + /// The Recipient Configuration allows the Account to receive funds. + /// + [JsonProperty("recipient")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("recipient")] +#endif + public AccountConfigurationRecipient Recipient { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomer.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomer.cs new file mode 100644 index 0000000000..02a0b12ffd --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomer.cs @@ -0,0 +1,60 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationCustomer : StripeEntity + { + /// + /// Automatic indirect tax settings to be used when automatic tax calculation is enabled on + /// the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if + /// automatic tax calculation is possible given the current customer location information. + /// + [JsonProperty("automatic_indirect_tax")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("automatic_indirect_tax")] +#endif + public AccountConfigurationCustomerAutomaticIndirectTax AutomaticIndirectTax { get; set; } + + /// + /// Billing settings - default settings used for this customer in Billing flows such as + /// Invoices and Subscriptions. + /// + [JsonProperty("billing")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billing")] +#endif + public AccountConfigurationCustomerBilling Billing { get; set; } + + /// + /// Capabilities that have been requested on the Customer Configuration. + /// + [JsonProperty("capabilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capabilities")] +#endif + public AccountConfigurationCustomerCapabilities Capabilities { get; set; } + + /// + /// The customer's shipping information. Appears on invoices emailed to this customer. + /// + [JsonProperty("shipping")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("shipping")] +#endif + public AccountConfigurationCustomerShipping Shipping { get; set; } + + /// + /// ID of the test clock to attach to the customer. Can only be set on testmode Accounts, + /// and when the Customer Configuration is first set on an Account. + /// + [JsonProperty("test_clock")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("test_clock")] +#endif + public string TestClock { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerAutomaticIndirectTax.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerAutomaticIndirectTax.cs new file mode 100644 index 0000000000..b873f1779b --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerAutomaticIndirectTax.cs @@ -0,0 +1,55 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationCustomerAutomaticIndirectTax : StripeEntity + { + /// + /// Describes the customer's tax exemption status, which is none, exempt, or + /// reverse. When set to reverse, invoice and receipt PDFs include the following + /// text: “Reverse charge”. + /// One of: exempt, none, or reverse. + /// + [JsonProperty("exempt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exempt")] +#endif + public string Exempt { get; set; } + + /// + /// A recent IP address of the customer used for tax reporting and tax location inference. + /// + [JsonProperty("ip_address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip_address")] +#endif + public string IpAddress { get; set; } + + /// + /// The customer’s location as identified by Stripe Tax - uses location_source. Will + /// only be rendered if the automatic_indirect_tax feature is requested and + /// active. + /// + [JsonProperty("location")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("location")] +#endif + public AccountConfigurationCustomerAutomaticIndirectTaxLocation Location { get; set; } + + /// + /// The data source used by Stripe Tax to identify the customer's location - defaults to + /// 'identity_address'. Will only be used for automatic tax calculation on the customer's + /// Invoices and Subscriptions. + /// One of: identity_address, ip_address, or shipping_address. + /// + [JsonProperty("location_source")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("location_source")] +#endif + public string LocationSource { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerAutomaticIndirectTaxLocation.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerAutomaticIndirectTaxLocation.cs new file mode 100644 index 0000000000..16576e68d0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerAutomaticIndirectTaxLocation.cs @@ -0,0 +1,61 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationCustomerAutomaticIndirectTaxLocation : StripeEntity + { + /// + /// The customer's country as identified by Stripe Tax. + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// The customer's state, county, province, or region as identified by Stripe Tax. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBilling.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBilling.cs new file mode 100644 index 0000000000..5d271de173 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBilling.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationCustomerBilling : StripeEntity + { + /// + /// ID of a payment method that’s attached to the customer, to be used as the customer’s + /// default payment method for invoices and subscriptions. + /// + [JsonProperty("default_payment_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("default_payment_method")] +#endif + public string DefaultPaymentMethod { get; set; } + + /// + /// Default settings used on invoices for this customer. + /// + [JsonProperty("invoice")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("invoice")] +#endif + public AccountConfigurationCustomerBillingInvoice Invoice { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBillingInvoice.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBillingInvoice.cs new file mode 100644 index 0000000000..0863e19f5b --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBillingInvoice.cs @@ -0,0 +1,59 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationCustomerBillingInvoice : StripeEntity + { + /// + /// The list of up to 4 default custom fields to be displayed on invoices for this customer. + /// When updating, pass an empty string to remove previously-defined fields. + /// + [JsonProperty("custom_fields")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("custom_fields")] +#endif + public List CustomFields { get; set; } + + /// + /// Default footer to be displayed on invoices for this customer. + /// + [JsonProperty("footer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("footer")] +#endif + public string Footer { get; set; } + + /// + /// The sequence to be used on the customer's next invoice. Defaults to 1. + /// + [JsonProperty("next_sequence")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("next_sequence")] +#endif + public long? NextSequence { get; set; } + + /// + /// The prefix for the customer used to generate unique invoice numbers. Must be 3–12 + /// uppercase letters or numbers. + /// + [JsonProperty("prefix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("prefix")] +#endif + public string Prefix { get; set; } + + /// + /// Default options for invoice PDF rendering for this customer. + /// + [JsonProperty("rendering")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("rendering")] +#endif + public AccountConfigurationCustomerBillingInvoiceRendering Rendering { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBillingInvoiceCustomField.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBillingInvoiceCustomField.cs new file mode 100644 index 0000000000..e7c1020499 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBillingInvoiceCustomField.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationCustomerBillingInvoiceCustomField : StripeEntity + { + /// + /// The name of the custom field. This may be up to 40 characters. + /// + [JsonProperty("name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("name")] +#endif + public string Name { get; set; } + + /// + /// The value of the custom field. This may be up to 140 characters. When updating, pass an + /// empty string to remove previously-defined values. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBillingInvoiceRendering.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBillingInvoiceRendering.cs new file mode 100644 index 0000000000..c3186a2887 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBillingInvoiceRendering.cs @@ -0,0 +1,33 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationCustomerBillingInvoiceRendering : StripeEntity + { + /// + /// How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. + /// One of exclude_tax or include_inclusive_tax. include_inclusive_tax will include + /// inclusive tax (and exclude exclusive tax) in invoice PDF amounts. exclude_tax will + /// exclude all tax (inclusive and exclusive alike) from invoice PDF amounts. + /// One of: exclude_tax, or include_inclusive_tax. + /// + [JsonProperty("amount_tax_display")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount_tax_display")] +#endif + public string AmountTaxDisplay { get; set; } + + /// + /// ID of the invoice rendering template to use for future invoices. + /// + [JsonProperty("template")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("template")] +#endif + public string Template { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilities.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilities.cs new file mode 100644 index 0000000000..ada2b6c2a0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilities.cs @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationCustomerCapabilities : StripeEntity + { + /// + /// Generates requirements for enabling automatic indirect tax calculation on this + /// customer's invoices or subscriptions. Recommended to request this capability if planning + /// to enable automatic tax calculation on this customer's invoices or subscriptions. Uses + /// the location_source field. + /// + [JsonProperty("automatic_indirect_tax")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("automatic_indirect_tax")] +#endif + public AccountConfigurationCustomerCapabilitiesAutomaticIndirectTax AutomaticIndirectTax { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilitiesAutomaticIndirectTax.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilitiesAutomaticIndirectTax.cs new file mode 100644 index 0000000000..b4e4daeff9 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilitiesAutomaticIndirectTax.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationCustomerCapabilitiesAutomaticIndirectTax : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilitiesAutomaticIndirectTaxStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilitiesAutomaticIndirectTaxStatusDetail.cs new file mode 100644 index 0000000000..52e636e41d --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilitiesAutomaticIndirectTaxStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationCustomerCapabilitiesAutomaticIndirectTaxStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerShipping.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerShipping.cs new file mode 100644 index 0000000000..c79d018155 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerShipping.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationCustomerShipping : StripeEntity + { + /// + /// Customer shipping address. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public AccountConfigurationCustomerShippingAddress Address { get; set; } + + /// + /// Customer name. + /// + [JsonProperty("name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("name")] +#endif + public string Name { get; set; } + + /// + /// Customer phone (including extension). + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerShippingAddress.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerShippingAddress.cs new file mode 100644 index 0000000000..156402d299 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerShippingAddress.cs @@ -0,0 +1,98 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationCustomerShippingAddress : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchant.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchant.cs new file mode 100644 index 0000000000..424906b11f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchant.cs @@ -0,0 +1,85 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchant : StripeEntity + { + /// + /// Settings used for Bacs debit payments. + /// + [JsonProperty("bacs_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bacs_debit_payments")] +#endif + public AccountConfigurationMerchantBacsDebitPayments BacsDebitPayments { get; set; } + + /// + /// Settings used to apply the merchant's branding to email receipts, invoices, Checkout, + /// and other products. + /// + [JsonProperty("branding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branding")] +#endif + public AccountConfigurationMerchantBranding Branding { get; set; } + + /// + /// Capabilities that have been requested on the Merchant Configuration. + /// + [JsonProperty("capabilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capabilities")] +#endif + public AccountConfigurationMerchantCapabilities Capabilities { get; set; } + + /// + /// Card payments settings. + /// + [JsonProperty("card_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_payments")] +#endif + public AccountConfigurationMerchantCardPayments CardPayments { get; set; } + + /// + /// The merchant category code for the merchant. MCCs are used to classify businesses based + /// on the goods or services they provide. + /// + [JsonProperty("mcc")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mcc")] +#endif + public string Mcc { get; set; } + + /// + /// Settings used for SEPA debit payments. + /// + [JsonProperty("sepa_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sepa_debit_payments")] +#endif + public AccountConfigurationMerchantSepaDebitPayments SepaDebitPayments { get; set; } + + /// + /// Statement descriptor. + /// + [JsonProperty("statement_descriptor")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("statement_descriptor")] +#endif + public AccountConfigurationMerchantStatementDescriptor StatementDescriptor { get; set; } + + /// + /// Publicly available contact information for sending support issues to. + /// + [JsonProperty("support")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("support")] +#endif + public AccountConfigurationMerchantSupport Support { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantBacsDebitPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantBacsDebitPayments.cs new file mode 100644 index 0000000000..c65788092c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantBacsDebitPayments.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantBacsDebitPayments : StripeEntity + { + /// + /// Display name for Bacs debit payments. + /// + [JsonProperty("display_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_name")] +#endif + public string DisplayName { get; set; } + + /// + /// Service user number for Bacs debit payments. + /// + [JsonProperty("service_user_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("service_user_number")] +#endif + public string ServiceUserNumber { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantBranding.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantBranding.cs new file mode 100644 index 0000000000..f0c4ee86c4 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantBranding.cs @@ -0,0 +1,50 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantBranding : StripeEntity + { + /// + /// ID of a file + /// upload: An icon for the merchant. Must be square and at least 128px x 128px. + /// + [JsonProperty("icon")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("icon")] +#endif + public string Icon { get; set; } + + /// + /// ID of a file + /// upload: A logo for the merchant that will be used in Checkout instead of the icon + /// and without the merchant's name next to it if provided. Must be at least 128px x 128px. + /// + [JsonProperty("logo")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("logo")] +#endif + public string Logo { get; set; } + + /// + /// A CSS hex color value representing the primary branding color for the merchant. + /// + [JsonProperty("primary_color")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("primary_color")] +#endif + public string PrimaryColor { get; set; } + + /// + /// A CSS hex color value representing the secondary branding color for the merchant. + /// + [JsonProperty("secondary_color")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("secondary_color")] +#endif + public string SecondaryColor { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilities.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilities.cs new file mode 100644 index 0000000000..dca045698b --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilities.cs @@ -0,0 +1,407 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilities : StripeEntity + { + /// + /// Allow the merchant to process ACH debit payments. + /// + [JsonProperty("ach_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ach_debit_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesAchDebitPayments AchDebitPayments { get; set; } + + /// + /// Allow the merchant to process ACSS debit payments. + /// + [JsonProperty("acss_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("acss_debit_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesAcssDebitPayments AcssDebitPayments { get; set; } + + /// + /// Allow the merchant to process Affirm payments. + /// + [JsonProperty("affirm_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("affirm_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesAffirmPayments AffirmPayments { get; set; } + + /// + /// Allow the merchant to process Afterpay/Clearpay payments. + /// + [JsonProperty("afterpay_clearpay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("afterpay_clearpay_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesAfterpayClearpayPayments AfterpayClearpayPayments { get; set; } + + /// + /// Allow the merchant to process Alma payments. + /// + [JsonProperty("alma_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("alma_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesAlmaPayments AlmaPayments { get; set; } + + /// + /// Allow the merchant to process Amazon Pay payments. + /// + [JsonProperty("amazon_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amazon_pay_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesAmazonPayPayments AmazonPayPayments { get; set; } + + /// + /// Allow the merchant to process Australian BECS Direct Debit payments. + /// + [JsonProperty("au_becs_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("au_becs_debit_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesAuBecsDebitPayments AuBecsDebitPayments { get; set; } + + /// + /// Allow the merchant to process BACS Direct Debit payments. + /// + [JsonProperty("bacs_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bacs_debit_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesBacsDebitPayments BacsDebitPayments { get; set; } + + /// + /// Allow the merchant to process Bancontact payments. + /// + [JsonProperty("bancontact_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bancontact_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesBancontactPayments BancontactPayments { get; set; } + + /// + /// Allow the merchant to process BLIK payments. + /// + [JsonProperty("blik_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("blik_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesBlikPayments BlikPayments { get; set; } + + /// + /// Allow the merchant to process Boleto payments. + /// + [JsonProperty("boleto_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("boleto_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesBoletoPayments BoletoPayments { get; set; } + + /// + /// Allow the merchant to collect card payments. + /// + [JsonProperty("card_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesCardPayments CardPayments { get; set; } + + /// + /// Allow the merchant to process Cartes Bancaires payments. + /// + [JsonProperty("cartes_bancaires_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cartes_bancaires_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesCartesBancairesPayments CartesBancairesPayments { get; set; } + + /// + /// Allow the merchant to process Cash App payments. + /// + [JsonProperty("cashapp_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cashapp_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesCashappPayments CashappPayments { get; set; } + + /// + /// Allow the merchant to process EPS payments. + /// + [JsonProperty("eps_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("eps_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesEpsPayments EpsPayments { get; set; } + + /// + /// Allow the merchant to process FPX payments. + /// + [JsonProperty("fpx_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fpx_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesFpxPayments FpxPayments { get; set; } + + /// + /// Allow the merchant to process UK bank transfer payments. + /// + [JsonProperty("gb_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("gb_bank_transfer_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesGbBankTransferPayments GbBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process GrabPay payments. + /// + [JsonProperty("grabpay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("grabpay_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesGrabpayPayments GrabpayPayments { get; set; } + + /// + /// Allow the merchant to process iDEAL payments. + /// + [JsonProperty("ideal_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ideal_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesIdealPayments IdealPayments { get; set; } + + /// + /// Allow the merchant to process JCB card payments. + /// + [JsonProperty("jcb_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("jcb_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesJcbPayments JcbPayments { get; set; } + + /// + /// Allow the merchant to process Japanese bank transfer payments. + /// + [JsonProperty("jp_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("jp_bank_transfer_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesJpBankTransferPayments JpBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process Kakao Pay payments. + /// + [JsonProperty("kakao_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kakao_pay_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesKakaoPayPayments KakaoPayPayments { get; set; } + + /// + /// Allow the merchant to process Klarna payments. + /// + [JsonProperty("klarna_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("klarna_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesKlarnaPayments KlarnaPayments { get; set; } + + /// + /// Allow the merchant to process Konbini convenience store payments. + /// + [JsonProperty("konbini_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("konbini_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesKonbiniPayments KonbiniPayments { get; set; } + + /// + /// Allow the merchant to process Korean card payments. + /// + [JsonProperty("kr_card_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kr_card_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesKrCardPayments KrCardPayments { get; set; } + + /// + /// Allow the merchant to process Link payments. + /// + [JsonProperty("link_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("link_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesLinkPayments LinkPayments { get; set; } + + /// + /// Allow the merchant to process MobilePay payments. + /// + [JsonProperty("mobilepay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mobilepay_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesMobilepayPayments MobilepayPayments { get; set; } + + /// + /// Allow the merchant to process Multibanco payments. + /// + [JsonProperty("multibanco_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("multibanco_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesMultibancoPayments MultibancoPayments { get; set; } + + /// + /// Allow the merchant to process Mexican bank transfer payments. + /// + [JsonProperty("mx_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mx_bank_transfer_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesMxBankTransferPayments MxBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process Naver Pay payments. + /// + [JsonProperty("naver_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("naver_pay_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesNaverPayPayments NaverPayPayments { get; set; } + + /// + /// Allow the merchant to process OXXO payments. + /// + [JsonProperty("oxxo_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("oxxo_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesOxxoPayments OxxoPayments { get; set; } + + /// + /// Allow the merchant to process Przelewy24 (P24) payments. + /// + [JsonProperty("p24_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("p24_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesP24Payments P24Payments { get; set; } + + /// + /// Allow the merchant to process Pay by Bank payments. + /// + [JsonProperty("pay_by_bank_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("pay_by_bank_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesPayByBankPayments PayByBankPayments { get; set; } + + /// + /// Allow the merchant to process PAYCO payments. + /// + [JsonProperty("payco_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payco_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesPaycoPayments PaycoPayments { get; set; } + + /// + /// Allow the merchant to process PayNow payments. + /// + [JsonProperty("paynow_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("paynow_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesPaynowPayments PaynowPayments { get; set; } + + /// + /// Allow the merchant to process PromptPay payments. + /// + [JsonProperty("promptpay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("promptpay_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesPromptpayPayments PromptpayPayments { get; set; } + + /// + /// Allow the merchant to process Revolut Pay payments. + /// + [JsonProperty("revolut_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("revolut_pay_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesRevolutPayPayments RevolutPayPayments { get; set; } + + /// + /// Allow the merchant to process Samsung Pay payments. + /// + [JsonProperty("samsung_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("samsung_pay_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesSamsungPayPayments SamsungPayPayments { get; set; } + + /// + /// Allow the merchant to process SEPA bank transfer payments. + /// + [JsonProperty("sepa_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sepa_bank_transfer_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesSepaBankTransferPayments SepaBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process SEPA Direct Debit payments. + /// + [JsonProperty("sepa_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sepa_debit_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesSepaDebitPayments SepaDebitPayments { get; set; } + + /// + /// Allow the merchant to process Swish payments. + /// + [JsonProperty("swish_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("swish_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesSwishPayments SwishPayments { get; set; } + + /// + /// Allow the merchant to process TWINT payments. + /// + [JsonProperty("twint_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("twint_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesTwintPayments TwintPayments { get; set; } + + /// + /// Allow the merchant to process US bank transfer payments. + /// + [JsonProperty("us_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("us_bank_transfer_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesUsBankTransferPayments UsBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process Zip payments. + /// + [JsonProperty("zip_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("zip_payments")] +#endif + public AccountConfigurationMerchantCapabilitiesZipPayments ZipPayments { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAchDebitPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAchDebitPayments.cs new file mode 100644 index 0000000000..0f75d1b5db --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAchDebitPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAchDebitPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAchDebitPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAchDebitPaymentsStatusDetail.cs new file mode 100644 index 0000000000..0c00e38d6f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAchDebitPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAchDebitPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAcssDebitPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAcssDebitPayments.cs new file mode 100644 index 0000000000..c90593d5a9 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAcssDebitPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAcssDebitPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAcssDebitPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAcssDebitPaymentsStatusDetail.cs new file mode 100644 index 0000000000..182a3a9b44 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAcssDebitPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAcssDebitPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAffirmPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAffirmPayments.cs new file mode 100644 index 0000000000..1650299ece --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAffirmPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAffirmPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAffirmPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAffirmPaymentsStatusDetail.cs new file mode 100644 index 0000000000..bb0a74b9a5 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAffirmPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAffirmPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAfterpayClearpayPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAfterpayClearpayPayments.cs new file mode 100644 index 0000000000..cb17349281 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAfterpayClearpayPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAfterpayClearpayPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsStatusDetail.cs new file mode 100644 index 0000000000..6ebd5c8a00 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAlmaPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAlmaPayments.cs new file mode 100644 index 0000000000..5750a23946 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAlmaPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAlmaPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAlmaPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAlmaPaymentsStatusDetail.cs new file mode 100644 index 0000000000..ad2e4d7389 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAlmaPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAlmaPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAmazonPayPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAmazonPayPayments.cs new file mode 100644 index 0000000000..ddb04ec896 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAmazonPayPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAmazonPayPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAmazonPayPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAmazonPayPaymentsStatusDetail.cs new file mode 100644 index 0000000000..65a5560784 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAmazonPayPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAmazonPayPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAuBecsDebitPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAuBecsDebitPayments.cs new file mode 100644 index 0000000000..229a898ae0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAuBecsDebitPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAuBecsDebitPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAuBecsDebitPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAuBecsDebitPaymentsStatusDetail.cs new file mode 100644 index 0000000000..3c7483368d --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAuBecsDebitPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesAuBecsDebitPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBacsDebitPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBacsDebitPayments.cs new file mode 100644 index 0000000000..a614045798 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBacsDebitPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesBacsDebitPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBacsDebitPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBacsDebitPaymentsStatusDetail.cs new file mode 100644 index 0000000000..9caff4b3e0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBacsDebitPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesBacsDebitPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBancontactPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBancontactPayments.cs new file mode 100644 index 0000000000..70b1aa7421 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBancontactPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesBancontactPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBancontactPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBancontactPaymentsStatusDetail.cs new file mode 100644 index 0000000000..b883ec43b0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBancontactPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesBancontactPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBlikPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBlikPayments.cs new file mode 100644 index 0000000000..e64a8d43d1 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBlikPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesBlikPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBlikPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBlikPaymentsStatusDetail.cs new file mode 100644 index 0000000000..bce06b5d1c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBlikPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesBlikPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBoletoPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBoletoPayments.cs new file mode 100644 index 0000000000..1320f008c7 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBoletoPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesBoletoPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBoletoPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBoletoPaymentsStatusDetail.cs new file mode 100644 index 0000000000..ac5c823747 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBoletoPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesBoletoPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCardPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCardPayments.cs new file mode 100644 index 0000000000..c4f0a2dd16 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCardPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesCardPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCardPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCardPaymentsStatusDetail.cs new file mode 100644 index 0000000000..4beeb879db --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCardPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesCardPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCartesBancairesPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCartesBancairesPayments.cs new file mode 100644 index 0000000000..de0a999de4 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCartesBancairesPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesCartesBancairesPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCartesBancairesPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCartesBancairesPaymentsStatusDetail.cs new file mode 100644 index 0000000000..7b83c70d18 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCartesBancairesPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesCartesBancairesPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCashappPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCashappPayments.cs new file mode 100644 index 0000000000..c5f1436e8d --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCashappPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesCashappPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCashappPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCashappPaymentsStatusDetail.cs new file mode 100644 index 0000000000..d2d5182010 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCashappPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesCashappPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesEpsPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesEpsPayments.cs new file mode 100644 index 0000000000..09c931971f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesEpsPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesEpsPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesEpsPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesEpsPaymentsStatusDetail.cs new file mode 100644 index 0000000000..e5e64dabe1 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesEpsPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesEpsPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesFpxPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesFpxPayments.cs new file mode 100644 index 0000000000..f9209d4c60 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesFpxPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesFpxPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesFpxPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesFpxPaymentsStatusDetail.cs new file mode 100644 index 0000000000..ce98f21a48 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesFpxPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesFpxPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGbBankTransferPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGbBankTransferPayments.cs new file mode 100644 index 0000000000..faf7258a2f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGbBankTransferPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesGbBankTransferPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGbBankTransferPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGbBankTransferPaymentsStatusDetail.cs new file mode 100644 index 0000000000..a99d1757d0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGbBankTransferPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesGbBankTransferPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGrabpayPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGrabpayPayments.cs new file mode 100644 index 0000000000..58f0ed923b --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGrabpayPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesGrabpayPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGrabpayPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGrabpayPaymentsStatusDetail.cs new file mode 100644 index 0000000000..d7397a30c6 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGrabpayPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesGrabpayPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesIdealPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesIdealPayments.cs new file mode 100644 index 0000000000..3c9645e1aa --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesIdealPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesIdealPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesIdealPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesIdealPaymentsStatusDetail.cs new file mode 100644 index 0000000000..677f109747 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesIdealPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesIdealPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJcbPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJcbPayments.cs new file mode 100644 index 0000000000..cd1c3e39a7 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJcbPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesJcbPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJcbPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJcbPaymentsStatusDetail.cs new file mode 100644 index 0000000000..c3e54dec0b --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJcbPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesJcbPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJpBankTransferPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJpBankTransferPayments.cs new file mode 100644 index 0000000000..8457d9845a --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJpBankTransferPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesJpBankTransferPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJpBankTransferPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJpBankTransferPaymentsStatusDetail.cs new file mode 100644 index 0000000000..8a1f235e5e --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJpBankTransferPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesJpBankTransferPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKakaoPayPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKakaoPayPayments.cs new file mode 100644 index 0000000000..4fa01128f3 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKakaoPayPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesKakaoPayPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKakaoPayPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKakaoPayPaymentsStatusDetail.cs new file mode 100644 index 0000000000..909c28ab77 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKakaoPayPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesKakaoPayPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKlarnaPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKlarnaPayments.cs new file mode 100644 index 0000000000..a83a48d2d4 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKlarnaPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesKlarnaPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKlarnaPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKlarnaPaymentsStatusDetail.cs new file mode 100644 index 0000000000..122d55661b --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKlarnaPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesKlarnaPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKonbiniPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKonbiniPayments.cs new file mode 100644 index 0000000000..e2557e8a42 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKonbiniPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesKonbiniPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKonbiniPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKonbiniPaymentsStatusDetail.cs new file mode 100644 index 0000000000..3c5806e3e6 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKonbiniPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesKonbiniPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKrCardPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKrCardPayments.cs new file mode 100644 index 0000000000..2f25899865 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKrCardPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesKrCardPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKrCardPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKrCardPaymentsStatusDetail.cs new file mode 100644 index 0000000000..7a605cc472 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKrCardPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesKrCardPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesLinkPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesLinkPayments.cs new file mode 100644 index 0000000000..efbf35d944 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesLinkPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesLinkPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesLinkPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesLinkPaymentsStatusDetail.cs new file mode 100644 index 0000000000..360d26f01b --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesLinkPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesLinkPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMobilepayPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMobilepayPayments.cs new file mode 100644 index 0000000000..33e61965c0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMobilepayPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesMobilepayPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMobilepayPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMobilepayPaymentsStatusDetail.cs new file mode 100644 index 0000000000..a96d3ce5a6 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMobilepayPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesMobilepayPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMultibancoPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMultibancoPayments.cs new file mode 100644 index 0000000000..1fe6756906 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMultibancoPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesMultibancoPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMultibancoPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMultibancoPaymentsStatusDetail.cs new file mode 100644 index 0000000000..fdc205d499 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMultibancoPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesMultibancoPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMxBankTransferPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMxBankTransferPayments.cs new file mode 100644 index 0000000000..ecde7da0d0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMxBankTransferPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesMxBankTransferPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMxBankTransferPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMxBankTransferPaymentsStatusDetail.cs new file mode 100644 index 0000000000..b37cd9e3ce --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMxBankTransferPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesMxBankTransferPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesNaverPayPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesNaverPayPayments.cs new file mode 100644 index 0000000000..d2f9eae794 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesNaverPayPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesNaverPayPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesNaverPayPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesNaverPayPaymentsStatusDetail.cs new file mode 100644 index 0000000000..9bf19f04ae --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesNaverPayPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesNaverPayPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesOxxoPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesOxxoPayments.cs new file mode 100644 index 0000000000..fe2fa5e57c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesOxxoPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesOxxoPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesOxxoPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesOxxoPaymentsStatusDetail.cs new file mode 100644 index 0000000000..bdc3ee2535 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesOxxoPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesOxxoPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesP24Payments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesP24Payments.cs new file mode 100644 index 0000000000..44905141c5 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesP24Payments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesP24Payments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesP24PaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesP24PaymentsStatusDetail.cs new file mode 100644 index 0000000000..846103fe18 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesP24PaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesP24PaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPayByBankPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPayByBankPayments.cs new file mode 100644 index 0000000000..87ea27a19c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPayByBankPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesPayByBankPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPayByBankPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPayByBankPaymentsStatusDetail.cs new file mode 100644 index 0000000000..4d7b5ff31f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPayByBankPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesPayByBankPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaycoPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaycoPayments.cs new file mode 100644 index 0000000000..d2f0fd18f4 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaycoPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesPaycoPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaycoPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaycoPaymentsStatusDetail.cs new file mode 100644 index 0000000000..8e1ca00218 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaycoPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesPaycoPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaynowPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaynowPayments.cs new file mode 100644 index 0000000000..490494a5a9 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaynowPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesPaynowPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaynowPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaynowPaymentsStatusDetail.cs new file mode 100644 index 0000000000..5ecb84c69c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaynowPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesPaynowPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPromptpayPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPromptpayPayments.cs new file mode 100644 index 0000000000..b2b1af9cc7 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPromptpayPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesPromptpayPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPromptpayPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPromptpayPaymentsStatusDetail.cs new file mode 100644 index 0000000000..e51f69e78f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPromptpayPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesPromptpayPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesRevolutPayPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesRevolutPayPayments.cs new file mode 100644 index 0000000000..07a1eec353 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesRevolutPayPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesRevolutPayPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesRevolutPayPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesRevolutPayPaymentsStatusDetail.cs new file mode 100644 index 0000000000..d8aa8cfb2d --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesRevolutPayPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesRevolutPayPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSamsungPayPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSamsungPayPayments.cs new file mode 100644 index 0000000000..5e9d74652b --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSamsungPayPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesSamsungPayPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSamsungPayPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSamsungPayPaymentsStatusDetail.cs new file mode 100644 index 0000000000..df8fb6f022 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSamsungPayPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesSamsungPayPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaBankTransferPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaBankTransferPayments.cs new file mode 100644 index 0000000000..b3285617f2 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaBankTransferPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesSepaBankTransferPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaBankTransferPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaBankTransferPaymentsStatusDetail.cs new file mode 100644 index 0000000000..944e3b3e09 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaBankTransferPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesSepaBankTransferPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaDebitPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaDebitPayments.cs new file mode 100644 index 0000000000..60bb66147f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaDebitPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesSepaDebitPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaDebitPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaDebitPaymentsStatusDetail.cs new file mode 100644 index 0000000000..331a4d7323 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaDebitPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesSepaDebitPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSwishPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSwishPayments.cs new file mode 100644 index 0000000000..0c0b9b5426 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSwishPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesSwishPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSwishPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSwishPaymentsStatusDetail.cs new file mode 100644 index 0000000000..402e713d5b --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSwishPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesSwishPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesTwintPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesTwintPayments.cs new file mode 100644 index 0000000000..91fb1b23b0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesTwintPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesTwintPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesTwintPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesTwintPaymentsStatusDetail.cs new file mode 100644 index 0000000000..facd337151 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesTwintPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesTwintPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesUsBankTransferPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesUsBankTransferPayments.cs new file mode 100644 index 0000000000..d5e5643f1f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesUsBankTransferPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesUsBankTransferPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesUsBankTransferPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesUsBankTransferPaymentsStatusDetail.cs new file mode 100644 index 0000000000..0f2c000824 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesUsBankTransferPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesUsBankTransferPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesZipPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesZipPayments.cs new file mode 100644 index 0000000000..4d330a7ec6 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesZipPayments.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesZipPayments : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesZipPaymentsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesZipPaymentsStatusDetail.cs new file mode 100644 index 0000000000..d0eb0b2d99 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesZipPaymentsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCapabilitiesZipPaymentsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCardPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCardPayments.cs new file mode 100644 index 0000000000..d9322e633d --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCardPayments.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCardPayments : StripeEntity + { + /// + /// Automatically declines certain charge types regardless of whether the card issuer + /// accepted or declined the charge. + /// + [JsonProperty("decline_on")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("decline_on")] +#endif + public AccountConfigurationMerchantCardPaymentsDeclineOn DeclineOn { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCardPaymentsDeclineOn.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCardPaymentsDeclineOn.cs new file mode 100644 index 0000000000..c6a655e8eb --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCardPaymentsDeclineOn.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantCardPaymentsDeclineOn : StripeEntity + { + /// + /// Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This + /// setting only applies when a ZIP or postal code is provided and they fail bank + /// verification. + /// + [JsonProperty("avs_failure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("avs_failure")] +#endif + public bool? AvsFailure { get; set; } + + /// + /// Whether Stripe automatically declines charges with an incorrect CVC. This setting only + /// applies when a CVC is provided and it fails bank verification. + /// + [JsonProperty("cvc_failure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cvc_failure")] +#endif + public bool? CvcFailure { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantSepaDebitPayments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantSepaDebitPayments.cs new file mode 100644 index 0000000000..0008905a13 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantSepaDebitPayments.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantSepaDebitPayments : StripeEntity + { + /// + /// Creditor ID for SEPA debit payments. + /// + [JsonProperty("creditor_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("creditor_id")] +#endif + public string CreditorId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantStatementDescriptor.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantStatementDescriptor.cs new file mode 100644 index 0000000000..5f3ef0b372 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantStatementDescriptor.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantStatementDescriptor : StripeEntity + { + /// + /// The default text that appears on statements for non-card charges outside of Japan. For + /// card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + /// the statement descriptor prefix. In that case, if concatenating the statement descriptor + /// suffix causes the combined statement descriptor to exceed 22 characters, we truncate the + /// statement_descriptor text to limit the full descriptor to 22 characters. For more + /// information about statement descriptors and their requirements, see the Merchant + /// Configuration settings documentation. + /// + [JsonProperty("descriptor")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("descriptor")] +#endif + public string Descriptor { get; set; } + + /// + /// Default text that appears on statements for card charges outside of Japan, prefixing any + /// dynamic statement_descriptor_suffix specified on the charge. To maximize space for the + /// dynamic part of the descriptor, keep this text short. If you don’t specify this value, + /// statement_descriptor is used as the prefix. For more information about statement + /// descriptors and their requirements, see the Merchant Configuration settings + /// documentation. + /// + [JsonProperty("prefix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("prefix")] +#endif + public string Prefix { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantSupport.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantSupport.cs new file mode 100644 index 0000000000..17cd887f08 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantSupport.cs @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantSupport : StripeEntity + { + /// + /// A publicly available mailing address for sending support issues to. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public AccountConfigurationMerchantSupportAddress Address { get; set; } + + /// + /// A publicly available email address for sending support issues to. + /// + [JsonProperty("email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("email")] +#endif + public string Email { get; set; } + + /// + /// A publicly available phone number to call with support issues. + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + + /// + /// A publicly available website for handling support issues. + /// + [JsonProperty("url")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("url")] +#endif + public string Url { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantSupportAddress.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantSupportAddress.cs new file mode 100644 index 0000000000..c58a295579 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantSupportAddress.cs @@ -0,0 +1,107 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationMerchantSupportAddress : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipient.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipient.cs new file mode 100644 index 0000000000..a9e2703d7c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipient.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipient : StripeEntity + { + /// + /// Capabilities that have been requested on the Recipient Configuration. + /// + [JsonProperty("capabilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capabilities")] +#endif + public AccountConfigurationRecipientCapabilities Capabilities { get; set; } + + /// + /// The payout method to be used as a default outbound destination. This will allow the + /// PayoutMethod to be omitted on OutboundPayments made through the dashboard. + /// + [JsonProperty("default_outbound_destination")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("default_outbound_destination")] +#endif + public AccountConfigurationRecipientDefaultOutboundDestination DefaultOutboundDestination { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilities.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilities.cs new file mode 100644 index 0000000000..33998bacc4 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilities.cs @@ -0,0 +1,39 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipientCapabilities : StripeEntity + { + /// + /// Capabilities that enable OutboundPayments to a bank account linked to this Account. + /// + [JsonProperty("bank_accounts")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_accounts")] +#endif + public AccountConfigurationRecipientCapabilitiesBankAccounts BankAccounts { get; set; } + + /// + /// Capability that enable OutboundPayments to a debit card linked to this Account. + /// + [JsonProperty("cards")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cards")] +#endif + public AccountConfigurationRecipientCapabilitiesCards Cards { get; set; } + + /// + /// Capabilities that enable the recipient to receive money into their Stripe Balance + /// (/v1/balance). + /// + [JsonProperty("stripe_balance")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("stripe_balance")] +#endif + public AccountConfigurationRecipientCapabilitiesStripeBalance StripeBalance { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccounts.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccounts.cs new file mode 100644 index 0000000000..04c718d87f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccounts.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipientCapabilitiesBankAccounts : StripeEntity + { + /// + /// Enables this Account to receive OutboundPayments to linked bank accounts over local + /// networks. + /// + [JsonProperty("local")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("local")] +#endif + public AccountConfigurationRecipientCapabilitiesBankAccountsLocal Local { get; set; } + + /// + /// Enables this Account to receive OutboundPayments to linked bank accounts over wire. + /// + [JsonProperty("wire")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("wire")] +#endif + public AccountConfigurationRecipientCapabilitiesBankAccountsWire Wire { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsLocal.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsLocal.cs new file mode 100644 index 0000000000..a5ddcd8acf --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsLocal.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipientCapabilitiesBankAccountsLocal : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsLocalStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsLocalStatusDetail.cs new file mode 100644 index 0000000000..993f7793e8 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsLocalStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipientCapabilitiesBankAccountsLocalStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsWire.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsWire.cs new file mode 100644 index 0000000000..9d77aba596 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsWire.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipientCapabilitiesBankAccountsWire : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsWireStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsWireStatusDetail.cs new file mode 100644 index 0000000000..bc6cf01d5e --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsWireStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipientCapabilitiesBankAccountsWireStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesCards.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesCards.cs new file mode 100644 index 0000000000..8bc4696386 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesCards.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipientCapabilitiesCards : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesCardsStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesCardsStatusDetail.cs new file mode 100644 index 0000000000..b0ab424608 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesCardsStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipientCapabilitiesCardsStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesStripeBalance.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesStripeBalance.cs new file mode 100644 index 0000000000..c1cff73986 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesStripeBalance.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipientCapabilitiesStripeBalance : StripeEntity + { + /// + /// Allows the recipient to receive /v1/transfers into their Stripe Balance (/v1/balance). + /// + [JsonProperty("stripe_transfers")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("stripe_transfers")] +#endif + public AccountConfigurationRecipientCapabilitiesStripeBalanceStripeTransfers StripeTransfers { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesStripeBalanceStripeTransfers.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesStripeBalanceStripeTransfers.cs new file mode 100644 index 0000000000..1ca0d27b04 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesStripeBalanceStripeTransfers.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipientCapabilitiesStripeBalanceStripeTransfers : StripeEntity + { + /// + /// Whether the Capability has been requested. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool Requested { get; set; } + + /// + /// The status of the Capability. + /// One of: active, pending, restricted, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Additional details regarding the status of the Capability. status_details will be + /// empty if the Capability's status is active. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public List StatusDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersStatusDetail.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersStatusDetail.cs new file mode 100644 index 0000000000..b6c4892cc6 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersStatusDetail.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersStatusDetail : StripeEntity + { + /// + /// Machine-readable code explaining the reason for the Capability to be in its current + /// status. + /// One of: determining_status, requirements_past_due, + /// requirements_pending_verification, restricted_other, + /// unsupported_business, or unsupported_country. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Machine-readable code explaining how to make the Capability active. + /// One of: contact_stripe, no_resolution, or provide_info. + /// + [JsonProperty("resolution")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resolution")] +#endif + public string Resolution { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientDefaultOutboundDestination.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientDefaultOutboundDestination.cs new file mode 100644 index 0000000000..af7013964f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientDefaultOutboundDestination.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountConfigurationRecipientDefaultOutboundDestination : StripeEntity + { + /// + /// Closed Enum. The payout method type of the default outbound destination. + /// One of: at_bank_account, au_bank_account, ba_bank_account, + /// be_bank_account, bg_bank_account, bj_bank_account, + /// bs_bank_account, card, ca_bank_account, ch_bank_account, + /// ci_bank_account, cy_bank_account, cz_bank_account, + /// de_bank_account, dk_bank_account, ec_bank_account, + /// ee_bank_account, es_bank_account, et_bank_account, + /// fi_bank_account, fr_bank_account, gb_bank_account, + /// gr_bank_account, hr_bank_account, hu_bank_account, + /// id_bank_account, ie_bank_account, il_bank_account, + /// in_bank_account, is_bank_account, it_bank_account, + /// ke_bank_account, li_bank_account, lt_bank_account, + /// lu_bank_account, lv_bank_account, mn_bank_account, + /// mt_bank_account, mu_bank_account, mx_bank_account, + /// na_bank_account, nl_bank_account, no_bank_account, + /// nz_bank_account, pa_bank_account, ph_bank_account, + /// pl_bank_account, pt_bank_account, ro_bank_account, + /// rs_bank_account, se_bank_account, sg_bank_account, + /// si_bank_account, sk_bank_account, sn_bank_account, + /// sv_bank_account, tn_bank_account, tr_bank_account, + /// us_bank_account, or za_bank_account. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountDefaults.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountDefaults.cs new file mode 100644 index 0000000000..cf1f77f324 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountDefaults.cs @@ -0,0 +1,80 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountDefaults : StripeEntity + { + /// + /// Three-letter ISO currency + /// code, in lowercase. Must be a supported + /// currency. + /// One of: aed, afn, all, amd, ang, aoa, + /// ars, aud, awg, azn, bam, bbd, bdt, + /// bgn, bhd, bif, bmd, bnd, bob, bov, + /// brl, bsd, btn, bwp, byn, byr, bzd, + /// cad, cdf, che, chf, chw, clf, clp, + /// cny, cop, cou, crc, cuc, cup, cve, + /// czk, djf, dkk, dop, dzd, eek, egp, + /// ern, etb, eur, fjd, fkp, gbp, gel, + /// ghc, ghs, gip, gmd, gnf, gtq, gyd, + /// hkd, hnl, hrk, htg, huf, idr, ils, + /// inr, iqd, irr, isk, jmd, jod, jpy, + /// kes, kgs, khr, kmf, kpw, krw, kwd, + /// kyd, kzt, lak, lbp, lkr, lrd, lsl, + /// ltl, lvl, lyd, mad, mdl, mga, mkd, + /// mmk, mnt, mop, mro, mru, mur, mvr, + /// mwk, mxn, mxv, myr, mzn, nad, ngn, + /// nio, nok, npr, nzd, omr, pab, pen, + /// pgk, php, pkr, pln, pyg, qar, ron, + /// rsd, rub, rwf, sar, sbd, scr, sdg, + /// sek, sgd, shp, sle, sll, sos, srd, + /// ssp, std, stn, svc, syp, szl, thb, + /// tjs, tmt, tnd, top, try, ttd, twd, + /// tzs, uah, ugx, usd, usdc, usn, uyi, + /// uyu, uzs, vef, ves, vnd, vuv, wst, + /// xaf, xcd, xcg, xof, xpf, yer, zar, + /// zmk, zmw, zwd, zwg, or zwl. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// The Account's preferred locales (languages), ordered by preference. + /// One of: ar-SA, bg, bg-BG, cs, cs-CZ, da, + /// da-DK, de, de-DE, el, el-GR, en, en-AU, + /// en-CA, en-GB, en-IE, en-IN, en-NZ, en-SG, + /// en-US, es, es-419, es-ES, et, et-EE, + /// fi, fil, fil-PH, fi-FI, fr, fr-CA, + /// fr-FR, he-IL, hr, hr-HR, hu, hu-HU, id, + /// id-ID, it, it-IT, ja, ja-JP, ko, ko-KR, + /// lt, lt-LT, lv, lv-LV, ms, ms-MY, mt, + /// mt-MT, nb, nb-NO, nl, nl-NL, pl, pl-PL, + /// pt, pt-BR, pt-PT, ro, ro-RO, ru, ru-RU, + /// sk, sk-SK, sl, sl-SI, sv, sv-SE, th, + /// th-TH, tr, tr-TR, vi, vi-VN, zh, + /// zh-Hans, zh-Hant-HK, zh-Hant-TW, zh-HK, or zh-TW. + /// + [JsonProperty("locales")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("locales")] +#endif + public List Locales { get; set; } + + /// + /// Default responsibilities held by either Stripe or the platform. + /// + [JsonProperty("responsibilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("responsibilities")] +#endif + public AccountDefaultsResponsibilities Responsibilities { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountDefaultsResponsibilities.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountDefaultsResponsibilities.cs new file mode 100644 index 0000000000..ed8836ccd0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountDefaultsResponsibilities.cs @@ -0,0 +1,33 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountDefaultsResponsibilities : StripeEntity + { + /// + /// A value indicating the responsible payer of a bundle of Stripe fees for pricing-control + /// eligible products on this Account. + /// One of: application, or stripe. + /// + [JsonProperty("fees_collector")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fees_collector")] +#endif + public string FeesCollector { get; set; } + + /// + /// A value indicating who is responsible for losses when this Account can’t pay back + /// negative balances from payments. + /// One of: application, or stripe. + /// + [JsonProperty("losses_collector")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("losses_collector")] +#endif + public string LossesCollector { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentity.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentity.cs new file mode 100644 index 0000000000..5a3e195472 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentity.cs @@ -0,0 +1,94 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentity : StripeEntity + { + /// + /// Attestations from the identity's key people, e.g. owners, executives, directors. + /// + [JsonProperty("attestations")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("attestations")] +#endif + public AccountIdentityAttestations Attestations { get; set; } + + /// + /// Information about the company or business. + /// + [JsonProperty("business_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("business_details")] +#endif + public AccountIdentityBusinessDetails BusinessDetails { get; set; } + + /// + /// The country in which the account holder resides, or in which the business is legally + /// established. This should be an ISO 3166-1 alpha-2 country + /// code. + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// The entity type. + /// One of: company, government_entity, individual, or + /// non_profit. + /// + [JsonProperty("entity_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("entity_type")] +#endif + public string EntityType { get; set; } + + /// + /// Information about the individual represented by the Account. This property is + /// null unless entity_type is set to individual. + /// + [JsonProperty("individual")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("individual")] +#endif + public AccountIdentityIndividual Individual { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestations.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestations.cs new file mode 100644 index 0000000000..37862d4a6c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestations.cs @@ -0,0 +1,49 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityAttestations : StripeEntity + { + /// + /// This hash is used to attest that the directors information provided to Stripe is both + /// current and correct. + /// + [JsonProperty("directorship_declaration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("directorship_declaration")] +#endif + public AccountIdentityAttestationsDirectorshipDeclaration DirectorshipDeclaration { get; set; } + + /// + /// This hash is used to attest that the beneficial owner information provided to Stripe is + /// both current and correct. + /// + [JsonProperty("ownership_declaration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ownership_declaration")] +#endif + public AccountIdentityAttestationsOwnershipDeclaration OwnershipDeclaration { get; set; } + + /// + /// Attestation that all Persons with a specific Relationship value have been provided. + /// + [JsonProperty("persons_provided")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("persons_provided")] +#endif + public AccountIdentityAttestationsPersonsProvided PersonsProvided { get; set; } + + /// + /// Attestations of accepted terms of service agreements. + /// + [JsonProperty("terms_of_service")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("terms_of_service")] +#endif + public AccountIdentityAttestationsTermsOfService TermsOfService { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsDirectorshipDeclaration.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsDirectorshipDeclaration.cs new file mode 100644 index 0000000000..4609c22994 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsDirectorshipDeclaration.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityAttestationsDirectorshipDeclaration : StripeEntity + { + /// + /// The time marking when the director attestation was made. Represented as a RFC 3339 date + /// & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the director attestation was made. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the director attestation was made. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsOwnershipDeclaration.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsOwnershipDeclaration.cs new file mode 100644 index 0000000000..546b838eda --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsOwnershipDeclaration.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityAttestationsOwnershipDeclaration : StripeEntity + { + /// + /// The time marking when the beneficial owner attestation was made. Represented as a RFC + /// 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the beneficial owner attestation was made. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the beneficial owner attestation was made. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsPersonsProvided.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsPersonsProvided.cs new file mode 100644 index 0000000000..2bb260c843 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsPersonsProvided.cs @@ -0,0 +1,55 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityAttestationsPersonsProvided : StripeEntity + { + /// + /// Whether the company’s directors have been provided. Set this Boolean to true after + /// creating all the company’s directors with the Persons API. + /// + [JsonProperty("directors")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("directors")] +#endif + public bool? Directors { get; set; } + + /// + /// Whether the company’s executives have been provided. Set this Boolean to true after + /// creating all the company’s executives with the Persons API. + /// + [JsonProperty("executives")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("executives")] +#endif + public bool? Executives { get; set; } + + /// + /// Whether the company’s owners have been provided. Set this Boolean to true after creating + /// all the company’s owners with the Persons API. + /// + [JsonProperty("owners")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("owners")] +#endif + public bool? Owners { get; set; } + + /// + /// Reason for why the company is exempt from providing ownership information. + /// One of: qualified_entity_exceeds_ownership_threshold, or + /// qualifies_as_financial_institution. + /// + [JsonProperty("ownership_exemption_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ownership_exemption_reason")] +#endif + public string OwnershipExemptionReason { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsTermsOfService.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsTermsOfService.cs new file mode 100644 index 0000000000..7424189279 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsTermsOfService.cs @@ -0,0 +1,22 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityAttestationsTermsOfService : StripeEntity + { + /// + /// Details on the Account's acceptance of the Stripe Services + /// Agreement. + /// + [JsonProperty("account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account")] +#endif + public AccountIdentityAttestationsTermsOfServiceAccount Account { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsTermsOfServiceAccount.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsTermsOfServiceAccount.cs new file mode 100644 index 0000000000..013fa3243e --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsTermsOfServiceAccount.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityAttestationsTermsOfServiceAccount : StripeEntity + { + /// + /// The time when the Account's representative accepted the terms of service. Represented as + /// a RFC 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the Account's representative accepted the terms of service. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the Account's representative accepted the terms + /// of service. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetails.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetails.cs new file mode 100644 index 0000000000..0dcf6a92c4 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetails.cs @@ -0,0 +1,149 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetails : StripeEntity + { + /// + /// The company’s primary address. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public AccountIdentityBusinessDetailsAddress Address { get; set; } + + /// + /// The business gross annual revenue for its preceding fiscal year. + /// + [JsonProperty("annual_revenue")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("annual_revenue")] +#endif + public AccountIdentityBusinessDetailsAnnualRevenue AnnualRevenue { get; set; } + + /// + /// Documents that may be submitted to satisfy various informational requests. + /// + [JsonProperty("documents")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("documents")] +#endif + public AccountIdentityBusinessDetailsDocuments Documents { get; set; } + + /// + /// The company’s legal name. + /// + [JsonProperty("doing_business_as")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("doing_business_as")] +#endif + public string DoingBusinessAs { get; set; } + + /// + /// An estimated upper bound of employees, contractors, vendors, etc. currently working for + /// the business. + /// + [JsonProperty("estimated_worker_count")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("estimated_worker_count")] +#endif + public long? EstimatedWorkerCount { get; set; } + + /// + /// The provided ID numbers of a business entity. + /// + [JsonProperty("id_numbers")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id_numbers")] +#endif + public List IdNumbers { get; set; } + + /// + /// An estimate of the monthly revenue of the business. + /// + [JsonProperty("monthly_estimated_revenue")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("monthly_estimated_revenue")] +#endif + public AccountIdentityBusinessDetailsMonthlyEstimatedRevenue MonthlyEstimatedRevenue { get; set; } + + /// + /// The company’s phone number (used for verification). + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + + /// + /// Internal-only description of the product sold or service provided by the business. It’s + /// used by Stripe for risk and underwriting purposes. + /// + [JsonProperty("product_description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("product_description")] +#endif + public string ProductDescription { get; set; } + + /// + /// The business legal name. + /// + [JsonProperty("registered_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registered_name")] +#endif + public string RegisteredName { get; set; } + + /// + /// The business registration address of the business entity in non latin script. + /// + [JsonProperty("script_addresses")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_addresses")] +#endif + public AccountIdentityBusinessDetailsScriptAddresses ScriptAddresses { get; set; } + + /// + /// The business legal name in non latin script. + /// + [JsonProperty("script_names")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_names")] +#endif + public AccountIdentityBusinessDetailsScriptNames ScriptNames { get; set; } + + /// + /// The category identifying the legal structure of the business. + /// One of: free_zone_establishment, free_zone_llc, governmental_unit, + /// government_instrumentality, incorporated_non_profit, + /// incorporated_partnership, llc, multi_member_llc, + /// private_company, private_corporation, private_partnership, + /// public_company, public_corporation, public_partnership, + /// registered_charity, single_member_llc, sole_establishment, + /// sole_proprietorship, tax_exempt_government_instrumentality, + /// unincorporated_association, unincorporated_non_profit, or + /// unincorporated_partnership. + /// + [JsonProperty("structure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("structure")] +#endif + public string Structure { get; set; } + + /// + /// The business's publicly available website. + /// + [JsonProperty("url")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("url")] +#endif + public string Url { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsAddress.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsAddress.cs new file mode 100644 index 0000000000..3a33f7025a --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsAddress.cs @@ -0,0 +1,107 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsAddress : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsAnnualRevenue.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsAnnualRevenue.cs new file mode 100644 index 0000000000..11df813277 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsAnnualRevenue.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsAnnualRevenue : StripeEntity + { + /// + /// A non-negative integer representing the amount in the smallest currency unit. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public V2.Amount Amount { get; set; } + + /// + /// The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for + /// the 31st of December, 2023. + /// + [JsonProperty("fiscal_year_end")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fiscal_year_end")] +#endif + public string FiscalYearEnd { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocuments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocuments.cs new file mode 100644 index 0000000000..5e7ea40dd2 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocuments.cs @@ -0,0 +1,97 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsDocuments : StripeEntity + { + /// + /// One or more documents that support the Bank account ownership verification requirement. + /// Must be a document associated with the account’s primary active bank account that + /// displays the last 4 digits of the account number, either a statement or a check. + /// + [JsonProperty("bank_account_ownership_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account_ownership_verification")] +#endif + public AccountIdentityBusinessDetailsDocumentsBankAccountOwnershipVerification BankAccountOwnershipVerification { get; set; } + + /// + /// One or more documents that demonstrate proof of a company’s license to operate. + /// + [JsonProperty("company_license")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_license")] +#endif + public AccountIdentityBusinessDetailsDocumentsCompanyLicense CompanyLicense { get; set; } + + /// + /// One or more documents showing the company’s Memorandum of Association. + /// + [JsonProperty("company_memorandum_of_association")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_memorandum_of_association")] +#endif + public AccountIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociation CompanyMemorandumOfAssociation { get; set; } + + /// + /// Certain countries only: One or more documents showing the ministerial decree legalizing + /// the company’s establishment. + /// + [JsonProperty("company_ministerial_decree")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_ministerial_decree")] +#endif + public AccountIdentityBusinessDetailsDocumentsCompanyMinisterialDecree CompanyMinisterialDecree { get; set; } + + /// + /// One or more documents that demonstrate proof of a company’s registration with the + /// appropriate local authorities. + /// + [JsonProperty("company_registration_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_registration_verification")] +#endif + public AccountIdentityBusinessDetailsDocumentsCompanyRegistrationVerification CompanyRegistrationVerification { get; set; } + + /// + /// One or more documents that demonstrate proof of a company’s tax ID. + /// + [JsonProperty("company_tax_id_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_tax_id_verification")] +#endif + public AccountIdentityBusinessDetailsDocumentsCompanyTaxIdVerification CompanyTaxIdVerification { get; set; } + + /// + /// A document verifying the business. + /// + [JsonProperty("primary_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("primary_verification")] +#endif + public AccountIdentityBusinessDetailsDocumentsPrimaryVerification PrimaryVerification { get; set; } + + /// + /// One or more documents showing the company’s proof of registration with the national + /// business registry. + /// + [JsonProperty("proof_of_registration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("proof_of_registration")] +#endif + public AccountIdentityBusinessDetailsDocumentsProofOfRegistration ProofOfRegistration { get; set; } + + /// + /// One or more documents that demonstrate proof of ultimate beneficial ownership. + /// + [JsonProperty("proof_of_ultimate_beneficial_ownership")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("proof_of_ultimate_beneficial_ownership")] +#endif + public AccountIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnership ProofOfUltimateBeneficialOwnership { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsBankAccountOwnershipVerification.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsBankAccountOwnershipVerification.cs new file mode 100644 index 0000000000..ebbb016817 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsBankAccountOwnershipVerification.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsDocumentsBankAccountOwnershipVerification : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyLicense.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyLicense.cs new file mode 100644 index 0000000000..0f02812b35 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyLicense.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsDocumentsCompanyLicense : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociation.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociation.cs new file mode 100644 index 0000000000..c469a4a481 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociation.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociation : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyMinisterialDecree.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyMinisterialDecree.cs new file mode 100644 index 0000000000..524febcb88 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyMinisterialDecree.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsDocumentsCompanyMinisterialDecree : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyRegistrationVerification.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyRegistrationVerification.cs new file mode 100644 index 0000000000..a1971a7afa --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyRegistrationVerification.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsDocumentsCompanyRegistrationVerification : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyTaxIdVerification.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyTaxIdVerification.cs new file mode 100644 index 0000000000..d343d8c305 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyTaxIdVerification.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsDocumentsCompanyTaxIdVerification : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsPrimaryVerification.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsPrimaryVerification.cs new file mode 100644 index 0000000000..931dcf7135 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsPrimaryVerification.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsDocumentsPrimaryVerification : StripeEntity + { + /// + /// The file upload + /// tokens for the front and back of the verification document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public AccountIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack.cs new file mode 100644 index 0000000000..b7e9befae4 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack.cs @@ -0,0 +1,35 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack : StripeEntity + { + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] +#endif + public string Back { get; set; } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsProofOfRegistration.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsProofOfRegistration.cs new file mode 100644 index 0000000000..9826f9fb8f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsProofOfRegistration.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsDocumentsProofOfRegistration : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnership.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnership.cs new file mode 100644 index 0000000000..1868b1c026 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnership.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnership : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsIdNumber.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsIdNumber.cs new file mode 100644 index 0000000000..2b203fd19c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsIdNumber.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsIdNumber : StripeEntity + { + /// + /// The registrar of the ID number (Only valid for DE ID number types). + /// + [JsonProperty("registrar")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registrar")] +#endif + public string Registrar { get; set; } + + /// + /// Open Enum. The ID number type of a business entity. + /// One of: ae_crn, ae_vat, at_fn, au_abn, au_acn, + /// au_in, be_cbe, bg_uic, br_cnpj, ca_cn, + /// ca_crarr, ca_neq, ca_rid, ch_chid, ch_uid, + /// cy_tic, cz_ico, de_hrn, de_vat, dk_cvr, ee_rk, + /// es_cif, fi_yt, fr_siren, fr_vat, gb_crn, + /// gi_crn, gr_gemi, hk_br, hk_cr, hk_mbs, hu_cjs, + /// ie_crn, it_rea, it_vat, jp_cn, li_uid, + /// lt_ccrn, lu_rcs, lv_urn, mt_crn, mx_rfc, + /// my_brn, my_coid, my_sst, nl_kvk, no_orgnr, + /// nz_bn, pl_regon, pt_vat, ro_cui, se_orgnr, + /// sg_uen, si_msp, sk_ico, th_crn, th_prn, + /// th_tin, or us_ein. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsMonthlyEstimatedRevenue.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsMonthlyEstimatedRevenue.cs new file mode 100644 index 0000000000..3119d7da3c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsMonthlyEstimatedRevenue.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsMonthlyEstimatedRevenue : StripeEntity + { + /// + /// A non-negative integer representing the amount in the smallest currency unit. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public V2.Amount Amount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptAddresses.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptAddresses.cs new file mode 100644 index 0000000000..1322e525bc --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptAddresses.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsScriptAddresses : StripeEntity + { + /// + /// Kana Address. + /// + [JsonProperty("kana")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] +#endif + public AccountIdentityBusinessDetailsScriptAddressesKana Kana { get; set; } + + /// + /// Kanji Address. + /// + [JsonProperty("kanji")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] +#endif + public AccountIdentityBusinessDetailsScriptAddressesKanji Kanji { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptAddressesKana.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptAddressesKana.cs new file mode 100644 index 0000000000..0cb4995c4c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptAddressesKana.cs @@ -0,0 +1,107 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsScriptAddressesKana : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptAddressesKanji.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptAddressesKanji.cs new file mode 100644 index 0000000000..bbfe771c29 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptAddressesKanji.cs @@ -0,0 +1,107 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsScriptAddressesKanji : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptNames.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptNames.cs new file mode 100644 index 0000000000..0d9e1260fc --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptNames.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsScriptNames : StripeEntity + { + /// + /// Kana name. + /// + [JsonProperty("kana")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] +#endif + public AccountIdentityBusinessDetailsScriptNamesKana Kana { get; set; } + + /// + /// Kanji name. + /// + [JsonProperty("kanji")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] +#endif + public AccountIdentityBusinessDetailsScriptNamesKanji Kanji { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptNamesKana.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptNamesKana.cs new file mode 100644 index 0000000000..2b55786fe7 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptNamesKana.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsScriptNamesKana : StripeEntity + { + /// + /// Registered name of the business. + /// + [JsonProperty("registered_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registered_name")] +#endif + public string RegisteredName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptNamesKanji.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptNamesKanji.cs new file mode 100644 index 0000000000..e15afb1e57 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptNamesKanji.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityBusinessDetailsScriptNamesKanji : StripeEntity + { + /// + /// Registered name of the business. + /// + [JsonProperty("registered_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registered_name")] +#endif + public string RegisteredName { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividual.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividual.cs new file mode 100644 index 0000000000..eb4b47d0e3 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividual.cs @@ -0,0 +1,259 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividual : StripeEntity, IHasId, IHasMetadata, IHasObject + { + /// + /// The account ID which the individual belongs to. + /// + [JsonProperty("account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account")] +#endif + public string Account { get; set; } + + /// + /// Additional addresses associated with the individual. + /// + [JsonProperty("additional_addresses")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_addresses")] +#endif + public List AdditionalAddresses { get; set; } + + /// + /// Additional names (e.g. aliases) associated with the individual. + /// + [JsonProperty("additional_names")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_names")] +#endif + public List AdditionalNames { get; set; } + + /// + /// Terms of service acceptances. + /// + [JsonProperty("additional_terms_of_service")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_terms_of_service")] +#endif + public AccountIdentityIndividualAdditionalTermsOfService AdditionalTermsOfService { get; set; } + + /// + /// The individual's residential address. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public AccountIdentityIndividualAddress Address { get; set; } + + /// + /// Time at which the object was created. Represented as a RFC 3339 date & time UTC + /// value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// The individual's date of birth. + /// + [JsonProperty("date_of_birth")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date_of_birth")] +#endif + public AccountIdentityIndividualDateOfBirth DateOfBirth { get; set; } + + /// + /// Documents that may be submitted to satisfy various informational requests. + /// + [JsonProperty("documents")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("documents")] +#endif + public AccountIdentityIndividualDocuments Documents { get; set; } + + /// + /// The individual's email address. + /// + [JsonProperty("email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("email")] +#endif + public string Email { get; set; } + + /// + /// The individual's first name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// Unique identifier for the object. + /// + [JsonProperty("id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id")] +#endif + public string Id { get; set; } + + /// + /// The identification numbers (e.g., SSN) associated with the individual. + /// + [JsonProperty("id_numbers")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id_numbers")] +#endif + public List IdNumbers { get; set; } + + /// + /// The individual's gender (International regulations require either "male” or "female"). + /// One of: female, or male. + /// + [JsonProperty("legal_gender")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("legal_gender")] +#endif + public string LegalGender { get; set; } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// The countries where the individual is a national. Two-letter country code (ISO 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("nationalities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nationalities")] +#endif + public List Nationalities { 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 individual's phone number. + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + + /// + /// Indicates if the individual or any of their representatives, family members, or other + /// closely related persons, declares that they hold or have held an important public job or + /// function, in any jurisdiction. + /// One of: existing, or none. + /// + [JsonProperty("political_exposure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("political_exposure")] +#endif + public string PoliticalExposure { get; set; } + + /// + /// The relationship that this individual has with the Account's identity. + /// + [JsonProperty("relationship")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("relationship")] +#endif + public AccountIdentityIndividualRelationship Relationship { get; set; } + + /// + /// The script addresses (e.g., non-Latin characters) associated with the individual. + /// + [JsonProperty("script_addresses")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_addresses")] +#endif + public AccountIdentityIndividualScriptAddresses ScriptAddresses { get; set; } + + /// + /// The script names (e.g. non-Latin characters) associated with the individual. + /// + [JsonProperty("script_names")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_names")] +#endif + public AccountIdentityIndividualScriptNames ScriptNames { get; set; } + + /// + /// The individual's last name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + + /// + /// Time at which the object was last updated. + /// + [JsonProperty("updated")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("updated")] +#endif + public DateTime Updated { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalAddress.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalAddress.cs new file mode 100644 index 0000000000..a6f51c80ef --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalAddress.cs @@ -0,0 +1,116 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualAdditionalAddress : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// Purpose of additional address. + /// + [JsonProperty("purpose")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("purpose")] +#endif + public string Purpose { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalName.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalName.cs new file mode 100644 index 0000000000..2cf60971ed --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalName.cs @@ -0,0 +1,48 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualAdditionalName : StripeEntity + { + /// + /// The individual's full name. + /// + [JsonProperty("full_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("full_name")] +#endif + public string FullName { get; set; } + + /// + /// The individual's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The purpose or type of the additional name. + /// One of: alias, or maiden. + /// + [JsonProperty("purpose")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("purpose")] +#endif + public string Purpose { get; set; } + + /// + /// The individual's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalTermsOfService.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalTermsOfService.cs new file mode 100644 index 0000000000..f7706961ec --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalTermsOfService.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualAdditionalTermsOfService : StripeEntity + { + /// + /// Stripe terms of service agreement. + /// + [JsonProperty("account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account")] +#endif + public AccountIdentityIndividualAdditionalTermsOfServiceAccount Account { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalTermsOfServiceAccount.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalTermsOfServiceAccount.cs new file mode 100644 index 0000000000..10c1737f3f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalTermsOfServiceAccount.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualAdditionalTermsOfServiceAccount : StripeEntity + { + /// + /// The time when the Account's representative accepted the terms of service. Represented as + /// a RFC 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the Account's representative accepted the terms of service. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the Account's representative accepted the terms + /// of service. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAddress.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAddress.cs new file mode 100644 index 0000000000..01fa113925 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAddress.cs @@ -0,0 +1,107 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualAddress : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDateOfBirth.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDateOfBirth.cs new file mode 100644 index 0000000000..7dc640883e --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDateOfBirth.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualDateOfBirth : StripeEntity + { + /// + /// The day of birth, between 1 and 31. + /// + [JsonProperty("day")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("day")] +#endif + public long Day { get; set; } + + /// + /// The month of birth, between 1 and 12. + /// + [JsonProperty("month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("month")] +#endif + public long Month { get; set; } + + /// + /// The four-digit year of birth. + /// + [JsonProperty("year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("year")] +#endif + public long Year { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocuments.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocuments.cs new file mode 100644 index 0000000000..60b1790071 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocuments.cs @@ -0,0 +1,59 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualDocuments : StripeEntity + { + /// + /// One or more documents that demonstrate proof that this person is authorized to represent + /// the company. + /// + [JsonProperty("company_authorization")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_authorization")] +#endif + public AccountIdentityIndividualDocumentsCompanyAuthorization CompanyAuthorization { get; set; } + + /// + /// One or more documents showing the person’s passport page with photo and personal data. + /// + [JsonProperty("passport")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("passport")] +#endif + public AccountIdentityIndividualDocumentsPassport Passport { get; set; } + + /// + /// An identifying document showing the person's name, either a passport or local ID card. + /// + [JsonProperty("primary_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("primary_verification")] +#endif + public AccountIdentityIndividualDocumentsPrimaryVerification PrimaryVerification { get; set; } + + /// + /// A document showing address, either a passport, local ID card, or utility bill from a + /// well-known utility company. + /// + [JsonProperty("secondary_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("secondary_verification")] +#endif + public AccountIdentityIndividualDocumentsSecondaryVerification SecondaryVerification { get; set; } + + /// + /// One or more documents showing the person’s visa required for living in the country where + /// they are residing. + /// + [JsonProperty("visa")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("visa")] +#endif + public AccountIdentityIndividualDocumentsVisa Visa { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsCompanyAuthorization.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsCompanyAuthorization.cs new file mode 100644 index 0000000000..9da28f0270 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsCompanyAuthorization.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualDocumentsCompanyAuthorization : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsPassport.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsPassport.cs new file mode 100644 index 0000000000..4eba2e4872 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsPassport.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualDocumentsPassport : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsPrimaryVerification.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsPrimaryVerification.cs new file mode 100644 index 0000000000..fce67720b1 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsPrimaryVerification.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualDocumentsPrimaryVerification : StripeEntity + { + /// + /// The file upload + /// tokens for the front and back of the verification document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public AccountIdentityIndividualDocumentsPrimaryVerificationFrontBack FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsPrimaryVerificationFrontBack.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsPrimaryVerificationFrontBack.cs new file mode 100644 index 0000000000..5930fcea23 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsPrimaryVerificationFrontBack.cs @@ -0,0 +1,35 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualDocumentsPrimaryVerificationFrontBack : StripeEntity + { + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] +#endif + public string Back { get; set; } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsSecondaryVerification.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsSecondaryVerification.cs new file mode 100644 index 0000000000..7df5a9b5e0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsSecondaryVerification.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualDocumentsSecondaryVerification : StripeEntity + { + /// + /// The file upload + /// tokens for the front and back of the verification document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public AccountIdentityIndividualDocumentsSecondaryVerificationFrontBack FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsSecondaryVerificationFrontBack.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsSecondaryVerificationFrontBack.cs new file mode 100644 index 0000000000..71f23d5487 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsSecondaryVerificationFrontBack.cs @@ -0,0 +1,35 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualDocumentsSecondaryVerificationFrontBack : StripeEntity + { + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] +#endif + public string Back { get; set; } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsVisa.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsVisa.cs new file mode 100644 index 0000000000..ba3bb36acf --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsVisa.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualDocumentsVisa : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualIdNumber.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualIdNumber.cs new file mode 100644 index 0000000000..6873173a18 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualIdNumber.cs @@ -0,0 +1,24 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualIdNumber : StripeEntity + { + /// + /// The ID number type of an individual. + /// One of: ae_eid, br_cpf, de_stn, hk_id, mx_rfc, + /// my_nric, nl_bsn, sg_fin, sg_nric, th_lc, + /// th_pin, us_itin, us_itin_last_4, us_ssn, or + /// us_ssn_last_4. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualRelationship.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualRelationship.cs new file mode 100644 index 0000000000..f3a0563dda --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualRelationship.cs @@ -0,0 +1,81 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualRelationship : StripeEntity + { + /// + /// Whether the individual is a director of the Account’s legal entity. Directors are + /// typically members of the governing board of the company, or responsible for ensuring the + /// company meets its regulatory obligations. + /// + [JsonProperty("director")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("director")] +#endif + public bool? Director { get; set; } + + /// + /// Whether the individual has significant responsibility to control, manage, or direct the + /// organization. + /// + [JsonProperty("executive")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("executive")] +#endif + public bool? Executive { get; set; } + + /// + /// Whether the individual is the legal guardian of the Account’s representative. + /// + [JsonProperty("legal_guardian")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("legal_guardian")] +#endif + public bool? LegalGuardian { get; set; } + + /// + /// Whether the individual is an owner of the Account’s legal entity. + /// + [JsonProperty("owner")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("owner")] +#endif + public bool? Owner { get; set; } + + /// + /// The percent owned by the individual of the Account’s legal entity. + /// + [JsonProperty("percent_ownership")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("percent_ownership")] +#endif + public string PercentOwnership { get; set; } + + /// + /// Whether the individual is authorized as the primary representative of the Account. This + /// is the person nominated by the business to provide information about themselves, and + /// general information about the account. There can only be one representative at any given + /// time. At the time the account is created, this person should be set to the person + /// responsible for opening the account. + /// + [JsonProperty("representative")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("representative")] +#endif + public bool? Representative { get; set; } + + /// + /// The individual's title (e.g., CEO, Support Engineer). + /// + [JsonProperty("title")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("title")] +#endif + public string Title { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptAddresses.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptAddresses.cs new file mode 100644 index 0000000000..908584bcf9 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptAddresses.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualScriptAddresses : StripeEntity + { + /// + /// Kana Address. + /// + [JsonProperty("kana")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] +#endif + public AccountIdentityIndividualScriptAddressesKana Kana { get; set; } + + /// + /// Kanji Address. + /// + [JsonProperty("kanji")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] +#endif + public AccountIdentityIndividualScriptAddressesKanji Kanji { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptAddressesKana.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptAddressesKana.cs new file mode 100644 index 0000000000..3e02a6a2ed --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptAddressesKana.cs @@ -0,0 +1,107 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualScriptAddressesKana : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptAddressesKanji.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptAddressesKanji.cs new file mode 100644 index 0000000000..e22f6bf1b5 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptAddressesKanji.cs @@ -0,0 +1,107 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualScriptAddressesKanji : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptNames.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptNames.cs new file mode 100644 index 0000000000..237387f7c3 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptNames.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualScriptNames : StripeEntity + { + /// + /// Persons name in kana script. + /// + [JsonProperty("kana")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] +#endif + public AccountIdentityIndividualScriptNamesKana Kana { get; set; } + + /// + /// Persons name in kanji script. + /// + [JsonProperty("kanji")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] +#endif + public AccountIdentityIndividualScriptNamesKanji Kanji { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptNamesKana.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptNamesKana.cs new file mode 100644 index 0000000000..b60735bcdd --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptNamesKana.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualScriptNamesKana : StripeEntity + { + /// + /// The person's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The person's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptNamesKanji.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptNamesKanji.cs new file mode 100644 index 0000000000..a8cbe0ae9a --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptNamesKanji.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountIdentityIndividualScriptNamesKanji : StripeEntity + { + /// + /// The person's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The person's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirements.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirements.cs new file mode 100644 index 0000000000..50332d5abc --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirements.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirements : StripeEntity + { + /// + /// A value indicating responsibility for collecting requirements on this account. + /// One of: application, or stripe. + /// + [JsonProperty("collector")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("collector")] +#endif + public string Collector { get; set; } + + /// + /// A list of requirements for the Account. + /// + [JsonProperty("entries")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("entries")] +#endif + public List Entries { get; set; } + + /// + /// An object containing an overview of requirements for the Account. + /// + [JsonProperty("summary")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("summary")] +#endif + public AccountRequirementsSummary Summary { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntry.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntry.cs new file mode 100644 index 0000000000..1653725308 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntry.cs @@ -0,0 +1,79 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirementsEntry : StripeEntity + { + /// + /// Whether the responsibility is with the integrator or with Stripe (to review info, to + /// wait for some condition, etc.) to action the requirement. + /// One of: stripe, or user. + /// + [JsonProperty("awaiting_action_from")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("awaiting_action_from")] +#endif + public string AwaitingActionFrom { get; set; } + + /// + /// Machine-readable string describing the requirement. + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// Descriptions of why the requirement must be collected, or why the collected information + /// isn't satisfactory to Stripe. + /// + [JsonProperty("errors")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("errors")] +#endif + public List Errors { get; set; } + + /// + /// A hash describing the impact of not collecting the requirement, or Stripe not being able + /// to verify the collected information. + /// + [JsonProperty("impact")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("impact")] +#endif + public AccountRequirementsEntryImpact Impact { get; set; } + + /// + /// The soonest point when the account will be impacted by not providing the requirement. + /// + [JsonProperty("minimum_deadline")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("minimum_deadline")] +#endif + public AccountRequirementsEntryMinimumDeadline MinimumDeadline { get; set; } + + /// + /// A reference to the location of the requirement. + /// + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public AccountRequirementsEntryReference Reference { get; set; } + + /// + /// A list of reasons why Stripe is collecting the requirement. + /// + [JsonProperty("requested_reasons")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested_reasons")] +#endif + public List RequestedReasons { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryError.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryError.cs new file mode 100644 index 0000000000..34eda89e3d --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryError.cs @@ -0,0 +1,93 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirementsEntryError : StripeEntity + { + /// + /// Machine-readable code describing the error. + /// One of: invalid_address_city_state_postal_code, + /// invalid_address_highway_contract_box, invalid_address_private_mailbox, + /// invalid_business_profile_name, invalid_business_profile_name_denylisted, + /// invalid_company_name_denylisted, invalid_dob_age_over_maximum, + /// invalid_dob_age_under_18, invalid_dob_age_under_minimum, + /// invalid_product_description_length, invalid_product_description_url_match, + /// invalid_representative_country, + /// invalid_statement_descriptor_business_mismatch, + /// invalid_statement_descriptor_denylisted, + /// invalid_statement_descriptor_length, + /// invalid_statement_descriptor_prefix_denylisted, + /// invalid_statement_descriptor_prefix_mismatch, invalid_street_address, + /// invalid_tax_id, invalid_tax_id_format, invalid_tos_acceptance, + /// invalid_url_denylisted, invalid_url_format, + /// invalid_url_website_business_information_mismatch, + /// invalid_url_website_empty, invalid_url_website_inaccessible, + /// invalid_url_website_inaccessible_geoblocked, + /// invalid_url_website_inaccessible_password_protected, + /// invalid_url_website_incomplete, + /// invalid_url_website_incomplete_cancellation_policy, + /// invalid_url_website_incomplete_customer_service_details, + /// invalid_url_website_incomplete_legal_restrictions, + /// invalid_url_website_incomplete_refund_policy, + /// invalid_url_website_incomplete_return_policy, + /// invalid_url_website_incomplete_terms_and_conditions, + /// invalid_url_website_incomplete_under_construction, + /// invalid_url_website_other, invalid_url_web_presence_detected, + /// invalid_value_other, unresolvable_ip_address, + /// unresolvable_postal_code, verification_directors_mismatch, + /// verification_document_address_mismatch, + /// verification_document_address_missing, verification_document_corrupt, + /// verification_document_country_not_supported, + /// verification_document_directors_mismatch, + /// verification_document_dob_mismatch, verification_document_duplicate_type, + /// verification_document_expired, verification_document_failed_copy, + /// verification_document_failed_greyscale, + /// verification_document_failed_other, + /// verification_document_failed_test_mode, verification_document_fraudulent, + /// verification_document_id_number_mismatch, + /// verification_document_id_number_missing, verification_document_incomplete, + /// verification_document_invalid, + /// verification_document_issue_or_expiry_date_missing, + /// verification_document_manipulated, verification_document_missing_back, + /// verification_document_missing_front, verification_document_name_mismatch, + /// verification_document_name_missing, + /// verification_document_nationality_mismatch, + /// verification_document_not_readable, verification_document_not_signed, + /// verification_document_not_uploaded, verification_document_photo_mismatch, + /// verification_document_too_large, verification_document_type_not_supported, + /// verification_extraneous_directors, verification_failed_address_match, + /// verification_failed_business_iec_number, + /// verification_failed_document_match, verification_failed_id_number_match, + /// verification_failed_keyed_identity, verification_failed_keyed_match, + /// verification_failed_name_match, verification_failed_other, + /// verification_failed_representative_authority, + /// verification_failed_residential_address, verification_failed_tax_id_match, + /// verification_failed_tax_id_not_issued, verification_missing_directors, + /// verification_missing_executives, verification_missing_owners, + /// verification_requires_additional_memorandum_of_associations, + /// verification_requires_additional_proof_of_registration, + /// verification_selfie_document_missing_photo, + /// verification_selfie_face_mismatch, verification_selfie_manipulated, + /// verification_selfie_unverified_other, verification_supportability, or + /// verification_token_stale. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + + /// + /// Human-readable description of the error. + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpact.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpact.cs new file mode 100644 index 0000000000..51b3bae76c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpact.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirementsEntryImpact : StripeEntity + { + /// + /// The Capabilities that will be restricted if the requirement is not collected and + /// satisfactory to Stripe. + /// + [JsonProperty("restricts_capabilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("restricts_capabilities")] +#endif + public List RestrictsCapabilities { get; set; } + + /// + /// Details about payouts restrictions that will be enforced if the requirement is not + /// collected and satisfactory to Stripe. + /// + [JsonProperty("restricts_payouts")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("restricts_payouts")] +#endif + public AccountRequirementsEntryImpactRestrictsPayouts RestrictsPayouts { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsCapability.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsCapability.cs new file mode 100644 index 0000000000..f5ba0ea9ce --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsCapability.cs @@ -0,0 +1,57 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirementsEntryImpactRestrictsCapability : StripeEntity + { + /// + /// The name of the Capability which will be restricted. + /// One of: ach_debit_payments, acss_debit_payments, affirm_payments, + /// afterpay_clearpay_payments, alma_payments, amazon_pay_payments, + /// automatic_indirect_tax, au_becs_debit_payments, + /// bacs_debit_payments, bancontact_payments, bank_accounts.local, + /// bank_accounts.wire, blik_payments, boleto_payments, cards, + /// card_payments, cartes_bancaires_payments, cashapp_payments, + /// eps_payments, fpx_payments, gb_bank_transfer_payments, + /// grabpay_payments, ideal_payments, jcb_payments, + /// jp_bank_transfer_payments, kakao_pay_payments, klarna_payments, + /// konbini_payments, kr_card_payments, link_payments, + /// mobilepay_payments, multibanco_payments, mx_bank_transfer_payments, + /// naver_pay_payments, oxxo_payments, p24_payments, + /// payco_payments, paynow_payments, pay_by_bank_payments, + /// promptpay_payments, revolut_pay_payments, samsung_pay_payments, + /// sepa_bank_transfer_payments, sepa_debit_payments, + /// stripe_balance.stripe_transfers, swish_payments, twint_payments, + /// us_bank_transfer_payments, or zip_payments. + /// + [JsonProperty("capability")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capability")] +#endif + public string Capability { get; set; } + + /// + /// The configuration which specifies the Capability which will be restricted. + /// One of: customer, merchant, or recipient. + /// + [JsonProperty("configuration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("configuration")] +#endif + public string Configuration { get; set; } + + /// + /// Details about when in the account lifecycle the requirement must be collected by the + /// avoid the Capability restriction. + /// + [JsonProperty("deadline")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("deadline")] +#endif + public AccountRequirementsEntryImpactRestrictsCapabilityDeadline Deadline { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsCapabilityDeadline.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsCapabilityDeadline.cs new file mode 100644 index 0000000000..fcfb73cece --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsCapabilityDeadline.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirementsEntryImpactRestrictsCapabilityDeadline : StripeEntity + { + /// + /// The current status of the requirement's impact. + /// One of: currently_due, eventually_due, or past_due. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsPayouts.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsPayouts.cs new file mode 100644 index 0000000000..a2bbeba6cb --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsPayouts.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirementsEntryImpactRestrictsPayouts : StripeEntity + { + /// + /// Details about when in the Account's lifecycle the requirement must be collected by the + /// avoid the earliest specified impact. + /// + [JsonProperty("deadline")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("deadline")] +#endif + public AccountRequirementsEntryImpactRestrictsPayoutsDeadline Deadline { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsPayoutsDeadline.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsPayoutsDeadline.cs new file mode 100644 index 0000000000..d7539e89b0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsPayoutsDeadline.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirementsEntryImpactRestrictsPayoutsDeadline : StripeEntity + { + /// + /// The current status of the requirement's impact. + /// One of: currently_due, eventually_due, or past_due. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryMinimumDeadline.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryMinimumDeadline.cs new file mode 100644 index 0000000000..b58577bb0c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryMinimumDeadline.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirementsEntryMinimumDeadline : StripeEntity + { + /// + /// The current status of the requirement's impact. + /// One of: currently_due, eventually_due, or past_due. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryReference.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryReference.cs new file mode 100644 index 0000000000..5cb3c44ecd --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryReference.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirementsEntryReference : StripeEntity + { + /// + /// If inquiry is the type, the inquiry token. + /// + [JsonProperty("inquiry")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("inquiry")] +#endif + public string Inquiry { get; set; } + + /// + /// If resource is the type, the resource token. + /// + [JsonProperty("resource")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resource")] +#endif + public string Resource { get; set; } + + /// + /// The type of the reference. An additional hash is included with a name matching the type. + /// It contains additional information specific to the type. + /// One of: inquiry, or resource. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryRequestedReason.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryRequestedReason.cs new file mode 100644 index 0000000000..9933ff8456 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryRequestedReason.cs @@ -0,0 +1,22 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirementsEntryRequestedReason : StripeEntity + { + /// + /// Machine-readable description of Stripe's reason for collecting the requirement. + /// One of: future_requirements, routine_onboarding, or + /// routine_verification. + /// + [JsonProperty("code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("code")] +#endif + public string Code { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsSummary.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsSummary.cs new file mode 100644 index 0000000000..9793919a79 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsSummary.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirementsSummary : StripeEntity + { + /// + /// An aggregate soonest point when the account will be impacted by not providing + /// requirements. + /// + [JsonProperty("minimum_deadline")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("minimum_deadline")] +#endif + public AccountRequirementsSummaryMinimumDeadline MinimumDeadline { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsSummaryMinimumDeadline.cs b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsSummaryMinimumDeadline.cs new file mode 100644 index 0000000000..b7174d1f8c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsSummaryMinimumDeadline.cs @@ -0,0 +1,31 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountRequirementsSummaryMinimumDeadline : StripeEntity + { + /// + /// The current strictest status of all requirements on the Account. + /// One of: currently_due, eventually_due, or past_due. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// The soonest RFC3339 date & time UTC value a requirement can impact the Account. + /// + [JsonProperty("time")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("time")] +#endif + public DateTime? Time { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/Person.cs b/src/Stripe.net/Entities/V2/Core/Persons/Person.cs new file mode 100644 index 0000000000..3a5c9ff06a --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/Person.cs @@ -0,0 +1,262 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// Person retrieval response schema. + /// + public class Person : StripeEntity, IHasId, IHasMetadata, IHasObject + { + /// + /// Unique identifier for the Person. + /// + [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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// The account ID which the individual belongs to. + /// + [JsonProperty("account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account")] +#endif + public string Account { get; set; } + + /// + /// Additional addresses associated with the person. + /// + [JsonProperty("additional_addresses")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_addresses")] +#endif + public List AdditionalAddresses { get; set; } + + /// + /// Additional names (e.g. aliases) associated with the person. + /// + [JsonProperty("additional_names")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_names")] +#endif + public List AdditionalNames { get; set; } + + /// + /// Attestations of accepted terms of service agreements. + /// + [JsonProperty("additional_terms_of_service")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_terms_of_service")] +#endif + public PersonAdditionalTermsOfService AdditionalTermsOfService { get; set; } + + /// + /// The person's residential address. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public PersonAddress Address { get; set; } + + /// + /// Time at which the object was created. Represented as a RFC 3339 date & time UTC + /// value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// The person's date of birth. + /// + [JsonProperty("date_of_birth")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date_of_birth")] +#endif + public PersonDateOfBirth DateOfBirth { get; set; } + + /// + /// Documents that may be submitted to satisfy various informational requests. + /// + [JsonProperty("documents")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("documents")] +#endif + public PersonDocuments Documents { get; set; } + + /// + /// The person's email address. + /// + [JsonProperty("email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("email")] +#endif + public string Email { get; set; } + + /// + /// The person's first name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The identification numbers (e.g., SSN) associated with the person. + /// + [JsonProperty("id_numbers")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id_numbers")] +#endif + public List IdNumbers { get; set; } + + /// + /// The person's gender (International regulations require either "male" or "female"). + /// One of: female, or male. + /// + [JsonProperty("legal_gender")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("legal_gender")] +#endif + public string LegalGender { get; set; } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// The countries where the person is a national. Two-letter country code (ISO 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("nationalities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nationalities")] +#endif + public List Nationalities { get; set; } + + /// + /// The person's phone number. + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + + /// + /// The person's political exposure. + /// One of: existing, or none. + /// + [JsonProperty("political_exposure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("political_exposure")] +#endif + public string PoliticalExposure { get; set; } + + /// + /// The relationship that this person has with the Account's business or legal entity. + /// + [JsonProperty("relationship")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("relationship")] +#endif + public PersonRelationship Relationship { get; set; } + + /// + /// The script addresses (e.g., non-Latin characters) associated with the person. + /// + [JsonProperty("script_addresses")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_addresses")] +#endif + public PersonScriptAddresses ScriptAddresses { get; set; } + + /// + /// The script names (e.g. non-Latin characters) associated with the person. + /// + [JsonProperty("script_names")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_names")] +#endif + public PersonScriptNames ScriptNames { get; set; } + + /// + /// The person's last name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + + /// + /// Time at which the object was last updated. Represented as a RFC 3339 date & time UTC + /// value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("updated")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("updated")] +#endif + public DateTime Updated { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalAddress.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalAddress.cs new file mode 100644 index 0000000000..b7dd835d55 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalAddress.cs @@ -0,0 +1,116 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonAdditionalAddress : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// Purpose of additional address. + /// + [JsonProperty("purpose")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("purpose")] +#endif + public string Purpose { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalName.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalName.cs new file mode 100644 index 0000000000..d507a4202c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalName.cs @@ -0,0 +1,48 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonAdditionalName : StripeEntity + { + /// + /// The individual's full name. + /// + [JsonProperty("full_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("full_name")] +#endif + public string FullName { get; set; } + + /// + /// The individual's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The purpose or type of the additional name. + /// One of: alias, or maiden. + /// + [JsonProperty("purpose")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("purpose")] +#endif + public string Purpose { get; set; } + + /// + /// The individual's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalTermsOfService.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalTermsOfService.cs new file mode 100644 index 0000000000..62dbfa79dc --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalTermsOfService.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonAdditionalTermsOfService : StripeEntity + { + /// + /// Stripe terms of service agreement. + /// + [JsonProperty("account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account")] +#endif + public PersonAdditionalTermsOfServiceAccount Account { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalTermsOfServiceAccount.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalTermsOfServiceAccount.cs new file mode 100644 index 0000000000..31847c34c0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalTermsOfServiceAccount.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonAdditionalTermsOfServiceAccount : StripeEntity + { + /// + /// The time when the Account's representative accepted the terms of service. Represented as + /// a RFC 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the Account's representative accepted the terms of service. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the Account's representative accepted the terms + /// of service. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonAddress.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonAddress.cs new file mode 100644 index 0000000000..72c563dc6b --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonAddress.cs @@ -0,0 +1,107 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonAddress : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonDateOfBirth.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonDateOfBirth.cs new file mode 100644 index 0000000000..ec9e997af7 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonDateOfBirth.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonDateOfBirth : StripeEntity + { + /// + /// The day of birth, between 1 and 31. + /// + [JsonProperty("day")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("day")] +#endif + public long Day { get; set; } + + /// + /// The month of birth, between 1 and 12. + /// + [JsonProperty("month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("month")] +#endif + public long Month { get; set; } + + /// + /// The four-digit year of birth. + /// + [JsonProperty("year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("year")] +#endif + public long Year { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonDocuments.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocuments.cs new file mode 100644 index 0000000000..24d0cf583a --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocuments.cs @@ -0,0 +1,59 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonDocuments : StripeEntity + { + /// + /// One or more documents that demonstrate proof that this person is authorized to represent + /// the company. + /// + [JsonProperty("company_authorization")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_authorization")] +#endif + public PersonDocumentsCompanyAuthorization CompanyAuthorization { get; set; } + + /// + /// One or more documents showing the person’s passport page with photo and personal data. + /// + [JsonProperty("passport")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("passport")] +#endif + public PersonDocumentsPassport Passport { get; set; } + + /// + /// An identifying document showing the person's name, either a passport or local ID card. + /// + [JsonProperty("primary_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("primary_verification")] +#endif + public PersonDocumentsPrimaryVerification PrimaryVerification { get; set; } + + /// + /// A document showing address, either a passport, local ID card, or utility bill from a + /// well-known utility company. + /// + [JsonProperty("secondary_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("secondary_verification")] +#endif + public PersonDocumentsSecondaryVerification SecondaryVerification { get; set; } + + /// + /// One or more documents showing the person’s visa required for living in the country where + /// they are residing. + /// + [JsonProperty("visa")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("visa")] +#endif + public PersonDocumentsVisa Visa { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsCompanyAuthorization.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsCompanyAuthorization.cs new file mode 100644 index 0000000000..2ee668b52c --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsCompanyAuthorization.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonDocumentsCompanyAuthorization : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsPassport.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsPassport.cs new file mode 100644 index 0000000000..f9744037e8 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsPassport.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonDocumentsPassport : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsPrimaryVerification.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsPrimaryVerification.cs new file mode 100644 index 0000000000..5d9fe74a56 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsPrimaryVerification.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonDocumentsPrimaryVerification : StripeEntity + { + /// + /// The file upload + /// tokens for the front and back of the verification document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public PersonDocumentsPrimaryVerificationFrontBack FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsPrimaryVerificationFrontBack.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsPrimaryVerificationFrontBack.cs new file mode 100644 index 0000000000..9e87603629 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsPrimaryVerificationFrontBack.cs @@ -0,0 +1,35 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonDocumentsPrimaryVerificationFrontBack : StripeEntity + { + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] +#endif + public string Back { get; set; } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsSecondaryVerification.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsSecondaryVerification.cs new file mode 100644 index 0000000000..b821b8f0cf --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsSecondaryVerification.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonDocumentsSecondaryVerification : StripeEntity + { + /// + /// The file upload + /// tokens for the front and back of the verification document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public PersonDocumentsSecondaryVerificationFrontBack FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsSecondaryVerificationFrontBack.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsSecondaryVerificationFrontBack.cs new file mode 100644 index 0000000000..969001c546 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsSecondaryVerificationFrontBack.cs @@ -0,0 +1,35 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonDocumentsSecondaryVerificationFrontBack : StripeEntity + { + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] +#endif + public string Back { get; set; } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsVisa.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsVisa.cs new file mode 100644 index 0000000000..4d972ef5f4 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsVisa.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonDocumentsVisa : StripeEntity + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonIdNumber.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonIdNumber.cs new file mode 100644 index 0000000000..f44ea463f2 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonIdNumber.cs @@ -0,0 +1,24 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonIdNumber : StripeEntity + { + /// + /// The ID number type of an individual. + /// One of: ae_eid, br_cpf, de_stn, hk_id, mx_rfc, + /// my_nric, nl_bsn, sg_fin, sg_nric, th_lc, + /// th_pin, us_itin, us_itin_last_4, us_ssn, or + /// us_ssn_last_4. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonRelationship.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonRelationship.cs new file mode 100644 index 0000000000..e493b74b2e --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonRelationship.cs @@ -0,0 +1,81 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonRelationship : StripeEntity + { + /// + /// Whether the individual is a director of the Account’s legal entity. Directors are + /// typically members of the governing board of the company, or responsible for ensuring the + /// company meets its regulatory obligations. + /// + [JsonProperty("director")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("director")] +#endif + public bool? Director { get; set; } + + /// + /// Whether the individual has significant responsibility to control, manage, or direct the + /// organization. + /// + [JsonProperty("executive")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("executive")] +#endif + public bool? Executive { get; set; } + + /// + /// Whether the individual is the legal guardian of the Account’s representative. + /// + [JsonProperty("legal_guardian")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("legal_guardian")] +#endif + public bool? LegalGuardian { get; set; } + + /// + /// Whether the individual is an owner of the Account’s legal entity. + /// + [JsonProperty("owner")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("owner")] +#endif + public bool? Owner { get; set; } + + /// + /// The percent owned by the individual of the Account’s legal entity. + /// + [JsonProperty("percent_ownership")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("percent_ownership")] +#endif + public string PercentOwnership { get; set; } + + /// + /// Whether the individual is authorized as the primary representative of the Account. This + /// is the person nominated by the business to provide information about themselves, and + /// general information about the account. There can only be one representative at any given + /// time. At the time the account is created, this person should be set to the person + /// responsible for opening the account. + /// + [JsonProperty("representative")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("representative")] +#endif + public bool? Representative { get; set; } + + /// + /// The individual's title (e.g., CEO, Support Engineer). + /// + [JsonProperty("title")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("title")] +#endif + public string Title { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptAddresses.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptAddresses.cs new file mode 100644 index 0000000000..343868e952 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptAddresses.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonScriptAddresses : StripeEntity + { + /// + /// Kana Address. + /// + [JsonProperty("kana")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] +#endif + public PersonScriptAddressesKana Kana { get; set; } + + /// + /// Kanji Address. + /// + [JsonProperty("kanji")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] +#endif + public PersonScriptAddressesKanji Kanji { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptAddressesKana.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptAddressesKana.cs new file mode 100644 index 0000000000..080027a701 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptAddressesKana.cs @@ -0,0 +1,107 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonScriptAddressesKana : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptAddressesKanji.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptAddressesKanji.cs new file mode 100644 index 0000000000..9e2b38beea --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptAddressesKanji.cs @@ -0,0 +1,107 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonScriptAddressesKanji : StripeEntity + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptNames.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptNames.cs new file mode 100644 index 0000000000..f2ec24eb20 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptNames.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonScriptNames : StripeEntity + { + /// + /// Persons name in kana script. + /// + [JsonProperty("kana")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] +#endif + public PersonScriptNamesKana Kana { get; set; } + + /// + /// Persons name in kanji script. + /// + [JsonProperty("kanji")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] +#endif + public PersonScriptNamesKanji Kanji { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptNamesKana.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptNamesKana.cs new file mode 100644 index 0000000000..9cc380965f --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptNamesKana.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonScriptNamesKana : StripeEntity + { + /// + /// The person's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The person's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptNamesKanji.cs b/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptNamesKanji.cs new file mode 100644 index 0000000000..53ff0b2994 --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Persons/PersonScriptNamesKanji.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonScriptNamesKanji : StripeEntity + { + /// + /// The person's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The person's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccount.cs b/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccount.cs new file mode 100644 index 0000000000..005108780b --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccount.cs @@ -0,0 +1,103 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// Use the GbBankAccounts API to create and manage GB bank account objects. + /// + public class GbBankAccount : StripeEntity, IHasId, IHasObject + { + /// + /// The ID of the GbBankAccount 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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// Whether this bank account object was archived. Bank account objects can be archived + /// through the /archive API, and they will not be automatically archived by Stripe. + /// Archived bank account objects cannot be used as outbound destinations and will not + /// appear in the outbound destination list. + /// + [JsonProperty("archived")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("archived")] +#endif + public bool Archived { get; set; } + + /// + /// Closed Enum. The type of the bank account (checking or savings). + /// One of: checking, or savings. + /// + [JsonProperty("bank_account_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account_type")] +#endif + public string BankAccountType { get; set; } + + /// + /// The name of the bank. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Information around the status of Confirmation of Payee matching done on this bank + /// account. Confirmation of Payee is a name matching service that must be done before + /// making OutboundPayments in the UK. + /// + [JsonProperty("confirmation_of_payee")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("confirmation_of_payee")] +#endif + public GbBankAccountConfirmationOfPayee ConfirmationOfPayee { get; set; } + + /// + /// Creation time. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// The last 4 digits of the account number or IBAN. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// The Sort Code of the bank account. + /// + [JsonProperty("sort_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sort_code")] +#endif + public string SortCode { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayee.cs b/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayee.cs new file mode 100644 index 0000000000..aea378b1db --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayee.cs @@ -0,0 +1,31 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class GbBankAccountConfirmationOfPayee : StripeEntity + { + /// + /// The result of the Confirmation of Payee check, once the check has been initiated. Closed + /// enum. + /// + [JsonProperty("result")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("result")] +#endif + public GbBankAccountConfirmationOfPayeeResult Result { get; set; } + + /// + /// The current state of Confirmation of Payee on this bank account. Closed enum. + /// One of: awaiting_acknowledgement, confirmed, or uninitiated. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayeeResult.cs b/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayeeResult.cs new file mode 100644 index 0000000000..871e7fd07e --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayeeResult.cs @@ -0,0 +1,60 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class GbBankAccountConfirmationOfPayeeResult : StripeEntity + { + /// + /// When the CoP result was created. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Whether or not the information of the bank account matches what you have provided. + /// Closed enum. + /// One of: match, mismatch, partial_match, or unavailable. + /// + [JsonProperty("match_result")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("match_result")] +#endif + public string MatchResult { get; set; } + + /// + /// The fields that CoP service matched against. Only has value if MATCH or PARTIAL_MATCH, + /// empty otherwise. + /// + [JsonProperty("matched")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("matched")] +#endif + public GbBankAccountConfirmationOfPayeeResultMatched Matched { get; set; } + + /// + /// Human-readable message describing the match result. + /// + [JsonProperty("message")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("message")] +#endif + public string Message { get; set; } + + /// + /// The fields that are matched against what the network has on file. + /// + [JsonProperty("provided")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("provided")] +#endif + public GbBankAccountConfirmationOfPayeeResultProvided Provided { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayeeResultMatched.cs b/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayeeResultMatched.cs new file mode 100644 index 0000000000..9f6ac01bdb --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayeeResultMatched.cs @@ -0,0 +1,31 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class GbBankAccountConfirmationOfPayeeResultMatched : StripeEntity + { + /// + /// The business type given by the bank for this account, in case of a MATCH or + /// PARTIAL_MATCH. Closed enum. + /// One of: business, or personal. + /// + [JsonProperty("business_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("business_type")] +#endif + public string BusinessType { get; set; } + + /// + /// The name given by the bank for this account, in case of a MATCH or PARTIAL_MATCH. + /// + [JsonProperty("name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("name")] +#endif + public string Name { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayeeResultProvided.cs b/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayeeResultProvided.cs new file mode 100644 index 0000000000..ab7f0141ff --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayeeResultProvided.cs @@ -0,0 +1,31 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class GbBankAccountConfirmationOfPayeeResultProvided : StripeEntity + { + /// + /// The provided or Legal Entity business type to match against the CoP service. Closed + /// enum. + /// One of: business, or personal. + /// + [JsonProperty("business_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("business_type")] +#endif + public string BusinessType { get; set; } + + /// + /// The provided or Legal Entity name to match against the CoP service. + /// + [JsonProperty("name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("name")] +#endif + public string Name { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/Core/Vault/UsBankAccounts/UsBankAccount.cs b/src/Stripe.net/Entities/V2/Core/Vault/UsBankAccounts/UsBankAccount.cs new file mode 100644 index 0000000000..9f239d340a --- /dev/null +++ b/src/Stripe.net/Entities/V2/Core/Vault/UsBankAccounts/UsBankAccount.cs @@ -0,0 +1,100 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// Use the UsBankAccounts API to create and manage US bank accounts objects that you can + /// use to receive funds. Note that these are not interchangeable with v1 Tokens. + /// + public class UsBankAccount : StripeEntity, IHasId, IHasObject + { + /// + /// The ID of the UsBankAccount 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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// Whether this UsBankAccount object was archived. + /// + [JsonProperty("archived")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("archived")] +#endif + public bool Archived { get; set; } + + /// + /// Closed Enum. The type of bank account (checking or savings). + /// One of: checking, or savings. + /// + [JsonProperty("bank_account_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account_type")] +#endif + public string BankAccountType { get; set; } + + /// + /// The name of the bank this bank account belongs to. This field is populated automatically + /// by Stripe based on the routing number. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Creation time of the object. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// The fedwire routing number of the bank account. + /// + [JsonProperty("fedwire_routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fedwire_routing_number")] +#endif + public string FedwireRoutingNumber { get; set; } + + /// + /// The last 4 digits of the account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// The ACH routing number of the bank account. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccount.cs b/src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccount.cs new file mode 100644 index 0000000000..ba2c8421da --- /dev/null +++ b/src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccount.cs @@ -0,0 +1,145 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// The Financial Account is the container that allows for the configuration of money + /// movement. + /// + public class FinancialAccount : 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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// Multi-currency balance of this FinancialAccount, split by availability state. Each + /// balance is represented as a hash where the key is the three-letter ISO currency code, in + /// lowercase, and the value is the amount for that currency. + /// + [JsonProperty("balance")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("balance")] +#endif + public FinancialAccountBalance Balance { get; set; } + + /// + /// Open Enum. Two-letter country code that represents the country where the LegalEntity + /// associated with the FinancialAccount is based in. + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Time at which the object was created. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// If this is a other FinancialAccount, this hash indicates what the actual type is. + /// Upgrade your API version to see it reflected in type. + /// + [JsonProperty("other")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("other")] +#endif + public FinancialAccountOther Other { get; set; } + + /// + /// An enum value that specifies which state the FinancialAccount is in. + /// One of: closed, or open. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// If this is a storage FinancialAccount, this hash includes details specific to + /// storage FinancialAccounts. + /// + [JsonProperty("storage")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("storage")] +#endif + public FinancialAccountStorage Storage { get; set; } + + /// + /// Type of the FinancialAccount. An additional hash is included on the FinancialAccount + /// with a name matching this value. It contains additional information specific to the + /// FinancialAccount type. + /// One of: other, or storage. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccountBalance.cs b/src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccountBalance.cs new file mode 100644 index 0000000000..2ffc67d53a --- /dev/null +++ b/src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccountBalance.cs @@ -0,0 +1,39 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class FinancialAccountBalance : StripeEntity + { + /// + /// Balance that can be used for money movement. + /// + [JsonProperty("available")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("available")] +#endif + public Dictionary Available { get; set; } + + /// + /// Balance of inbound funds that will later transition to the cash balance. + /// + [JsonProperty("inbound_pending")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("inbound_pending")] +#endif + public Dictionary InboundPending { get; set; } + + /// + /// Balance of funds that are being used for a pending outbound money movement. + /// + [JsonProperty("outbound_pending")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("outbound_pending")] +#endif + public Dictionary OutboundPending { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccountOther.cs b/src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccountOther.cs new file mode 100644 index 0000000000..4e40e4cfd9 --- /dev/null +++ b/src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccountOther.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class FinancialAccountOther : StripeEntity + { + /// + /// The type of the FinancialAccount, represented as a string. Upgrade your API version to + /// see the type reflected in financial_account.type. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccountStorage.cs b/src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccountStorage.cs new file mode 100644 index 0000000000..e29741eef3 --- /dev/null +++ b/src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccountStorage.cs @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class FinancialAccountStorage : StripeEntity + { + /// + /// The currencies that this FinancialAccount can hold. + /// One of: aed, afn, all, amd, ang, aoa, + /// ars, aud, awg, azn, bam, bbd, bdt, + /// bgn, bhd, bif, bmd, bnd, bob, bov, + /// brl, bsd, btn, bwp, byn, byr, bzd, + /// cad, cdf, che, chf, chw, clf, clp, + /// cny, cop, cou, crc, cuc, cup, cve, + /// czk, djf, dkk, dop, dzd, eek, egp, + /// ern, etb, eur, fjd, fkp, gbp, gel, + /// ghc, ghs, gip, gmd, gnf, gtq, gyd, + /// hkd, hnl, hrk, htg, huf, idr, ils, + /// inr, iqd, irr, isk, jmd, jod, jpy, + /// kes, kgs, khr, kmf, kpw, krw, kwd, + /// kyd, kzt, lak, lbp, lkr, lrd, lsl, + /// ltl, lvl, lyd, mad, mdl, mga, mkd, + /// mmk, mnt, mop, mro, mru, mur, mvr, + /// mwk, mxn, mxv, myr, mzn, nad, ngn, + /// nio, nok, npr, nzd, omr, pab, pen, + /// pgk, php, pkr, pln, pyg, qar, ron, + /// rsd, rub, rwf, sar, sbd, scr, sdg, + /// sek, sgd, shp, sle, sll, sos, srd, + /// ssp, std, stn, svc, syp, szl, thb, + /// tjs, tmt, tnd, top, try, ttd, twd, + /// tzs, uah, ugx, usd, usdc, usn, uyi, + /// uyu, uzs, vef, ves, vnd, vuv, wst, + /// xaf, xcd, xcg, xof, xpf, yer, zar, + /// zmk, zmw, zwd, zwg, or zwl. + /// + [JsonProperty("holds_currencies")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("holds_currencies")] +#endif + public List HoldsCurrencies { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/FinancialAddressCreditSimulations/FinancialAddressCreditSimulation.cs b/src/Stripe.net/Entities/V2/FinancialAddressCreditSimulations/FinancialAddressCreditSimulation.cs new file mode 100644 index 0000000000..e7edf6c3a9 --- /dev/null +++ b/src/Stripe.net/Entities/V2/FinancialAddressCreditSimulations/FinancialAddressCreditSimulation.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class FinancialAddressCreditSimulation : StripeEntity, IHasObject + { + /// + /// String representing the object's type. Objects of the same type share the same value of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// The status of the request, signifying whether a simulated credit was initiated. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/FinancialAddressGeneratedMicrodeposits/FinancialAddressGeneratedMicrodeposits.cs b/src/Stripe.net/Entities/V2/FinancialAddressGeneratedMicrodeposits/FinancialAddressGeneratedMicrodeposits.cs new file mode 100644 index 0000000000..326b9a6d61 --- /dev/null +++ b/src/Stripe.net/Entities/V2/FinancialAddressGeneratedMicrodeposits/FinancialAddressGeneratedMicrodeposits.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class FinancialAddressGeneratedMicrodeposits : StripeEntity, IHasObject + { + /// + /// String representing the object's type. Objects of the same type share the same value of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// The amounts of the microdeposits that were generated. + /// + [JsonProperty("amounts")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amounts")] +#endif + public List Amounts { get; set; } + + /// + /// Closed Enum. The status of the request. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddress.cs b/src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddress.cs new file mode 100644 index 0000000000..f98b7f394f --- /dev/null +++ b/src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddress.cs @@ -0,0 +1,111 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// A FinancialAddress contains information needed to transfer money to a Financial Account. + /// A Financial Account can have more than one Financial Address. + /// + public class FinancialAddress : StripeEntity, IHasId, IHasObject + { + /// + /// The ID of a FinancialAddress. + /// + [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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// The creation timestamp of the FinancialAddress. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Object indicates the type of credentials that have been allocated and attached to the + /// FinancialAddress. It contains all necessary banking details with which to perform money + /// movements with the FinancialAddress. This field is only available for FinancialAddresses + /// with an active status. + /// + [JsonProperty("credentials")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("credentials")] +#endif + public FinancialAddressCredentials Credentials { get; set; } + + /// + /// Open Enum. The currency the FinancialAddress supports. + /// One of: aed, afn, all, amd, ang, aoa, + /// ars, aud, awg, azn, bam, bbd, bdt, + /// bgn, bhd, bif, bmd, bnd, bob, bov, + /// brl, bsd, btn, bwp, byn, byr, bzd, + /// cad, cdf, che, chf, chw, clf, clp, + /// cny, cop, cou, crc, cuc, cup, cve, + /// czk, djf, dkk, dop, dzd, eek, egp, + /// ern, etb, eur, fjd, fkp, gbp, gel, + /// ghc, ghs, gip, gmd, gnf, gtq, gyd, + /// hkd, hnl, hrk, htg, huf, idr, ils, + /// inr, iqd, irr, isk, jmd, jod, jpy, + /// kes, kgs, khr, kmf, kpw, krw, kwd, + /// kyd, kzt, lak, lbp, lkr, lrd, lsl, + /// ltl, lvl, lyd, mad, mdl, mga, mkd, + /// mmk, mnt, mop, mro, mru, mur, mvr, + /// mwk, mxn, mxv, myr, mzn, nad, ngn, + /// nio, nok, npr, nzd, omr, pab, pen, + /// pgk, php, pkr, pln, pyg, qar, ron, + /// rsd, rub, rwf, sar, sbd, scr, sdg, + /// sek, sgd, shp, sle, sll, sos, srd, + /// ssp, std, stn, svc, syp, szl, thb, + /// tjs, tmt, tnd, top, try, ttd, twd, + /// tzs, uah, ugx, usd, usdc, usn, uyi, + /// uyu, uzs, vef, ves, vnd, vuv, wst, + /// xaf, xcd, xcg, xof, xpf, yer, zar, + /// zmk, zmw, zwd, zwg, or zwl. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// A ID of the FinancialAccount this FinancialAddress corresponds to. + /// + [JsonProperty("financial_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_account")] +#endif + public string FinancialAccount { get; set; } + + /// + /// Closed Enum. An enum representing the status of the FinancialAddress. This indicates + /// whether or not the FinancialAddress can be used for any money movement flows. + /// One of: active, archived, failed, or pending. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddressCredentials.cs b/src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddressCredentials.cs new file mode 100644 index 0000000000..8ecb53af41 --- /dev/null +++ b/src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddressCredentials.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class FinancialAddressCredentials : StripeEntity + { + /// + /// Open Enum. The type of Credentials that are provisioned for the FinancialAddress. + /// One of: gb_bank_account, or us_bank_account. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The credentials of the UK Bank Account for the FinancialAddress. This contains unique + /// banking details such as the sort code, account number, etc. of a UK bank account. + /// + [JsonProperty("gb_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("gb_bank_account")] +#endif + public FinancialAddressCredentialsGbBankAccount GbBankAccount { get; set; } + + /// + /// The credentials of the US Bank Account for the FinancialAddress. This contains unique + /// banking details such as the routing number, account number, etc. of a US bank account. + /// + [JsonProperty("us_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("us_bank_account")] +#endif + public FinancialAddressCredentialsUsBankAccount UsBankAccount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddressCredentialsGbBankAccount.cs b/src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddressCredentialsGbBankAccount.cs new file mode 100644 index 0000000000..803ceb8b3e --- /dev/null +++ b/src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddressCredentialsGbBankAccount.cs @@ -0,0 +1,49 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class FinancialAddressCredentialsGbBankAccount : StripeEntity + { + /// + /// The account holder name to be used during bank transference. + /// + [JsonProperty("account_holder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_name")] +#endif + public string AccountHolderName { get; set; } + + /// + /// The account number of the UK Bank Account. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// The last four digits of the UK Bank Account number. This will always be returned. To + /// view the full account number when retrieving or listing FinancialAddresses, use the + /// include request parameter. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// The sort code of the UK Bank Account. + /// + [JsonProperty("sort_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sort_code")] +#endif + public string SortCode { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddressCredentialsUsBankAccount.cs b/src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddressCredentialsUsBankAccount.cs new file mode 100644 index 0000000000..178656eb96 --- /dev/null +++ b/src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddressCredentialsUsBankAccount.cs @@ -0,0 +1,58 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class FinancialAddressCredentialsUsBankAccount : StripeEntity + { + /// + /// The account number of the US Bank Account. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// The name of the Bank. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// The last four digits of the US Bank Account number. This will always be returned. To + /// view the full account number when retrieving or listing FinancialAddresses, use the + /// include request parameter. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// The routing number of the US Bank Account. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + + /// + /// The swift code of the bank or financial institution. + /// + [JsonProperty("swift_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("swift_code")] +#endif + public string SwiftCode { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransfer.cs b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransfer.cs new file mode 100644 index 0000000000..9f21fdb17a --- /dev/null +++ b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransfer.cs @@ -0,0 +1,101 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// An InboundTransfer object, representing a money movement from a user owned PaymentMethod + /// to a FinancialAccount belonging to the same user. + /// + public class InboundTransfer : StripeEntity, IHasId, IHasObject + { + /// + /// Unique identifier for the InboundTransfer. + /// + [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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// The amount in specified currency that will land in the FinancialAccount balance. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public Amount Amount { get; set; } + + /// + /// Creation time of the InboundTransfer. Represented as a RFC 3339 date & time UTC + /// value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// A freeform text field provided by user, containing metadata. + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// A nested object containing information about the origin of the InboundTransfer. + /// + [JsonProperty("from")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("from")] +#endif + public InboundTransferFrom From { get; set; } + + /// + /// A hosted transaction receipt URL that is provided when money movement is considered + /// regulated under Stripe’s money transmission licenses. + /// + [JsonProperty("receipt_url")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("receipt_url")] +#endif + public string ReceiptUrl { get; set; } + + /// + /// A nested object containing information about the destination of the InboundTransfer. + /// + [JsonProperty("to")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("to")] +#endif + public InboundTransferTo To { get; set; } + + /// + /// A list of history objects, representing changes in the state of the InboundTransfer. + /// + [JsonProperty("transfer_history")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transfer_history")] +#endif + public List TransferHistory { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferFrom.cs b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferFrom.cs new file mode 100644 index 0000000000..90123b0a8d --- /dev/null +++ b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferFrom.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InboundTransferFrom : StripeEntity + { + /// + /// The amount in specified currency that was debited from the Payment Method. + /// + [JsonProperty("debited")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("debited")] +#endif + public Amount Debited { get; set; } + + /// + /// The Payment Method object used to create the InboundTransfer. + /// + [JsonProperty("payment_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payment_method")] +#endif + public InboundTransferFromPaymentMethod PaymentMethod { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferFromPaymentMethod.cs b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferFromPaymentMethod.cs new file mode 100644 index 0000000000..3ae13d86d7 --- /dev/null +++ b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferFromPaymentMethod.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InboundTransferFromPaymentMethod : StripeEntity + { + /// + /// The type of object this destination represents. For a us bank account, we expect + /// us_bank_account. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The destination US bank account identifier. eg "usba_***". + /// + [JsonProperty("us_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("us_bank_account")] +#endif + public string UsBankAccount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTo.cs b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTo.cs new file mode 100644 index 0000000000..7f27ac7733 --- /dev/null +++ b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTo.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InboundTransferTo : StripeEntity + { + /// + /// The amount by which the FinancialAccount balance is credited. + /// + [JsonProperty("credited")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("credited")] +#endif + public Amount Credited { get; set; } + + /// + /// The FinancialAccount that funds will land in. + /// + [JsonProperty("financial_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_account")] +#endif + public string FinancialAccount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistory.cs b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistory.cs new file mode 100644 index 0000000000..459b8dae9f --- /dev/null +++ b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistory.cs @@ -0,0 +1,105 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InboundTransferTransferHistory : StripeEntity, IHasId + { + /// + /// Creation time of the HistoryEntry in RFC 3339 format and UTC. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Effective at time of the HistoryEntry in RFC 3339 format and UTC. + /// + [JsonProperty("effective_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("effective_at")] +#endif + public DateTime EffectiveAt { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// A unique ID for the HistoryEntry. + /// + [JsonProperty("id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id")] +#endif + public string Id { get; set; } + + /// + /// Open Enum. The Level of the HistoryEntry. + /// One of: canonical, or debug. + /// + [JsonProperty("level")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("level")] +#endif + public string Level { get; set; } + + /// + /// Open Enum. The type of the HistoryEntry. + /// One of: bank_debit_failed, bank_debit_processing, + /// bank_debit_queued, bank_debit_returned, or bank_debit_succeeded. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The history entry for a failed InboundTransfer. + /// + [JsonProperty("bank_debit_failed")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_debit_failed")] +#endif + public InboundTransferTransferHistoryBankDebitFailed BankDebitFailed { get; set; } + + /// + /// The history entry for a processing InboundTransfer. + /// + [JsonProperty("bank_debit_processing")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_debit_processing")] +#endif + public InboundTransferTransferHistoryBankDebitProcessing BankDebitProcessing { get; set; } + + /// + /// The history entry for a queued InboundTransfer. + /// + [JsonProperty("bank_debit_queued")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_debit_queued")] +#endif + public InboundTransferTransferHistoryBankDebitQueued BankDebitQueued { get; set; } + + /// + /// The history entry for a returned InboundTransfer. + /// + [JsonProperty("bank_debit_returned")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_debit_returned")] +#endif + public InboundTransferTransferHistoryBankDebitReturned BankDebitReturned { get; set; } + + /// + /// The history entry for a succeeded InboundTransfer. + /// + [JsonProperty("bank_debit_succeeded")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_debit_succeeded")] +#endif + public InboundTransferTransferHistoryBankDebitSucceeded BankDebitSucceeded { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitFailed.cs b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitFailed.cs new file mode 100644 index 0000000000..cd60a7ad49 --- /dev/null +++ b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitFailed.cs @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InboundTransferTransferHistoryBankDebitFailed : StripeEntity + { + /// + /// Open Enum. The return reason for the failed InboundTransfer. + /// One of: bank_account_closed, bank_account_not_found, + /// bank_debit_could_not_be_processed, bank_debit_not_authorized, or + /// insufficient_funds. + /// + [JsonProperty("failure_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("failure_reason")] +#endif + public string FailureReason { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitProcessing.cs b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitProcessing.cs new file mode 100644 index 0000000000..0a69b07291 --- /dev/null +++ b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitProcessing.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + public class InboundTransferTransferHistoryBankDebitProcessing : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitQueued.cs b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitQueued.cs new file mode 100644 index 0000000000..f8097bf425 --- /dev/null +++ b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitQueued.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + public class InboundTransferTransferHistoryBankDebitQueued : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitReturned.cs b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitReturned.cs new file mode 100644 index 0000000000..80b18375ac --- /dev/null +++ b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitReturned.cs @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InboundTransferTransferHistoryBankDebitReturned : StripeEntity + { + /// + /// Open Enum. The return reason for the returned InboundTransfer. + /// One of: bank_account_closed, bank_account_not_found, + /// bank_debit_could_not_be_processed, bank_debit_not_authorized, or + /// insufficient_funds. + /// + [JsonProperty("return_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("return_reason")] +#endif + public string ReturnReason { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitSucceeded.cs b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitSucceeded.cs new file mode 100644 index 0000000000..46de604410 --- /dev/null +++ b/src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitSucceeded.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + public class InboundTransferTransferHistoryBankDebitSucceeded : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntent.cs b/src/Stripe.net/Entities/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntent.cs new file mode 100644 index 0000000000..2e619d15ac --- /dev/null +++ b/src/Stripe.net/Entities/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntent.cs @@ -0,0 +1,84 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// Use the OutboundSetupIntent API to create and setup usable payout methods. + /// + public class OutboundSetupIntent : StripeEntity, IHasId, IHasObject + { + /// + /// ID of the outbound setup intent. + /// + [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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// Created timestamp. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Specifies which actions needs to be taken next to continue setup of the credential. + /// + [JsonProperty("next_action")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("next_action")] +#endif + public OutboundSetupIntentNextAction NextAction { get; set; } + + /// + /// Information about the payout method that’s created and linked to this outbound setup + /// intent. + /// + [JsonProperty("payout_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payout_method")] +#endif + public PayoutMethod PayoutMethod { get; set; } + + /// + /// Closed Enum. Status of the outbound setup intent. + /// One of: canceled, requires_action, requires_payout_method, or + /// succeeded. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// The intended money movement flow this payout method should be set up for, specified in + /// params. + /// One of: payment, or transfer. + /// + [JsonProperty("usage_intent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("usage_intent")] +#endif + public string UsageIntent { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentNextAction.cs b/src/Stripe.net/Entities/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentNextAction.cs new file mode 100644 index 0000000000..eba4db8fc3 --- /dev/null +++ b/src/Stripe.net/Entities/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentNextAction.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundSetupIntentNextAction : StripeEntity + { + /// + /// The type of next action. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// Confirmation of Payee details. + /// + [JsonProperty("confirmation_of_payee")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("confirmation_of_payee")] +#endif + public OutboundSetupIntentNextActionConfirmationOfPayee ConfirmationOfPayee { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentNextActionConfirmationOfPayee.cs b/src/Stripe.net/Entities/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentNextActionConfirmationOfPayee.cs new file mode 100644 index 0000000000..16b427492b --- /dev/null +++ b/src/Stripe.net/Entities/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentNextActionConfirmationOfPayee.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundSetupIntentNextActionConfirmationOfPayee : StripeEntity, IHasObject + { + /// + /// The type of the credential. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// The Confirmation of Payee status. + /// One of: awaiting_acknowledgement, confirmed, or uninitiated. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethod.cs b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethod.cs new file mode 100644 index 0000000000..5ce471f02e --- /dev/null +++ b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethod.cs @@ -0,0 +1,101 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// Use the PayoutMethods API to list and interact with PayoutMethod objects. + /// + public class PayoutMethod : StripeEntity, IHasId, IHasObject + { + /// + /// ID of the PayoutMethod 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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// A set of available payout speeds for this payout method. + /// One of: instant, or standard. + /// + [JsonProperty("available_payout_speeds")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("available_payout_speeds")] +#endif + public List AvailablePayoutSpeeds { get; set; } + + /// + /// The PayoutMethodBankAccount object details. + /// + [JsonProperty("bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account")] +#endif + public PayoutMethodBankAccount BankAccount { get; set; } + + /// + /// The PayoutMethodCard object details. + /// + [JsonProperty("card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card")] +#endif + public PayoutMethodCard Card { get; set; } + + /// + /// Created timestamp. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// ID of the underlying active OutboundSetupIntent object, if any. + /// + [JsonProperty("latest_outbound_setup_intent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("latest_outbound_setup_intent")] +#endif + public string LatestOutboundSetupIntent { get; set; } + + /// + /// Closed Enum. The type of payout method. + /// One of: bank_account, or card. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// Indicates whether the payout method has met the necessary requirements for outbound + /// money movement. + /// + [JsonProperty("usage_status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("usage_status")] +#endif + public PayoutMethodUsageStatus UsageStatus { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethodBankAccount.cs b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethodBankAccount.cs new file mode 100644 index 0000000000..800ead9669 --- /dev/null +++ b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethodBankAccount.cs @@ -0,0 +1,79 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PayoutMethodBankAccount : StripeEntity + { + /// + /// Whether this PayoutMethodBankAccount object was archived. PayoutMethodBankAccount + /// objects can be archived through the /archive API, and they will not be automatically + /// archived by Stripe. Archived PayoutMethodBankAccount objects cannot be used as payout + /// methods and will not appear in the payout method list. + /// + [JsonProperty("archived")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("archived")] +#endif + public bool Archived { get; set; } + + /// + /// The name of the bank this bank account is in. This field is populated automatically by + /// Stripe. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// The country code of the bank account. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// List of enabled flows for this bank account (wire or local). + /// + [JsonProperty("enabled_delivery_options")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("enabled_delivery_options")] +#endif + public List EnabledDeliveryOptions { get; set; } + + /// + /// The last 4 digits of the account number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// The routing number of the bank account, if present. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + + /// + /// The list of currencies supported by this bank account. + /// + [JsonProperty("supported_currencies")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("supported_currencies")] +#endif + public List SupportedCurrencies { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethodCard.cs b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethodCard.cs new file mode 100644 index 0000000000..6fba6a386e --- /dev/null +++ b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethodCard.cs @@ -0,0 +1,50 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PayoutMethodCard : StripeEntity + { + /// + /// Whether the PayoutMethodCard object was archived. PayoutMethodCard objects can be + /// archived through the /archive API, and they will not be automatically archived by + /// Stripe. Archived PayoutMethodCard objects cannot be used as payout methods and will not + /// appear in the payout method list. + /// + [JsonProperty("archived")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("archived")] +#endif + public bool Archived { get; set; } + + /// + /// The month the card expires. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public string ExpMonth { get; set; } + + /// + /// The year the card expires. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public string ExpYear { get; set; } + + /// + /// The last 4 digits of the card number. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethodUsageStatus.cs b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethodUsageStatus.cs new file mode 100644 index 0000000000..2562c9693e --- /dev/null +++ b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethodUsageStatus.cs @@ -0,0 +1,31 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PayoutMethodUsageStatus : StripeEntity + { + /// + /// Payments status. + /// One of: eligible, invalid, or requires_action. + /// + [JsonProperty("payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payments")] +#endif + public string Payments { get; set; } + + /// + /// Transfers status. + /// One of: eligible, invalid, or requires_action. + /// + [JsonProperty("transfers")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transfers")] +#endif + public string Transfers { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpec.cs b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpec.cs new file mode 100644 index 0000000000..051ba76fd3 --- /dev/null +++ b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpec.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// The PayoutMethodsBankAccountSpec object. + /// + public class PayoutMethodsBankAccountSpec : StripeEntity, IHasObject + { + /// + /// String representing the object's type. Objects of the same type share the same value of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// The list of specs by country. + /// + [JsonProperty("countries")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("countries")] +#endif + public Dictionary Countries { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecCountries.cs b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecCountries.cs new file mode 100644 index 0000000000..fdc37fe3dc --- /dev/null +++ b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecCountries.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PayoutMethodsBankAccountSpecCountries : StripeEntity + { + /// + /// The list of fields for a country, along with associated information. + /// + [JsonProperty("fields")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fields")] +#endif + public List Fields { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecCountriesField.cs b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecCountriesField.cs new file mode 100644 index 0000000000..c37326a2a4 --- /dev/null +++ b/src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecCountriesField.cs @@ -0,0 +1,74 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PayoutMethodsBankAccountSpecCountriesField : StripeEntity + { + /// + /// The local name of the field. + /// + [JsonProperty("local_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("local_name")] +#endif + public string LocalName { get; set; } + + /// + /// The human readable local name of the field. + /// + [JsonProperty("local_name_human")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("local_name_human")] +#endif + public string LocalNameHuman { get; set; } + + /// + /// The maximum length of the field. + /// + [JsonProperty("max_length")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("max_length")] +#endif + public long MaxLength { get; set; } + + /// + /// THe minimum length of the field. + /// + [JsonProperty("min_length")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("min_length")] +#endif + public long MinLength { get; set; } + + /// + /// The placeholder value of the field. + /// + [JsonProperty("placeholder")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("placeholder")] +#endif + public string Placeholder { get; set; } + + /// + /// The stripe name of the field. + /// + [JsonProperty("stripe_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("stripe_name")] +#endif + public string StripeName { get; set; } + + /// + /// The validation regex of the field. + /// + [JsonProperty("validation_regex")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("validation_regex")] +#endif + public string ValidationRegex { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPayment.cs b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPayment.cs new file mode 100644 index 0000000000..d94e60b1ca --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPayment.cs @@ -0,0 +1,196 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// OutboundPayment represents a single money movement from one FinancialAccount you own to + /// a payout method someone else owns. + /// + public class OutboundPayment : StripeEntity, IHasId, IHasMetadata, IHasObject + { + /// + /// Unique identifier for the OutboundPayment. + /// + [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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// The "presentment amount" for the OutboundPayment. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public Amount Amount { get; set; } + + /// + /// Returns true if the OutboundPayment can be canceled, and false otherwise. + /// + [JsonProperty("cancelable")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cancelable")] +#endif + public bool Cancelable { get; set; } + + /// + /// Time at which the OutboundPayment was created. Represented as a RFC 3339 date & time + /// UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Delivery options to be used to send the OutboundPayment. + /// + [JsonProperty("delivery_options")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("delivery_options")] +#endif + public OutboundPaymentDeliveryOptions DeliveryOptions { get; set; } + + /// + /// An arbitrary string attached to the OutboundPayment. Often useful for displaying to + /// users. + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// The date when funds are expected to arrive in the payout method. This field is not set + /// if the payout method is in a failed, canceled, or returned state. + /// Represented as a RFC 3339 date & time UTC value in millisecond precision, for + /// example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("expected_arrival_date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("expected_arrival_date")] +#endif + public DateTime? ExpectedArrivalDate { get; set; } + + /// + /// The FinancialAccount that funds were pulled from. + /// + [JsonProperty("from")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("from")] +#endif + public OutboundPaymentFrom From { get; set; } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// A hosted transaction receipt URL that is provided when money movement is considered + /// regulated under Stripe's money transmission licenses. + /// + [JsonProperty("receipt_url")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("receipt_url")] +#endif + public string ReceiptUrl { get; set; } + + /// + /// Details about the OutboundPayment notification settings for recipient. + /// + [JsonProperty("recipient_notification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("recipient_notification")] +#endif + public OutboundPaymentRecipientNotification RecipientNotification { get; set; } + + /// + /// The description that appears on the receiving end for an OutboundPayment (for example, + /// bank statement for external bank transfer). + /// + [JsonProperty("statement_descriptor")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("statement_descriptor")] +#endif + public string StatementDescriptor { get; set; } + + /// + /// Closed Enum. Current status of the OutboundPayment: processing, failed, + /// posted, returned, canceled. An OutboundPayment is processing + /// if it has been created and is processing. The status changes to posted once the + /// OutboundPayment has been "confirmed" and funds have left the account, or to + /// failed or canceled. If an OutboundPayment fails to arrive at its payout + /// method, its status will change to returned. + /// One of: canceled, failed, posted, processing, or + /// returned. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Status details for an OutboundPayment in a failed or returned state. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public OutboundPaymentStatusDetails StatusDetails { get; set; } + + /// + /// Hash containing timestamps of when the object transitioned to a particular status. + /// + [JsonProperty("status_transitions")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_transitions")] +#endif + public OutboundPaymentStatusTransitions StatusTransitions { get; set; } + + /// + /// To which payout method the OutboundPayment was sent. + /// + [JsonProperty("to")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("to")] +#endif + public OutboundPaymentTo To { get; set; } + + /// + /// A unique identifier that can be used to track this OutboundPayment with recipient bank. + /// Banks might call this a “reference number” or something similar. + /// + [JsonProperty("trace_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("trace_id")] +#endif + public OutboundPaymentTraceId TraceId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentDeliveryOptions.cs b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentDeliveryOptions.cs new file mode 100644 index 0000000000..08b3a2ba4b --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentDeliveryOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentDeliveryOptions : StripeEntity + { + /// + /// Open Enum. Method for bank account. + /// One of: automatic, local, or wire. + /// + [JsonProperty("bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account")] +#endif + public string BankAccount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentFrom.cs b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentFrom.cs new file mode 100644 index 0000000000..44990d73cd --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentFrom.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentFrom : StripeEntity + { + /// + /// The monetary amount debited from the sender, only set on responses. + /// + [JsonProperty("debited")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("debited")] +#endif + public Amount Debited { get; set; } + + /// + /// The FinancialAccount that funds were pulled from. + /// + [JsonProperty("financial_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_account")] +#endif + public string FinancialAccount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentRecipientNotification.cs b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentRecipientNotification.cs new file mode 100644 index 0000000000..2191c80539 --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentRecipientNotification.cs @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentRecipientNotification : StripeEntity + { + /// + /// Closed Enum. Configuration option to enable or disable notifications to recipients. Do + /// not send notifications when setting is NONE. Default to account setting when setting is + /// CONFIGURED or not set. + /// One of: configured, or none. + /// + [JsonProperty("setting")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("setting")] +#endif + public string Setting { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusDetails.cs b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusDetails.cs new file mode 100644 index 0000000000..63a47abde3 --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusDetails.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentStatusDetails : StripeEntity + { + /// + /// The failed status reason. + /// + [JsonProperty("failed")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("failed")] +#endif + public OutboundPaymentStatusDetailsFailed Failed { get; set; } + + /// + /// The returned status reason. + /// + [JsonProperty("returned")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("returned")] +#endif + public OutboundPaymentStatusDetailsReturned Returned { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusDetailsFailed.cs b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusDetailsFailed.cs new file mode 100644 index 0000000000..8c1a5a6c46 --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusDetailsFailed.cs @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentStatusDetailsFailed : StripeEntity + { + /// + /// Open Enum. The failed status reason. + /// One of: payout_method_declined, payout_method_does_not_exist, + /// payout_method_expired, payout_method_unsupported, + /// payout_method_usage_frequency_limit_exceeded, or unknown_failure. + /// + [JsonProperty("reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reason")] +#endif + public string Reason { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusDetailsReturned.cs b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusDetailsReturned.cs new file mode 100644 index 0000000000..fd6411705d --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusDetailsReturned.cs @@ -0,0 +1,26 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentStatusDetailsReturned : StripeEntity + { + /// + /// Open Enum. The returned status reason. + /// One of: payout_method_canceled_by_customer, payout_method_closed, + /// payout_method_currency_unsupported, payout_method_does_not_exist, + /// payout_method_holder_address_incorrect, + /// payout_method_holder_details_incorrect, + /// payout_method_holder_name_incorrect, payout_method_invalid_account_number, + /// payout_method_restricted, recalled, or unknown_failure. + /// + [JsonProperty("reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reason")] +#endif + public string Reason { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusTransitions.cs b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusTransitions.cs new file mode 100644 index 0000000000..9dd96d524f --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusTransitions.cs @@ -0,0 +1,56 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentStatusTransitions : StripeEntity + { + /// + /// Timestamp describing when an OutboundPayment changed status to canceled. + /// Represented as a RFC 3339 date & time UTC value in millisecond precision, for + /// example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("canceled_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("canceled_at")] +#endif + public DateTime? CanceledAt { get; set; } + + /// + /// Timestamp describing when an OutboundPayment changed status to failed. + /// Represented as a RFC 3339 date & time UTC value in millisecond precision, for + /// example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("failed_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("failed_at")] +#endif + public DateTime? FailedAt { get; set; } + + /// + /// Timestamp describing when an OutboundPayment changed status to posted. + /// Represented as a RFC 3339 date & time UTC value in millisecond precision, for + /// example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("posted_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("posted_at")] +#endif + public DateTime? PostedAt { get; set; } + + /// + /// Timestamp describing when an OutboundPayment changed status to returned. + /// Represented as a RFC 3339 date & time UTC value in millisecond precision, for + /// example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("returned_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("returned_at")] +#endif + public DateTime? ReturnedAt { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentTo.cs b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentTo.cs new file mode 100644 index 0000000000..a03f95df5f --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentTo.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentTo : StripeEntity + { + /// + /// The monetary amount being credited to the destination. + /// + [JsonProperty("credited")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("credited")] +#endif + public Amount Credited { get; set; } + + /// + /// The payout method which the OutboundPayment uses to send payout. + /// + [JsonProperty("payout_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payout_method")] +#endif + public string PayoutMethod { get; set; } + + /// + /// To which account the OutboundPayment is sent. + /// + [JsonProperty("recipient")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("recipient")] +#endif + public string Recipient { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentTraceId.cs b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentTraceId.cs new file mode 100644 index 0000000000..69af2496c7 --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentTraceId.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentTraceId : StripeEntity + { + /// + /// Possible values are pending, supported, and unsupported. Initially + /// set to pending, it changes to supported when the recipient bank provides a + /// trace ID, or unsupported if the recipient bank doesn't support it. Note that this + /// status may not align with the OutboundPayment or OutboundTransfer status and can remain + /// pending even after the payment or transfer is posted. + /// One of: pending, supported, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// The trace ID value if trace_id.status is supported, otherwise empty. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransfer.cs b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransfer.cs new file mode 100644 index 0000000000..3790be1a89 --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransfer.cs @@ -0,0 +1,187 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// OutboundTransfer represents a single money movement from one FinancialAccount you own to + /// a payout method you also own. + /// + public class OutboundTransfer : StripeEntity, IHasId, IHasMetadata, IHasObject + { + /// + /// Unique identifier for the OutboundTransfer. + /// + [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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// The "presentment amount" for the OutboundTransfer. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public Amount Amount { get; set; } + + /// + /// Returns true if the OutboundTransfer can be canceled, and false otherwise. + /// + [JsonProperty("cancelable")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cancelable")] +#endif + public bool Cancelable { get; set; } + + /// + /// Time at which the OutboundTransfer was created. Represented as a RFC 3339 date & + /// time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Delivery options to be used to send the OutboundTransfer. + /// + [JsonProperty("delivery_options")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("delivery_options")] +#endif + public OutboundTransferDeliveryOptions DeliveryOptions { get; set; } + + /// + /// An arbitrary string attached to the OutboundTransfer. Often useful for displaying to + /// users. + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// The date when funds are expected to arrive in the payout method. This field is not set + /// if the payout method is in a failed, canceled, or returned state. + /// Represented as a RFC 3339 date & time UTC value in millisecond precision, for + /// example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("expected_arrival_date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("expected_arrival_date")] +#endif + public DateTime? ExpectedArrivalDate { get; set; } + + /// + /// The FinancialAccount that funds were pulled from. + /// + [JsonProperty("from")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("from")] +#endif + public OutboundTransferFrom From { get; set; } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// A hosted transaction receipt URL that is provided when money movement is considered + /// regulated under Stripe's money transmission licenses. + /// + [JsonProperty("receipt_url")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("receipt_url")] +#endif + public string ReceiptUrl { get; set; } + + /// + /// The description that appears on the receiving end for an OutboundTransfer (for example, + /// bank statement for external bank transfer). + /// + [JsonProperty("statement_descriptor")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("statement_descriptor")] +#endif + public string StatementDescriptor { get; set; } + + /// + /// Closed Enum. Current status of the OutboundTransfer: processing, failed, + /// posted, returned, canceled. An OutboundTransfer is + /// processing if it has been created and is processing. The status changes to + /// posted once the OutboundTransfer has been "confirmed" and funds have left the + /// account, or to failed or canceled. If an OutboundTransfer fails to arrive + /// at its payout method, its status will change to returned. + /// One of: canceled, failed, posted, processing, or + /// returned. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Status details for an OutboundTransfer in a failed or returned state. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public OutboundTransferStatusDetails StatusDetails { get; set; } + + /// + /// Hash containing timestamps of when the object transitioned to a particular status. + /// + [JsonProperty("status_transitions")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_transitions")] +#endif + public OutboundTransferStatusTransitions StatusTransitions { get; set; } + + /// + /// To which payout method the OutboundTransfer was sent. + /// + [JsonProperty("to")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("to")] +#endif + public OutboundTransferTo To { get; set; } + + /// + /// A unique identifier that can be used to track this OutboundTransfer with recipient bank. + /// Banks might call this a “reference number” or something similar. + /// + [JsonProperty("trace_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("trace_id")] +#endif + public OutboundTransferTraceId TraceId { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferDeliveryOptions.cs b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferDeliveryOptions.cs new file mode 100644 index 0000000000..9438fee55e --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferDeliveryOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferDeliveryOptions : StripeEntity + { + /// + /// Open Enum. Method for bank account. + /// One of: automatic, local, or wire. + /// + [JsonProperty("bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account")] +#endif + public string BankAccount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferFrom.cs b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferFrom.cs new file mode 100644 index 0000000000..636137783b --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferFrom.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferFrom : StripeEntity + { + /// + /// The monetary amount debited from the sender, only set on responses. + /// + [JsonProperty("debited")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("debited")] +#endif + public Amount Debited { get; set; } + + /// + /// The FinancialAccount that funds were pulled from. + /// + [JsonProperty("financial_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_account")] +#endif + public string FinancialAccount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusDetails.cs b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusDetails.cs new file mode 100644 index 0000000000..6ffbd7fce5 --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusDetails.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferStatusDetails : StripeEntity + { + /// + /// The failed status reason. + /// + [JsonProperty("failed")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("failed")] +#endif + public OutboundTransferStatusDetailsFailed Failed { get; set; } + + /// + /// The returned status reason. + /// + [JsonProperty("returned")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("returned")] +#endif + public OutboundTransferStatusDetailsReturned Returned { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusDetailsFailed.cs b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusDetailsFailed.cs new file mode 100644 index 0000000000..d3c572e9c9 --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusDetailsFailed.cs @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferStatusDetailsFailed : StripeEntity + { + /// + /// Open Enum. The failed status reason. + /// One of: payout_method_declined, payout_method_does_not_exist, + /// payout_method_expired, payout_method_unsupported, + /// payout_method_usage_frequency_limit_exceeded, or unknown_failure. + /// + [JsonProperty("reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reason")] +#endif + public string Reason { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusDetailsReturned.cs b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusDetailsReturned.cs new file mode 100644 index 0000000000..cf8cbf026e --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusDetailsReturned.cs @@ -0,0 +1,26 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferStatusDetailsReturned : StripeEntity + { + /// + /// Open Enum. The returned status reason. + /// One of: payout_method_canceled_by_customer, payout_method_closed, + /// payout_method_currency_unsupported, payout_method_does_not_exist, + /// payout_method_holder_address_incorrect, + /// payout_method_holder_details_incorrect, + /// payout_method_holder_name_incorrect, payout_method_invalid_account_number, + /// payout_method_restricted, recalled, or unknown_failure. + /// + [JsonProperty("reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reason")] +#endif + public string Reason { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusTransitions.cs b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusTransitions.cs new file mode 100644 index 0000000000..a07ea95bd5 --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusTransitions.cs @@ -0,0 +1,56 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferStatusTransitions : StripeEntity + { + /// + /// Timestamp describing when an OutboundTransfer changed status to canceled. + /// Represented as a RFC 3339 date & time UTC value in millisecond precision, for + /// example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("canceled_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("canceled_at")] +#endif + public DateTime? CanceledAt { get; set; } + + /// + /// Timestamp describing when an OutboundTransfer changed status to failed. + /// Represented as a RFC 3339 date & time UTC value in millisecond precision, for + /// example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("failed_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("failed_at")] +#endif + public DateTime? FailedAt { get; set; } + + /// + /// Timestamp describing when an OutboundTransfer changed status to posted. + /// Represented as a RFC 3339 date & time UTC value in millisecond precision, for + /// example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("posted_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("posted_at")] +#endif + public DateTime? PostedAt { get; set; } + + /// + /// Timestamp describing when an OutboundTransfer changed status to returned. + /// Represented as a RFC 3339 date & time UTC value in millisecond precision, for + /// example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("returned_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("returned_at")] +#endif + public DateTime? ReturnedAt { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferTo.cs b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferTo.cs new file mode 100644 index 0000000000..70d4b67496 --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferTo.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferTo : StripeEntity + { + /// + /// The monetary amount being credited to the destination. + /// + [JsonProperty("credited")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("credited")] +#endif + public Amount Credited { get; set; } + + /// + /// The payout method which the OutboundTransfer uses to send payout. + /// + [JsonProperty("payout_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payout_method")] +#endif + public string PayoutMethod { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferTraceId.cs b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferTraceId.cs new file mode 100644 index 0000000000..0fcc30b9d0 --- /dev/null +++ b/src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferTraceId.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferTraceId : StripeEntity + { + /// + /// Possible values are pending, supported, and unsupported. Initially + /// set to pending, it changes to supported when the recipient bank provides a + /// trace ID, or unsupported if the recipient bank doesn't support it. Note that this + /// status may not align with the OutboundPayment or OutboundTransfer status and can remain + /// pending even after the payment or transfer is posted. + /// One of: pending, supported, or unsupported. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// The trace ID value if trace_id.status is supported, otherwise empty. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCredit.cs b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCredit.cs new file mode 100644 index 0000000000..3a5353ac38 --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCredit.cs @@ -0,0 +1,153 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// Use ReceivedCredits API to retrieve information on when, where, and how funds are sent + /// into your FinancialAccount. + /// + public class ReceivedCredit : StripeEntity, IHasId, IHasObject + { + /// + /// Unique identifier for the ReceivedCredit. + /// + [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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// The amount and currency of the ReceivedCredit. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public Amount Amount { get; set; } + + /// + /// This object stores details about the originating Stripe transaction that resulted in the + /// ReceivedCredit. Present if type field value is balance_transfer. + /// + [JsonProperty("balance_transfer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("balance_transfer")] +#endif + public ReceivedCreditBalanceTransfer BalanceTransfer { get; set; } + + /// + /// This object stores details about the originating banking transaction that resulted in + /// the ReceivedCredit. Present if type field value is external_credit. + /// + [JsonProperty("bank_transfer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_transfer")] +#endif + public ReceivedCreditBankTransfer BankTransfer { get; set; } + + /// + /// This object stores details about the originating issuing card spend that resulted in the + /// ReceivedCredit. Present if type field value is card_spend. + /// + [JsonProperty("card_spend")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_spend")] +#endif + public ReceivedCreditCardSpend CardSpend { get; set; } + + /// + /// Time at which the ReceivedCredit was created. Represented as a RFC 3339 date & time + /// UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Freeform string set by originator of the ReceivedCredit. + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// Financial Account ID on which funds for ReceivedCredit were received. + /// + [JsonProperty("financial_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_account")] +#endif + public string FinancialAccount { get; set; } + + /// + /// A hosted transaction receipt URL that is provided when money movement is considered + /// regulated under Stripe’s money transmission licenses. + /// + [JsonProperty("receipt_url")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("receipt_url")] +#endif + public string ReceiptUrl { get; set; } + + /// + /// Open Enum. The status of the ReceivedCredit. + /// One of: failed, pending, returned, or succeeded. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// This hash contains detailed information that elaborates on the specific status of the + /// ReceivedCredit. e.g the reason behind a failure if the status is marked as + /// failed. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public ReceivedCreditStatusDetails StatusDetails { get; set; } + + /// + /// Hash containing timestamps of when the object transitioned to a particular status. + /// + [JsonProperty("status_transitions")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_transitions")] +#endif + public ReceivedCreditStatusTransitions StatusTransitions { get; set; } + + /// + /// Open Enum. The type of flow that caused the ReceivedCredit. + /// One of: balance_transfer, bank_transfer, card_spend, or + /// external_credit. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBalanceTransfer.cs b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBalanceTransfer.cs new file mode 100644 index 0000000000..76d9002b0d --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBalanceTransfer.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedCreditBalanceTransfer : StripeEntity + { + /// + /// The ID of the Stripe Money Movement that originated the ReceivedCredit. + /// + [JsonProperty("payout_v1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payout_v1")] +#endif + public string PayoutV1 { get; set; } + + /// + /// Open Enum. The type of Stripe Money Movement that originated the ReceivedCredit. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBankTransfer.cs b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBankTransfer.cs new file mode 100644 index 0000000000..cd4ceed717 --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBankTransfer.cs @@ -0,0 +1,59 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedCreditBankTransfer : StripeEntity + { + /// + /// Financial Address on which funds for ReceivedCredit were received. + /// + [JsonProperty("financial_address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_address")] +#endif + public string FinancialAddress { get; set; } + + /// + /// Open Enum. Indicates the type of source via from which external funds originated. + /// One of: gb_bank_account, or us_bank_account. + /// + [JsonProperty("payment_method_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payment_method_type")] +#endif + public string PaymentMethodType { get; set; } + + /// + /// Freeform string set by originator of the external ReceivedCredit. + /// + [JsonProperty("statement_descriptor")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("statement_descriptor")] +#endif + public string StatementDescriptor { get; set; } + + /// + /// Hash containing the transaction bank details. Present if payment_method_type + /// field value is gb_bank_account. + /// + [JsonProperty("gb_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("gb_bank_account")] +#endif + public ReceivedCreditBankTransferGbBankAccount GbBankAccount { get; set; } + + /// + /// Hash containing the transaction bank details. Present if payment_method_type + /// field value is us_bank_account. + /// + [JsonProperty("us_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("us_bank_account")] +#endif + public ReceivedCreditBankTransferUsBankAccount UsBankAccount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBankTransferGbBankAccount.cs b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBankTransferGbBankAccount.cs new file mode 100644 index 0000000000..2b75e4b6c1 --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBankTransferGbBankAccount.cs @@ -0,0 +1,56 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedCreditBankTransferGbBankAccount : StripeEntity + { + /// + /// The bank name the transfer was received from. + /// + [JsonProperty("account_holder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_name")] +#endif + public string AccountHolderName { get; set; } + + /// + /// The bank name the transfer was received from. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// The last 4 digits of the account number that originated the transfer. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// Open Enum. The money transmission network used to send funds for this ReceivedCredit. + /// + [JsonProperty("network")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network")] +#endif + public string Network { get; set; } + + /// + /// The sort code of the account that originated the transfer. + /// + [JsonProperty("sort_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sort_code")] +#endif + public string SortCode { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBankTransferUsBankAccount.cs b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBankTransferUsBankAccount.cs new file mode 100644 index 0000000000..6ad78f54da --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBankTransferUsBankAccount.cs @@ -0,0 +1,48 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedCreditBankTransferUsBankAccount : StripeEntity + { + /// + /// The bank name the transfer was received from. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// The last 4 digits of the account number that originated the transfer. + /// + [JsonProperty("last4")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("last4")] +#endif + public string Last4 { get; set; } + + /// + /// Open Enum. The money transmission network used to send funds for this ReceivedCredit. + /// One of: ach, rtp, or us_domestic_wire. + /// + [JsonProperty("network")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network")] +#endif + public string Network { get; set; } + + /// + /// The routing number of the account that originated the transfer. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditCardSpend.cs b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditCardSpend.cs new file mode 100644 index 0000000000..5eb8284584 --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditCardSpend.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedCreditCardSpend : StripeEntity + { + /// + /// The reference to the issuing card object. + /// + [JsonProperty("card_v1_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_v1_id")] +#endif + public string CardV1Id { get; set; } + + /// + /// Hash containing information about the Dispute that triggered this credit. + /// + [JsonProperty("dispute")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("dispute")] +#endif + public ReceivedCreditCardSpendDispute Dispute { get; set; } + + /// + /// Hash containing information about the Refund that triggered this credit. + /// + [JsonProperty("refund")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("refund")] +#endif + public ReceivedCreditCardSpendRefund Refund { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditCardSpendDispute.cs b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditCardSpendDispute.cs new file mode 100644 index 0000000000..87184be70c --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditCardSpendDispute.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedCreditCardSpendDispute : StripeEntity + { + /// + /// The reference to the v1 issuing dispute ID. + /// + [JsonProperty("issuing_dispute_v1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("issuing_dispute_v1")] +#endif + public string IssuingDisputeV1 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditCardSpendRefund.cs b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditCardSpendRefund.cs new file mode 100644 index 0000000000..aa510a22a6 --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditCardSpendRefund.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedCreditCardSpendRefund : StripeEntity + { + /// + /// The reference to the v1 issuing transaction ID. + /// + [JsonProperty("issuing_transaction_v1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("issuing_transaction_v1")] +#endif + public string IssuingTransactionV1 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusDetails.cs b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusDetails.cs new file mode 100644 index 0000000000..7feffc745f --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusDetails.cs @@ -0,0 +1,33 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedCreditStatusDetails : StripeEntity + { + /// + /// Hash that provides additional information regarding the reason behind a failed + /// ReceivedCredit status. It is only present when the ReceivedCredit status is + /// failed. + /// + [JsonProperty("failed")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("failed")] +#endif + public ReceivedCreditStatusDetailsFailed Failed { get; set; } + + /// + /// Hash that provides additional information regarding the reason behind a returned + /// ReceivedCredit status. It is only present when the ReceivedCredit status is + /// returned. + /// + [JsonProperty("returned")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("returned")] +#endif + public ReceivedCreditStatusDetailsReturned Returned { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusDetailsFailed.cs b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusDetailsFailed.cs new file mode 100644 index 0000000000..4be0e9e5b4 --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusDetailsFailed.cs @@ -0,0 +1,22 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedCreditStatusDetailsFailed : StripeEntity + { + /// + /// Open Enum. The failed status reason. + /// One of: capability_inactive, currency_unsupported_on_financial_address, + /// financial_address_inactive, or stripe_rejected. + /// + [JsonProperty("reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reason")] +#endif + public string Reason { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusDetailsReturned.cs b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusDetailsReturned.cs new file mode 100644 index 0000000000..2fdcceb12f --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusDetailsReturned.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedCreditStatusDetailsReturned : StripeEntity + { + /// + /// Open Enum. The returned status reason. + /// + [JsonProperty("reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reason")] +#endif + public string Reason { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusTransitions.cs b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusTransitions.cs new file mode 100644 index 0000000000..10b0e6cab1 --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusTransitions.cs @@ -0,0 +1,45 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedCreditStatusTransitions : StripeEntity + { + /// + /// Timestamp describing when the ReceivedCredit was marked as failed. Represented as + /// a RFC 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("failed_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("failed_at")] +#endif + public DateTime? FailedAt { get; set; } + + /// + /// Timestamp describing when the ReceivedCredit changed status to returned. + /// Represented as a RFC 3339 date & time UTC value in millisecond precision, for + /// example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("returned_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("returned_at")] +#endif + public DateTime? ReturnedAt { get; set; } + + /// + /// Timestamp describing when the ReceivedCredit was marked as succeeded. Represented + /// as a RFC 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("succeeded_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("succeeded_at")] +#endif + public DateTime? SucceededAt { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebit.cs b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebit.cs new file mode 100644 index 0000000000..3c6745553f --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebit.cs @@ -0,0 +1,139 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// ReceivedDebit resource. + /// + public class ReceivedDebit : StripeEntity, IHasId, IHasObject + { + /// + /// Unique identifier for the ReceivedDebit. + /// + [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 of + /// the object field. + /// + [JsonProperty("object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("object")] +#endif + public string Object { get; set; } + + /// + /// Amount and currency of the ReceivedDebit. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public Amount Amount { get; set; } + + /// + /// This object stores details about the originating banking transaction that resulted in + /// the ReceivedDebit. Present if type field value is bank_transfer. + /// + [JsonProperty("bank_transfer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_transfer")] +#endif + public ReceivedDebitBankTransfer BankTransfer { get; set; } + + /// + /// This object stores details about the issuing transactions that resulted in the + /// ReceivedDebit. Present if type field value is card_spend. + /// + [JsonProperty("card_spend")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_spend")] +#endif + public ReceivedDebitCardSpend CardSpend { get; set; } + + /// + /// The time at which the ReceivedDebit was created. Represented as a RFC 3339 date & + /// time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("created")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created")] +#endif + public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + + /// + /// Freeform string sent by the originator of the ReceivedDebit. + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// Financial Account on which funds for ReceivedDebit were debited. + /// + [JsonProperty("financial_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_account")] +#endif + public string FinancialAccount { get; set; } + + /// + /// A link to the Stripe-hosted receipt for this ReceivedDebit. + /// + [JsonProperty("receipt_url")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("receipt_url")] +#endif + public string ReceiptUrl { get; set; } + + /// + /// Open Enum. The status of the ReceivedDebit. + /// One of: canceled, failed, pending, returned, or + /// succeeded. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public string Status { get; set; } + + /// + /// Detailed information about the status of the ReceivedDebit. + /// + [JsonProperty("status_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_details")] +#endif + public ReceivedDebitStatusDetails StatusDetails { get; set; } + + /// + /// The time at which the ReceivedDebit transitioned to a particular status. + /// + [JsonProperty("status_transitions")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status_transitions")] +#endif + public ReceivedDebitStatusTransitions StatusTransitions { get; set; } + + /// + /// Open Enum. The type of the ReceivedDebit. + /// One of: bank_transfer, card_spend, or external_debit. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitBankTransfer.cs b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitBankTransfer.cs new file mode 100644 index 0000000000..9ed360bf5b --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitBankTransfer.cs @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedDebitBankTransfer : StripeEntity + { + /// + /// The Financial Address that was debited. + /// + [JsonProperty("financial_address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_address")] +#endif + public string FinancialAddress { get; set; } + + /// + /// Open Enum. The type of the payment method used to originate the debit. + /// + [JsonProperty("payment_method_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payment_method_type")] +#endif + public string PaymentMethodType { get; set; } + + /// + /// The statement descriptor set by the originator of the debit. + /// + [JsonProperty("statement_descriptor")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("statement_descriptor")] +#endif + public string StatementDescriptor { get; set; } + + /// + /// The payment method used to originate the debit. + /// + [JsonProperty("us_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("us_bank_account")] +#endif + public ReceivedDebitBankTransferUsBankAccount UsBankAccount { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitBankTransferUsBankAccount.cs b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitBankTransferUsBankAccount.cs new file mode 100644 index 0000000000..f16357cf59 --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitBankTransferUsBankAccount.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedDebitBankTransferUsBankAccount : StripeEntity + { + /// + /// The name of the bank the debit originated from. + /// + [JsonProperty("bank_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_name")] +#endif + public string BankName { get; set; } + + /// + /// Open Enum. The bank network the debit was originated on. + /// + [JsonProperty("network")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network")] +#endif + public string Network { get; set; } + + /// + /// The routing number of the bank that originated the debit. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitCardSpend.cs b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitCardSpend.cs new file mode 100644 index 0000000000..3d063cae33 --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitCardSpend.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedDebitCardSpend : StripeEntity + { + /// + /// The Issuing Authorization for this card_spend. Contains the reference id and the amount. + /// + [JsonProperty("authorization")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("authorization")] +#endif + public ReceivedDebitCardSpendAuthorization Authorization { get; set; } + + /// + /// The list of card spend transactions. These contain the transaction reference ID and the + /// amount. + /// + [JsonProperty("card_transactions")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_transactions")] +#endif + public List CardTransactions { get; set; } + + /// + /// The reference to the card object that resulted in the debit. + /// + [JsonProperty("card_v1_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_v1_id")] +#endif + public string CardV1Id { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitCardSpendAuthorization.cs b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitCardSpendAuthorization.cs new file mode 100644 index 0000000000..c323654d5a --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitCardSpendAuthorization.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedDebitCardSpendAuthorization : StripeEntity + { + /// + /// Amount associated with this issuing authorization. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public Amount Amount { get; set; } + + /// + /// The reference to the v1 issuing authorization ID. + /// + [JsonProperty("issuing_authorization_v1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("issuing_authorization_v1")] +#endif + public string IssuingAuthorizationV1 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitCardSpendCardTransaction.cs b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitCardSpendCardTransaction.cs new file mode 100644 index 0000000000..c9d5754202 --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitCardSpendCardTransaction.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedDebitCardSpendCardTransaction : StripeEntity + { + /// + /// Amount associated with this issuing transaction. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public Amount Amount { get; set; } + + /// + /// The reference to the v1 issuing transaction ID. + /// + [JsonProperty("issuing_transaction_v1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("issuing_transaction_v1")] +#endif + public string IssuingTransactionV1 { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitStatusDetails.cs b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitStatusDetails.cs new file mode 100644 index 0000000000..7a48844a3b --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitStatusDetails.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedDebitStatusDetails : StripeEntity + { + /// + /// Information that elaborates on the failed status of a ReceivedDebit. It is only + /// present when the ReceivedDebit status is failed. + /// + [JsonProperty("failed")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("failed")] +#endif + public ReceivedDebitStatusDetailsFailed Failed { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitStatusDetailsFailed.cs b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitStatusDetailsFailed.cs new file mode 100644 index 0000000000..c7fceab58c --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitStatusDetailsFailed.cs @@ -0,0 +1,22 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedDebitStatusDetailsFailed : StripeEntity + { + /// + /// Open Enum. The reason for the failure of the ReceivedDebit. + /// One of: financial_address_inactive, insufficient_funds, or + /// stripe_rejected. + /// + [JsonProperty("reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reason")] +#endif + public string Reason { get; set; } + } +} diff --git a/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitStatusTransitions.cs b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitStatusTransitions.cs new file mode 100644 index 0000000000..abbecedcf8 --- /dev/null +++ b/src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitStatusTransitions.cs @@ -0,0 +1,45 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedDebitStatusTransitions : StripeEntity + { + /// + /// The time when the ReceivedDebit was marked as canceled. Represented as a RFC 3339 + /// date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("canceled_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("canceled_at")] +#endif + public DateTime? CanceledAt { get; set; } + + /// + /// The time when the ReceivedDebit was marked as failed. Represented as a RFC 3339 + /// date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("failed_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("failed_at")] +#endif + public DateTime? FailedAt { get; set; } + + /// + /// The time when the ReceivedDebit was marked as succeeded. Represented as a RFC + /// 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("succeeded_at")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("succeeded_at")] +#endif + public DateTime? SucceededAt { get; set; } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementFinancialAddressActivatedEvent.cs b/src/Stripe.net/Events/V2MoneyManagementFinancialAddressActivatedEvent.cs new file mode 100644 index 0000000000..ddde3d44f7 --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementFinancialAddressActivatedEvent.cs @@ -0,0 +1,43 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// The FinancialAddress is now active and ready to receive funds using the credentials + /// provided. + /// + public class V2MoneyManagementFinancialAddressActivatedEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.FinancialAddress FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementFinancialAddressFailedEvent.cs b/src/Stripe.net/Events/V2MoneyManagementFinancialAddressFailedEvent.cs new file mode 100644 index 0000000000..e11eb48196 --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementFinancialAddressFailedEvent.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// The FinancialAddress could not be activated and can not receive funds. + /// + public class V2MoneyManagementFinancialAddressFailedEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.FinancialAddress FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementInboundTransferAvailableEvent.cs b/src/Stripe.net/Events/V2MoneyManagementInboundTransferAvailableEvent.cs new file mode 100644 index 0000000000..7340275572 --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementInboundTransferAvailableEvent.cs @@ -0,0 +1,52 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// Funds from an InboundTransfer were just made available. + /// + public class V2MoneyManagementInboundTransferAvailableEvent : V2.Event + { + /// + /// Data for the v2.money_management.inbound_transfer.available event. + /// + [JsonProperty("data")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("data")] +#endif + + public V2MoneyManagementInboundTransferAvailableEventData Data { get; set; } + + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.InboundTransfer FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementInboundTransferAvailableEventData.cs b/src/Stripe.net/Events/V2MoneyManagementInboundTransferAvailableEventData.cs new file mode 100644 index 0000000000..6dff57d149 --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementInboundTransferAvailableEventData.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class V2MoneyManagementInboundTransferAvailableEventData : StripeEntity + { + /// + /// The transaction ID of the received credit. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitFailedEvent.cs b/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitFailedEvent.cs new file mode 100644 index 0000000000..d646c57b1e --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitFailedEvent.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// An InboundTransfer failed. + /// + public class V2MoneyManagementInboundTransferBankDebitFailedEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.InboundTransfer FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitProcessingEvent.cs b/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitProcessingEvent.cs new file mode 100644 index 0000000000..2b86ddcd88 --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitProcessingEvent.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// An InboundTransfer is now processing. + /// + public class V2MoneyManagementInboundTransferBankDebitProcessingEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.InboundTransfer FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitQueuedEvent.cs b/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitQueuedEvent.cs new file mode 100644 index 0000000000..f94c42fdca --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitQueuedEvent.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// An InboundTransfer has been queued. + /// + public class V2MoneyManagementInboundTransferBankDebitQueuedEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.InboundTransfer FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitReturnedEvent.cs b/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitReturnedEvent.cs new file mode 100644 index 0000000000..bdf6a5513f --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitReturnedEvent.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// An InboundTransfer was returned. + /// + public class V2MoneyManagementInboundTransferBankDebitReturnedEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.InboundTransfer FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitSucceededEvent.cs b/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitSucceededEvent.cs new file mode 100644 index 0000000000..78967e24a6 --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitSucceededEvent.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// An InboundTransfer succeeded. + /// + public class V2MoneyManagementInboundTransferBankDebitSucceededEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.InboundTransfer FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementReceivedCreditAvailableEvent.cs b/src/Stripe.net/Events/V2MoneyManagementReceivedCreditAvailableEvent.cs new file mode 100644 index 0000000000..e30b0d28cc --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementReceivedCreditAvailableEvent.cs @@ -0,0 +1,52 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// The funds related to the received credit are available in your balance. + /// + public class V2MoneyManagementReceivedCreditAvailableEvent : V2.Event + { + /// + /// Data for the v2.money_management.received_credit.available event. + /// + [JsonProperty("data")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("data")] +#endif + + public V2MoneyManagementReceivedCreditAvailableEventData Data { get; set; } + + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.ReceivedCredit FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementReceivedCreditAvailableEventData.cs b/src/Stripe.net/Events/V2MoneyManagementReceivedCreditAvailableEventData.cs new file mode 100644 index 0000000000..c52172ac3b --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementReceivedCreditAvailableEventData.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class V2MoneyManagementReceivedCreditAvailableEventData : StripeEntity + { + /// + /// The transaction ID of the received credit. + /// + [JsonProperty("transaction_id")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transaction_id")] +#endif + public string TransactionId { get; set; } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementReceivedCreditFailedEvent.cs b/src/Stripe.net/Events/V2MoneyManagementReceivedCreditFailedEvent.cs new file mode 100644 index 0000000000..bd0c06f65d --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementReceivedCreditFailedEvent.cs @@ -0,0 +1,43 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// A credit was attempted to your balance and was not successful. See the status_details + /// for more information. + /// + public class V2MoneyManagementReceivedCreditFailedEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.ReceivedCredit FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementReceivedCreditReturnedEvent.cs b/src/Stripe.net/Events/V2MoneyManagementReceivedCreditReturnedEvent.cs new file mode 100644 index 0000000000..4dd8ae573f --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementReceivedCreditReturnedEvent.cs @@ -0,0 +1,43 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// The previously received credit has been reversed, returned to the originator and + /// deducted from your balance. + /// + public class V2MoneyManagementReceivedCreditReturnedEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.ReceivedCredit FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementReceivedCreditSucceededEvent.cs b/src/Stripe.net/Events/V2MoneyManagementReceivedCreditSucceededEvent.cs new file mode 100644 index 0000000000..475459e003 --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementReceivedCreditSucceededEvent.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// A credit was received successfully and processed by Stripe. + /// + public class V2MoneyManagementReceivedCreditSucceededEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.ReceivedCredit FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementReceivedDebitCanceledEvent.cs b/src/Stripe.net/Events/V2MoneyManagementReceivedDebitCanceledEvent.cs new file mode 100644 index 0000000000..3ee466f2f7 --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementReceivedDebitCanceledEvent.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// This event is sent when a received debit is canceled. + /// + public class V2MoneyManagementReceivedDebitCanceledEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.ReceivedDebit FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementReceivedDebitFailedEvent.cs b/src/Stripe.net/Events/V2MoneyManagementReceivedDebitFailedEvent.cs new file mode 100644 index 0000000000..9da6294502 --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementReceivedDebitFailedEvent.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// This event is sent when a received debit fails. + /// + public class V2MoneyManagementReceivedDebitFailedEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.ReceivedDebit FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementReceivedDebitPendingEvent.cs b/src/Stripe.net/Events/V2MoneyManagementReceivedDebitPendingEvent.cs new file mode 100644 index 0000000000..f908a276ab --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementReceivedDebitPendingEvent.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// This event is sent when a ReceivedDebit is set to pending. + /// + public class V2MoneyManagementReceivedDebitPendingEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.ReceivedDebit FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementReceivedDebitSucceededEvent.cs b/src/Stripe.net/Events/V2MoneyManagementReceivedDebitSucceededEvent.cs new file mode 100644 index 0000000000..e0326a1d7b --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementReceivedDebitSucceededEvent.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// This event is sent when a ReceivedDebit succeeds. + /// + public class V2MoneyManagementReceivedDebitSucceededEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.ReceivedDebit FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Events/V2MoneyManagementReceivedDebitUpdatedEvent.cs b/src/Stripe.net/Events/V2MoneyManagementReceivedDebitUpdatedEvent.cs new file mode 100644 index 0000000000..9307637135 --- /dev/null +++ b/src/Stripe.net/Events/V2MoneyManagementReceivedDebitUpdatedEvent.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Events +{ + using System.Threading.Tasks; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + /// + /// This event is sent when a ReceivedDebit is updated. + /// + public class V2MoneyManagementReceivedDebitUpdatedEvent : V2.Event + { + /// + /// Object containing the reference to API resource relevant to the event. + /// + [JsonProperty("related_object")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("related_object")] +#endif + + public V2.EventRelatedObject RelatedObject { get; set; } + + /// + /// Asynchronously retrieves the related object from the API. Make an API request on every + /// call. + /// + public Task FetchRelatedObjectAsync() + { + return this.FetchRelatedObjectAsync(this.RelatedObject); + } + + /// + /// Retrieves the related object from the API. Make an API request on every call. + /// + public V2.ReceivedDebit FetchRelatedObject() + { + return this.FetchRelatedObject(this.RelatedObject); + } + } +} diff --git a/src/Stripe.net/Exceptions/V2/AlreadyCanceledException.cs b/src/Stripe.net/Exceptions/V2/AlreadyCanceledException.cs new file mode 100644 index 0000000000..8df80654e2 --- /dev/null +++ b/src/Stripe.net/Exceptions/V2/AlreadyCanceledException.cs @@ -0,0 +1,25 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Net; + using Newtonsoft.Json.Linq; + + public class AlreadyCanceledException : StripeException + { + private AlreadyCanceledException( + HttpStatusCode httpStatusCode, + StripeError stripeError, + string message) + : base(httpStatusCode, stripeError) + { + } + + internal static AlreadyCanceledException Parse( + HttpStatusCode httpStatusCode, + JToken body) + { + var stripeError = StripeError.FromJson(body); + return new AlreadyCanceledException(httpStatusCode, stripeError, stripeError.Message); + } + } +} \ No newline at end of file diff --git a/src/Stripe.net/Exceptions/V2/BlockedByStripeException.cs b/src/Stripe.net/Exceptions/V2/BlockedByStripeException.cs new file mode 100644 index 0000000000..9d357cf392 --- /dev/null +++ b/src/Stripe.net/Exceptions/V2/BlockedByStripeException.cs @@ -0,0 +1,25 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Net; + using Newtonsoft.Json.Linq; + + public class BlockedByStripeException : StripeException + { + private BlockedByStripeException( + HttpStatusCode httpStatusCode, + StripeError stripeError, + string message) + : base(httpStatusCode, stripeError) + { + } + + internal static BlockedByStripeException Parse( + HttpStatusCode httpStatusCode, + JToken body) + { + var stripeError = StripeError.FromJson(body); + return new BlockedByStripeException(httpStatusCode, stripeError, stripeError.Message); + } + } +} \ No newline at end of file diff --git a/src/Stripe.net/Exceptions/V2/ControlledByDashboardException.cs b/src/Stripe.net/Exceptions/V2/ControlledByDashboardException.cs new file mode 100644 index 0000000000..ab873b86ee --- /dev/null +++ b/src/Stripe.net/Exceptions/V2/ControlledByDashboardException.cs @@ -0,0 +1,25 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Net; + using Newtonsoft.Json.Linq; + + public class ControlledByDashboardException : StripeException + { + private ControlledByDashboardException( + HttpStatusCode httpStatusCode, + StripeError stripeError, + string message) + : base(httpStatusCode, stripeError) + { + } + + internal static ControlledByDashboardException Parse( + HttpStatusCode httpStatusCode, + JToken body) + { + var stripeError = StripeError.FromJson(body); + return new ControlledByDashboardException(httpStatusCode, stripeError, stripeError.Message); + } + } +} \ No newline at end of file diff --git a/src/Stripe.net/Exceptions/V2/FeatureNotEnabledException.cs b/src/Stripe.net/Exceptions/V2/FeatureNotEnabledException.cs new file mode 100644 index 0000000000..d4f0a0f793 --- /dev/null +++ b/src/Stripe.net/Exceptions/V2/FeatureNotEnabledException.cs @@ -0,0 +1,25 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Net; + using Newtonsoft.Json.Linq; + + public class FeatureNotEnabledException : StripeException + { + private FeatureNotEnabledException( + HttpStatusCode httpStatusCode, + StripeError stripeError, + string message) + : base(httpStatusCode, stripeError) + { + } + + internal static FeatureNotEnabledException Parse( + HttpStatusCode httpStatusCode, + JToken body) + { + var stripeError = StripeError.FromJson(body); + return new FeatureNotEnabledException(httpStatusCode, stripeError, stripeError.Message); + } + } +} \ No newline at end of file diff --git a/src/Stripe.net/Exceptions/V2/FinancialAccountNotOpenException.cs b/src/Stripe.net/Exceptions/V2/FinancialAccountNotOpenException.cs new file mode 100644 index 0000000000..3440738134 --- /dev/null +++ b/src/Stripe.net/Exceptions/V2/FinancialAccountNotOpenException.cs @@ -0,0 +1,25 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Net; + using Newtonsoft.Json.Linq; + + public class FinancialAccountNotOpenException : StripeException + { + private FinancialAccountNotOpenException( + HttpStatusCode httpStatusCode, + StripeError stripeError, + string message) + : base(httpStatusCode, stripeError) + { + } + + internal static FinancialAccountNotOpenException Parse( + HttpStatusCode httpStatusCode, + JToken body) + { + var stripeError = StripeError.FromJson(body); + return new FinancialAccountNotOpenException(httpStatusCode, stripeError, stripeError.Message); + } + } +} \ No newline at end of file diff --git a/src/Stripe.net/Exceptions/V2/InsufficientFundsException.cs b/src/Stripe.net/Exceptions/V2/InsufficientFundsException.cs new file mode 100644 index 0000000000..e53cd6b06a --- /dev/null +++ b/src/Stripe.net/Exceptions/V2/InsufficientFundsException.cs @@ -0,0 +1,25 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Net; + using Newtonsoft.Json.Linq; + + public class InsufficientFundsException : StripeException + { + private InsufficientFundsException( + HttpStatusCode httpStatusCode, + StripeError stripeError, + string message) + : base(httpStatusCode, stripeError) + { + } + + internal static InsufficientFundsException Parse( + HttpStatusCode httpStatusCode, + JToken body) + { + var stripeError = StripeError.FromJson(body); + return new InsufficientFundsException(httpStatusCode, stripeError, stripeError.Message); + } + } +} \ No newline at end of file diff --git a/src/Stripe.net/Exceptions/V2/InvalidPaymentMethodError.cs b/src/Stripe.net/Exceptions/V2/InvalidPaymentMethodError.cs new file mode 100644 index 0000000000..4eac3f5cee --- /dev/null +++ b/src/Stripe.net/Exceptions/V2/InvalidPaymentMethodError.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InvalidPaymentMethodError : StripeError + { + /// + /// One of: account_number, fedwire_routing_number, or routing_number. + /// + [JsonProperty("invalid_param")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("invalid_param")] +#endif + public string InvalidParam { get; set; } + } +} \ No newline at end of file diff --git a/src/Stripe.net/Exceptions/V2/InvalidPaymentMethodException.cs b/src/Stripe.net/Exceptions/V2/InvalidPaymentMethodException.cs new file mode 100644 index 0000000000..c15295bcaf --- /dev/null +++ b/src/Stripe.net/Exceptions/V2/InvalidPaymentMethodException.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + using System.Net; + using Newtonsoft.Json.Linq; + + public class InvalidPaymentMethodException : StripeException + { + private InvalidPaymentMethodException( + HttpStatusCode httpStatusCode, + StripeError stripeError, + string message, + string invalidParam) + : base(httpStatusCode, stripeError) + { + this.InvalidParam = invalidParam; + } + + /// + /// One of: account_number, fedwire_routing_number, or routing_number. + /// + [JsonProperty("invalid_param")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("invalid_param")] +#endif + public string InvalidParam { get; set; } + + internal static InvalidPaymentMethodException Parse( + HttpStatusCode httpStatusCode, + JToken body) + { + var stripeError = InvalidPaymentMethodError.FromJson(body); + return new InvalidPaymentMethodException(httpStatusCode, stripeError, stripeError.Message, stripeError.InvalidParam); + } + } +} \ No newline at end of file diff --git a/src/Stripe.net/Exceptions/V2/InvalidPayoutMethodException.cs b/src/Stripe.net/Exceptions/V2/InvalidPayoutMethodException.cs new file mode 100644 index 0000000000..360678d934 --- /dev/null +++ b/src/Stripe.net/Exceptions/V2/InvalidPayoutMethodException.cs @@ -0,0 +1,25 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Net; + using Newtonsoft.Json.Linq; + + public class InvalidPayoutMethodException : StripeException + { + private InvalidPayoutMethodException( + HttpStatusCode httpStatusCode, + StripeError stripeError, + string message) + : base(httpStatusCode, stripeError) + { + } + + internal static InvalidPayoutMethodException Parse( + HttpStatusCode httpStatusCode, + JToken body) + { + var stripeError = StripeError.FromJson(body); + return new InvalidPayoutMethodException(httpStatusCode, stripeError, stripeError.Message); + } + } +} \ No newline at end of file diff --git a/src/Stripe.net/Exceptions/V2/NotCancelableException.cs b/src/Stripe.net/Exceptions/V2/NotCancelableException.cs new file mode 100644 index 0000000000..561d5c6bf2 --- /dev/null +++ b/src/Stripe.net/Exceptions/V2/NotCancelableException.cs @@ -0,0 +1,25 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Net; + using Newtonsoft.Json.Linq; + + public class NotCancelableException : StripeException + { + private NotCancelableException( + HttpStatusCode httpStatusCode, + StripeError stripeError, + string message) + : base(httpStatusCode, stripeError) + { + } + + internal static NotCancelableException Parse( + HttpStatusCode httpStatusCode, + JToken body) + { + var stripeError = StripeError.FromJson(body); + return new NotCancelableException(httpStatusCode, stripeError, stripeError.Message); + } + } +} \ No newline at end of file diff --git a/src/Stripe.net/Exceptions/V2/QuotaExceededException.cs b/src/Stripe.net/Exceptions/V2/QuotaExceededException.cs new file mode 100644 index 0000000000..aa0e22f9f9 --- /dev/null +++ b/src/Stripe.net/Exceptions/V2/QuotaExceededException.cs @@ -0,0 +1,25 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Net; + using Newtonsoft.Json.Linq; + + public class QuotaExceededException : StripeException + { + private QuotaExceededException( + HttpStatusCode httpStatusCode, + StripeError stripeError, + string message) + : base(httpStatusCode, stripeError) + { + } + + internal static QuotaExceededException Parse( + HttpStatusCode httpStatusCode, + JToken body) + { + var stripeError = StripeError.FromJson(body); + return new QuotaExceededException(httpStatusCode, stripeError, stripeError.Message); + } + } +} \ No newline at end of file diff --git a/src/Stripe.net/Exceptions/V2/RecipientNotNotifiableException.cs b/src/Stripe.net/Exceptions/V2/RecipientNotNotifiableException.cs new file mode 100644 index 0000000000..becdb2e9a6 --- /dev/null +++ b/src/Stripe.net/Exceptions/V2/RecipientNotNotifiableException.cs @@ -0,0 +1,25 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System.Net; + using Newtonsoft.Json.Linq; + + public class RecipientNotNotifiableException : StripeException + { + private RecipientNotNotifiableException( + HttpStatusCode httpStatusCode, + StripeError stripeError, + string message) + : base(httpStatusCode, stripeError) + { + } + + internal static RecipientNotNotifiableException Parse( + HttpStatusCode httpStatusCode, + JToken body) + { + var stripeError = StripeError.FromJson(body); + return new RecipientNotNotifiableException(httpStatusCode, stripeError, stripeError.Message); + } + } +} \ No newline at end of file diff --git a/src/Stripe.net/Infrastructure/Public/StripeException.cs b/src/Stripe.net/Infrastructure/Public/StripeException.cs index 751f5cd577..d589e01d8a 100644 --- a/src/Stripe.net/Infrastructure/Public/StripeException.cs +++ b/src/Stripe.net/Infrastructure/Public/StripeException.cs @@ -51,6 +51,50 @@ internal static StripeException ParseV2Exception(string type, StripeResponse res ret = Stripe.V2.TemporarySessionExpiredException.Parse(httpStatusCode, body); break; + case "financial_account_not_open": + ret = Stripe.V2.FinancialAccountNotOpenException.Parse(httpStatusCode, body); + break; + + case "blocked_by_stripe": + ret = Stripe.V2.BlockedByStripeException.Parse(httpStatusCode, body); + break; + + case "already_canceled": + ret = Stripe.V2.AlreadyCanceledException.Parse(httpStatusCode, body); + break; + + case "not_cancelable": + ret = Stripe.V2.NotCancelableException.Parse(httpStatusCode, body); + break; + + case "insufficient_funds": + ret = Stripe.V2.InsufficientFundsException.Parse(httpStatusCode, body); + break; + + case "quota_exceeded": + ret = Stripe.V2.QuotaExceededException.Parse(httpStatusCode, body); + break; + + case "recipient_not_notifiable": + ret = Stripe.V2.RecipientNotNotifiableException.Parse(httpStatusCode, body); + break; + + case "feature_not_enabled": + ret = Stripe.V2.FeatureNotEnabledException.Parse(httpStatusCode, body); + break; + + case "invalid_payout_method": + ret = Stripe.V2.InvalidPayoutMethodException.Parse(httpStatusCode, body); + break; + + case "controlled_by_dashboard": + ret = Stripe.V2.ControlledByDashboardException.Parse(httpStatusCode, body); + break; + + case "invalid_payment_method": + ret = Stripe.V2.InvalidPaymentMethodException.Parse(httpStatusCode, body); + break; + // The end of the section generated from our OpenAPI spec default: return null; diff --git a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs index 668dd4cbe7..7f30bda77e 100644 --- a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs +++ b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs @@ -115,10 +115,7 @@ public static class StripeTypeRegistry Issuing.CreditUnderwritingRecord) }, { "issuing.dispute", typeof(Issuing.Dispute) }, - { - "issuing.dispute_settlement_detail", typeof( - Issuing.DisputeSettlementDetail) - }, + { "issuing.dispute_settlement_detail", typeof(Issuing.DisputeSettlementDetail) }, { "issuing.fraud_liability_debit", typeof(Issuing.FraudLiabilityDebit) }, { "issuing.personalization_design", typeof(Issuing.PersonalizationDesign) }, { "issuing.physical_bundle", typeof(Issuing.PhysicalBundle) }, @@ -206,8 +203,6 @@ public static class StripeTypeRegistry { "treasury.received_debit", typeof(Treasury.ReceivedDebit) }, { "treasury.transaction", typeof(Treasury.Transaction) }, { "treasury.transaction_entry", typeof(Treasury.TransactionEntry) }, - { "usage_record", typeof(UsageRecord) }, - { "usage_record_summary", typeof(UsageRecordSummary) }, { "webhook_endpoint", typeof(WebhookEndpoint) }, // ObjectsToTypes: The end of the section generated from our OpenAPI spec @@ -217,14 +212,39 @@ public static class StripeTypeRegistry new Dictionary { // V2ObjectsToTypes: The beginning of the section generated from our OpenAPI spec - { "v2.billing.meter_event", typeof(V2.Billing.MeterEvent) }, { - "v2.billing.meter_event_adjustment", typeof( - V2.Billing.MeterEventAdjustment) + "financial_address_credit_simulation", typeof( + V2.FinancialAddressCreditSimulation) }, + { + "financial_address_generated_microdeposits", typeof( + V2.FinancialAddressGeneratedMicrodeposits) + }, + { "v2.billing.meter_event", typeof(V2.Billing.MeterEvent) }, + { "v2.billing.meter_event_adjustment", typeof(V2.Billing.MeterEventAdjustment) }, { "v2.billing.meter_event_session", typeof(V2.Billing.MeterEventSession) }, + { "v2.core.account", typeof(V2.Core.Account) }, + { "v2.core.account_person", typeof(V2.Core.Person) }, { "v2.core.event", typeof(V2.Event) }, { "v2.core.event_destination", typeof(V2.EventDestination) }, + { "v2.core.vault.gb_bank_account", typeof(V2.Core.Vault.GbBankAccount) }, + { "v2.core.vault.us_bank_account", typeof(V2.Core.Vault.UsBankAccount) }, + { "v2.money_management.financial_account", typeof(V2.FinancialAccount) }, + { "v2.money_management.financial_address", typeof(V2.FinancialAddress) }, + { "v2.money_management.inbound_transfer", typeof(V2.InboundTransfer) }, + { "v2.money_management.outbound_payment", typeof(V2.OutboundPayment) }, + { + "v2.money_management.outbound_setup_intent", typeof( + V2.MoneyManagement.OutboundSetupIntent) + }, + { "v2.money_management.outbound_transfer", typeof(V2.OutboundTransfer) }, + { "v2.money_management.payout_method", typeof(V2.MoneyManagement.PayoutMethod) }, + { + "v2.money_management.payout_methods_bank_account_spec", typeof( + V2.MoneyManagement.PayoutMethodsBankAccountSpec) + }, + { "v2.money_management.received_credit", typeof(V2.ReceivedCredit) }, + { "v2.money_management.received_debit", typeof(V2.ReceivedDebit) }, // V2ObjectsToTypes: The end of the section generated from our OpenAPI spec }); @@ -241,6 +261,74 @@ public static class StripeTypeRegistry "v1.billing.meter.no_meter_found", typeof( Events.V1BillingMeterNoMeterFoundEvent) }, + { + "v2.money_management.financial_address.activated", typeof( + Events.V2MoneyManagementFinancialAddressActivatedEvent) + }, + { + "v2.money_management.financial_address.failed", typeof( + Events.V2MoneyManagementFinancialAddressFailedEvent) + }, + { + "v2.money_management.inbound_transfer.available", typeof( + Events.V2MoneyManagementInboundTransferAvailableEvent) + }, + { + "v2.money_management.inbound_transfer.bank_debit_failed", typeof( + Events.V2MoneyManagementInboundTransferBankDebitFailedEvent) + }, + { + "v2.money_management.inbound_transfer.bank_debit_processing", typeof( + Events.V2MoneyManagementInboundTransferBankDebitProcessingEvent) + }, + { + "v2.money_management.inbound_transfer.bank_debit_queued", typeof( + Events.V2MoneyManagementInboundTransferBankDebitQueuedEvent) + }, + { + "v2.money_management.inbound_transfer.bank_debit_returned", typeof( + Events.V2MoneyManagementInboundTransferBankDebitReturnedEvent) + }, + { + "v2.money_management.inbound_transfer.bank_debit_succeeded", typeof( + Events.V2MoneyManagementInboundTransferBankDebitSucceededEvent) + }, + { + "v2.money_management.received_credit.available", typeof( + Events.V2MoneyManagementReceivedCreditAvailableEvent) + }, + { + "v2.money_management.received_credit.failed", typeof( + Events.V2MoneyManagementReceivedCreditFailedEvent) + }, + { + "v2.money_management.received_credit.returned", typeof( + Events.V2MoneyManagementReceivedCreditReturnedEvent) + }, + { + "v2.money_management.received_credit.succeeded", typeof( + Events.V2MoneyManagementReceivedCreditSucceededEvent) + }, + { + "v2.money_management.received_debit.canceled", typeof( + Events.V2MoneyManagementReceivedDebitCanceledEvent) + }, + { + "v2.money_management.received_debit.failed", typeof( + Events.V2MoneyManagementReceivedDebitFailedEvent) + }, + { + "v2.money_management.received_debit.pending", typeof( + Events.V2MoneyManagementReceivedDebitPendingEvent) + }, + { + "v2.money_management.received_debit.succeeded", typeof( + Events.V2MoneyManagementReceivedDebitSucceededEvent) + }, + { + "v2.money_management.received_debit.updated", typeof( + Events.V2MoneyManagementReceivedDebitUpdatedEvent) + }, // ThinTypesToEventTypes: The end of the section generated from our OpenAPI spec }); diff --git a/src/Stripe.net/Services/AccountCapabilities/AccountCapabilityService.cs b/src/Stripe.net/Services/AccountCapabilities/AccountCapabilityService.cs index f49bf98ede..73d7e677d3 100644 --- a/src/Stripe.net/Services/AccountCapabilities/AccountCapabilityService.cs +++ b/src/Stripe.net/Services/AccountCapabilities/AccountCapabilityService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class AccountCapabilityService : ServiceNested, + public class AccountCapabilityService : Service, INestedListable, INestedRetrievable, INestedUpdatable diff --git a/src/Stripe.net/Services/AccountExternalAccounts/AccountExternalAccountCreateOptions.cs b/src/Stripe.net/Services/AccountExternalAccounts/AccountExternalAccountCreateOptions.cs index a8b771bfd4..f7a1ff9b0f 100644 --- a/src/Stripe.net/Services/AccountExternalAccounts/AccountExternalAccountCreateOptions.cs +++ b/src/Stripe.net/Services/AccountExternalAccounts/AccountExternalAccountCreateOptions.cs @@ -21,7 +21,10 @@ public class AccountExternalAccountCreateOptions : BaseOptions, IHasMetadata public bool? DefaultForCurrency { get; set; } /// - /// Please refer to full documentation instead. + /// A token, like the ones returned by Stripe.js or + /// a dictionary containing a user's external account details (with the options shown + /// below). Please refer to full documentation instead. /// [JsonProperty("external_account")] [JsonConverter(typeof(AnyOfConverter))] diff --git a/src/Stripe.net/Services/AccountExternalAccounts/AccountExternalAccountService.cs b/src/Stripe.net/Services/AccountExternalAccounts/AccountExternalAccountService.cs index 50cc417a49..30f8d6a447 100644 --- a/src/Stripe.net/Services/AccountExternalAccounts/AccountExternalAccountService.cs +++ b/src/Stripe.net/Services/AccountExternalAccounts/AccountExternalAccountService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class AccountExternalAccountService : ServiceNested, + public class AccountExternalAccountService : Service, INestedCreatable, INestedDeletable, INestedListable, diff --git a/src/Stripe.net/Services/AccountLinks/AccountLinkService.cs b/src/Stripe.net/Services/AccountLinks/AccountLinkService.cs index 631947adda..103702701c 100644 --- a/src/Stripe.net/Services/AccountLinks/AccountLinkService.cs +++ b/src/Stripe.net/Services/AccountLinks/AccountLinkService.cs @@ -6,7 +6,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class AccountLinkService : Service, + public class AccountLinkService : Service, ICreatable { public AccountLinkService() diff --git a/src/Stripe.net/Services/AccountLoginLinks/AccountLoginLinkService.cs b/src/Stripe.net/Services/AccountLoginLinks/AccountLoginLinkService.cs index 1d6c166d1b..ad1ddd223d 100644 --- a/src/Stripe.net/Services/AccountLoginLinks/AccountLoginLinkService.cs +++ b/src/Stripe.net/Services/AccountLoginLinks/AccountLoginLinkService.cs @@ -7,7 +7,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class AccountLoginLinkService : ServiceNested, + public class AccountLoginLinkService : Service, INestedCreatable { public AccountLoginLinkService() diff --git a/src/Stripe.net/Services/AccountNotices/AccountNoticeService.cs b/src/Stripe.net/Services/AccountNotices/AccountNoticeService.cs index 7792534187..04b53fa4d8 100644 --- a/src/Stripe.net/Services/AccountNotices/AccountNoticeService.cs +++ b/src/Stripe.net/Services/AccountNotices/AccountNoticeService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class AccountNoticeService : Service, + public class AccountNoticeService : Service, IListable, IRetrievable, IUpdatable diff --git a/src/Stripe.net/Services/AccountPersons/AccountPersonService.cs b/src/Stripe.net/Services/AccountPersons/AccountPersonService.cs index 422c2b52ae..e7459fbf4f 100644 --- a/src/Stripe.net/Services/AccountPersons/AccountPersonService.cs +++ b/src/Stripe.net/Services/AccountPersons/AccountPersonService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class AccountPersonService : ServiceNested, + public class AccountPersonService : Service, INestedCreatable, INestedDeletable, INestedListable, diff --git a/src/Stripe.net/Services/AccountSessions/AccountSessionService.cs b/src/Stripe.net/Services/AccountSessions/AccountSessionService.cs index 4f4613c270..48e85d5335 100644 --- a/src/Stripe.net/Services/AccountSessions/AccountSessionService.cs +++ b/src/Stripe.net/Services/AccountSessions/AccountSessionService.cs @@ -6,7 +6,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class AccountSessionService : Service, + public class AccountSessionService : Service, ICreatable { public AccountSessionService() diff --git a/src/Stripe.net/Services/Accounts/AccountCapabilitiesBilliePaymentsOptions.cs b/src/Stripe.net/Services/Accounts/AccountCapabilitiesBilliePaymentsOptions.cs new file mode 100644 index 0000000000..9ca9f0806b --- /dev/null +++ b/src/Stripe.net/Services/Accounts/AccountCapabilitiesBilliePaymentsOptions.cs @@ -0,0 +1,22 @@ +// 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 AccountCapabilitiesBilliePaymentsOptions : INestedOptions + { + /// + /// Passing true requests the capability for the account, if it is not already requested. A + /// requested capability may not immediately become active. Any requirements to activate the + /// capability are returned in the requirements arrays. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/Accounts/AccountCapabilitiesOptions.cs b/src/Stripe.net/Services/Accounts/AccountCapabilitiesOptions.cs index b60eeee238..76fb593247 100644 --- a/src/Stripe.net/Services/Accounts/AccountCapabilitiesOptions.cs +++ b/src/Stripe.net/Services/Accounts/AccountCapabilitiesOptions.cs @@ -98,6 +98,15 @@ public class AccountCapabilitiesOptions : INestedOptions #endif public AccountCapabilitiesBankTransferPaymentsOptions BankTransferPayments { get; set; } + /// + /// The billie_payments capability. + /// + [JsonProperty("billie_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billie_payments")] +#endif + public AccountCapabilitiesBilliePaymentsOptions BilliePayments { get; set; } + /// /// The blik_payments capability. /// @@ -467,6 +476,15 @@ public class AccountCapabilitiesOptions : INestedOptions #endif public AccountCapabilitiesSamsungPayPaymentsOptions SamsungPayPayments { get; set; } + /// + /// The satispay_payments capability. + /// + [JsonProperty("satispay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("satispay_payments")] +#endif + public AccountCapabilitiesSatispayPaymentsOptions SatispayPayments { get; set; } + /// /// The sepa_bank_transfer_payments capability. /// diff --git a/src/Stripe.net/Services/Accounts/AccountCapabilitiesSatispayPaymentsOptions.cs b/src/Stripe.net/Services/Accounts/AccountCapabilitiesSatispayPaymentsOptions.cs new file mode 100644 index 0000000000..40c1347377 --- /dev/null +++ b/src/Stripe.net/Services/Accounts/AccountCapabilitiesSatispayPaymentsOptions.cs @@ -0,0 +1,22 @@ +// 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 AccountCapabilitiesSatispayPaymentsOptions : INestedOptions + { + /// + /// Passing true requests the capability for the account, if it is not already requested. A + /// requested capability may not immediately become active. Any requirements to activate the + /// capability are returned in the requirements arrays. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/Accounts/AccountCompanyOptions.cs b/src/Stripe.net/Services/Accounts/AccountCompanyOptions.cs index 9e330a5872..130cbeb71a 100644 --- a/src/Stripe.net/Services/Accounts/AccountCompanyOptions.cs +++ b/src/Stripe.net/Services/Accounts/AccountCompanyOptions.cs @@ -139,6 +139,12 @@ public class AccountCompanyOptions : INestedOptions public AccountCompanyOwnershipDeclarationOptions OwnershipDeclaration { get; set; } /// + /// This value is used to determine if a business is exempt from providing ultimate + /// beneficial owners. See this + /// support article and changelog + /// for more details. /// One of: qualified_entity_exceeds_ownership_threshold, or /// qualifies_as_financial_institution. /// diff --git a/src/Stripe.net/Services/Accounts/AccountService.cs b/src/Stripe.net/Services/Accounts/AccountService.cs index 98dc92f672..0a21214e4d 100644 --- a/src/Stripe.net/Services/Accounts/AccountService.cs +++ b/src/Stripe.net/Services/Accounts/AccountService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class AccountService : Service, + public class AccountService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/Accounts/AccountSettingsInvoicesOptions.cs b/src/Stripe.net/Services/Accounts/AccountSettingsInvoicesOptions.cs index edbed5cbe6..1eea3d961a 100644 --- a/src/Stripe.net/Services/Accounts/AccountSettingsInvoicesOptions.cs +++ b/src/Stripe.net/Services/Accounts/AccountSettingsInvoicesOptions.cs @@ -18,5 +18,16 @@ public class AccountSettingsInvoicesOptions : INestedOptions [STJS.JsonPropertyName("default_account_tax_ids")] #endif public List DefaultAccountTaxIds { get; set; } + + /// + /// Whether payment methods should be saved when a payment is completed for a one-time + /// invoices on a hosted invoice page. + /// One of: always, never, or offer. + /// + [JsonProperty("hosted_payment_method_save")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("hosted_payment_method_save")] +#endif + public string HostedPaymentMethodSave { get; set; } } } diff --git a/src/Stripe.net/Services/ApplePayDomains/ApplePayDomainService.cs b/src/Stripe.net/Services/ApplePayDomains/ApplePayDomainService.cs index 031ec3e743..98d1676383 100644 --- a/src/Stripe.net/Services/ApplePayDomains/ApplePayDomainService.cs +++ b/src/Stripe.net/Services/ApplePayDomains/ApplePayDomainService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class ApplePayDomainService : Service, + public class ApplePayDomainService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/ApplicationFeeRefunds/ApplicationFeeRefundService.cs b/src/Stripe.net/Services/ApplicationFeeRefunds/ApplicationFeeRefundService.cs index 6ce7ad3003..93aeba58b7 100644 --- a/src/Stripe.net/Services/ApplicationFeeRefunds/ApplicationFeeRefundService.cs +++ b/src/Stripe.net/Services/ApplicationFeeRefunds/ApplicationFeeRefundService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class ApplicationFeeRefundService : ServiceNested, + public class ApplicationFeeRefundService : Service, INestedCreatable, INestedListable, INestedRetrievable, diff --git a/src/Stripe.net/Services/ApplicationFees/ApplicationFeeService.cs b/src/Stripe.net/Services/ApplicationFees/ApplicationFeeService.cs index 435f9e66f8..24409c541c 100644 --- a/src/Stripe.net/Services/ApplicationFees/ApplicationFeeService.cs +++ b/src/Stripe.net/Services/ApplicationFees/ApplicationFeeService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class ApplicationFeeService : Service, + public class ApplicationFeeService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Apps/Secrets/SecretService.cs b/src/Stripe.net/Services/Apps/Secrets/SecretService.cs index dc77c26a36..3428895de3 100644 --- a/src/Stripe.net/Services/Apps/Secrets/SecretService.cs +++ b/src/Stripe.net/Services/Apps/Secrets/SecretService.cs @@ -7,7 +7,7 @@ namespace Stripe.Apps using System.Threading; using System.Threading.Tasks; - public class SecretService : Service, + public class SecretService : Service, ICreatable, IListable { diff --git a/src/Stripe.net/Services/BalanceTransactions/BalanceTransactionService.cs b/src/Stripe.net/Services/BalanceTransactions/BalanceTransactionService.cs index 187ef36f95..9a2bfcb22f 100644 --- a/src/Stripe.net/Services/BalanceTransactions/BalanceTransactionService.cs +++ b/src/Stripe.net/Services/BalanceTransactions/BalanceTransactionService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class BalanceTransactionService : Service, + public class BalanceTransactionService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Balances/BalanceService.cs b/src/Stripe.net/Services/Balances/BalanceService.cs index dfb91a39d7..0489f7ceb5 100644 --- a/src/Stripe.net/Services/Balances/BalanceService.cs +++ b/src/Stripe.net/Services/Balances/BalanceService.cs @@ -6,8 +6,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class BalanceService : Service, - ISingletonRetrievable + public class BalanceService : Service, ISingletonRetrievable { public BalanceService() { diff --git a/src/Stripe.net/Services/Billing/Alerts/AlertService.cs b/src/Stripe.net/Services/Billing/Alerts/AlertService.cs index ca0211d0c1..b2a49479ff 100644 --- a/src/Stripe.net/Services/Billing/Alerts/AlertService.cs +++ b/src/Stripe.net/Services/Billing/Alerts/AlertService.cs @@ -8,7 +8,7 @@ namespace Stripe.Billing using System.Threading; using System.Threading.Tasks; - public class AlertService : Service, + public class AlertService : Service, ICreatable, IListable, IRetrievable diff --git a/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryFilterApplicabilityScopeOptions.cs b/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryFilterApplicabilityScopeOptions.cs index 4aa34e6907..457ea09210 100644 --- a/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryFilterApplicabilityScopeOptions.cs +++ b/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryFilterApplicabilityScopeOptions.cs @@ -11,7 +11,7 @@ public class CreditBalanceSummaryFilterApplicabilityScopeOptions : INestedOption { /// /// The price type that credit grants can apply to. We currently only support the - /// metered price type. + /// metered price type. Cannot be used in combination with prices. /// [JsonProperty("price_type")] #if NET6_0_OR_GREATER @@ -21,7 +21,7 @@ public class CreditBalanceSummaryFilterApplicabilityScopeOptions : INestedOption /// /// A list of prices that the credit grant can apply to. We currently only support the - /// metered prices. + /// metered prices. Cannot be used in combination with price_type. /// [JsonProperty("prices")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryService.cs b/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryService.cs index 5691441acf..df54288dda 100644 --- a/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryService.cs +++ b/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryService.cs @@ -6,7 +6,7 @@ namespace Stripe.Billing using System.Threading; using System.Threading.Tasks; - public class CreditBalanceSummaryService : Service, + public class CreditBalanceSummaryService : Service, ISingletonRetrievable { public CreditBalanceSummaryService() diff --git a/src/Stripe.net/Services/Billing/CreditBalanceTransactions/CreditBalanceTransactionService.cs b/src/Stripe.net/Services/Billing/CreditBalanceTransactions/CreditBalanceTransactionService.cs index 2262dd332b..f02c2b8a8c 100644 --- a/src/Stripe.net/Services/Billing/CreditBalanceTransactions/CreditBalanceTransactionService.cs +++ b/src/Stripe.net/Services/Billing/CreditBalanceTransactions/CreditBalanceTransactionService.cs @@ -8,7 +8,7 @@ namespace Stripe.Billing using System.Threading; using System.Threading.Tasks; - public class CreditBalanceTransactionService : Service, + public class CreditBalanceTransactionService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantApplicabilityConfigScopeOptions.cs b/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantApplicabilityConfigScopeOptions.cs index b32f358eff..8a27226489 100644 --- a/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantApplicabilityConfigScopeOptions.cs +++ b/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantApplicabilityConfigScopeOptions.cs @@ -11,7 +11,7 @@ public class CreditGrantApplicabilityConfigScopeOptions : INestedOptions { /// /// The price type that credit grants can apply to. We currently only support the - /// metered price type. + /// metered price type. Cannot be used in combination with prices. /// [JsonProperty("price_type")] #if NET6_0_OR_GREATER @@ -21,7 +21,7 @@ public class CreditGrantApplicabilityConfigScopeOptions : INestedOptions /// /// A list of prices that the credit grant can apply to. We currently only support the - /// metered prices. + /// metered prices. Cannot be used in combination with price_type. /// [JsonProperty("prices")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantService.cs b/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantService.cs index 4e39cccadc..9cce98826d 100644 --- a/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantService.cs +++ b/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantService.cs @@ -8,7 +8,7 @@ namespace Stripe.Billing using System.Threading; using System.Threading.Tasks; - public class CreditGrantService : Service, + public class CreditGrantService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Billing/MeterEventAdjustments/MeterEventAdjustmentService.cs b/src/Stripe.net/Services/Billing/MeterEventAdjustments/MeterEventAdjustmentService.cs index 3c6a3b1dda..ab1468ec90 100644 --- a/src/Stripe.net/Services/Billing/MeterEventAdjustments/MeterEventAdjustmentService.cs +++ b/src/Stripe.net/Services/Billing/MeterEventAdjustments/MeterEventAdjustmentService.cs @@ -6,7 +6,7 @@ namespace Stripe.Billing using System.Threading; using System.Threading.Tasks; - public class MeterEventAdjustmentService : Service, + public class MeterEventAdjustmentService : Service, ICreatable { public MeterEventAdjustmentService() diff --git a/src/Stripe.net/Services/Billing/MeterEventSummaries/MeterEventSummaryService.cs b/src/Stripe.net/Services/Billing/MeterEventSummaries/MeterEventSummaryService.cs index f84cbc01a8..70cd486185 100644 --- a/src/Stripe.net/Services/Billing/MeterEventSummaries/MeterEventSummaryService.cs +++ b/src/Stripe.net/Services/Billing/MeterEventSummaries/MeterEventSummaryService.cs @@ -8,7 +8,7 @@ namespace Stripe.Billing using System.Threading; using System.Threading.Tasks; - public class MeterEventSummaryService : ServiceNested, + public class MeterEventSummaryService : Service, INestedListable { public MeterEventSummaryService() diff --git a/src/Stripe.net/Services/Billing/MeterEvents/MeterEventService.cs b/src/Stripe.net/Services/Billing/MeterEvents/MeterEventService.cs index 0e72b36e9c..93df8a30c0 100644 --- a/src/Stripe.net/Services/Billing/MeterEvents/MeterEventService.cs +++ b/src/Stripe.net/Services/Billing/MeterEvents/MeterEventService.cs @@ -6,7 +6,7 @@ namespace Stripe.Billing using System.Threading; using System.Threading.Tasks; - public class MeterEventService : Service, + public class MeterEventService : Service, ICreatable { public MeterEventService() diff --git a/src/Stripe.net/Services/Billing/Meters/MeterDefaultAggregationOptions.cs b/src/Stripe.net/Services/Billing/Meters/MeterDefaultAggregationOptions.cs index 7c7de951ba..d92625c666 100644 --- a/src/Stripe.net/Services/Billing/Meters/MeterDefaultAggregationOptions.cs +++ b/src/Stripe.net/Services/Billing/Meters/MeterDefaultAggregationOptions.cs @@ -10,8 +10,9 @@ public class MeterDefaultAggregationOptions : INestedOptions { /// /// Specifies how events are aggregated. Allowed values are count to count the number - /// of events and sum to sum each event's value. - /// One of: count, or sum. + /// of events, sum to sum each event's value and last to take the last event's + /// value in the window. + /// One of: count, last, or sum. /// [JsonProperty("formula")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Billing/Meters/MeterService.cs b/src/Stripe.net/Services/Billing/Meters/MeterService.cs index 2dde43d57d..789b3d234e 100644 --- a/src/Stripe.net/Services/Billing/Meters/MeterService.cs +++ b/src/Stripe.net/Services/Billing/Meters/MeterService.cs @@ -8,7 +8,7 @@ namespace Stripe.Billing using System.Threading; using System.Threading.Tasks; - public class MeterService : Service, + public class MeterService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/BillingPortal/Configurations/ConfigurationService.cs b/src/Stripe.net/Services/BillingPortal/Configurations/ConfigurationService.cs index ed8834123f..7f6cba7134 100644 --- a/src/Stripe.net/Services/BillingPortal/Configurations/ConfigurationService.cs +++ b/src/Stripe.net/Services/BillingPortal/Configurations/ConfigurationService.cs @@ -8,7 +8,7 @@ namespace Stripe.BillingPortal using System.Threading; using System.Threading.Tasks; - public class ConfigurationService : Service, + public class ConfigurationService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/BillingPortal/Sessions/SessionService.cs b/src/Stripe.net/Services/BillingPortal/Sessions/SessionService.cs index a2007841ac..2c18bfeae3 100644 --- a/src/Stripe.net/Services/BillingPortal/Sessions/SessionService.cs +++ b/src/Stripe.net/Services/BillingPortal/Sessions/SessionService.cs @@ -6,7 +6,7 @@ namespace Stripe.BillingPortal using System.Threading; using System.Threading.Tasks; - public class SessionService : Service, + public class SessionService : Service, ICreatable { public SessionService() diff --git a/src/Stripe.net/Services/Capital/FinancingOffers/FinancingOfferService.cs b/src/Stripe.net/Services/Capital/FinancingOffers/FinancingOfferService.cs index e78d0e6a84..dbfbcf93a2 100644 --- a/src/Stripe.net/Services/Capital/FinancingOffers/FinancingOfferService.cs +++ b/src/Stripe.net/Services/Capital/FinancingOffers/FinancingOfferService.cs @@ -8,7 +8,7 @@ namespace Stripe.Capital using System.Threading; using System.Threading.Tasks; - public class FinancingOfferService : Service, + public class FinancingOfferService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Capital/FinancingSummaries/FinancingSummaryService.cs b/src/Stripe.net/Services/Capital/FinancingSummaries/FinancingSummaryService.cs index fa85e67a15..e92688133f 100644 --- a/src/Stripe.net/Services/Capital/FinancingSummaries/FinancingSummaryService.cs +++ b/src/Stripe.net/Services/Capital/FinancingSummaries/FinancingSummaryService.cs @@ -6,7 +6,7 @@ namespace Stripe.Capital using System.Threading; using System.Threading.Tasks; - public class FinancingSummaryService : Service, + public class FinancingSummaryService : Service, ISingletonRetrievable { public FinancingSummaryService() diff --git a/src/Stripe.net/Services/Capital/FinancingTransactions/FinancingTransactionService.cs b/src/Stripe.net/Services/Capital/FinancingTransactions/FinancingTransactionService.cs index aeed20f8be..93fbfea029 100644 --- a/src/Stripe.net/Services/Capital/FinancingTransactions/FinancingTransactionService.cs +++ b/src/Stripe.net/Services/Capital/FinancingTransactions/FinancingTransactionService.cs @@ -8,7 +8,7 @@ namespace Stripe.Capital using System.Threading; using System.Threading.Tasks; - public class FinancingTransactionService : Service, + public class FinancingTransactionService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Charges/ChargeCaptureOptions.cs b/src/Stripe.net/Services/Charges/ChargeCaptureOptions.cs index c6d5cd18d5..ed4763adcc 100644 --- a/src/Stripe.net/Services/Charges/ChargeCaptureOptions.cs +++ b/src/Stripe.net/Services/Charges/ChargeCaptureOptions.cs @@ -9,8 +9,7 @@ namespace Stripe public class ChargeCaptureOptions : BaseOptions { /// - /// The amount to capture, which must be less than or equal to the original amount. Any - /// additional amount will be automatically refunded. + /// The amount to capture, which must be less than or equal to the original amount. /// [JsonProperty("amount")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Charges/ChargeService.cs b/src/Stripe.net/Services/Charges/ChargeService.cs index de6af2de9d..601030cc37 100644 --- a/src/Stripe.net/Services/Charges/ChargeService.cs +++ b/src/Stripe.net/Services/Charges/ChargeService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class ChargeService : Service, + public class ChargeService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Checkout/SessionLineItems/SessionLineItemService.cs b/src/Stripe.net/Services/Checkout/SessionLineItems/SessionLineItemService.cs index 778b68f37a..d81e03c029 100644 --- a/src/Stripe.net/Services/Checkout/SessionLineItems/SessionLineItemService.cs +++ b/src/Stripe.net/Services/Checkout/SessionLineItems/SessionLineItemService.cs @@ -8,7 +8,7 @@ namespace Stripe.Checkout using System.Threading; using System.Threading.Tasks; - public class SessionLineItemService : ServiceNested, + public class SessionLineItemService : Service, INestedListable { public SessionLineItemService() diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionCreateOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionCreateOptions.cs index 55b2da5ae6..bf9b1473b4 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionCreateOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionCreateOptions.cs @@ -283,6 +283,28 @@ public class SessionCreateOptions : BaseOptions, IHasMetadata #endif public string Mode { get; set; } + /// + /// A list of optional items the customer can add to their order at checkout. Use this + /// parameter to pass one-time or recurring Prices. + /// + /// There is a maximum of 10 optional items allowed on a Checkout Session, and the existing + /// limits on the number of line items allowed on a Checkout Session apply to the combined + /// number of line items and optional items. + /// + /// For payment mode, there is a maximum of 100 combined line items and optional + /// items, however it is recommended to consolidate items if there are more than a few + /// dozen. + /// + /// For subscription mode, there is a maximum of 20 line items and optional items + /// with recurring Prices and 20 line items and optional items with one-time Prices. + /// + [JsonProperty("optional_items")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("optional_items")] +#endif + public List OptionalItems { get; set; } + /// /// A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in /// payment mode. @@ -360,15 +382,15 @@ public class SessionCreateOptions : BaseOptions, IHasMetadata /// characteristics. /// One of: acss_debit, affirm, afterpay_clearpay, alipay, /// alma, amazon_pay, au_becs_debit, bacs_debit, - /// bancontact, blik, boleto, card, cashapp, - /// customer_balance, eps, fpx, giropay, gopay, - /// grabpay, ideal, kakao_pay, klarna, konbini, - /// kr_card, link, mb_way, mobilepay, multibanco, - /// naver_pay, oxxo, p24, pay_by_bank, payco, - /// paynow, paypal, payto, pix, promptpay, qris, - /// rechnung, revolut_pay, samsung_pay, sepa_debit, - /// shopeepay, sofort, swish, twint, us_bank_account, - /// wechat_pay, or zip. + /// bancontact, billie, blik, boleto, card, + /// cashapp, customer_balance, eps, fpx, giropay, + /// gopay, grabpay, ideal, kakao_pay, klarna, + /// konbini, kr_card, link, mb_way, mobilepay, + /// multibanco, naver_pay, oxxo, p24, pay_by_bank, + /// payco, paynow, paypal, payto, pix, promptpay, + /// qris, rechnung, revolut_pay, samsung_pay, satispay, + /// sepa_debit, shopeepay, sofort, swish, twint, + /// us_bank_account, wechat_pay, or zip. /// [JsonProperty("payment_method_types")] #if NET6_0_OR_GREATER @@ -469,8 +491,8 @@ public class SessionCreateOptions : BaseOptions, IHasMetadata /// /// Describes the type of transaction being performed by Checkout in order to customize /// relevant text on the page, such as the submit button. submit_type can only be - /// specified on Checkout Sessions in payment mode. If blank or auto, - /// pay is used. + /// specified on Checkout Sessions in payment or subscription mode. If blank + /// or auto, pay is used. /// One of: auto, book, donate, pay, or subscribe. /// [JsonProperty("submit_type")] diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionLineItemPriceDataOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionLineItemPriceDataOptions.cs index b3eae49af9..82897c9fca 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionLineItemPriceDataOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionLineItemPriceDataOptions.cs @@ -20,8 +20,9 @@ public class SessionLineItemPriceDataOptions : INestedOptions public string Currency { get; set; } /// - /// The ID of the product that this price will belong to. One of product or - /// product_data is required. + /// The ID of the Product that this Price will belong to. One of + /// product or product_data is required. /// [JsonProperty("product")] #if NET6_0_OR_GREATER @@ -30,8 +31,8 @@ public class SessionLineItemPriceDataOptions : INestedOptions public string Product { get; set; } /// - /// Data used to generate a new product object inline. One of product or - /// product_data is required. + /// Data used to generate a new Product + /// object inline. One of product or product_data is required. /// [JsonProperty("product_data")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionOptionalItemAdjustableQuantityOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionOptionalItemAdjustableQuantityOptions.cs new file mode 100644 index 0000000000..a20f9221d5 --- /dev/null +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionOptionalItemAdjustableQuantityOptions.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.Checkout +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class SessionOptionalItemAdjustableQuantityOptions : INestedOptions + { + /// + /// Set to true if the quantity can be adjusted to any non-negative integer. + /// + [JsonProperty("enabled")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("enabled")] +#endif + public bool? Enabled { get; set; } + + /// + /// The maximum quantity of this item the customer can purchase. By default this value is + /// 99. You can specify a value up to 999999. + /// + [JsonProperty("maximum")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("maximum")] +#endif + public long? Maximum { get; set; } + + /// + /// The minimum quantity of this item the customer must purchase, if they choose to purchase + /// it. Because this item is optional, the customer will always be able to remove it from + /// their order, even if the minimum configured here is greater than 0. By default + /// this value is 0. + /// + [JsonProperty("minimum")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("minimum")] +#endif + public long? Minimum { get; set; } + } +} diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionOptionalItemOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionOptionalItemOptions.cs new file mode 100644 index 0000000000..d55bc68b3b --- /dev/null +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionOptionalItemOptions.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.Checkout +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class SessionOptionalItemOptions : INestedOptions + { + /// + /// When set, provides configuration for the customer to adjust the quantity of the line + /// item created when a customer chooses to add this optional item to their order. + /// + [JsonProperty("adjustable_quantity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("adjustable_quantity")] +#endif + public SessionOptionalItemAdjustableQuantityOptions AdjustableQuantity { get; set; } + + /// + /// The ID of the Price or Plan object. + /// + [JsonProperty("price")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] +#endif + public string Price { get; set; } + + /// + /// The initial quantity of the line item created when a customer chooses to add this + /// optional item to their order. + /// + [JsonProperty("quantity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("quantity")] +#endif + public long? Quantity { get; set; } + } +} diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentIntentDataOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentIntentDataOptions.cs index e4a651b845..0f5718bb22 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentIntentDataOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentIntentDataOptions.cs @@ -12,7 +12,7 @@ public class SessionPaymentIntentDataOptions : INestedOptions, IHasMetadata /// /// The amount of the application fee (if any) that will be requested to be applied to the /// payment and transferred to the application owner's Stripe account. The amount of the - /// application fee collected will be capped at the total payment amount. For more + /// application fee collected will be capped at the total amount captured. For more /// information, see the PaymentIntents use case for connected /// accounts. diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionPermissionsOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionPermissionsOptions.cs index 53ac1d1e3d..d98e1ee7d0 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionPermissionsOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionPermissionsOptions.cs @@ -16,5 +16,23 @@ public class SessionPermissionsOptions : INestedOptions [STJS.JsonPropertyName("update")] #endif public SessionPermissionsUpdateOptions Update { get; set; } + + /// + /// Determines which entity is allowed to update the shipping details. + /// + /// Default is client_only. Stripe Checkout client will automatically update the + /// shipping details. If set to server_only, only your server is allowed to update + /// the shipping details. + /// + /// When set to server_only, you must add the onShippingDetailsChange event handler + /// when initializing the Stripe Checkout client and manually update the shipping details + /// from your server using the Stripe API. + /// One of: client_only, or server_only. + /// + [JsonProperty("update_shipping_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("update_shipping_details")] +#endif + public string UpdateShippingDetails { get; set; } } } diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionService.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionService.cs index 30f2a96442..8b17838e8e 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionService.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionService.cs @@ -8,7 +8,7 @@ namespace Stripe.Checkout using System.Threading; using System.Threading.Tasks; - public partial class SessionService : Service, + public partial class SessionService : Service, ICreatable, IListable, IRetrievable, @@ -34,7 +34,7 @@ public SessionService(IStripeClient client) this.Requestor); /// - ///

Creates a Session object.

. + ///

Creates a Checkout Session object.

. ///
public virtual Session Create(SessionCreateOptions options, RequestOptions requestOptions = null) { @@ -42,7 +42,7 @@ public virtual Session Create(SessionCreateOptions options, RequestOptions reque } /// - ///

Creates a Session object.

. + ///

Creates a Checkout Session object.

. ///
public virtual Task CreateAsync(SessionCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { @@ -50,10 +50,11 @@ public virtual Task CreateAsync(SessionCreateOptions options, RequestOp } /// - ///

A Session can be expired when it is in one of these statuses: open

. + ///

A Checkout Session can be expired when it is in one of these statuses: open + ///

. /// - ///

After it expires, a customer can’t complete a Session and customers loading the - /// Session see a message saying the Session is expired.

. + ///

After it expires, a customer can’t complete a Checkout Session and customers loading + /// the Checkout Session see a message saying the Checkout Session is expired.

. ///
public virtual Session Expire(string id, SessionExpireOptions options = null, RequestOptions requestOptions = null) { @@ -61,10 +62,11 @@ public virtual Session Expire(string id, SessionExpireOptions options = null, Re } /// - ///

A Session can be expired when it is in one of these statuses: open

. + ///

A Checkout Session can be expired when it is in one of these statuses: open + ///

. /// - ///

After it expires, a customer can’t complete a Session and customers loading the - /// Session see a message saying the Session is expired.

. + ///

After it expires, a customer can’t complete a Checkout Session and customers loading + /// the Checkout Session see a message saying the Checkout Session is expired.

. ///
public virtual Task ExpireAsync(string id, SessionExpireOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { @@ -72,7 +74,7 @@ public virtual Task ExpireAsync(string id, SessionExpireOptions options } /// - ///

Retrieves a Session object.

. + ///

Retrieves a Checkout Session object.

. ///
public virtual Session Get(string id, SessionGetOptions options = null, RequestOptions requestOptions = null) { @@ -80,7 +82,7 @@ public virtual Session Get(string id, SessionGetOptions options = null, RequestO } /// - ///

Retrieves a Session object.

. + ///

Retrieves a Checkout Session object.

. ///
public virtual Task GetAsync(string id, SessionGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { @@ -120,7 +122,7 @@ public virtual IAsyncEnumerable ListAutoPagingAsync(SessionListOptions } /// - ///

Updates a Session object.

. + ///

Updates a Checkout Session object.

. ///
public virtual Session Update(string id, SessionUpdateOptions options, RequestOptions requestOptions = null) { @@ -128,7 +130,7 @@ public virtual Session Update(string id, SessionUpdateOptions options, RequestOp } /// - ///

Updates a Session object.

. + ///

Updates a Checkout Session object.

. ///
public virtual Task UpdateAsync(string id, SessionUpdateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionUpdateOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionUpdateOptions.cs index f6ad3e100f..c3a1bbb65c 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionUpdateOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionUpdateOptions.cs @@ -28,8 +28,7 @@ public class SessionUpdateOptions : BaseOptions, IHasMetadata /// To update an existing line item, specify its id along with the new values of the /// fields to update. /// - /// To add a new line item, specify a price and quantity. We don't currently - /// support recurring prices. + /// To add a new line item, specify a price and quantity. /// /// To remove an existing line item, omit the line item's ID from the retransmitted array. /// diff --git a/src/Stripe.net/Services/Climate/Orders/OrderService.cs b/src/Stripe.net/Services/Climate/Orders/OrderService.cs index e0a3632e81..0f41775b5e 100644 --- a/src/Stripe.net/Services/Climate/Orders/OrderService.cs +++ b/src/Stripe.net/Services/Climate/Orders/OrderService.cs @@ -8,7 +8,7 @@ namespace Stripe.Climate using System.Threading; using System.Threading.Tasks; - public class OrderService : Service, + public class OrderService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Climate/Products/ProductService.cs b/src/Stripe.net/Services/Climate/Products/ProductService.cs index 0e037929ac..90f75f3203 100644 --- a/src/Stripe.net/Services/Climate/Products/ProductService.cs +++ b/src/Stripe.net/Services/Climate/Products/ProductService.cs @@ -8,7 +8,7 @@ namespace Stripe.Climate using System.Threading; using System.Threading.Tasks; - public class ProductService : Service, + public class ProductService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Climate/Suppliers/SupplierService.cs b/src/Stripe.net/Services/Climate/Suppliers/SupplierService.cs index cdfdaed24f..102c0f402b 100644 --- a/src/Stripe.net/Services/Climate/Suppliers/SupplierService.cs +++ b/src/Stripe.net/Services/Climate/Suppliers/SupplierService.cs @@ -8,7 +8,7 @@ namespace Stripe.Climate using System.Threading; using System.Threading.Tasks; - public class SupplierService : Service, + public class SupplierService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/ConfirmationTokens/ConfirmationTokenService.cs b/src/Stripe.net/Services/ConfirmationTokens/ConfirmationTokenService.cs index 320a4ddbd7..21c990844e 100644 --- a/src/Stripe.net/Services/ConfirmationTokens/ConfirmationTokenService.cs +++ b/src/Stripe.net/Services/ConfirmationTokens/ConfirmationTokenService.cs @@ -7,7 +7,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class ConfirmationTokenService : Service, + public class ConfirmationTokenService : Service, IRetrievable { public ConfirmationTokenService() diff --git a/src/Stripe.net/Services/CountrySpecs/CountrySpecService.cs b/src/Stripe.net/Services/CountrySpecs/CountrySpecService.cs index f43e3d12ef..1e2775f34c 100644 --- a/src/Stripe.net/Services/CountrySpecs/CountrySpecService.cs +++ b/src/Stripe.net/Services/CountrySpecs/CountrySpecService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class CountrySpecService : Service, + public class CountrySpecService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Coupons/CouponCreateOptions.cs b/src/Stripe.net/Services/Coupons/CouponCreateOptions.cs index df5506a961..2899e98c84 100644 --- a/src/Stripe.net/Services/Coupons/CouponCreateOptions.cs +++ b/src/Stripe.net/Services/Coupons/CouponCreateOptions.cs @@ -55,7 +55,7 @@ public class CouponCreateOptions : BaseOptions, IHasId, IHasMetadata /// /// Specifies how long the discount will be in effect if used on a subscription. Defaults to /// once. - /// One of: forever, once, repeating, or variable. + /// One of: forever, or once. /// [JsonProperty("duration")] #if NET6_0_OR_GREATER @@ -63,16 +63,6 @@ public class CouponCreateOptions : BaseOptions, IHasId, IHasMetadata #endif public string Duration { get; set; } - /// - /// Required only if duration is repeating, in which case it must be a - /// positive integer that specifies the number of months the discount will be in effect. - /// - [JsonProperty("duration_in_months")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("duration_in_months")] -#endif - public long? DurationInMonths { get; set; } - /// /// Unique string of your choice that will be used to identify this coupon when applying it /// to a customer. If you don't want to specify a particular code, you can leave the ID diff --git a/src/Stripe.net/Services/Coupons/CouponService.cs b/src/Stripe.net/Services/Coupons/CouponService.cs index 7ac08d2ba1..c4e35f1889 100644 --- a/src/Stripe.net/Services/Coupons/CouponService.cs +++ b/src/Stripe.net/Services/Coupons/CouponService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class CouponService : Service, + public class CouponService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/CreditNotePreviewLines/CreditNotePreviewLinesListOptions.cs b/src/Stripe.net/Services/CreditNotePreviewLines/CreditNotePreviewLinesListOptions.cs index 445cb080df..13aca05572 100644 --- a/src/Stripe.net/Services/CreditNotePreviewLines/CreditNotePreviewLinesListOptions.cs +++ b/src/Stripe.net/Services/CreditNotePreviewLines/CreditNotePreviewLinesListOptions.cs @@ -116,15 +116,6 @@ public class CreditNotePreviewLinesListOptions : ListOptions, IHasMetadata #endif public string Reason { get; set; } - /// - /// ID of an existing refund to link this credit note to. - /// - [JsonProperty("refund")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("refund")] -#endif - public string Refund { get; set; } - /// /// The integer amount in cents (or local equivalent) representing the amount to refund. If /// set, a refund will be created for the charge associated with the invoice. diff --git a/src/Stripe.net/Services/CreditNotePreviewLines/CreditNotePreviewLinesService.cs b/src/Stripe.net/Services/CreditNotePreviewLines/CreditNotePreviewLinesService.cs index ad9234d450..a9a04321c2 100644 --- a/src/Stripe.net/Services/CreditNotePreviewLines/CreditNotePreviewLinesService.cs +++ b/src/Stripe.net/Services/CreditNotePreviewLines/CreditNotePreviewLinesService.cs @@ -7,7 +7,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class CreditNotePreviewLinesService : ServiceNested + public class CreditNotePreviewLinesService : Service { public CreditNotePreviewLinesService() { diff --git a/src/Stripe.net/Services/CreditNotes/CreditNoteCreateOptions.cs b/src/Stripe.net/Services/CreditNotes/CreditNoteCreateOptions.cs index 46b454bcce..97acdae83e 100644 --- a/src/Stripe.net/Services/CreditNotes/CreditNoteCreateOptions.cs +++ b/src/Stripe.net/Services/CreditNotes/CreditNoteCreateOptions.cs @@ -116,15 +116,6 @@ public class CreditNoteCreateOptions : BaseOptions, IHasMetadata #endif public string Reason { get; set; } - /// - /// ID of an existing refund to link this credit note to. - /// - [JsonProperty("refund")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("refund")] -#endif - public string Refund { get; set; } - /// /// The integer amount in cents (or local equivalent) representing the amount to refund. If /// set, a refund will be created for the charge associated with the invoice. diff --git a/src/Stripe.net/Services/CreditNotes/CreditNotePreviewOptions.cs b/src/Stripe.net/Services/CreditNotes/CreditNotePreviewOptions.cs index 1a48c7d074..12867ca7b5 100644 --- a/src/Stripe.net/Services/CreditNotes/CreditNotePreviewOptions.cs +++ b/src/Stripe.net/Services/CreditNotes/CreditNotePreviewOptions.cs @@ -116,15 +116,6 @@ public class CreditNotePreviewOptions : BaseOptions, IHasMetadata #endif public string Reason { get; set; } - /// - /// ID of an existing refund to link this credit note to. - /// - [JsonProperty("refund")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("refund")] -#endif - public string Refund { get; set; } - /// /// The integer amount in cents (or local equivalent) representing the amount to refund. If /// set, a refund will be created for the charge associated with the invoice. diff --git a/src/Stripe.net/Services/CustomerBalanceTransactions/CustomerBalanceTransactionService.cs b/src/Stripe.net/Services/CustomerBalanceTransactions/CustomerBalanceTransactionService.cs index 84c7bf6cda..a3f939884a 100644 --- a/src/Stripe.net/Services/CustomerBalanceTransactions/CustomerBalanceTransactionService.cs +++ b/src/Stripe.net/Services/CustomerBalanceTransactions/CustomerBalanceTransactionService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class CustomerBalanceTransactionService : ServiceNested, + public class CustomerBalanceTransactionService : Service, INestedCreatable, INestedListable, INestedRetrievable, diff --git a/src/Stripe.net/Services/CustomerCashBalanceTransactions/CustomerCashBalanceTransactionService.cs b/src/Stripe.net/Services/CustomerCashBalanceTransactions/CustomerCashBalanceTransactionService.cs index 4c32883da9..d32477971c 100644 --- a/src/Stripe.net/Services/CustomerCashBalanceTransactions/CustomerCashBalanceTransactionService.cs +++ b/src/Stripe.net/Services/CustomerCashBalanceTransactions/CustomerCashBalanceTransactionService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class CustomerCashBalanceTransactionService : ServiceNested, + public class CustomerCashBalanceTransactionService : Service, INestedListable, INestedRetrievable { diff --git a/src/Stripe.net/Services/CustomerCashBalances/CustomerCashBalanceService.cs b/src/Stripe.net/Services/CustomerCashBalances/CustomerCashBalanceService.cs index 527a2d5f0d..bee543e398 100644 --- a/src/Stripe.net/Services/CustomerCashBalances/CustomerCashBalanceService.cs +++ b/src/Stripe.net/Services/CustomerCashBalances/CustomerCashBalanceService.cs @@ -7,7 +7,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class CustomerCashBalanceService : ServiceNested + public class CustomerCashBalanceService : Service { public CustomerCashBalanceService() { diff --git a/src/Stripe.net/Services/CustomerFundingInstructions/CustomerFundingInstructionsService.cs b/src/Stripe.net/Services/CustomerFundingInstructions/CustomerFundingInstructionsService.cs index 5c92a3a10c..465a913786 100644 --- a/src/Stripe.net/Services/CustomerFundingInstructions/CustomerFundingInstructionsService.cs +++ b/src/Stripe.net/Services/CustomerFundingInstructions/CustomerFundingInstructionsService.cs @@ -7,7 +7,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class CustomerFundingInstructionsService : ServiceNested + public class CustomerFundingInstructionsService : Service { public CustomerFundingInstructionsService() { diff --git a/src/Stripe.net/Services/CustomerPaymentMethods/CustomerPaymentMethodListOptions.cs b/src/Stripe.net/Services/CustomerPaymentMethods/CustomerPaymentMethodListOptions.cs index 2e55e73b31..c2396b4a44 100644 --- a/src/Stripe.net/Services/CustomerPaymentMethods/CustomerPaymentMethodListOptions.cs +++ b/src/Stripe.net/Services/CustomerPaymentMethods/CustomerPaymentMethodListOptions.cs @@ -28,13 +28,14 @@ public class CustomerPaymentMethodListOptions : ListOptions /// provide a type value in the request. /// One of: acss_debit, affirm, afterpay_clearpay, alipay, /// alma, amazon_pay, au_becs_debit, bacs_debit, - /// bancontact, blik, boleto, card, cashapp, - /// customer_balance, eps, fpx, giropay, gopay, - /// grabpay, id_bank_transfer, ideal, kakao_pay, klarna, - /// konbini, kr_card, link, mb_way, mobilepay, - /// multibanco, naver_pay, oxxo, p24, pay_by_bank, - /// payco, paynow, paypal, payto, pix, promptpay, - /// qris, rechnung, revolut_pay, samsung_pay, sepa_debit, + /// bancontact, billie, blik, boleto, card, + /// cashapp, customer_balance, eps, fpx, giropay, + /// gopay, grabpay, id_bank_transfer, ideal, kakao_pay, + /// klarna, konbini, kr_card, link, mb_way, + /// mobilepay, multibanco, naver_pay, nz_bank_account, + /// oxxo, p24, pay_by_bank, payco, paynow, paypal, + /// payto, pix, promptpay, qris, rechnung, + /// revolut_pay, samsung_pay, satispay, sepa_debit, /// shopeepay, sofort, swish, twint, us_bank_account, /// wechat_pay, or zip. /// diff --git a/src/Stripe.net/Services/CustomerPaymentMethods/CustomerPaymentMethodService.cs b/src/Stripe.net/Services/CustomerPaymentMethods/CustomerPaymentMethodService.cs index af9040c799..fd9ccbf540 100644 --- a/src/Stripe.net/Services/CustomerPaymentMethods/CustomerPaymentMethodService.cs +++ b/src/Stripe.net/Services/CustomerPaymentMethods/CustomerPaymentMethodService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class CustomerPaymentMethodService : ServiceNested, + public class CustomerPaymentMethodService : Service, INestedListable, INestedRetrievable { diff --git a/src/Stripe.net/Services/CustomerPaymentSources/CustomerPaymentSourceService.cs b/src/Stripe.net/Services/CustomerPaymentSources/CustomerPaymentSourceService.cs index d98d95de71..494c55863e 100644 --- a/src/Stripe.net/Services/CustomerPaymentSources/CustomerPaymentSourceService.cs +++ b/src/Stripe.net/Services/CustomerPaymentSources/CustomerPaymentSourceService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class CustomerPaymentSourceService : ServiceNested, + public class CustomerPaymentSourceService : Service, INestedCreatable, INestedDeletable, INestedListable, diff --git a/src/Stripe.net/Services/CustomerSessions/CustomerSessionService.cs b/src/Stripe.net/Services/CustomerSessions/CustomerSessionService.cs index 91a884aaeb..5170820297 100644 --- a/src/Stripe.net/Services/CustomerSessions/CustomerSessionService.cs +++ b/src/Stripe.net/Services/CustomerSessions/CustomerSessionService.cs @@ -6,7 +6,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class CustomerSessionService : Service, + public class CustomerSessionService : Service, ICreatable { public CustomerSessionService() diff --git a/src/Stripe.net/Services/CustomerTaxIds/CustomerTaxIdService.cs b/src/Stripe.net/Services/CustomerTaxIds/CustomerTaxIdService.cs index 4f03ab3f71..60bb534747 100644 --- a/src/Stripe.net/Services/CustomerTaxIds/CustomerTaxIdService.cs +++ b/src/Stripe.net/Services/CustomerTaxIds/CustomerTaxIdService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class CustomerTaxIdService : ServiceNested, + public class CustomerTaxIdService : Service, INestedCreatable, INestedDeletable, INestedListable, diff --git a/src/Stripe.net/Services/Customers/CustomerCreateOptions.cs b/src/Stripe.net/Services/Customers/CustomerCreateOptions.cs index ef46b7e414..ebacf198d6 100644 --- a/src/Stripe.net/Services/Customers/CustomerCreateOptions.cs +++ b/src/Stripe.net/Services/Customers/CustomerCreateOptions.cs @@ -40,12 +40,6 @@ public class CustomerCreateOptions : BaseOptions, IHasMetadata #endif public CustomerCashBalanceOptions CashBalance { get; set; } - [JsonProperty("coupon")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("coupon")] -#endif - public string Coupon { get; set; } - /// /// An arbitrary string that you can attach to a customer object. It is displayed alongside /// the customer in the dashboard. @@ -145,17 +139,6 @@ public class CustomerCreateOptions : BaseOptions, IHasMetadata #endif public List PreferredLocales { get; set; } - /// - /// The ID of a promotion code to apply to the customer. The customer will have a discount - /// applied on all recurring payments. Charges you create through the API will not have the - /// discount. - /// - [JsonProperty("promotion_code")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("promotion_code")] -#endif - public string PromotionCode { get; set; } - /// /// The customer's shipping information. Appears on invoices emailed to this customer. /// diff --git a/src/Stripe.net/Services/Customers/CustomerService.cs b/src/Stripe.net/Services/Customers/CustomerService.cs index 9a152d8d93..51e8d9350d 100644 --- a/src/Stripe.net/Services/Customers/CustomerService.cs +++ b/src/Stripe.net/Services/Customers/CustomerService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public partial class CustomerService : Service, + public partial class CustomerService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/Customers/CustomerUpdateOptions.cs b/src/Stripe.net/Services/Customers/CustomerUpdateOptions.cs index 2e8f2518b6..30ee3ecaf0 100644 --- a/src/Stripe.net/Services/Customers/CustomerUpdateOptions.cs +++ b/src/Stripe.net/Services/Customers/CustomerUpdateOptions.cs @@ -40,12 +40,6 @@ public class CustomerUpdateOptions : BaseOptions, IHasMetadata #endif public CustomerCashBalanceOptions CashBalance { get; set; } - [JsonProperty("coupon")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("coupon")] -#endif - public string Coupon { get; set; } - /// /// If you are using payment methods created via the PaymentMethods API, see the invoice_settings.default_payment_method @@ -151,17 +145,6 @@ public class CustomerUpdateOptions : BaseOptions, IHasMetadata #endif public List PreferredLocales { get; set; } - /// - /// The ID of a promotion code to apply to the customer. The customer will have a discount - /// applied on all recurring payments. Charges you create through the API will not have the - /// discount. - /// - [JsonProperty("promotion_code")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("promotion_code")] -#endif - public string PromotionCode { get; set; } - /// /// The customer's shipping information. Appears on invoices emailed to this customer. /// diff --git a/src/Stripe.net/Services/Disputes/DisputeService.cs b/src/Stripe.net/Services/Disputes/DisputeService.cs index 8478e9ee27..25aa5e7602 100644 --- a/src/Stripe.net/Services/Disputes/DisputeService.cs +++ b/src/Stripe.net/Services/Disputes/DisputeService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class DisputeService : Service, + public class DisputeService : Service, IListable, IRetrievable, IUpdatable diff --git a/src/Stripe.net/Services/Entitlements/ActiveEntitlements/ActiveEntitlementService.cs b/src/Stripe.net/Services/Entitlements/ActiveEntitlements/ActiveEntitlementService.cs index a8d2c7a2cd..6dee760fdd 100644 --- a/src/Stripe.net/Services/Entitlements/ActiveEntitlements/ActiveEntitlementService.cs +++ b/src/Stripe.net/Services/Entitlements/ActiveEntitlements/ActiveEntitlementService.cs @@ -8,7 +8,7 @@ namespace Stripe.Entitlements using System.Threading; using System.Threading.Tasks; - public class ActiveEntitlementService : Service, + public class ActiveEntitlementService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Entitlements/Features/FeatureService.cs b/src/Stripe.net/Services/Entitlements/Features/FeatureService.cs index 33be9afc30..890cb31cc4 100644 --- a/src/Stripe.net/Services/Entitlements/Features/FeatureService.cs +++ b/src/Stripe.net/Services/Entitlements/Features/FeatureService.cs @@ -8,7 +8,7 @@ namespace Stripe.Entitlements using System.Threading; using System.Threading.Tasks; - public class FeatureService : Service, + public class FeatureService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Events/EventService.cs b/src/Stripe.net/Services/Events/EventService.cs index 4cb2451f37..b2244b717a 100644 --- a/src/Stripe.net/Services/Events/EventService.cs +++ b/src/Stripe.net/Services/Events/EventService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class EventService : Service, + public class EventService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/FileLinks/FileLinkService.cs b/src/Stripe.net/Services/FileLinks/FileLinkService.cs index d77ea1680c..00a765e223 100644 --- a/src/Stripe.net/Services/FileLinks/FileLinkService.cs +++ b/src/Stripe.net/Services/FileLinks/FileLinkService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class FileLinkService : Service, + public class FileLinkService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Files/FileService.cs b/src/Stripe.net/Services/Files/FileService.cs index 62f5ea5d6d..706d61ccdd 100644 --- a/src/Stripe.net/Services/Files/FileService.cs +++ b/src/Stripe.net/Services/Files/FileService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class FileService : Service, + public class FileService : Service, ICreatable, IListable, IRetrievable diff --git a/src/Stripe.net/Services/FinancialConnections/AccountInferredBalances/AccountInferredBalanceService.cs b/src/Stripe.net/Services/FinancialConnections/AccountInferredBalances/AccountInferredBalanceService.cs index a7c98092ec..9bb22ee798 100644 --- a/src/Stripe.net/Services/FinancialConnections/AccountInferredBalances/AccountInferredBalanceService.cs +++ b/src/Stripe.net/Services/FinancialConnections/AccountInferredBalances/AccountInferredBalanceService.cs @@ -8,7 +8,7 @@ namespace Stripe.FinancialConnections using System.Threading; using System.Threading.Tasks; - public class AccountInferredBalanceService : ServiceNested, + public class AccountInferredBalanceService : Service, INestedListable { public AccountInferredBalanceService() diff --git a/src/Stripe.net/Services/FinancialConnections/AccountOwners/AccountOwnerService.cs b/src/Stripe.net/Services/FinancialConnections/AccountOwners/AccountOwnerService.cs index 5479f5c046..e6f0b99b18 100644 --- a/src/Stripe.net/Services/FinancialConnections/AccountOwners/AccountOwnerService.cs +++ b/src/Stripe.net/Services/FinancialConnections/AccountOwners/AccountOwnerService.cs @@ -8,7 +8,7 @@ namespace Stripe.FinancialConnections using System.Threading; using System.Threading.Tasks; - public class AccountOwnerService : ServiceNested, + public class AccountOwnerService : Service, INestedListable { public AccountOwnerService() diff --git a/src/Stripe.net/Services/FinancialConnections/Accounts/AccountService.cs b/src/Stripe.net/Services/FinancialConnections/Accounts/AccountService.cs index d6ba5a1379..5577a3c14f 100644 --- a/src/Stripe.net/Services/FinancialConnections/Accounts/AccountService.cs +++ b/src/Stripe.net/Services/FinancialConnections/Accounts/AccountService.cs @@ -8,7 +8,7 @@ namespace Stripe.FinancialConnections using System.Threading; using System.Threading.Tasks; - public partial class AccountService : Service, + public partial class AccountService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/FinancialConnections/Institutions/InstitutionService.cs b/src/Stripe.net/Services/FinancialConnections/Institutions/InstitutionService.cs index 10dc677a41..e3d7788ae7 100644 --- a/src/Stripe.net/Services/FinancialConnections/Institutions/InstitutionService.cs +++ b/src/Stripe.net/Services/FinancialConnections/Institutions/InstitutionService.cs @@ -8,7 +8,7 @@ namespace Stripe.FinancialConnections using System.Threading; using System.Threading.Tasks; - public class InstitutionService : Service, + public class InstitutionService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/FinancialConnections/Sessions/SessionService.cs b/src/Stripe.net/Services/FinancialConnections/Sessions/SessionService.cs index 587341a32b..7ff4c9e043 100644 --- a/src/Stripe.net/Services/FinancialConnections/Sessions/SessionService.cs +++ b/src/Stripe.net/Services/FinancialConnections/Sessions/SessionService.cs @@ -7,7 +7,7 @@ namespace Stripe.FinancialConnections using System.Threading; using System.Threading.Tasks; - public class SessionService : Service, + public class SessionService : Service, ICreatable, IRetrievable { diff --git a/src/Stripe.net/Services/FinancialConnections/Transactions/TransactionService.cs b/src/Stripe.net/Services/FinancialConnections/Transactions/TransactionService.cs index fefced8b7d..a3e7d49094 100644 --- a/src/Stripe.net/Services/FinancialConnections/Transactions/TransactionService.cs +++ b/src/Stripe.net/Services/FinancialConnections/Transactions/TransactionService.cs @@ -8,7 +8,7 @@ namespace Stripe.FinancialConnections using System.Threading; using System.Threading.Tasks; - public class TransactionService : Service, + public class TransactionService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Forwarding/Requests/RequestService.cs b/src/Stripe.net/Services/Forwarding/Requests/RequestService.cs index 349fea0455..3f1dcd1ab0 100644 --- a/src/Stripe.net/Services/Forwarding/Requests/RequestService.cs +++ b/src/Stripe.net/Services/Forwarding/Requests/RequestService.cs @@ -8,7 +8,7 @@ namespace Stripe.Forwarding using System.Threading; using System.Threading.Tasks; - public class RequestService : Service, + public class RequestService : Service, ICreatable, IListable, IRetrievable diff --git a/src/Stripe.net/Services/GiftCards/Cards/CardService.cs b/src/Stripe.net/Services/GiftCards/Cards/CardService.cs index b256aff0b4..05fe4b8117 100644 --- a/src/Stripe.net/Services/GiftCards/Cards/CardService.cs +++ b/src/Stripe.net/Services/GiftCards/Cards/CardService.cs @@ -8,7 +8,7 @@ namespace Stripe.GiftCards using System.Threading; using System.Threading.Tasks; - public class CardService : Service, + public class CardService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/GiftCards/Transactions/TransactionService.cs b/src/Stripe.net/Services/GiftCards/Transactions/TransactionService.cs index 6127282a2d..06cdd2e230 100644 --- a/src/Stripe.net/Services/GiftCards/Transactions/TransactionService.cs +++ b/src/Stripe.net/Services/GiftCards/Transactions/TransactionService.cs @@ -8,7 +8,7 @@ namespace Stripe.GiftCards using System.Threading; using System.Threading.Tasks; - public class TransactionService : Service, + public class TransactionService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Identity/VerificationReports/VerificationReportService.cs b/src/Stripe.net/Services/Identity/VerificationReports/VerificationReportService.cs index c470fc06c4..65c79dfa57 100644 --- a/src/Stripe.net/Services/Identity/VerificationReports/VerificationReportService.cs +++ b/src/Stripe.net/Services/Identity/VerificationReports/VerificationReportService.cs @@ -8,7 +8,7 @@ namespace Stripe.Identity using System.Threading; using System.Threading.Tasks; - public class VerificationReportService : Service, + public class VerificationReportService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Identity/VerificationSessions/VerificationSessionService.cs b/src/Stripe.net/Services/Identity/VerificationSessions/VerificationSessionService.cs index 4bb30d7cdf..f93166fc8d 100644 --- a/src/Stripe.net/Services/Identity/VerificationSessions/VerificationSessionService.cs +++ b/src/Stripe.net/Services/Identity/VerificationSessions/VerificationSessionService.cs @@ -8,7 +8,7 @@ namespace Stripe.Identity using System.Threading; using System.Threading.Tasks; - public class VerificationSessionService : Service, + public class VerificationSessionService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/InvoiceItems/InvoiceItemCreateOptions.cs b/src/Stripe.net/Services/InvoiceItems/InvoiceItemCreateOptions.cs index 117355e7f9..9fbe8ceaed 100644 --- a/src/Stripe.net/Services/InvoiceItems/InvoiceItemCreateOptions.cs +++ b/src/Stripe.net/Services/InvoiceItems/InvoiceItemCreateOptions.cs @@ -119,23 +119,23 @@ public class InvoiceItemCreateOptions : BaseOptions, IHasMetadata public InvoiceItemPeriodOptions Period { get; set; } /// - /// The ID of the price object. One of price or price_data is required. + /// Data used to generate a new Price + /// object inline. /// - [JsonProperty("price")] + [JsonProperty("price_data")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("price")] + [STJS.JsonPropertyName("price_data")] #endif - public string Price { get; set; } + public InvoiceItemPriceDataOptions PriceData { get; set; } /// - /// Data used to generate a new Price - /// object inline. One of price or price_data is required. + /// The pricing information for the invoice item. /// - [JsonProperty("price_data")] + [JsonProperty("pricing")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("price_data")] + [STJS.JsonPropertyName("pricing")] #endif - public InvoiceItemPriceDataOptions PriceData { get; set; } + public InvoiceItemPricingOptions Pricing { get; set; } /// /// Non-negative integer. The quantity of units for the invoice item. @@ -194,21 +194,10 @@ public class InvoiceItemCreateOptions : BaseOptions, IHasMetadata public List TaxRates { get; set; } /// - /// The integer unit amount in cents (or local equivalent) of the charge to be applied to - /// the upcoming invoice. This unit_amount will be multiplied by the quantity to get - /// the full amount. Passing in a negative unit_amount will reduce the - /// amount_due on the invoice. - /// - [JsonProperty("unit_amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("unit_amount")] -#endif - public long? UnitAmount { get; set; } - - /// - /// Same as unit_amount, but accepts a decimal value in cents (or local equivalent) - /// with at most 12 decimal places. Only one of unit_amount and - /// unit_amount_decimal can be set. + /// The decimal unit amount in cents (or local equivalent) of the charge to be applied to + /// the upcoming invoice. This unit_amount_decimal will be multiplied by the quantity + /// to get the full amount. Passing in a negative unit_amount_decimal will reduce the + /// amount_due on the invoice. Accepts at most 12 decimal places. /// [JsonProperty("unit_amount_decimal")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/InvoiceItems/InvoiceItemPriceDataOptions.cs b/src/Stripe.net/Services/InvoiceItems/InvoiceItemPriceDataOptions.cs index d6ff6cb3a6..3342f8edb1 100644 --- a/src/Stripe.net/Services/InvoiceItems/InvoiceItemPriceDataOptions.cs +++ b/src/Stripe.net/Services/InvoiceItems/InvoiceItemPriceDataOptions.cs @@ -20,7 +20,8 @@ public class InvoiceItemPriceDataOptions : INestedOptions public string Currency { get; set; } /// - /// The ID of the product that this price will belong to. + /// The ID of the Product that this Price will belong to. /// [JsonProperty("product")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/InvoiceItems/InvoiceItemPricingOptions.cs b/src/Stripe.net/Services/InvoiceItems/InvoiceItemPricingOptions.cs new file mode 100644 index 0000000000..fb7edfc84a --- /dev/null +++ b/src/Stripe.net/Services/InvoiceItems/InvoiceItemPricingOptions.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 InvoiceItemPricingOptions : INestedOptions + { + /// + /// The ID of the price object. + /// + [JsonProperty("price")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] +#endif + public string Price { get; set; } + } +} diff --git a/src/Stripe.net/Services/InvoiceItems/InvoiceItemService.cs b/src/Stripe.net/Services/InvoiceItems/InvoiceItemService.cs index 36f0ee3a32..9acb2fe2f1 100644 --- a/src/Stripe.net/Services/InvoiceItems/InvoiceItemService.cs +++ b/src/Stripe.net/Services/InvoiceItems/InvoiceItemService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class InvoiceItemService : Service, + public class InvoiceItemService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/InvoiceItems/InvoiceItemUpdateOptions.cs b/src/Stripe.net/Services/InvoiceItems/InvoiceItemUpdateOptions.cs index 391c7b0d51..2961924569 100644 --- a/src/Stripe.net/Services/InvoiceItems/InvoiceItemUpdateOptions.cs +++ b/src/Stripe.net/Services/InvoiceItems/InvoiceItemUpdateOptions.cs @@ -89,23 +89,23 @@ public class InvoiceItemUpdateOptions : BaseOptions, IHasMetadata public InvoiceItemPeriodOptions Period { get; set; } /// - /// The ID of the price object. One of price or price_data is required. + /// Data used to generate a new Price + /// object inline. /// - [JsonProperty("price")] + [JsonProperty("price_data")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("price")] + [STJS.JsonPropertyName("price_data")] #endif - public string Price { get; set; } + public InvoiceItemPriceDataOptions PriceData { get; set; } /// - /// Data used to generate a new Price - /// object inline. One of price or price_data is required. + /// The pricing information for the invoice item. /// - [JsonProperty("price_data")] + [JsonProperty("pricing")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("price_data")] + [STJS.JsonPropertyName("pricing")] #endif - public InvoiceItemPriceDataOptions PriceData { get; set; } + public InvoiceItemPricingOptions Pricing { get; set; } /// /// Non-negative integer. The quantity of units for the invoice item. @@ -152,21 +152,10 @@ public class InvoiceItemUpdateOptions : BaseOptions, IHasMetadata public List TaxRates { get; set; } /// - /// The integer unit amount in cents (or local equivalent) of the charge to be applied to - /// the upcoming invoice. This unit_amount will be multiplied by the quantity to get the - /// full amount. If you want to apply a credit to the customer's account, pass a negative - /// unit_amount. - /// - [JsonProperty("unit_amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("unit_amount")] -#endif - public long? UnitAmount { get; set; } - - /// - /// Same as unit_amount, but accepts a decimal value in cents (or local equivalent) - /// with at most 12 decimal places. Only one of unit_amount and - /// unit_amount_decimal can be set. + /// The decimal unit amount in cents (or local equivalent) of the charge to be applied to + /// the upcoming invoice. This unit_amount_decimal will be multiplied by the quantity + /// to get the full amount. Passing in a negative unit_amount_decimal will reduce the + /// amount_due on the invoice. Accepts at most 12 decimal places. /// [JsonProperty("unit_amount_decimal")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemPriceDataOptions.cs b/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemPriceDataOptions.cs index 53872b4991..9892e2bd2c 100644 --- a/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemPriceDataOptions.cs +++ b/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemPriceDataOptions.cs @@ -20,8 +20,9 @@ public class InvoiceLineItemPriceDataOptions : INestedOptions public string Currency { get; set; } /// - /// The ID of the product that this price will belong to. One of product or - /// product_data is required. + /// The ID of the Product that this Price will belong to. One of + /// product or product_data is required. /// [JsonProperty("product")] #if NET6_0_OR_GREATER @@ -30,8 +31,8 @@ public class InvoiceLineItemPriceDataOptions : INestedOptions public string Product { get; set; } /// - /// Data used to generate a new product object inline. One of product or - /// product_data is required. + /// Data used to generate a new Product + /// object inline. One of product or product_data is required. /// [JsonProperty("product_data")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemPricingOptions.cs b/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemPricingOptions.cs new file mode 100644 index 0000000000..b14ac9bba5 --- /dev/null +++ b/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemPricingOptions.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 InvoiceLineItemPricingOptions : INestedOptions + { + /// + /// The ID of the price object. + /// + [JsonProperty("price")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] +#endif + public string Price { get; set; } + } +} diff --git a/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemService.cs b/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemService.cs index 5ebf6494c7..49c2cb93f7 100644 --- a/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemService.cs +++ b/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class InvoiceLineItemService : ServiceNested, + public class InvoiceLineItemService : Service, INestedListable, INestedUpdatable { diff --git a/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemTaxAmountOptions.cs b/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemTaxAmountOptions.cs index 7d668a5ec6..ede7173b4c 100644 --- a/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemTaxAmountOptions.cs +++ b/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemTaxAmountOptions.cs @@ -32,6 +32,20 @@ public class InvoiceLineItemTaxAmountOptions : INestedOptions #endif public InvoiceLineItemTaxAmountTaxRateDataOptions TaxRateData { get; set; } + /// + /// The reasoning behind this tax, for example, if the product is tax exempt. + /// One of: customer_exempt, not_collecting, not_subject_to_tax, + /// not_supported, portion_product_exempt, portion_reduced_rated, + /// portion_standard_rated, product_exempt, product_exempt_holiday, + /// proportionally_rated, reduced_rated, reverse_charge, + /// standard_rated, taxable_basis_reduced, or zero_rated. + /// + [JsonProperty("taxability_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxability_reason")] +#endif + public string TaxabilityReason { get; set; } + /// /// The amount on which tax is calculated, in cents (or local equivalent). /// diff --git a/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemTaxAmountTaxRateDataOptions.cs b/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemTaxAmountTaxRateDataOptions.cs index 8ac630e2a7..94deda8982 100644 --- a/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemTaxAmountTaxRateDataOptions.cs +++ b/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemTaxAmountTaxRateDataOptions.cs @@ -56,6 +56,17 @@ public class InvoiceLineItemTaxAmountTaxRateDataOptions : INestedOptions #endif public string Jurisdiction { get; set; } + /// + /// The level of the jurisdiction that imposes this tax rate. + /// One of: city, country, county, district, multiple, or + /// state. + /// + [JsonProperty("jurisdiction_level")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("jurisdiction_level")] +#endif + public string JurisdictionLevel { get; set; } + /// /// The statutory tax rate percent. This field accepts decimal values between 0 and 100 /// inclusive with at most 4 decimal places. To accommodate fixed-amount taxes, set the diff --git a/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemUpdateOptions.cs b/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemUpdateOptions.cs index de4f1c0023..d4f2ff4ac0 100644 --- a/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemUpdateOptions.cs +++ b/src/Stripe.net/Services/InvoiceLineItems/InvoiceLineItemUpdateOptions.cs @@ -94,23 +94,23 @@ public class InvoiceLineItemUpdateOptions : BaseOptions, IHasMetadata public InvoiceLineItemPeriodOptions Period { get; set; } /// - /// The ID of the price object. One of price or price_data is required. + /// Data used to generate a new Price + /// object inline. /// - [JsonProperty("price")] + [JsonProperty("price_data")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("price")] + [STJS.JsonPropertyName("price_data")] #endif - public string Price { get; set; } + public InvoiceLineItemPriceDataOptions PriceData { get; set; } /// - /// Data used to generate a new Price - /// object inline. One of price or price_data is required. + /// The pricing information for the invoice item. /// - [JsonProperty("price_data")] + [JsonProperty("pricing")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("price_data")] + [STJS.JsonPropertyName("pricing")] #endif - public InvoiceLineItemPriceDataOptions PriceData { get; set; } + public InvoiceLineItemPricingOptions Pricing { get; set; } /// /// Non-negative integer. The quantity of units for the line item. diff --git a/src/Stripe.net/Services/InvoicePayments/InvoicePaymentService.cs b/src/Stripe.net/Services/InvoicePayments/InvoicePaymentService.cs index 7782a803ac..f74611d50c 100644 --- a/src/Stripe.net/Services/InvoicePayments/InvoicePaymentService.cs +++ b/src/Stripe.net/Services/InvoicePayments/InvoicePaymentService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class InvoicePaymentService : ServiceNested, + public class InvoicePaymentService : Service, INestedListable, INestedRetrievable { diff --git a/src/Stripe.net/Services/InvoiceRenderingTemplates/InvoiceRenderingTemplateService.cs b/src/Stripe.net/Services/InvoiceRenderingTemplates/InvoiceRenderingTemplateService.cs index df34c6f878..83020d88b1 100644 --- a/src/Stripe.net/Services/InvoiceRenderingTemplates/InvoiceRenderingTemplateService.cs +++ b/src/Stripe.net/Services/InvoiceRenderingTemplates/InvoiceRenderingTemplateService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class InvoiceRenderingTemplateService : Service, + public class InvoiceRenderingTemplateService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Invoices/InvoiceCreatePreviewOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceCreatePreviewOptions.cs index 5ed03820e4..d11a9e2287 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceCreatePreviewOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceCreatePreviewOptions.cs @@ -18,17 +18,6 @@ public class InvoiceCreatePreviewOptions : BaseOptions #endif public InvoiceAutomaticTaxOptions AutomaticTax { get; set; } - /// - /// The ID of the coupon to apply to this phase of the subscription schedule. This field has - /// been deprecated and will be removed in a future API version. Use discounts - /// instead. - /// - [JsonProperty("coupon")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("coupon")] -#endif - public string Coupon { get; set; } - /// /// The currency to preview this invoice in. Defaults to that of customer if not /// specified. diff --git a/src/Stripe.net/Services/Invoices/InvoiceLineOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceLineOptions.cs index 46339aba03..fbb16900bb 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceLineOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceLineOptions.cs @@ -124,23 +124,23 @@ public class InvoiceLineOptions : INestedOptions, IHasMetadata, IHasId public InvoiceLinePeriodOptions Period { get; set; } /// - /// The ID of the price object. One of price or price_data is required. + /// Data used to generate a new Price + /// object inline. /// - [JsonProperty("price")] + [JsonProperty("price_data")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("price")] + [STJS.JsonPropertyName("price_data")] #endif - public string Price { get; set; } + public InvoiceLinePriceDataOptions PriceData { get; set; } /// - /// Data used to generate a new Price - /// object inline. One of price or price_data is required. + /// The pricing information for the invoice item. /// - [JsonProperty("price_data")] + [JsonProperty("pricing")] #if NET6_0_OR_GREATER - [STJS.JsonPropertyName("price_data")] + [STJS.JsonPropertyName("pricing")] #endif - public InvoiceLinePriceDataOptions PriceData { get; set; } + public InvoiceLinePricingOptions Pricing { get; set; } /// /// Non-negative integer. The quantity of units for the line item. diff --git a/src/Stripe.net/Services/Invoices/InvoiceLinePriceDataOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceLinePriceDataOptions.cs index 59ffe78936..f6150f0846 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceLinePriceDataOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceLinePriceDataOptions.cs @@ -20,8 +20,9 @@ public class InvoiceLinePriceDataOptions : INestedOptions public string Currency { get; set; } /// - /// The ID of the product that this price will belong to. One of product or - /// product_data is required. + /// The ID of the Product that this Price will belong to. One of + /// product or product_data is required. /// [JsonProperty("product")] #if NET6_0_OR_GREATER @@ -30,8 +31,8 @@ public class InvoiceLinePriceDataOptions : INestedOptions public string Product { get; set; } /// - /// Data used to generate a new product object inline. One of product or - /// product_data is required. + /// Data used to generate a new Product + /// object inline. One of product or product_data is required. /// [JsonProperty("product_data")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Invoices/InvoiceLinePricingOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceLinePricingOptions.cs new file mode 100644 index 0000000000..78f2b8d91d --- /dev/null +++ b/src/Stripe.net/Services/Invoices/InvoiceLinePricingOptions.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 InvoiceLinePricingOptions : INestedOptions + { + /// + /// The ID of the price object. + /// + [JsonProperty("price")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] +#endif + public string Price { get; set; } + } +} diff --git a/src/Stripe.net/Services/Invoices/InvoiceLineTaxAmountOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceLineTaxAmountOptions.cs index d43d4e39d3..86c6683de5 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceLineTaxAmountOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceLineTaxAmountOptions.cs @@ -32,6 +32,20 @@ public class InvoiceLineTaxAmountOptions : INestedOptions #endif public InvoiceLineTaxAmountTaxRateDataOptions TaxRateData { get; set; } + /// + /// The reasoning behind this tax, for example, if the product is tax exempt. + /// One of: customer_exempt, not_collecting, not_subject_to_tax, + /// not_supported, portion_product_exempt, portion_reduced_rated, + /// portion_standard_rated, product_exempt, product_exempt_holiday, + /// proportionally_rated, reduced_rated, reverse_charge, + /// standard_rated, taxable_basis_reduced, or zero_rated. + /// + [JsonProperty("taxability_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("taxability_reason")] +#endif + public string TaxabilityReason { get; set; } + /// /// The amount on which tax is calculated, in cents (or local equivalent). /// diff --git a/src/Stripe.net/Services/Invoices/InvoiceLineTaxAmountTaxRateDataOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceLineTaxAmountTaxRateDataOptions.cs index 55fcef3c83..019e5f864b 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceLineTaxAmountTaxRateDataOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceLineTaxAmountTaxRateDataOptions.cs @@ -56,6 +56,17 @@ public class InvoiceLineTaxAmountTaxRateDataOptions : INestedOptions #endif public string Jurisdiction { get; set; } + /// + /// The level of the jurisdiction that imposes this tax rate. + /// One of: city, country, county, district, multiple, or + /// state. + /// + [JsonProperty("jurisdiction_level")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("jurisdiction_level")] +#endif + public string JurisdictionLevel { get; set; } + /// /// The statutory tax rate percent. This field accepts decimal values between 0 and 100 /// inclusive with at most 4 decimal places. To accommodate fixed-amount taxes, set the diff --git a/src/Stripe.net/Services/Invoices/InvoicePaymentSettingsOptions.cs b/src/Stripe.net/Services/Invoices/InvoicePaymentSettingsOptions.cs index 76a140f42e..acd73bf694 100644 --- a/src/Stripe.net/Services/Invoices/InvoicePaymentSettingsOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoicePaymentSettingsOptions.cs @@ -40,11 +40,11 @@ public class InvoicePaymentSettingsOptions : INestedOptions /// amazon_pay, au_becs_debit, bacs_debit, bancontact, /// boleto, card, cashapp, custom, customer_balance, /// eps, fpx, giropay, grabpay, id_bank_transfer, - /// ideal, jp_credit_transfer, kakao_pay, konbini, - /// kr_card, link, multibanco, naver_pay, p24, - /// payco, paynow, paypal, promptpay, revolut_pay, - /// sepa_credit_transfer, sepa_debit, sofort, swish, - /// us_bank_account, or wechat_pay. + /// ideal, jp_credit_transfer, kakao_pay, klarna, + /// konbini, kr_card, link, multibanco, naver_pay, + /// nz_bank_account, p24, payco, paynow, paypal, + /// promptpay, revolut_pay, sepa_credit_transfer, sepa_debit, + /// sofort, swish, us_bank_account, or wechat_pay. /// [JsonProperty("payment_method_types")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseAddInvoiceItemPriceDataOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseAddInvoiceItemPriceDataOptions.cs index 2562255d4a..8580a64dfe 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseAddInvoiceItemPriceDataOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseAddInvoiceItemPriceDataOptions.cs @@ -20,7 +20,8 @@ public class InvoiceScheduleDetailsPhaseAddInvoiceItemPriceDataOptions : INested public string Currency { get; set; } /// - /// The ID of the product that this price will belong to. + /// The ID of the Product that this Price will belong to. /// [JsonProperty("product")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseBillingThresholdsOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseBillingThresholdsOptions.cs deleted file mode 100644 index 56ad07b4f5..0000000000 --- a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseBillingThresholdsOptions.cs +++ /dev/null @@ -1,31 +0,0 @@ -// 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 InvoiceScheduleDetailsPhaseBillingThresholdsOptions : INestedOptions - { - /// - /// Monetary threshold that triggers the subscription to advance to a new billing period. - /// - [JsonProperty("amount_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount_gte")] -#endif - public long? AmountGte { get; set; } - - /// - /// Indicates if the billing_cycle_anchor should be reset when a threshold is - /// reached. If true, billing_cycle_anchor will be updated to the date/time the - /// threshold was last reached; otherwise, the value will remain unchanged. - /// - [JsonProperty("reset_billing_cycle_anchor")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("reset_billing_cycle_anchor")] -#endif - public bool? ResetBillingCycleAnchor { get; set; } - } -} diff --git a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseItemBillingThresholdsOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseItemBillingThresholdsOptions.cs deleted file mode 100644 index d7b15b3f94..0000000000 --- a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseItemBillingThresholdsOptions.cs +++ /dev/null @@ -1,23 +0,0 @@ -// 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 InvoiceScheduleDetailsPhaseItemBillingThresholdsOptions : INestedOptions - { - /// - /// Number of units that meets the billing threshold to advance the subscription to a new - /// billing period (e.g., it takes 10 $5 units to meet a $50 monetary - /// threshold). - /// - [JsonProperty("usage_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("usage_gte")] -#endif - public long? UsageGte { get; set; } - } -} diff --git a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseItemOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseItemOptions.cs index bfc8590f90..5c98788659 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseItemOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseItemOptions.cs @@ -9,17 +9,6 @@ namespace Stripe public class InvoiceScheduleDetailsPhaseItemOptions : INestedOptions, IHasMetadata { - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. When updating, pass an empty string to remove previously-defined - /// thresholds. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public InvoiceScheduleDetailsPhaseItemBillingThresholdsOptions BillingThresholds { get; set; } - /// /// The coupons to redeem into discounts for the subscription item. /// diff --git a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseItemPriceDataOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseItemPriceDataOptions.cs index a5334993d4..a4a9b59285 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseItemPriceDataOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseItemPriceDataOptions.cs @@ -20,7 +20,8 @@ public class InvoiceScheduleDetailsPhaseItemPriceDataOptions : INestedOptions public string Currency { get; set; } /// - /// The ID of the product that this price will belong to. + /// The ID of the Product that this Price will belong to. /// [JsonProperty("product")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseOptions.cs index 4eca08c284..a6e85207a8 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseOptions.cs @@ -58,16 +58,6 @@ public class InvoiceScheduleDetailsPhaseOptions : INestedOptions, IHasMetadata #endif public string BillingCycleAnchor { get; set; } - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. Pass an empty string to remove previously-defined thresholds. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public InvoiceScheduleDetailsPhaseBillingThresholdsOptions BillingThresholds { get; set; } - /// /// Either charge_automatically, or send_invoice. When charging automatically, /// Stripe will attempt to pay the underlying subscription at the end of each billing cycle @@ -82,17 +72,6 @@ public class InvoiceScheduleDetailsPhaseOptions : INestedOptions, IHasMetadata #endif public string CollectionMethod { get; set; } - /// - /// The ID of the coupon to apply to this phase of the subscription schedule. This field has - /// been deprecated and will be removed in a future API version. Use discounts - /// instead. - /// - [JsonProperty("coupon")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("coupon")] -#endif - public string Coupon { get; set; } - /// /// Three-letter ISO currency /// code, in lowercase. Must be a supported diff --git a/src/Stripe.net/Services/Invoices/InvoiceService.cs b/src/Stripe.net/Services/Invoices/InvoiceService.cs index a55d9a1796..f52b67339f 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceService.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public partial class InvoiceService : Service, + public partial class InvoiceService : Service, ICreatable, IDeletable, IListable, @@ -459,104 +459,6 @@ public virtual Task SendInvoiceAsync(string id, InvoiceSendOptions opti return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v1/invoices/{WebUtility.UrlEncode(id)}/send", options, requestOptions, cancellationToken); } - /// - ///

At any time, you can preview the upcoming invoice for a customer. This will show you - /// all the charges that are pending, including subscription renewal charges, invoice item - /// charges, etc. It will also show you any discounts that are applicable to the - /// invoice.

. - /// - ///

Note that when you are viewing an upcoming invoice, you are simply viewing a preview - /// – the invoice has not yet been created. As such, the upcoming invoice will not show up - /// in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you - /// want to change the amount that your customer will be billed, you can add, remove, or - /// update pending invoice items, or update the customer’s discount.

. - /// - ///

You can preview the effects of updating a subscription, including a preview of what - /// proration will take place. To ensure that the actual proration is calculated exactly the - /// same as the previewed proration, you should pass the - /// subscription_details.proration_date parameter when doing the actual subscription - /// update. The recommended way to get only the prorations being previewed is to consider - /// only proration line items where period[start] is equal to the - /// subscription_details.proration_date value passed in the request.

. - /// - ///

Note: Currency conversion calculations use the latest exchange rates. Exchange rates - /// may vary between the time of the preview and the time of the actual invoice creation. Learn more

. - ///
- public virtual Invoice Upcoming(UpcomingInvoiceOptions options = null, RequestOptions requestOptions = null) - { - return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v1/invoices/upcoming", options, requestOptions); - } - - /// - ///

At any time, you can preview the upcoming invoice for a customer. This will show you - /// all the charges that are pending, including subscription renewal charges, invoice item - /// charges, etc. It will also show you any discounts that are applicable to the - /// invoice.

. - /// - ///

Note that when you are viewing an upcoming invoice, you are simply viewing a preview - /// – the invoice has not yet been created. As such, the upcoming invoice will not show up - /// in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you - /// want to change the amount that your customer will be billed, you can add, remove, or - /// update pending invoice items, or update the customer’s discount.

. - /// - ///

You can preview the effects of updating a subscription, including a preview of what - /// proration will take place. To ensure that the actual proration is calculated exactly the - /// same as the previewed proration, you should pass the - /// subscription_details.proration_date parameter when doing the actual subscription - /// update. The recommended way to get only the prorations being previewed is to consider - /// only proration line items where period[start] is equal to the - /// subscription_details.proration_date value passed in the request.

. - /// - ///

Note: Currency conversion calculations use the latest exchange rates. Exchange rates - /// may vary between the time of the preview and the time of the actual invoice creation. Learn more

. - ///
- public virtual Task UpcomingAsync(UpcomingInvoiceOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v1/invoices/upcoming", options, requestOptions, cancellationToken); - } - - /// - ///

When retrieving an upcoming invoice, you’ll get a lines property - /// containing the total count of line items and the first handful of those items. There is - /// also a URL where you can retrieve the full (paginated) list of line items.

. - ///
- public virtual StripeList UpcomingLines(InvoiceUpcomingLinesOptions options = null, RequestOptions requestOptions = null) - { - return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v1/invoices/upcoming/lines", options, requestOptions); - } - - /// - ///

When retrieving an upcoming invoice, you’ll get a lines property - /// containing the total count of line items and the first handful of those items. There is - /// also a URL where you can retrieve the full (paginated) list of line items.

. - ///
- public virtual Task> UpcomingLinesAsync(InvoiceUpcomingLinesOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v1/invoices/upcoming/lines", options, requestOptions, cancellationToken); - } - - /// - ///

When retrieving an upcoming invoice, you’ll get a lines property - /// containing the total count of line items and the first handful of those items. There is - /// also a URL where you can retrieve the full (paginated) list of line items.

. - ///
- public virtual IEnumerable UpcomingLinesAutoPaging(InvoiceUpcomingLinesOptions options = null, RequestOptions requestOptions = null) - { - return this.ListRequestAutoPaging($"/v1/invoices/upcoming/lines", options, requestOptions); - } - - /// - ///

When retrieving an upcoming invoice, you’ll get a lines property - /// containing the total count of line items and the first handful of those items. There is - /// also a URL where you can retrieve the full (paginated) list of line items.

. - ///
- public virtual IAsyncEnumerable UpcomingLinesAutoPagingAsync(InvoiceUpcomingLinesOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.ListRequestAutoPagingAsync($"/v1/invoices/upcoming/lines", options, requestOptions, cancellationToken); - } - /// ///

Draft invoices are fully editable. Once an invoice is finalized, diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsCancelAt.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsCancelAt.cs new file mode 100644 index 0000000000..8b4a32fefc --- /dev/null +++ b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsCancelAt.cs @@ -0,0 +1,13 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class InvoiceSubscriptionDetailsCancelAt : StringEnum + { + public static readonly InvoiceSubscriptionDetailsCancelAt MinPeriodEnd = new InvoiceSubscriptionDetailsCancelAt("min_period_end"); + + private InvoiceSubscriptionDetailsCancelAt(string value) + : base(value) + { + } + } +} diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsItemBillingThresholdsOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsItemBillingThresholdsOptions.cs deleted file mode 100644 index 442591b03f..0000000000 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsItemBillingThresholdsOptions.cs +++ /dev/null @@ -1,23 +0,0 @@ -// 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 InvoiceSubscriptionDetailsItemBillingThresholdsOptions : INestedOptions - { - ///

- /// Number of units that meets the billing threshold to advance the subscription to a new - /// billing period (e.g., it takes 10 $5 units to meet a $50 monetary - /// threshold). - /// - [JsonProperty("usage_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("usage_gte")] -#endif - public long? UsageGte { get; set; } - } -} diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsItemOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsItemOptions.cs index 2b7287608a..4044aabca0 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsItemOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsItemOptions.cs @@ -9,17 +9,6 @@ namespace Stripe public class InvoiceSubscriptionDetailsItemOptions : INestedOptions, IHasId, IHasMetadata { - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. When updating, pass an empty string to remove previously-defined - /// thresholds. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public InvoiceSubscriptionDetailsItemBillingThresholdsOptions BillingThresholds { get; set; } - /// /// Delete all usage for a given subscription item. You must pass this when deleting a usage /// records subscription item. clear_usage has no effect if the plan has a billing diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsItemPriceDataOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsItemPriceDataOptions.cs index f9a434ac3c..ffd627552a 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsItemPriceDataOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsItemPriceDataOptions.cs @@ -20,7 +20,8 @@ public class InvoiceSubscriptionDetailsItemPriceDataOptions : INestedOptions public string Currency { get; set; } /// - /// The ID of the product that this price will belong to. + /// The ID of the Product that this Price will belong to. /// [JsonProperty("product")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsOptions.cs index 1932643977..309b35621d 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsOptions.cs @@ -33,12 +33,12 @@ public class InvoiceSubscriptionDetailsOptions : INestedOptions /// proration for that period. /// [JsonProperty("cancel_at")] - [JsonConverter(typeof(UnixDateTimeConverter))] + [JsonConverter(typeof(AnyOfConverter))] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("cancel_at")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] + [STJS.JsonConverter(typeof(STJAnyOfConverter))] #endif - public DateTime? CancelAt { get; set; } + public AnyOf CancelAt { get; set; } /// /// Indicate whether this subscription should cancel at the end of the current period diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemBillingThresholdsOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemBillingThresholdsOptions.cs deleted file mode 100644 index 283c4f89ac..0000000000 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemBillingThresholdsOptions.cs +++ /dev/null @@ -1,23 +0,0 @@ -// 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 InvoiceSubscriptionItemBillingThresholdsOptions : INestedOptions - { - /// - /// Number of units that meets the billing threshold to advance the subscription to a new - /// billing period (e.g., it takes 10 $5 units to meet a $50 monetary - /// threshold). - /// - [JsonProperty("usage_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("usage_gte")] -#endif - public long? UsageGte { get; set; } - } -} diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemDiscountDiscountEndDurationOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemDiscountDiscountEndDurationOptions.cs deleted file mode 100644 index af3376c5a9..0000000000 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemDiscountDiscountEndDurationOptions.cs +++ /dev/null @@ -1,32 +0,0 @@ -// 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 InvoiceSubscriptionItemDiscountDiscountEndDurationOptions : INestedOptions - { - /// - /// Specifies a type of interval unit. Either day, week, month or - /// year. - /// One of: day, month, week, or year. - /// - [JsonProperty("interval")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("interval")] -#endif - public string Interval { get; set; } - - /// - /// The number of intervals, as an whole number greater than 0. Stripe multiplies this by - /// the interval type to get the overall duration. - /// - [JsonProperty("interval_count")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("interval_count")] -#endif - public long? IntervalCount { get; set; } - } -} diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemDiscountDiscountEndOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemDiscountDiscountEndOptions.cs deleted file mode 100644 index 2442c5d87a..0000000000 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemDiscountDiscountEndOptions.cs +++ /dev/null @@ -1,43 +0,0 @@ -// 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 InvoiceSubscriptionItemDiscountDiscountEndOptions : INestedOptions - { - /// - /// Time span for the redeemed discount. - /// - [JsonProperty("duration")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("duration")] -#endif - public InvoiceSubscriptionItemDiscountDiscountEndDurationOptions Duration { get; set; } - - /// - /// A precise Unix timestamp for the discount to end. Must be in the future. - /// - [JsonProperty("timestamp")] - [JsonConverter(typeof(UnixDateTimeConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("timestamp")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] -#endif - public DateTime? Timestamp { get; set; } - - /// - /// The type of calculation made to determine when the discount ends. - /// One of: duration, or timestamp. - /// - [JsonProperty("type")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("type")] -#endif - public string Type { get; set; } - } -} diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemDiscountOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemDiscountOptions.cs deleted file mode 100644 index 4b8ebd156c..0000000000 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemDiscountOptions.cs +++ /dev/null @@ -1,47 +0,0 @@ -// 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 InvoiceSubscriptionItemDiscountOptions : INestedOptions - { - /// - /// ID of the coupon to create a new discount for. - /// - [JsonProperty("coupon")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("coupon")] -#endif - public string Coupon { get; set; } - - /// - /// ID of an existing discount on the object (or one of its ancestors) to reuse. - /// - [JsonProperty("discount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("discount")] -#endif - public string Discount { get; set; } - - /// - /// Details to determine how long the discount should be applied for. - /// - [JsonProperty("discount_end")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("discount_end")] -#endif - public InvoiceSubscriptionItemDiscountDiscountEndOptions DiscountEnd { get; set; } - - /// - /// ID of the promotion code to create a new discount for. - /// - [JsonProperty("promotion_code")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("promotion_code")] -#endif - public string PromotionCode { get; set; } - } -} diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemOptions.cs deleted file mode 100644 index dabf0fd0aa..0000000000 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemOptions.cs +++ /dev/null @@ -1,125 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; -#if NET6_0_OR_GREATER - using STJS = System.Text.Json.Serialization; -#endif - - public class InvoiceSubscriptionItemOptions : INestedOptions, IHasId, IHasMetadata - { - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. When updating, pass an empty string to remove previously-defined - /// thresholds. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public InvoiceSubscriptionItemBillingThresholdsOptions BillingThresholds { get; set; } - - /// - /// Delete all usage for a given subscription item. You must pass this when deleting a usage - /// records subscription item. clear_usage has no effect if the plan has a billing - /// meter attached. - /// - [JsonProperty("clear_usage")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("clear_usage")] -#endif - public bool? ClearUsage { get; set; } - - /// - /// A flag that, if set to true, will delete the specified item. - /// - [JsonProperty("deleted")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("deleted")] -#endif - public bool? Deleted { get; set; } - - /// - /// The coupons to redeem into discounts for the subscription item. - /// - [JsonProperty("discounts")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("discounts")] -#endif - public List Discounts { get; set; } - - /// - /// Subscription item to update. - /// - [JsonProperty("id")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("id")] -#endif - public string Id { get; set; } - - /// - /// Set of key-value pairs that you can - /// attach to an object. This can be useful for storing additional information about the - /// object in a structured format. Individual keys can be unset by posting an empty value to - /// them. All keys can be unset by posting an empty value to metadata. - /// - [JsonProperty("metadata")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("metadata")] -#endif - public Dictionary Metadata { get; set; } - - /// - /// Plan ID for this item, as a string. - /// - [JsonProperty("plan")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("plan")] -#endif - public string Plan { get; set; } - - /// - /// The ID of the price object. One of price or price_data is required. When - /// changing a subscription item's price, quantity is set to 1 unless a - /// quantity parameter is provided. - /// - [JsonProperty("price")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("price")] -#endif - public string Price { get; set; } - - /// - /// Data used to generate a new Price - /// object inline. One of price or price_data is required. - /// - [JsonProperty("price_data")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("price_data")] -#endif - public InvoiceSubscriptionItemPriceDataOptions PriceData { get; set; } - - /// - /// Quantity for this item. - /// - [JsonProperty("quantity")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("quantity")] -#endif - public long? Quantity { get; set; } - - /// - /// A list of Tax Rate ids. These Tax - /// Rates will override the default_tax_rates - /// on the Subscription. When updating, pass an empty string to remove previously-defined - /// tax rates. - /// - [JsonProperty("tax_rates")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tax_rates")] -#endif - public List TaxRates { get; set; } - } -} diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemPriceDataOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemPriceDataOptions.cs deleted file mode 100644 index 840e48b7e4..0000000000 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemPriceDataOptions.cs +++ /dev/null @@ -1,76 +0,0 @@ -// 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 InvoiceSubscriptionItemPriceDataOptions : INestedOptions - { - /// - /// Three-letter ISO currency - /// code, in lowercase. Must be a supported - /// currency. - /// - [JsonProperty("currency")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("currency")] -#endif - public string Currency { get; set; } - - /// - /// The ID of the product that this price will belong to. - /// - [JsonProperty("product")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("product")] -#endif - public string Product { get; set; } - - /// - /// The recurring components of a price such as interval and interval_count. - /// - [JsonProperty("recurring")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("recurring")] -#endif - public InvoiceSubscriptionItemPriceDataRecurringOptions Recurring { get; set; } - - /// - /// Only required if a default - /// tax behavior was not provided in the Stripe Tax settings. Specifies whether the - /// price is considered inclusive of taxes or exclusive of taxes. One of inclusive, - /// exclusive, or unspecified. Once specified as either inclusive or - /// exclusive, it cannot be changed. - /// One of: exclusive, inclusive, or unspecified. - /// - [JsonProperty("tax_behavior")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("tax_behavior")] -#endif - public string TaxBehavior { get; set; } - - /// - /// A positive integer in cents (or local equivalent) (or 0 for a free price) representing - /// how much to charge. - /// - [JsonProperty("unit_amount")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("unit_amount")] -#endif - public long? UnitAmount { get; set; } - - /// - /// Same as unit_amount, but accepts a decimal value in cents (or local equivalent) - /// with at most 12 decimal places. Only one of unit_amount and - /// unit_amount_decimal can be set. - /// - [JsonProperty("unit_amount_decimal")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("unit_amount_decimal")] -#endif - public decimal? UnitAmountDecimal { get; set; } - } -} diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemPriceDataRecurringOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemPriceDataRecurringOptions.cs deleted file mode 100644 index 5abc22bad6..0000000000 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionItemPriceDataRecurringOptions.cs +++ /dev/null @@ -1,33 +0,0 @@ -// 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 InvoiceSubscriptionItemPriceDataRecurringOptions : INestedOptions - { - /// - /// Specifies billing frequency. Either day, week, month or - /// year. - /// One of: day, month, week, or year. - /// - [JsonProperty("interval")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("interval")] -#endif - public string Interval { get; set; } - - /// - /// The number of intervals between subscription billings. For example, - /// interval=month and interval_count=3 bills every 3 months. Maximum of three - /// years interval allowed (3 years, 36 months, or 156 weeks). - /// - [JsonProperty("interval_count")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("interval_count")] -#endif - public long? IntervalCount { get; set; } - } -} diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionPrebillingOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionPrebillingOptions.cs deleted file mode 100644 index 46bff0320f..0000000000 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionPrebillingOptions.cs +++ /dev/null @@ -1,20 +0,0 @@ -// 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 InvoiceSubscriptionPrebillingOptions : INestedOptions - { - /// - /// This is used to determine the number of billing cycles to prebill. - /// - [JsonProperty("iterations")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("iterations")] -#endif - public long? Iterations { get; set; } - } -} diff --git a/src/Stripe.net/Services/Invoices/InvoiceUpcomingLinesOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceUpcomingLinesOptions.cs deleted file mode 100644 index 76240379ce..0000000000 --- a/src/Stripe.net/Services/Invoices/InvoiceUpcomingLinesOptions.cs +++ /dev/null @@ -1,340 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - 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 InvoiceUpcomingLinesOptions : ListOptions - { - /// - /// Settings for automatic tax lookup for this invoice preview. - /// - [JsonProperty("automatic_tax")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("automatic_tax")] -#endif - public InvoiceAutomaticTaxOptions AutomaticTax { get; set; } - - /// - /// The ID of the coupon to apply to this phase of the subscription schedule. This field has - /// been deprecated and will be removed in a future API version. Use discounts - /// instead. - /// - [JsonProperty("coupon")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("coupon")] -#endif - public string Coupon { get; set; } - - /// - /// The currency to preview this invoice in. Defaults to that of customer if not - /// specified. - /// - [JsonProperty("currency")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("currency")] -#endif - public string Currency { get; set; } - - /// - /// The identifier of the customer whose upcoming invoice you'd like to retrieve. If - /// automatic_tax is enabled then one of customer, customer_details, - /// subscription, or schedule must be set. - /// - [JsonProperty("customer")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("customer")] -#endif - public string Customer { get; set; } - - /// - /// Details about the customer you want to invoice or overrides for an existing customer. If - /// automatic_tax is enabled then one of customer, customer_details, - /// subscription, or schedule must be set. - /// - [JsonProperty("customer_details")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("customer_details")] -#endif - public InvoiceCustomerDetailsOptions CustomerDetails { get; set; } - - /// - /// The coupons to redeem into discounts for the invoice preview. If not specified, inherits - /// the discount from the subscription or customer. This works for both coupons directly - /// applied to an invoice and coupons applied to a subscription. Pass an empty string to - /// avoid inheriting any discounts. - /// - [JsonProperty("discounts")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("discounts")] -#endif - public List Discounts { get; set; } - - /// - /// List of invoice items to add or update in the upcoming invoice preview (up to 250). - /// - [JsonProperty("invoice_items")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("invoice_items")] -#endif - public List InvoiceItems { get; set; } - - /// - /// The connected account that issues the invoice. The invoice is presented with the - /// branding and support information of the specified account. - /// - [JsonProperty("issuer")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("issuer")] -#endif - public InvoiceIssuerOptions Issuer { get; set; } - - /// - /// The account (if any) for which the funds of the invoice payment are intended. If set, - /// the invoice will be presented with the branding and support information of the specified - /// account. See the Invoices - /// with Connect documentation for details. - /// - [JsonProperty("on_behalf_of")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("on_behalf_of")] -#endif - public string OnBehalfOf { get; set; } - - /// - /// Customizes the types of values to include when calculating the invoice. Defaults to - /// next if unspecified. - /// One of: next, or recurring. - /// - [JsonProperty("preview_mode")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("preview_mode")] -#endif - public string PreviewMode { get; set; } - - /// - /// The identifier of the schedule whose upcoming invoice you'd like to retrieve. Cannot be - /// used with subscription or subscription fields. - /// - [JsonProperty("schedule")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("schedule")] -#endif - public string Schedule { get; set; } - - /// - /// The schedule creation or modification params to apply as a preview. Cannot be used with - /// subscription or subscription_ prefixed fields. - /// - [JsonProperty("schedule_details")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("schedule_details")] -#endif - public InvoiceScheduleDetailsOptions ScheduleDetails { get; set; } - - /// - /// The identifier of the subscription for which you'd like to retrieve the upcoming - /// invoice. If not provided, but a subscription_details.items is provided, you will - /// preview creating a subscription with those items. If neither subscription nor - /// subscription_details.items is provided, you will retrieve the next upcoming - /// invoice from among the customer's subscriptions. - /// - [JsonProperty("subscription")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription")] -#endif - public string Subscription { get; set; } - - /// - /// For new subscriptions, a future timestamp to anchor the subscription's billing cycle. This is - /// used to determine the date of the first full invoice, and, for plans with month - /// or year intervals, the day of the month for subsequent invoices. For existing - /// subscriptions, the value can only be set to now or unchanged. This field - /// has been deprecated and will be removed in a future API version. Use - /// subscription_details.billing_cycle_anchor instead. - /// - [JsonProperty("subscription_billing_cycle_anchor")] - [JsonConverter(typeof(AnyOfConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_billing_cycle_anchor")] - [STJS.JsonConverter(typeof(STJAnyOfConverter))] -#endif - public AnyOf SubscriptionBillingCycleAnchor { get; set; } - - /// - /// A timestamp at which the subscription should cancel. If set to a date before the current - /// period ends, this will cause a proration if prorations have been enabled using - /// proration_behavior. If set during a future period, this will always cause a - /// proration for that period. This field has been deprecated and will be removed in a - /// future API version. Use subscription_details.cancel_at instead. - /// - [JsonProperty("subscription_cancel_at")] - [JsonConverter(typeof(UnixDateTimeConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_cancel_at")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] -#endif - public DateTime? SubscriptionCancelAt { get; set; } - - /// - /// Indicate whether this subscription should cancel at the end of the current period - /// (current_period_end). Defaults to false. This field has been deprecated - /// and will be removed in a future API version. Use - /// subscription_details.cancel_at_period_end instead. - /// - [JsonProperty("subscription_cancel_at_period_end")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_cancel_at_period_end")] -#endif - public bool? SubscriptionCancelAtPeriodEnd { get; set; } - - /// - /// This simulates the subscription being canceled or expired immediately. This field has - /// been deprecated and will be removed in a future API version. Use - /// subscription_details.cancel_now instead. - /// - [JsonProperty("subscription_cancel_now")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_cancel_now")] -#endif - public bool? SubscriptionCancelNow { get; set; } - - /// - /// If provided, the invoice returned will preview updating or creating a subscription with - /// these default tax rates. The default tax rates will apply to any line item that does not - /// have tax_rates set. This field has been deprecated and will be removed in a - /// future API version. Use subscription_details.default_tax_rates instead. - /// - [JsonProperty("subscription_default_tax_rates")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_default_tax_rates")] -#endif - public List SubscriptionDefaultTaxRates { get; set; } - - /// - /// The subscription creation or modification params to apply as a preview. Cannot be used - /// with schedule or schedule_details fields. - /// - [JsonProperty("subscription_details")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_details")] -#endif - public InvoiceSubscriptionDetailsOptions SubscriptionDetails { get; set; } - - /// - /// A list of up to 20 subscription items, each with an attached price. This field has been - /// deprecated and will be removed in a future API version. Use - /// subscription_details.items instead. - /// - [JsonProperty("subscription_items")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_items")] -#endif - public List SubscriptionItems { get; set; } - - /// - /// The pre-billing to apply to the subscription as a preview. This field has been - /// deprecated and will be removed in a future API version. Use - /// subscription_details.prebilling instead. - /// - [JsonProperty("subscription_prebilling")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_prebilling")] -#endif - public InvoiceSubscriptionPrebillingOptions SubscriptionPrebilling { get; set; } - - /// - /// Determines how to handle prorations when the - /// billing cycle changes (e.g., when switching plans, resetting - /// billing_cycle_anchor=now, or starting a trial), or if an item's quantity - /// changes. The default value is create_prorations. This field has been deprecated - /// and will be removed in a future API version. Use - /// subscription_details.proration_behavior instead. - /// One of: always_invoice, create_prorations, or none. - /// - [JsonProperty("subscription_proration_behavior")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_proration_behavior")] -#endif - public string SubscriptionProrationBehavior { get; set; } - - /// - /// If previewing an update to a subscription, and doing proration, - /// subscription_proration_date forces the proration to be calculated as though the - /// update was done at the specified time. The time given must be within the current - /// subscription period and within the current phase of the schedule backing this - /// subscription, if the schedule exists. If set, subscription, and one of - /// subscription_items, or subscription_trial_end are required. Also, - /// subscription_proration_behavior cannot be set to 'none'. This field has been - /// deprecated and will be removed in a future API version. Use - /// subscription_details.proration_date instead. - /// - [JsonProperty("subscription_proration_date")] - [JsonConverter(typeof(UnixDateTimeConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_proration_date")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] -#endif - public DateTime? SubscriptionProrationDate { get; set; } - - /// - /// For paused subscriptions, setting subscription_resume_at to now will - /// preview the invoice that will be generated if the subscription is resumed. This field - /// has been deprecated and will be removed in a future API version. Use - /// subscription_details.resume_at instead. - /// - [JsonProperty("subscription_resume_at")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_resume_at")] -#endif - public string SubscriptionResumeAt { get; set; } - - /// - /// Date a subscription is intended to start (can be future or past). This field has been - /// deprecated and will be removed in a future API version. Use - /// subscription_details.start_date instead. - /// - [JsonProperty("subscription_start_date")] - [JsonConverter(typeof(UnixDateTimeConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_start_date")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] -#endif - public DateTime? SubscriptionStartDate { get; set; } - - /// - /// If provided, the invoice returned will preview updating or creating a subscription with - /// that trial end. If set, one of subscription_items or subscription is - /// required. This field has been deprecated and will be removed in a future API version. - /// Use subscription_details.trial_end instead. - /// - [JsonProperty("subscription_trial_end")] - [JsonConverter(typeof(AnyOfConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_trial_end")] - [STJS.JsonConverter(typeof(STJAnyOfConverter))] -#endif - public AnyOf SubscriptionTrialEnd { get; set; } - - /// - /// Indicates if a plan's trial_period_days should be applied to the subscription. - /// Setting subscription_trial_end per subscription is preferred, and this defaults - /// to false. Setting this flag to true together with - /// subscription_trial_end is not allowed. See Using trial periods on - /// subscriptions to learn more. - /// - [JsonProperty("subscription_trial_from_plan")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("subscription_trial_from_plan")] -#endif - public bool? SubscriptionTrialFromPlan { get; set; } - } -} diff --git a/src/Stripe.net/Services/Issuing/Authorizations/AuthorizationListOptions.cs b/src/Stripe.net/Services/Issuing/Authorizations/AuthorizationListOptions.cs index a0e07763ee..53f2fc576e 100644 --- a/src/Stripe.net/Services/Issuing/Authorizations/AuthorizationListOptions.cs +++ b/src/Stripe.net/Services/Issuing/Authorizations/AuthorizationListOptions.cs @@ -29,7 +29,7 @@ public class AuthorizationListOptions : ListOptionsWithCreated /// /// Only return authorizations with the given status. One of pending, closed, /// or reversed. - /// One of: closed, pending, or reversed. + /// One of: closed, expired, pending, or reversed. /// [JsonProperty("status")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Issuing/Authorizations/AuthorizationService.cs b/src/Stripe.net/Services/Issuing/Authorizations/AuthorizationService.cs index a4d9dfb091..1eb711bbfb 100644 --- a/src/Stripe.net/Services/Issuing/Authorizations/AuthorizationService.cs +++ b/src/Stripe.net/Services/Issuing/Authorizations/AuthorizationService.cs @@ -8,7 +8,7 @@ namespace Stripe.Issuing using System.Threading; using System.Threading.Tasks; - public class AuthorizationService : Service, + public class AuthorizationService : Service, IListable, IRetrievable, IUpdatable diff --git a/src/Stripe.net/Services/Issuing/Cardholders/CardholderService.cs b/src/Stripe.net/Services/Issuing/Cardholders/CardholderService.cs index bfa75de430..ce818896e6 100644 --- a/src/Stripe.net/Services/Issuing/Cardholders/CardholderService.cs +++ b/src/Stripe.net/Services/Issuing/Cardholders/CardholderService.cs @@ -8,7 +8,7 @@ namespace Stripe.Issuing using System.Threading; using System.Threading.Tasks; - public class CardholderService : Service, + public class CardholderService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Issuing/Cards/CardService.cs b/src/Stripe.net/Services/Issuing/Cards/CardService.cs index 5d42027467..c5b3055bf8 100644 --- a/src/Stripe.net/Services/Issuing/Cards/CardService.cs +++ b/src/Stripe.net/Services/Issuing/Cards/CardService.cs @@ -8,7 +8,7 @@ namespace Stripe.Issuing using System.Threading; using System.Threading.Tasks; - public class CardService : Service, + public class CardService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Issuing/CreditUnderwritingRecords/CreditUnderwritingRecordService.cs b/src/Stripe.net/Services/Issuing/CreditUnderwritingRecords/CreditUnderwritingRecordService.cs index 5d53d3fb71..db49d33166 100644 --- a/src/Stripe.net/Services/Issuing/CreditUnderwritingRecords/CreditUnderwritingRecordService.cs +++ b/src/Stripe.net/Services/Issuing/CreditUnderwritingRecords/CreditUnderwritingRecordService.cs @@ -8,7 +8,7 @@ namespace Stripe.Issuing using System.Threading; using System.Threading.Tasks; - public class CreditUnderwritingRecordService : Service, + public class CreditUnderwritingRecordService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Issuing/DisputeSettlementDetails/DisputeSettlementDetailService.cs b/src/Stripe.net/Services/Issuing/DisputeSettlementDetails/DisputeSettlementDetailService.cs index a111032d2d..2376d0f639 100644 --- a/src/Stripe.net/Services/Issuing/DisputeSettlementDetails/DisputeSettlementDetailService.cs +++ b/src/Stripe.net/Services/Issuing/DisputeSettlementDetails/DisputeSettlementDetailService.cs @@ -8,7 +8,7 @@ namespace Stripe.Issuing using System.Threading; using System.Threading.Tasks; - public class DisputeSettlementDetailService : Service, + public class DisputeSettlementDetailService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Issuing/Disputes/DisputeService.cs b/src/Stripe.net/Services/Issuing/Disputes/DisputeService.cs index cfe4dd8759..16746f0364 100644 --- a/src/Stripe.net/Services/Issuing/Disputes/DisputeService.cs +++ b/src/Stripe.net/Services/Issuing/Disputes/DisputeService.cs @@ -8,7 +8,7 @@ namespace Stripe.Issuing using System.Threading; using System.Threading.Tasks; - public class DisputeService : Service, + public class DisputeService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Issuing/FraudLiabilityDebits/FraudLiabilityDebitService.cs b/src/Stripe.net/Services/Issuing/FraudLiabilityDebits/FraudLiabilityDebitService.cs index d88cbf2ce0..1d75bf7fbf 100644 --- a/src/Stripe.net/Services/Issuing/FraudLiabilityDebits/FraudLiabilityDebitService.cs +++ b/src/Stripe.net/Services/Issuing/FraudLiabilityDebits/FraudLiabilityDebitService.cs @@ -8,7 +8,7 @@ namespace Stripe.Issuing using System.Threading; using System.Threading.Tasks; - public class FraudLiabilityDebitService : Service, + public class FraudLiabilityDebitService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Issuing/PersonalizationDesigns/PersonalizationDesignService.cs b/src/Stripe.net/Services/Issuing/PersonalizationDesigns/PersonalizationDesignService.cs index 9e554b3eca..6ae8624c5b 100644 --- a/src/Stripe.net/Services/Issuing/PersonalizationDesigns/PersonalizationDesignService.cs +++ b/src/Stripe.net/Services/Issuing/PersonalizationDesigns/PersonalizationDesignService.cs @@ -8,7 +8,7 @@ namespace Stripe.Issuing using System.Threading; using System.Threading.Tasks; - public class PersonalizationDesignService : Service, + public class PersonalizationDesignService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Issuing/PhysicalBundles/PhysicalBundleService.cs b/src/Stripe.net/Services/Issuing/PhysicalBundles/PhysicalBundleService.cs index 248aacff5a..5471eabd49 100644 --- a/src/Stripe.net/Services/Issuing/PhysicalBundles/PhysicalBundleService.cs +++ b/src/Stripe.net/Services/Issuing/PhysicalBundles/PhysicalBundleService.cs @@ -8,7 +8,7 @@ namespace Stripe.Issuing using System.Threading; using System.Threading.Tasks; - public class PhysicalBundleService : Service, + public class PhysicalBundleService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Issuing/Tokens/TokenService.cs b/src/Stripe.net/Services/Issuing/Tokens/TokenService.cs index 55fed08927..352e228e6a 100644 --- a/src/Stripe.net/Services/Issuing/Tokens/TokenService.cs +++ b/src/Stripe.net/Services/Issuing/Tokens/TokenService.cs @@ -8,7 +8,7 @@ namespace Stripe.Issuing using System.Threading; using System.Threading.Tasks; - public class TokenService : Service, + public class TokenService : Service, IListable, IRetrievable, IUpdatable diff --git a/src/Stripe.net/Services/Issuing/Transactions/TransactionService.cs b/src/Stripe.net/Services/Issuing/Transactions/TransactionService.cs index e1e80d2d9f..a2f36ce72f 100644 --- a/src/Stripe.net/Services/Issuing/Transactions/TransactionService.cs +++ b/src/Stripe.net/Services/Issuing/Transactions/TransactionService.cs @@ -8,7 +8,7 @@ namespace Stripe.Issuing using System.Threading; using System.Threading.Tasks; - public class TransactionService : Service, + public class TransactionService : Service, IListable, IRetrievable, IUpdatable diff --git a/src/Stripe.net/Services/Mandates/MandateService.cs b/src/Stripe.net/Services/Mandates/MandateService.cs index 8c52ee9fa4..1caec5ad91 100644 --- a/src/Stripe.net/Services/Mandates/MandateService.cs +++ b/src/Stripe.net/Services/Mandates/MandateService.cs @@ -7,7 +7,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class MandateService : Service, + public class MandateService : Service, IRetrievable { public MandateService() diff --git a/src/Stripe.net/Services/Margins/MarginService.cs b/src/Stripe.net/Services/Margins/MarginService.cs index d7cc472638..c695d41b54 100644 --- a/src/Stripe.net/Services/Margins/MarginService.cs +++ b/src/Stripe.net/Services/Margins/MarginService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class MarginService : Service, + public class MarginService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/OrderLineItems/OrderLineItemService.cs b/src/Stripe.net/Services/OrderLineItems/OrderLineItemService.cs index 6313578603..2964c0ad33 100644 --- a/src/Stripe.net/Services/OrderLineItems/OrderLineItemService.cs +++ b/src/Stripe.net/Services/OrderLineItems/OrderLineItemService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class OrderLineItemService : ServiceNested, + public class OrderLineItemService : Service, INestedListable { public OrderLineItemService() diff --git a/src/Stripe.net/Services/Orders/OrderLineItemOptions.cs b/src/Stripe.net/Services/Orders/OrderLineItemOptions.cs index f71c1e0ceb..dc410c9d04 100644 --- a/src/Stripe.net/Services/Orders/OrderLineItemOptions.cs +++ b/src/Stripe.net/Services/Orders/OrderLineItemOptions.cs @@ -37,7 +37,7 @@ public class OrderLineItemOptions : INestedOptions, IHasId public string Id { get; set; } /// - /// The ID of a Price to add to the Order. + /// The ID of a Price to add to the Order. /// /// The price parameter is an alternative to using the product parameter. If /// each of your products are sold at a single price, you can set @@ -55,12 +55,12 @@ public class OrderLineItemOptions : INestedOptions, IHasId /// Data used to generate a new Price object inline. /// /// The price_data parameter is an alternative to using the product or - /// price parameters. If you create products upfront and configure a + /// price parameters. If you create a Product upfront and configure a /// Product.default_price, pass the product parameter when creating a line - /// item. If you prefer not to define products upfront, or if you charge variable prices, + /// item. If you prefer not to define Products upfront, or if you charge variable prices, /// pass the price_data parameter to describe the price for this line item. /// - /// Each time you pass price_data we create a Price for the product. This Price is + /// Each time you pass price_data we create a Price for the Product. This Price is /// hidden in both the Dashboard and API lists and cannot be reused. /// [JsonProperty("price_data")] @@ -70,10 +70,10 @@ public class OrderLineItemOptions : INestedOptions, IHasId public OrderLineItemPriceDataOptions PriceData { get; set; } /// - /// The ID of a Product to add to the + /// The ID of a Product to add to the /// Order. /// - /// The product must have a default_price specified. Otherwise, specify the price by + /// The Product must have a default_price specified. Otherwise, specify the price by /// passing the price or price_data parameter. /// [JsonProperty("product")] @@ -83,7 +83,8 @@ public class OrderLineItemOptions : INestedOptions, IHasId public string Product { get; set; } /// - /// Defines a Product inline and adds it to the Order. + /// Defines a Product inline and adds it + /// to the Order. /// /// product_data is an alternative to the product parameter. If you created a /// Product upfront, use the product parameter to refer to the existing Product. But diff --git a/src/Stripe.net/Services/Orders/OrderLineItemPriceDataOptions.cs b/src/Stripe.net/Services/Orders/OrderLineItemPriceDataOptions.cs index 16737e221d..2df80a09e8 100644 --- a/src/Stripe.net/Services/Orders/OrderLineItemPriceDataOptions.cs +++ b/src/Stripe.net/Services/Orders/OrderLineItemPriceDataOptions.cs @@ -20,7 +20,8 @@ public class OrderLineItemPriceDataOptions : INestedOptions public string Currency { get; set; } /// - /// ID of the product this price belongs to. + /// ID of the Product this Price belongs to. /// /// Use this to implement a variable-pricing model in your integration. This is required if /// product_data is not specified. diff --git a/src/Stripe.net/Services/Orders/OrderService.cs b/src/Stripe.net/Services/Orders/OrderService.cs index 95577af8b7..dd86af40c6 100644 --- a/src/Stripe.net/Services/Orders/OrderService.cs +++ b/src/Stripe.net/Services/Orders/OrderService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class OrderService : Service, + public class OrderService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/PaymentAttemptRecords/PaymentAttemptRecordService.cs b/src/Stripe.net/Services/PaymentAttemptRecords/PaymentAttemptRecordService.cs index b52b26cf9f..09524ecd85 100644 --- a/src/Stripe.net/Services/PaymentAttemptRecords/PaymentAttemptRecordService.cs +++ b/src/Stripe.net/Services/PaymentAttemptRecords/PaymentAttemptRecordService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class PaymentAttemptRecordService : Service, + public class PaymentAttemptRecordService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentCaptureOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentCaptureOptions.cs index 7e2e3af1a2..448b828217 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentCaptureOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentCaptureOptions.cs @@ -11,8 +11,7 @@ public class PaymentIntentCaptureOptions : BaseOptions, IHasMetadata { /// /// The amount to capture from the PaymentIntent, which must be less than or equal to the - /// original amount. Any additional amount is automatically refunded. Defaults to the full - /// amount_capturable if it's not provided. + /// original amount. Defaults to the full amount_capturable if it's not provided. /// [JsonProperty("amount_to_capture")] #if NET6_0_OR_GREATER @@ -23,7 +22,7 @@ public class PaymentIntentCaptureOptions : BaseOptions, IHasMetadata /// /// The amount of the application fee (if any) that will be requested to be applied to the /// payment and transferred to the application owner's Stripe account. The amount of the - /// application fee collected will be capped at the total payment amount. For more + /// application fee collected will be capped at the total amount captured. For more /// information, see the PaymentIntents use case for connected /// accounts. diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentConfirmOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentConfirmOptions.cs index 1f22eb0a8c..8ee6bab586 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentConfirmOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentConfirmOptions.cs @@ -12,7 +12,7 @@ public class PaymentIntentConfirmOptions : BaseOptions /// /// The amount of the application fee (if any) that will be requested to be applied to the /// payment and transferred to the application owner's Stripe account. The amount of the - /// application fee collected will be capped at the total payment amount. For more + /// application fee collected will be capped at the total amount captured. For more /// information, see the PaymentIntents use case for connected /// accounts. diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentCreateOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentCreateOptions.cs index 81d8063ecd..d5369fd1a0 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentCreateOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentCreateOptions.cs @@ -28,7 +28,7 @@ public class PaymentIntentCreateOptions : BaseOptions, IHasMetadata /// /// The amount of the application fee (if any) that will be requested to be applied to the /// payment and transferred to the application owner's Stripe account. The amount of the - /// application fee collected will be capped at the total payment amount. For more + /// application fee collected will be capped at the total amount captured. For more /// information, see the PaymentIntents use case for connected /// accounts. diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentDecrementAuthorizationOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentDecrementAuthorizationOptions.cs index ba44f057af..2b7f245d5c 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentDecrementAuthorizationOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentDecrementAuthorizationOptions.cs @@ -23,7 +23,7 @@ public class PaymentIntentDecrementAuthorizationOptions : BaseOptions, IHasMetad /// /// The amount of the application fee (if any) that will be requested to be applied to the /// payment and transferred to the application owner's Stripe account. The amount of the - /// application fee collected will be capped at the total payment amount. For more + /// application fee collected will be capped at the total amount captured. For more /// information, see the PaymentIntents use case for connected /// accounts. diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentIncrementAuthorizationOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentIncrementAuthorizationOptions.cs index 1f022cfb32..0fbbcbffaa 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentIncrementAuthorizationOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentIncrementAuthorizationOptions.cs @@ -22,7 +22,7 @@ public class PaymentIntentIncrementAuthorizationOptions : BaseOptions, IHasMetad /// /// The amount of the application fee (if any) that will be requested to be applied to the /// payment and transferred to the application owner's Stripe account. The amount of the - /// application fee collected will be capped at the total payment amount. For more + /// application fee collected will be capped at the total amount captured. For more /// information, see the PaymentIntents use case for connected /// accounts. diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataBillieOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataBillieOptions.cs new file mode 100644 index 0000000000..d4b617d169 --- /dev/null +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataBillieOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentIntentPaymentMethodDataBillieOptions : INestedOptions + { + } +} diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataNzBankAccountOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataNzBankAccountOptions.cs new file mode 100644 index 0000000000..e3fbf27658 --- /dev/null +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataNzBankAccountOptions.cs @@ -0,0 +1,63 @@ +// 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 PaymentIntentPaymentMethodDataNzBankAccountOptions : INestedOptions + { + /// + /// The name on the bank account. Only required if the account holder name is different from + /// the name of the authorized signatory collected in the PaymentMethod’s billing details. + /// + [JsonProperty("account_holder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_name")] +#endif + public string AccountHolderName { get; set; } + + /// + /// The account number for the bank account. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// The numeric code for the bank account's bank. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// The numeric code for the bank account's bank branch. + /// + [JsonProperty("branch_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_code")] +#endif + public string BranchCode { get; set; } + + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + + /// + /// The suffix of the bank account number. + /// + [JsonProperty("suffix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("suffix")] +#endif + public string Suffix { get; set; } + } +} diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataOptions.cs index 87aada7818..3e3c1143f0 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataOptions.cs @@ -112,6 +112,16 @@ public class PaymentIntentPaymentMethodDataOptions : INestedOptions, IHasMetadat #endif public PaymentIntentPaymentMethodDataBancontactOptions Bancontact { get; set; } + /// + /// If this is a billie PaymentMethod, this hash contains details about the billie + /// payment method. + /// + [JsonProperty("billie")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billie")] +#endif + public PaymentIntentPaymentMethodDataBillieOptions Billie { get; set; } + /// /// Billing information associated with the PaymentMethod that may be used or required by /// particular types of payment methods. @@ -344,6 +354,16 @@ public class PaymentIntentPaymentMethodDataOptions : INestedOptions, IHasMetadat #endif public PaymentIntentPaymentMethodDataNaverPayOptions NaverPay { get; set; } + /// + /// If this is an nz_bank_account PaymentMethod, this hash contains details about the + /// nz_bank_account payment method. + /// + [JsonProperty("nz_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nz_bank_account")] +#endif + public PaymentIntentPaymentMethodDataNzBankAccountOptions NzBankAccount { get; set; } + /// /// If this is an oxxo PaymentMethod, this hash contains details about the OXXO /// payment method. @@ -485,6 +505,16 @@ public class PaymentIntentPaymentMethodDataOptions : INestedOptions, IHasMetadat #endif public PaymentIntentPaymentMethodDataSamsungPayOptions SamsungPay { get; set; } + /// + /// If this is a satispay PaymentMethod, this hash contains details about the + /// satispay payment method. + /// + [JsonProperty("satispay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("satispay")] +#endif + public PaymentIntentPaymentMethodDataSatispayOptions Satispay { get; set; } + /// /// If this is a sepa_debit PaymentMethod, this hash contains details about the SEPA /// debit bank account. @@ -541,15 +571,15 @@ public class PaymentIntentPaymentMethodDataOptions : INestedOptions, IHasMetadat /// PaymentMethod type. /// One of: acss_debit, affirm, afterpay_clearpay, alipay, /// alma, amazon_pay, au_becs_debit, bacs_debit, - /// bancontact, blik, boleto, cashapp, customer_balance, - /// eps, fpx, giropay, gopay, grabpay, - /// id_bank_transfer, ideal, kakao_pay, klarna, konbini, - /// kr_card, link, mb_way, mobilepay, multibanco, - /// naver_pay, oxxo, p24, pay_by_bank, payco, - /// paynow, paypal, payto, pix, promptpay, qris, - /// rechnung, revolut_pay, samsung_pay, sepa_debit, - /// shopeepay, sofort, swish, twint, us_bank_account, - /// wechat_pay, or zip. + /// bancontact, billie, blik, boleto, cashapp, + /// customer_balance, eps, fpx, giropay, gopay, + /// grabpay, id_bank_transfer, ideal, kakao_pay, klarna, + /// konbini, kr_card, link, mb_way, mobilepay, + /// multibanco, naver_pay, nz_bank_account, oxxo, p24, + /// pay_by_bank, payco, paynow, paypal, payto, + /// pix, promptpay, qris, rechnung, revolut_pay, + /// samsung_pay, satispay, sepa_debit, shopeepay, sofort, + /// swish, twint, us_bank_account, wechat_pay, or zip. /// [JsonProperty("type")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataSatispayOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataSatispayOptions.cs new file mode 100644 index 0000000000..6a8ac0d9b3 --- /dev/null +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataSatispayOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentIntentPaymentMethodDataSatispayOptions : INestedOptions + { + } +} diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsNaverPayOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsNaverPayOptions.cs index a1b4ef4361..adaaa52f96 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsNaverPayOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsNaverPayOptions.cs @@ -23,5 +23,32 @@ public class PaymentIntentPaymentMethodOptionsNaverPayOptions : INestedOptions [STJS.JsonPropertyName("capture_method")] #endif public string CaptureMethod { get; set; } + + /// + /// 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 attach the payment method 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 attach the payment method to a + /// Customer after the transaction completes. + /// + /// If the payment method is card_present and isn't a digital wallet, Stripe creates + /// and attaches a generated_card + /// payment method representing the card to the Customer instead. + /// + /// When processing card payments, Stripe uses setup_future_usage to help you comply + /// with regional legislation and network rules, such as SCA. + /// One of: none, or off_session. + /// + [JsonProperty("setup_future_usage")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("setup_future_usage")] +#endif + public string SetupFutureUsage { get; set; } } } diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsNzBankAccountOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsNzBankAccountOptions.cs new file mode 100644 index 0000000000..a33734dde3 --- /dev/null +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsNzBankAccountOptions.cs @@ -0,0 +1,53 @@ +// 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 PaymentIntentPaymentMethodOptionsNzBankAccountOptions : INestedOptions + { + /// + /// 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 attach the payment method 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 attach the payment method to a + /// Customer after the transaction completes. + /// + /// If the payment method is card_present and isn't a digital wallet, Stripe creates + /// and attaches a generated_card + /// payment method representing the card to the Customer instead. + /// + /// When processing card payments, Stripe uses setup_future_usage to help you comply + /// with regional legislation and network rules, such as SCA. + /// + /// If you've already set setup_future_usage and you're performing a request using a + /// publishable key, you can only update the value from on_session to + /// off_session. + /// One of: none, off_session, or on_session. + /// + [JsonProperty("setup_future_usage")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("setup_future_usage")] +#endif + public string SetupFutureUsage { get; set; } + + /// + /// Controls when Stripe will attempt to debit the funds from the customer's account. The + /// date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 + /// and 15 calendar days from now. + /// + [JsonProperty("target_date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("target_date")] +#endif + public string TargetDate { get; set; } + } +} diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsOptions.cs index b653b53951..c82b3fe609 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsOptions.cs @@ -327,6 +327,16 @@ public class PaymentIntentPaymentMethodOptionsOptions : INestedOptions #endif public PaymentIntentPaymentMethodOptionsNaverPayOptions NaverPay { get; set; } + /// + /// If this is a nz_bank_account PaymentMethod, this sub-hash contains details about + /// the NZ BECS Direct Debit payment method options. + /// + [JsonProperty("nz_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nz_bank_account")] +#endif + public PaymentIntentPaymentMethodOptionsNzBankAccountOptions NzBankAccount { get; set; } + /// /// If this is a oxxo PaymentMethod, this sub-hash contains details about the OXXO /// payment method options. diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentService.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentService.cs index 9f5462155e..fb17b07537 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentService.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class PaymentIntentService : Service, + public class PaymentIntentService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentUpdateOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentUpdateOptions.cs index 29630f44ee..92860bf40c 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentUpdateOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentUpdateOptions.cs @@ -28,7 +28,7 @@ public class PaymentIntentUpdateOptions : BaseOptions, IHasMetadata /// /// The amount of the application fee (if any) that will be requested to be applied to the /// payment and transferred to the application owner's Stripe account. The amount of the - /// application fee collected will be capped at the total payment amount. For more + /// application fee collected will be capped at the total amount captured. For more /// information, see the PaymentIntents use case for connected /// accounts. diff --git a/src/Stripe.net/Services/PaymentLinkLineItems/PaymentLinkLineItemService.cs b/src/Stripe.net/Services/PaymentLinkLineItems/PaymentLinkLineItemService.cs index 020766b399..010c7ae84c 100644 --- a/src/Stripe.net/Services/PaymentLinkLineItems/PaymentLinkLineItemService.cs +++ b/src/Stripe.net/Services/PaymentLinkLineItems/PaymentLinkLineItemService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class PaymentLinkLineItemService : ServiceNested, + public class PaymentLinkLineItemService : Service, INestedListable { public PaymentLinkLineItemService() diff --git a/src/Stripe.net/Services/PaymentLinks/PaymentLinkCreateOptions.cs b/src/Stripe.net/Services/PaymentLinks/PaymentLinkCreateOptions.cs index a7fc1e5146..499e6d2563 100644 --- a/src/Stripe.net/Services/PaymentLinks/PaymentLinkCreateOptions.cs +++ b/src/Stripe.net/Services/PaymentLinks/PaymentLinkCreateOptions.cs @@ -173,6 +173,20 @@ public class PaymentLinkCreateOptions : BaseOptions, IHasMetadata #endif public string OnBehalfOf { get; set; } + /// + /// A list of optional items the customer can add to their order at checkout. Use this + /// parameter to pass one-time or recurring Prices. There is a maximum of 10 optional + /// items allowed on a payment link, and the existing limits on the number of line items + /// allowed on a payment link apply to the combined number of line items and optional items. + /// There is a maximum of 20 combined line items and optional items. + /// + [JsonProperty("optional_items")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("optional_items")] +#endif + public List OptionalItems { get; set; } + /// /// A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in /// payment mode. @@ -209,13 +223,14 @@ public class PaymentLinkCreateOptions : BaseOptions, IHasMetadata /// (20+ payment methods supported). /// One of: affirm, afterpay_clearpay, alipay, alma, - /// au_becs_debit, bacs_debit, bancontact, blik, boleto, - /// card, cashapp, eps, fpx, giropay, gopay, - /// grabpay, ideal, klarna, konbini, link, mb_way, - /// mobilepay, multibanco, oxxo, p24, pay_by_bank, - /// paynow, paypal, payto, pix, promptpay, qris, - /// rechnung, sepa_debit, shopeepay, sofort, swish, - /// twint, us_bank_account, wechat_pay, or zip. + /// au_becs_debit, bacs_debit, bancontact, billie, blik, + /// boleto, card, cashapp, eps, fpx, giropay, + /// gopay, grabpay, ideal, klarna, konbini, link, + /// mb_way, mobilepay, multibanco, oxxo, p24, + /// pay_by_bank, paynow, paypal, payto, pix, + /// promptpay, qris, rechnung, satispay, sepa_debit, + /// shopeepay, sofort, swish, twint, us_bank_account, + /// wechat_pay, or zip. /// [JsonProperty("payment_method_types")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/PaymentLinks/PaymentLinkCustomFieldDropdownOptions.cs b/src/Stripe.net/Services/PaymentLinks/PaymentLinkCustomFieldDropdownOptions.cs index 6275981143..60cf1c96f0 100644 --- a/src/Stripe.net/Services/PaymentLinks/PaymentLinkCustomFieldDropdownOptions.cs +++ b/src/Stripe.net/Services/PaymentLinks/PaymentLinkCustomFieldDropdownOptions.cs @@ -9,6 +9,16 @@ namespace Stripe public class PaymentLinkCustomFieldDropdownOptions : INestedOptions { + /// + /// The value that will pre-fill the field on the payment page.Must match a value in + /// the options array. + /// + [JsonProperty("default_value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("default_value")] +#endif + public string DefaultValue { get; set; } + /// /// The options available for the customer to select. Up to 200 options allowed. /// diff --git a/src/Stripe.net/Services/PaymentLinks/PaymentLinkCustomFieldNumericOptions.cs b/src/Stripe.net/Services/PaymentLinks/PaymentLinkCustomFieldNumericOptions.cs index b7d5b30fb3..fe0ef1e974 100644 --- a/src/Stripe.net/Services/PaymentLinks/PaymentLinkCustomFieldNumericOptions.cs +++ b/src/Stripe.net/Services/PaymentLinks/PaymentLinkCustomFieldNumericOptions.cs @@ -8,6 +8,15 @@ namespace Stripe public class PaymentLinkCustomFieldNumericOptions : INestedOptions { + /// + /// The value that will pre-fill the field on the payment page. + /// + [JsonProperty("default_value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("default_value")] +#endif + public string DefaultValue { get; set; } + /// /// The maximum character length constraint for the customer's input. /// diff --git a/src/Stripe.net/Services/PaymentLinks/PaymentLinkCustomFieldTextOptions.cs b/src/Stripe.net/Services/PaymentLinks/PaymentLinkCustomFieldTextOptions.cs index 7bd0bebd7f..0d93430830 100644 --- a/src/Stripe.net/Services/PaymentLinks/PaymentLinkCustomFieldTextOptions.cs +++ b/src/Stripe.net/Services/PaymentLinks/PaymentLinkCustomFieldTextOptions.cs @@ -8,6 +8,15 @@ namespace Stripe public class PaymentLinkCustomFieldTextOptions : INestedOptions { + /// + /// The value that will pre-fill the field on the payment page. + /// + [JsonProperty("default_value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("default_value")] +#endif + public string DefaultValue { get; set; } + /// /// The maximum character length constraint for the customer's input. /// diff --git a/src/Stripe.net/Services/PaymentLinks/PaymentLinkOptionalItemAdjustableQuantityOptions.cs b/src/Stripe.net/Services/PaymentLinks/PaymentLinkOptionalItemAdjustableQuantityOptions.cs new file mode 100644 index 0000000000..d8a99bafff --- /dev/null +++ b/src/Stripe.net/Services/PaymentLinks/PaymentLinkOptionalItemAdjustableQuantityOptions.cs @@ -0,0 +1,42 @@ +// 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 PaymentLinkOptionalItemAdjustableQuantityOptions : INestedOptions + { + /// + /// Set to true if the quantity can be adjusted to any non-negative integer. + /// + [JsonProperty("enabled")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("enabled")] +#endif + public bool? Enabled { get; set; } + + /// + /// The maximum quantity of this item the customer can purchase. By default this value is + /// 99. + /// + [JsonProperty("maximum")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("maximum")] +#endif + public long? Maximum { get; set; } + + /// + /// The minimum quantity of this item the customer must purchase, if they choose to purchase + /// it. Because this item is optional, the customer will always be able to remove it from + /// their order, even if the minimum configured here is greater than 0. By default + /// this value is 0. + /// + [JsonProperty("minimum")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("minimum")] +#endif + public long? Minimum { get; set; } + } +} diff --git a/src/Stripe.net/Services/PaymentLinks/PaymentLinkOptionalItemOptions.cs b/src/Stripe.net/Services/PaymentLinks/PaymentLinkOptionalItemOptions.cs new file mode 100644 index 0000000000..4c107d22c1 --- /dev/null +++ b/src/Stripe.net/Services/PaymentLinks/PaymentLinkOptionalItemOptions.cs @@ -0,0 +1,41 @@ +// 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 PaymentLinkOptionalItemOptions : INestedOptions + { + /// + /// When set, provides configuration for the customer to adjust the quantity of the line + /// item created when a customer chooses to add this optional item to their order. + /// + [JsonProperty("adjustable_quantity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("adjustable_quantity")] +#endif + public PaymentLinkOptionalItemAdjustableQuantityOptions AdjustableQuantity { get; set; } + + /// + /// The ID of the Price or Plan object. + /// + [JsonProperty("price")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("price")] +#endif + public string Price { get; set; } + + /// + /// The initial quantity of the line item created when a customer chooses to add this + /// optional item to their order. + /// + [JsonProperty("quantity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("quantity")] +#endif + public long? Quantity { get; set; } + } +} diff --git a/src/Stripe.net/Services/PaymentLinks/PaymentLinkService.cs b/src/Stripe.net/Services/PaymentLinks/PaymentLinkService.cs index c0ef8099ea..a84d73c777 100644 --- a/src/Stripe.net/Services/PaymentLinks/PaymentLinkService.cs +++ b/src/Stripe.net/Services/PaymentLinks/PaymentLinkService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public partial class PaymentLinkService : Service, + public partial class PaymentLinkService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/PaymentLinks/PaymentLinkUpdateOptions.cs b/src/Stripe.net/Services/PaymentLinks/PaymentLinkUpdateOptions.cs index ebd45b4e32..52742aec26 100644 --- a/src/Stripe.net/Services/PaymentLinks/PaymentLinkUpdateOptions.cs +++ b/src/Stripe.net/Services/PaymentLinks/PaymentLinkUpdateOptions.cs @@ -166,13 +166,14 @@ public class PaymentLinkUpdateOptions : BaseOptions, IHasMetadata /// href="https://dashboard.stripe.com/settings/payment_methods">payment method /// settings. /// One of: affirm, afterpay_clearpay, alipay, alma, - /// au_becs_debit, bacs_debit, bancontact, blik, boleto, - /// card, cashapp, eps, fpx, giropay, gopay, - /// grabpay, ideal, klarna, konbini, link, mb_way, - /// mobilepay, multibanco, oxxo, p24, pay_by_bank, - /// paynow, paypal, payto, pix, promptpay, qris, - /// rechnung, sepa_debit, shopeepay, sofort, swish, - /// twint, us_bank_account, wechat_pay, or zip. + /// au_becs_debit, bacs_debit, bancontact, billie, blik, + /// boleto, card, cashapp, eps, fpx, giropay, + /// gopay, grabpay, ideal, klarna, konbini, link, + /// mb_way, mobilepay, multibanco, oxxo, p24, + /// pay_by_bank, paynow, paypal, payto, pix, + /// promptpay, qris, rechnung, satispay, sepa_debit, + /// shopeepay, sofort, swish, twint, us_bank_account, + /// wechat_pay, or zip. /// [JsonProperty("payment_method_types")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationBillieDisplayPreferenceOptions.cs b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationBillieDisplayPreferenceOptions.cs new file mode 100644 index 0000000000..105bce8f87 --- /dev/null +++ b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationBillieDisplayPreferenceOptions.cs @@ -0,0 +1,21 @@ +// 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 PaymentMethodConfigurationBillieDisplayPreferenceOptions : INestedOptions + { + /// + /// The account's preference for whether or not to display this payment method. + /// One of: none, off, or on. + /// + [JsonProperty("preference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preference")] +#endif + public string Preference { get; set; } + } +} diff --git a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationBillieOptions.cs b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationBillieOptions.cs new file mode 100644 index 0000000000..11305221a3 --- /dev/null +++ b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationBillieOptions.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 PaymentMethodConfigurationBillieOptions : INestedOptions + { + /// + /// Whether or not the payment method should be displayed. + /// + [JsonProperty("display_preference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_preference")] +#endif + public PaymentMethodConfigurationBillieDisplayPreferenceOptions DisplayPreference { get; set; } + } +} diff --git a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationCreateOptions.cs b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationCreateOptions.cs index f48aa74335..9dac43cfcf 100644 --- a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationCreateOptions.cs +++ b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationCreateOptions.cs @@ -136,6 +136,21 @@ public class PaymentMethodConfigurationCreateOptions : BaseOptions #endif public PaymentMethodConfigurationBancontactOptions Bancontact { get; set; } + /// + /// Billie is a single-use payment + /// method that offers businesses Pay by Invoice where they offer payment terms ranging from + /// 7-120 days. Customers are redirected from your website or app, authorize the payment + /// with Billie, then return to your website or app. You get immediate + /// notification of whether the payment succeeded or failed. + /// + [JsonProperty("billie")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billie")] +#endif + public PaymentMethodConfigurationBillieOptions Billie { get; set; } + /// /// BLIK is a single /// use payment method that requires customers to authenticate their payments. When @@ -391,6 +406,17 @@ public class PaymentMethodConfigurationCreateOptions : BaseOptions #endif public string Name { get; set; } + /// + /// Stripe users in New Zealand can accept Bulk Electronic Clearing System (BECS) direct + /// debit payments from customers with a New Zeland bank account. Check this page for more details. + /// + [JsonProperty("nz_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nz_bank_account")] +#endif + public PaymentMethodConfigurationNzBankAccountOptions NzBankAccount { get; set; } + /// /// OXXO is a Mexican chain of convenience stores with thousands of locations across Latin /// America and represents nearly 20% of online transactions in Mexico. OXXO allows @@ -506,6 +532,22 @@ public class PaymentMethodConfigurationCreateOptions : BaseOptions #endif public PaymentMethodConfigurationRevolutPayOptions RevolutPay { get; set; } + /// + /// Satispay is a single-use payment + /// method where customers are required to authenticate + /// their payment. Customers pay by being redirected from your website or app, authorizing + /// the payment with Satispay, then returning to your website or app. You get immediate + /// notification of whether the payment succeeded or failed. + /// + [JsonProperty("satispay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("satispay")] +#endif + public PaymentMethodConfigurationSatispayOptions Satispay { get; set; } + /// /// The Single Euro /// Payments Area (SEPA) is an initiative of the European Union to simplify payments diff --git a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccountDisplayPreferenceOptions.cs b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccountDisplayPreferenceOptions.cs new file mode 100644 index 0000000000..077a7f1617 --- /dev/null +++ b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccountDisplayPreferenceOptions.cs @@ -0,0 +1,21 @@ +// 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 PaymentMethodConfigurationNzBankAccountDisplayPreferenceOptions : INestedOptions + { + /// + /// The account's preference for whether or not to display this payment method. + /// One of: none, off, or on. + /// + [JsonProperty("preference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preference")] +#endif + public string Preference { get; set; } + } +} diff --git a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccountOptions.cs b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccountOptions.cs new file mode 100644 index 0000000000..8874a0dc98 --- /dev/null +++ b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccountOptions.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 PaymentMethodConfigurationNzBankAccountOptions : INestedOptions + { + /// + /// Whether or not the payment method should be displayed. + /// + [JsonProperty("display_preference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_preference")] +#endif + public PaymentMethodConfigurationNzBankAccountDisplayPreferenceOptions DisplayPreference { get; set; } + } +} diff --git a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationSatispayDisplayPreferenceOptions.cs b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationSatispayDisplayPreferenceOptions.cs new file mode 100644 index 0000000000..706bfcd704 --- /dev/null +++ b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationSatispayDisplayPreferenceOptions.cs @@ -0,0 +1,21 @@ +// 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 PaymentMethodConfigurationSatispayDisplayPreferenceOptions : INestedOptions + { + /// + /// The account's preference for whether or not to display this payment method. + /// One of: none, off, or on. + /// + [JsonProperty("preference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("preference")] +#endif + public string Preference { get; set; } + } +} diff --git a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationSatispayOptions.cs b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationSatispayOptions.cs new file mode 100644 index 0000000000..5b9fd2426d --- /dev/null +++ b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationSatispayOptions.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 PaymentMethodConfigurationSatispayOptions : INestedOptions + { + /// + /// Whether or not the payment method should be displayed. + /// + [JsonProperty("display_preference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_preference")] +#endif + public PaymentMethodConfigurationSatispayDisplayPreferenceOptions DisplayPreference { get; set; } + } +} diff --git a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationService.cs b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationService.cs index 2d37da54c3..6fb7774508 100644 --- a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationService.cs +++ b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class PaymentMethodConfigurationService : Service, + public class PaymentMethodConfigurationService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationUpdateOptions.cs b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationUpdateOptions.cs index 728cda076e..5ba730c955 100644 --- a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationUpdateOptions.cs +++ b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationUpdateOptions.cs @@ -145,6 +145,21 @@ public class PaymentMethodConfigurationUpdateOptions : BaseOptions #endif public PaymentMethodConfigurationBancontactOptions Bancontact { get; set; } + /// + /// Billie is a single-use payment + /// method that offers businesses Pay by Invoice where they offer payment terms ranging from + /// 7-120 days. Customers are redirected from your website or app, authorize the payment + /// with Billie, then return to your website or app. You get immediate + /// notification of whether the payment succeeded or failed. + /// + [JsonProperty("billie")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billie")] +#endif + public PaymentMethodConfigurationBillieOptions Billie { get; set; } + /// /// BLIK is a single /// use payment method that requires customers to authenticate their payments. When @@ -400,6 +415,17 @@ public class PaymentMethodConfigurationUpdateOptions : BaseOptions #endif public string Name { get; set; } + /// + /// Stripe users in New Zealand can accept Bulk Electronic Clearing System (BECS) direct + /// debit payments from customers with a New Zeland bank account. Check this page for more details. + /// + [JsonProperty("nz_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nz_bank_account")] +#endif + public PaymentMethodConfigurationNzBankAccountOptions NzBankAccount { get; set; } + /// /// OXXO is a Mexican chain of convenience stores with thousands of locations across Latin /// America and represents nearly 20% of online transactions in Mexico. OXXO allows @@ -506,6 +532,22 @@ public class PaymentMethodConfigurationUpdateOptions : BaseOptions #endif public PaymentMethodConfigurationRevolutPayOptions RevolutPay { get; set; } + /// + /// Satispay is a single-use payment + /// method where customers are required to authenticate + /// their payment. Customers pay by being redirected from your website or app, authorizing + /// the payment with Satispay, then returning to your website or app. You get immediate + /// notification of whether the payment succeeded or failed. + /// + [JsonProperty("satispay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("satispay")] +#endif + public PaymentMethodConfigurationSatispayOptions Satispay { get; set; } + /// /// The Single Euro /// Payments Area (SEPA) is an initiative of the European Union to simplify payments diff --git a/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainCreateOptions.cs b/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainCreateOptions.cs index 34cee048b5..f7c7bcfb28 100644 --- a/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainCreateOptions.cs +++ b/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainCreateOptions.cs @@ -19,7 +19,8 @@ public class PaymentMethodDomainCreateOptions : BaseOptions /// /// Whether this payment method domain is enabled. If the domain is not enabled, payment - /// methods that require a payment method domain will not appear in Elements. + /// methods that require a payment method domain will not appear in Elements or Embedded + /// Checkout. /// [JsonProperty("enabled")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainListOptions.cs b/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainListOptions.cs index 373c6af3b3..b10f509f71 100644 --- a/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainListOptions.cs +++ b/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainListOptions.cs @@ -19,7 +19,7 @@ public class PaymentMethodDomainListOptions : ListOptions /// /// Whether this payment method domain is enabled. If the domain is not enabled, payment - /// methods will not appear in Elements. + /// methods will not appear in Elements or Embedded Checkout. /// [JsonProperty("enabled")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainService.cs b/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainService.cs index 028b1ad610..fcb24f0573 100644 --- a/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainService.cs +++ b/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class PaymentMethodDomainService : Service, + public class PaymentMethodDomainService : Service, ICreatable, IListable, IRetrievable, @@ -109,14 +109,14 @@ public virtual Task UpdateAsync(string id, PaymentMethodDom } /// - ///

Some payment methods such as Apple Pay require additional steps to verify a domain. - /// If the requirements weren’t satisfied when the domain was created, the payment method - /// will be inactive on the domain. The payment method doesn’t appear in Elements for this - /// domain until it is active.

. + ///

Some payment methods might require additional steps to register a domain. If the + /// requirements weren’t satisfied when the domain was created, the payment method will be + /// inactive on the domain. The payment method doesn’t appear in Elements or Embedded + /// Checkout for this domain until it is active.

. /// ///

To activate a payment method on an existing payment method domain, complete the - /// required validation steps specific to the payment method, and then validate the payment - /// method domain with this endpoint.

. + /// required registration steps specific to the payment method, and then validate the + /// payment method domain with this endpoint.

. /// ///

Related guides: Payment method @@ -128,14 +128,14 @@ public virtual PaymentMethodDomain Validate(string id, PaymentMethodDomainValida } ///

- ///

Some payment methods such as Apple Pay require additional steps to verify a domain. - /// If the requirements weren’t satisfied when the domain was created, the payment method - /// will be inactive on the domain. The payment method doesn’t appear in Elements for this - /// domain until it is active.

. + ///

Some payment methods might require additional steps to register a domain. If the + /// requirements weren’t satisfied when the domain was created, the payment method will be + /// inactive on the domain. The payment method doesn’t appear in Elements or Embedded + /// Checkout for this domain until it is active.

. /// ///

To activate a payment method on an existing payment method domain, complete the - /// required validation steps specific to the payment method, and then validate the payment - /// method domain with this endpoint.

. + /// required registration steps specific to the payment method, and then validate the + /// payment method domain with this endpoint.

. /// ///

Related guides: Payment method diff --git a/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainUpdateOptions.cs b/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainUpdateOptions.cs index 368d7ddc75..54264a8f67 100644 --- a/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainUpdateOptions.cs +++ b/src/Stripe.net/Services/PaymentMethodDomains/PaymentMethodDomainUpdateOptions.cs @@ -10,7 +10,8 @@ public class PaymentMethodDomainUpdateOptions : BaseOptions { ///

/// Whether this payment method domain is enabled. If the domain is not enabled, payment - /// methods that require a payment method domain will not appear in Elements. + /// methods that require a payment method domain will not appear in Elements or Embedded + /// Checkout. /// [JsonProperty("enabled")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/PaymentMethods/PaymentMethodBillieOptions.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodBillieOptions.cs new file mode 100644 index 0000000000..83a2766d00 --- /dev/null +++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodBillieOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentMethodBillieOptions : INestedOptions + { + } +} diff --git a/src/Stripe.net/Services/PaymentMethods/PaymentMethodCreateOptions.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodCreateOptions.cs index a2ef7dc8fc..ac27bb40b1 100644 --- a/src/Stripe.net/Services/PaymentMethods/PaymentMethodCreateOptions.cs +++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodCreateOptions.cs @@ -112,6 +112,16 @@ public class PaymentMethodCreateOptions : BaseOptions, IHasMetadata #endif public PaymentMethodBancontactOptions Bancontact { get; set; } + /// + /// If this is a billie PaymentMethod, this hash contains details about the billie + /// payment method. + /// + [JsonProperty("billie")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billie")] +#endif + public PaymentMethodBillieOptions Billie { get; set; } + /// /// Billing information associated with the PaymentMethod that may be used or required by /// particular types of payment methods. @@ -368,6 +378,16 @@ public class PaymentMethodCreateOptions : BaseOptions, IHasMetadata #endif public PaymentMethodNaverPayOptions NaverPay { get; set; } + /// + /// If this is an nz_bank_account PaymentMethod, this hash contains details about the + /// nz_bank_account payment method. + /// + [JsonProperty("nz_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nz_bank_account")] +#endif + public PaymentMethodNzBankAccountOptions NzBankAccount { get; set; } + /// /// If this is an oxxo PaymentMethod, this hash contains details about the OXXO /// payment method. @@ -518,6 +538,16 @@ public class PaymentMethodCreateOptions : BaseOptions, IHasMetadata #endif public PaymentMethodSamsungPayOptions SamsungPay { get; set; } + /// + /// If this is a satispay PaymentMethod, this hash contains details about the + /// satispay payment method. + /// + [JsonProperty("satispay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("satispay")] +#endif + public PaymentMethodSatispayOptions Satispay { get; set; } + /// /// If this is a sepa_debit PaymentMethod, this hash contains details about the SEPA /// debit bank account. @@ -574,13 +604,14 @@ public class PaymentMethodCreateOptions : BaseOptions, IHasMetadata /// PaymentMethod type. /// One of: acss_debit, affirm, afterpay_clearpay, alipay, /// alma, amazon_pay, au_becs_debit, bacs_debit, - /// bancontact, blik, boleto, card, cashapp, - /// customer_balance, eps, fpx, giropay, gopay, - /// grabpay, id_bank_transfer, ideal, kakao_pay, klarna, - /// konbini, kr_card, link, mb_way, mobilepay, - /// multibanco, naver_pay, oxxo, p24, pay_by_bank, - /// payco, paynow, paypal, payto, pix, promptpay, - /// qris, rechnung, revolut_pay, samsung_pay, sepa_debit, + /// bancontact, billie, blik, boleto, card, + /// cashapp, customer_balance, eps, fpx, giropay, + /// gopay, grabpay, id_bank_transfer, ideal, kakao_pay, + /// klarna, konbini, kr_card, link, mb_way, + /// mobilepay, multibanco, naver_pay, nz_bank_account, + /// oxxo, p24, pay_by_bank, payco, paynow, paypal, + /// payto, pix, promptpay, qris, rechnung, + /// revolut_pay, samsung_pay, satispay, sepa_debit, /// shopeepay, sofort, swish, twint, us_bank_account, /// wechat_pay, or zip. /// diff --git a/src/Stripe.net/Services/PaymentMethods/PaymentMethodListOptions.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodListOptions.cs index 495cdf3323..9008414698 100644 --- a/src/Stripe.net/Services/PaymentMethods/PaymentMethodListOptions.cs +++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodListOptions.cs @@ -24,13 +24,14 @@ public class PaymentMethodListOptions : ListOptions /// provide a type value in the request. /// One of: acss_debit, affirm, afterpay_clearpay, alipay, /// alma, amazon_pay, au_becs_debit, bacs_debit, - /// bancontact, blik, boleto, card, cashapp, - /// customer_balance, eps, fpx, giropay, gopay, - /// grabpay, id_bank_transfer, ideal, kakao_pay, klarna, - /// konbini, kr_card, link, mb_way, mobilepay, - /// multibanco, naver_pay, oxxo, p24, pay_by_bank, - /// payco, paynow, paypal, payto, pix, promptpay, - /// qris, rechnung, revolut_pay, samsung_pay, sepa_debit, + /// bancontact, billie, blik, boleto, card, + /// cashapp, customer_balance, eps, fpx, giropay, + /// gopay, grabpay, id_bank_transfer, ideal, kakao_pay, + /// klarna, konbini, kr_card, link, mb_way, + /// mobilepay, multibanco, naver_pay, nz_bank_account, + /// oxxo, p24, pay_by_bank, payco, paynow, paypal, + /// payto, pix, promptpay, qris, rechnung, + /// revolut_pay, samsung_pay, satispay, sepa_debit, /// shopeepay, sofort, swish, twint, us_bank_account, /// wechat_pay, or zip. /// diff --git a/src/Stripe.net/Services/PaymentMethods/PaymentMethodNzBankAccountOptions.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodNzBankAccountOptions.cs new file mode 100644 index 0000000000..d09087807d --- /dev/null +++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodNzBankAccountOptions.cs @@ -0,0 +1,63 @@ +// 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 PaymentMethodNzBankAccountOptions : INestedOptions + { + /// + /// The name on the bank account. Only required if the account holder name is different from + /// the name of the authorized signatory collected in the PaymentMethod’s billing details. + /// + [JsonProperty("account_holder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_name")] +#endif + public string AccountHolderName { get; set; } + + /// + /// The account number for the bank account. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// The numeric code for the bank account's bank. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// The numeric code for the bank account's bank branch. + /// + [JsonProperty("branch_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_code")] +#endif + public string BranchCode { get; set; } + + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + + /// + /// The suffix of the bank account number. + /// + [JsonProperty("suffix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("suffix")] +#endif + public string Suffix { get; set; } + } +} diff --git a/src/Stripe.net/Services/PaymentMethods/PaymentMethodSatispayOptions.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodSatispayOptions.cs new file mode 100644 index 0000000000..291e5b6a13 --- /dev/null +++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodSatispayOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class PaymentMethodSatispayOptions : INestedOptions + { + } +} diff --git a/src/Stripe.net/Services/PaymentMethods/PaymentMethodService.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodService.cs index d1a98b6e91..acd6193e96 100644 --- a/src/Stripe.net/Services/PaymentMethods/PaymentMethodService.cs +++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class PaymentMethodService : Service, + public class PaymentMethodService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/PaymentMethods/PaymentMethodUpdateOptions.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodUpdateOptions.cs index c156a44b2a..8b272c2e96 100644 --- a/src/Stripe.net/Services/PaymentMethods/PaymentMethodUpdateOptions.cs +++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodUpdateOptions.cs @@ -63,16 +63,6 @@ public class PaymentMethodUpdateOptions : BaseOptions, IHasMetadata #endif public Dictionary Metadata { get; set; } - /// - /// If this is a naver_pay PaymentMethod, this hash contains details about the Naver - /// Pay payment method. - /// - [JsonProperty("naver_pay")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("naver_pay")] -#endif - public PaymentMethodNaverPayOptions NaverPay { get; set; } - /// /// If this is a pay_by_bank PaymentMethod, this hash contains details about the /// PayByBank payment method. diff --git a/src/Stripe.net/Services/PaymentRecords/PaymentRecordService.cs b/src/Stripe.net/Services/PaymentRecords/PaymentRecordService.cs index 37cca381f7..95c0b77efc 100644 --- a/src/Stripe.net/Services/PaymentRecords/PaymentRecordService.cs +++ b/src/Stripe.net/Services/PaymentRecords/PaymentRecordService.cs @@ -7,7 +7,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class PaymentRecordService : Service, + public class PaymentRecordService : Service, IRetrievable { public PaymentRecordService() diff --git a/src/Stripe.net/Services/Payouts/PayoutCreateOptions.cs b/src/Stripe.net/Services/Payouts/PayoutCreateOptions.cs index 69b7541130..c67f635aa7 100644 --- a/src/Stripe.net/Services/Payouts/PayoutCreateOptions.cs +++ b/src/Stripe.net/Services/Payouts/PayoutCreateOptions.cs @@ -74,6 +74,15 @@ public class PayoutCreateOptions : BaseOptions, IHasMetadata #endif public string Method { get; set; } + /// + /// The ID of a v2 FinancialAccount to send funds to. + /// + [JsonProperty("payout_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payout_method")] +#endif + public string PayoutMethod { get; set; } + /// /// The balance type of your Stripe balance to draw this payout from. Balances for different /// payment sources are kept separately. You can find the amounts with the Balances API. One diff --git a/src/Stripe.net/Services/Payouts/PayoutService.cs b/src/Stripe.net/Services/Payouts/PayoutService.cs index 7f9030dcc9..647c2d50e8 100644 --- a/src/Stripe.net/Services/Payouts/PayoutService.cs +++ b/src/Stripe.net/Services/Payouts/PayoutService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class PayoutService : Service, + public class PayoutService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Plans/PlanCreateOptions.cs b/src/Stripe.net/Services/Plans/PlanCreateOptions.cs index 43214a98a6..6e0469eb48 100644 --- a/src/Stripe.net/Services/Plans/PlanCreateOptions.cs +++ b/src/Stripe.net/Services/Plans/PlanCreateOptions.cs @@ -19,21 +19,6 @@ public class PlanCreateOptions : BaseOptions, IHasId, IHasMetadata #endif public bool? Active { get; set; } - /// - /// Specifies a usage aggregation strategy for plans of usage_type=metered. Allowed - /// values are sum for summing up all usage during a period, - /// last_during_period for using the last usage record reported within a period, - /// last_ever for using the last usage record ever (across period bounds) or - /// max which uses the usage record with the maximum reported usage during a period. - /// Defaults to sum. - /// One of: last_during_period, last_ever, max, or sum. - /// - [JsonProperty("aggregate_usage")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("aggregate_usage")] -#endif - public string AggregateUsage { get; set; } - /// /// A positive integer in cents (or local equivalent) (or 0 for a free plan) representing /// how much to charge on a recurring basis. diff --git a/src/Stripe.net/Services/Plans/PlanService.cs b/src/Stripe.net/Services/Plans/PlanService.cs index 504a222f9b..3434b9987f 100644 --- a/src/Stripe.net/Services/Plans/PlanService.cs +++ b/src/Stripe.net/Services/Plans/PlanService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class PlanService : Service, + public class PlanService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/Prices/PriceCreateOptions.cs b/src/Stripe.net/Services/Prices/PriceCreateOptions.cs index 3b69427285..358ba946da 100644 --- a/src/Stripe.net/Services/Prices/PriceCreateOptions.cs +++ b/src/Stripe.net/Services/Prices/PriceCreateOptions.cs @@ -98,7 +98,8 @@ public class PriceCreateOptions : BaseOptions, IHasMetadata public string Nickname { get; set; } /// - /// The ID of the product that this price will belong to. + /// The ID of the Product that this Price will belong to. /// [JsonProperty("product")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Prices/PriceRecurringOptions.cs b/src/Stripe.net/Services/Prices/PriceRecurringOptions.cs index b093d92fec..080e94a405 100644 --- a/src/Stripe.net/Services/Prices/PriceRecurringOptions.cs +++ b/src/Stripe.net/Services/Prices/PriceRecurringOptions.cs @@ -8,17 +8,6 @@ namespace Stripe public class PriceRecurringOptions : INestedOptions { - /// - /// Specifies a usage aggregation strategy for prices of usage_type=metered. Defaults - /// to sum. - /// One of: last_during_period, last_ever, max, or sum. - /// - [JsonProperty("aggregate_usage")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("aggregate_usage")] -#endif - public string AggregateUsage { get; set; } - /// /// Specifies billing frequency. Either day, week, month or /// year. diff --git a/src/Stripe.net/Services/Prices/PriceService.cs b/src/Stripe.net/Services/Prices/PriceService.cs index 3cde7f71ef..3cf2649c71 100644 --- a/src/Stripe.net/Services/Prices/PriceService.cs +++ b/src/Stripe.net/Services/Prices/PriceService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class PriceService : Service, + public class PriceService : Service, ICreatable, IListable, IRetrievable, @@ -30,8 +30,9 @@ public PriceService(IStripeClient client) } /// - ///

Creates a new price for an existing product. The price can be recurring or - /// one-time.

. + ///

Creates a new Price for an existing + /// Product. The Price can be recurring + /// or one-time.

. ///
public virtual Price Create(PriceCreateOptions options, RequestOptions requestOptions = null) { @@ -39,8 +40,9 @@ public virtual Price Create(PriceCreateOptions options, RequestOptions requestOp } /// - ///

Creates a new price for an existing product. The price can be recurring or - /// one-time.

. + ///

Creates a new Price for an existing + /// Product. The Price can be recurring + /// or one-time.

. ///
public virtual Task CreateAsync(PriceCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { diff --git a/src/Stripe.net/Services/ProductFeatures/ProductFeatureService.cs b/src/Stripe.net/Services/ProductFeatures/ProductFeatureService.cs index 3efdeff9a7..730cda2bdf 100644 --- a/src/Stripe.net/Services/ProductFeatures/ProductFeatureService.cs +++ b/src/Stripe.net/Services/ProductFeatures/ProductFeatureService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class ProductFeatureService : ServiceNested, + public class ProductFeatureService : Service, INestedCreatable, INestedDeletable, INestedListable, diff --git a/src/Stripe.net/Services/Products/ProductService.cs b/src/Stripe.net/Services/Products/ProductService.cs index aaf0db8f7b..26f235c18e 100644 --- a/src/Stripe.net/Services/Products/ProductService.cs +++ b/src/Stripe.net/Services/Products/ProductService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class ProductService : Service, + public class ProductService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/PromotionCodes/PromotionCodeService.cs b/src/Stripe.net/Services/PromotionCodes/PromotionCodeService.cs index 009c896f36..3af38f083d 100644 --- a/src/Stripe.net/Services/PromotionCodes/PromotionCodeService.cs +++ b/src/Stripe.net/Services/PromotionCodes/PromotionCodeService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class PromotionCodeService : Service, + public class PromotionCodeService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/QuoteComputedUpfrontLineItems/QuoteComputedUpfrontLineItemsService.cs b/src/Stripe.net/Services/QuoteComputedUpfrontLineItems/QuoteComputedUpfrontLineItemsService.cs index e35f247c76..58f64d16b2 100644 --- a/src/Stripe.net/Services/QuoteComputedUpfrontLineItems/QuoteComputedUpfrontLineItemsService.cs +++ b/src/Stripe.net/Services/QuoteComputedUpfrontLineItems/QuoteComputedUpfrontLineItemsService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class QuoteComputedUpfrontLineItemsService : ServiceNested, + public class QuoteComputedUpfrontLineItemsService : Service, INestedListable { public QuoteComputedUpfrontLineItemsService() diff --git a/src/Stripe.net/Services/QuoteLineItems/QuoteLineItemService.cs b/src/Stripe.net/Services/QuoteLineItems/QuoteLineItemService.cs index 12aa6f0ca9..1bbd94be77 100644 --- a/src/Stripe.net/Services/QuoteLineItems/QuoteLineItemService.cs +++ b/src/Stripe.net/Services/QuoteLineItems/QuoteLineItemService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class QuoteLineItemService : ServiceNested, + public class QuoteLineItemService : Service, INestedListable { public QuoteLineItemService() diff --git a/src/Stripe.net/Services/QuoteLines/QuoteLineService.cs b/src/Stripe.net/Services/QuoteLines/QuoteLineService.cs index 29f26306b8..96a62eefee 100644 --- a/src/Stripe.net/Services/QuoteLines/QuoteLineService.cs +++ b/src/Stripe.net/Services/QuoteLines/QuoteLineService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class QuoteLineService : ServiceNested, + public class QuoteLineService : Service, INestedListable { public QuoteLineService() diff --git a/src/Stripe.net/Services/QuotePreviewInvoices/QuotePreviewInvoiceService.cs b/src/Stripe.net/Services/QuotePreviewInvoices/QuotePreviewInvoiceService.cs index 7f93cc7a1e..4ab0db72f6 100644 --- a/src/Stripe.net/Services/QuotePreviewInvoices/QuotePreviewInvoiceService.cs +++ b/src/Stripe.net/Services/QuotePreviewInvoices/QuotePreviewInvoiceService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class QuotePreviewInvoiceService : ServiceNested, + public class QuotePreviewInvoiceService : Service, INestedListable { public QuotePreviewInvoiceService() diff --git a/src/Stripe.net/Services/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleService.cs b/src/Stripe.net/Services/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleService.cs index e0c8113282..a9ac5776fc 100644 --- a/src/Stripe.net/Services/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleService.cs +++ b/src/Stripe.net/Services/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class QuotePreviewSubscriptionScheduleService : ServiceNested, + public class QuotePreviewSubscriptionScheduleService : Service, INestedListable { public QuotePreviewSubscriptionScheduleService() diff --git a/src/Stripe.net/Services/Quotes/QuoteLineItemPriceDataOptions.cs b/src/Stripe.net/Services/Quotes/QuoteLineItemPriceDataOptions.cs index 00dfe349a1..4725afe25c 100644 --- a/src/Stripe.net/Services/Quotes/QuoteLineItemPriceDataOptions.cs +++ b/src/Stripe.net/Services/Quotes/QuoteLineItemPriceDataOptions.cs @@ -20,7 +20,8 @@ public class QuoteLineItemPriceDataOptions : INestedOptions public string Currency { get; set; } /// - /// The ID of the product that this price will belong to. + /// The ID of the Product that this Price will belong to. /// [JsonProperty("product")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Quotes/QuoteService.cs b/src/Stripe.net/Services/Quotes/QuoteService.cs index a3139dafa3..679c428a63 100644 --- a/src/Stripe.net/Services/Quotes/QuoteService.cs +++ b/src/Stripe.net/Services/Quotes/QuoteService.cs @@ -9,7 +9,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public partial class QuoteService : Service, + public partial class QuoteService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Radar/EarlyFraudWarnings/EarlyFraudWarningService.cs b/src/Stripe.net/Services/Radar/EarlyFraudWarnings/EarlyFraudWarningService.cs index b0ddba8579..a7f4ab8f13 100644 --- a/src/Stripe.net/Services/Radar/EarlyFraudWarnings/EarlyFraudWarningService.cs +++ b/src/Stripe.net/Services/Radar/EarlyFraudWarnings/EarlyFraudWarningService.cs @@ -8,7 +8,7 @@ namespace Stripe.Radar using System.Threading; using System.Threading.Tasks; - public class EarlyFraudWarningService : Service, + public class EarlyFraudWarningService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Radar/ValueListItems/ValueListItemService.cs b/src/Stripe.net/Services/Radar/ValueListItems/ValueListItemService.cs index 0956386b2c..71ed5b74ed 100644 --- a/src/Stripe.net/Services/Radar/ValueListItems/ValueListItemService.cs +++ b/src/Stripe.net/Services/Radar/ValueListItems/ValueListItemService.cs @@ -8,7 +8,7 @@ namespace Stripe.Radar using System.Threading; using System.Threading.Tasks; - public class ValueListItemService : Service, + public class ValueListItemService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/Radar/ValueLists/ValueListService.cs b/src/Stripe.net/Services/Radar/ValueLists/ValueListService.cs index ca26956e65..b66b992a63 100644 --- a/src/Stripe.net/Services/Radar/ValueLists/ValueListService.cs +++ b/src/Stripe.net/Services/Radar/ValueLists/ValueListService.cs @@ -8,7 +8,7 @@ namespace Stripe.Radar using System.Threading; using System.Threading.Tasks; - public class ValueListService : Service, + public class ValueListService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/Refunds/RefundService.cs b/src/Stripe.net/Services/Refunds/RefundService.cs index 8010f5d1bf..b2740a8495 100644 --- a/src/Stripe.net/Services/Refunds/RefundService.cs +++ b/src/Stripe.net/Services/Refunds/RefundService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class RefundService : Service, + public class RefundService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Reporting/ReportRuns/ReportRunService.cs b/src/Stripe.net/Services/Reporting/ReportRuns/ReportRunService.cs index 2e127c5d76..48c5cd377c 100644 --- a/src/Stripe.net/Services/Reporting/ReportRuns/ReportRunService.cs +++ b/src/Stripe.net/Services/Reporting/ReportRuns/ReportRunService.cs @@ -8,7 +8,7 @@ namespace Stripe.Reporting using System.Threading; using System.Threading.Tasks; - public class ReportRunService : Service, + public class ReportRunService : Service, ICreatable, IListable, IRetrievable diff --git a/src/Stripe.net/Services/Reporting/ReportTypes/ReportTypeService.cs b/src/Stripe.net/Services/Reporting/ReportTypes/ReportTypeService.cs index d6802a6c72..2a1e04e274 100644 --- a/src/Stripe.net/Services/Reporting/ReportTypes/ReportTypeService.cs +++ b/src/Stripe.net/Services/Reporting/ReportTypes/ReportTypeService.cs @@ -8,7 +8,7 @@ namespace Stripe.Reporting using System.Threading; using System.Threading.Tasks; - public class ReportTypeService : Service, + public class ReportTypeService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Reviews/ReviewService.cs b/src/Stripe.net/Services/Reviews/ReviewService.cs index 3022c78ca8..e85f85156f 100644 --- a/src/Stripe.net/Services/Reviews/ReviewService.cs +++ b/src/Stripe.net/Services/Reviews/ReviewService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class ReviewService : Service, + public class ReviewService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/SetupAttempts/SetupAttemptService.cs b/src/Stripe.net/Services/SetupAttempts/SetupAttemptService.cs index 6d17447f78..3a5d2e1c1a 100644 --- a/src/Stripe.net/Services/SetupAttempts/SetupAttemptService.cs +++ b/src/Stripe.net/Services/SetupAttempts/SetupAttemptService.cs @@ -7,7 +7,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class SetupAttemptService : Service, + public class SetupAttemptService : Service, IListable { public SetupAttemptService() diff --git a/src/Stripe.net/Services/SetupIntents/SetupIntentCreateOptions.cs b/src/Stripe.net/Services/SetupIntents/SetupIntentCreateOptions.cs index 638843e87a..5576045d6a 100644 --- a/src/Stripe.net/Services/SetupIntents/SetupIntentCreateOptions.cs +++ b/src/Stripe.net/Services/SetupIntents/SetupIntentCreateOptions.cs @@ -197,6 +197,10 @@ public class SetupIntentCreateOptions : BaseOptions, IHasMetadata /// /// If you populate this hash, this SetupIntent generates a single_use mandate after /// successful completion. + /// + /// Single-use mandates are only valid for the following payment methods: acss_debit, + /// alipay, au_becs_debit, bacs_debit, bancontact, + /// boleto, ideal, link, sepa_debit, and us_bank_account. /// [JsonProperty("single_use")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataBillieOptions.cs b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataBillieOptions.cs new file mode 100644 index 0000000000..450fd5aad9 --- /dev/null +++ b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataBillieOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class SetupIntentPaymentMethodDataBillieOptions : INestedOptions + { + } +} diff --git a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataNzBankAccountOptions.cs b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataNzBankAccountOptions.cs new file mode 100644 index 0000000000..969ab0fadf --- /dev/null +++ b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataNzBankAccountOptions.cs @@ -0,0 +1,63 @@ +// 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 SetupIntentPaymentMethodDataNzBankAccountOptions : INestedOptions + { + /// + /// The name on the bank account. Only required if the account holder name is different from + /// the name of the authorized signatory collected in the PaymentMethod’s billing details. + /// + [JsonProperty("account_holder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_name")] +#endif + public string AccountHolderName { get; set; } + + /// + /// The account number for the bank account. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// The numeric code for the bank account's bank. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// The numeric code for the bank account's bank branch. + /// + [JsonProperty("branch_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_code")] +#endif + public string BranchCode { get; set; } + + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + + /// + /// The suffix of the bank account number. + /// + [JsonProperty("suffix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("suffix")] +#endif + public string Suffix { get; set; } + } +} diff --git a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataOptions.cs b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataOptions.cs index 2f64b8c91a..edf1b4302d 100644 --- a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataOptions.cs +++ b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataOptions.cs @@ -112,6 +112,16 @@ public class SetupIntentPaymentMethodDataOptions : INestedOptions, IHasMetadata #endif public SetupIntentPaymentMethodDataBancontactOptions Bancontact { get; set; } + /// + /// If this is a billie PaymentMethod, this hash contains details about the billie + /// payment method. + /// + [JsonProperty("billie")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billie")] +#endif + public SetupIntentPaymentMethodDataBillieOptions Billie { get; set; } + /// /// Billing information associated with the PaymentMethod that may be used or required by /// particular types of payment methods. @@ -344,6 +354,16 @@ public class SetupIntentPaymentMethodDataOptions : INestedOptions, IHasMetadata #endif public SetupIntentPaymentMethodDataNaverPayOptions NaverPay { get; set; } + /// + /// If this is an nz_bank_account PaymentMethod, this hash contains details about the + /// nz_bank_account payment method. + /// + [JsonProperty("nz_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nz_bank_account")] +#endif + public SetupIntentPaymentMethodDataNzBankAccountOptions NzBankAccount { get; set; } + /// /// If this is an oxxo PaymentMethod, this hash contains details about the OXXO /// payment method. @@ -485,6 +505,16 @@ public class SetupIntentPaymentMethodDataOptions : INestedOptions, IHasMetadata #endif public SetupIntentPaymentMethodDataSamsungPayOptions SamsungPay { get; set; } + /// + /// If this is a satispay PaymentMethod, this hash contains details about the + /// satispay payment method. + /// + [JsonProperty("satispay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("satispay")] +#endif + public SetupIntentPaymentMethodDataSatispayOptions Satispay { get; set; } + /// /// If this is a sepa_debit PaymentMethod, this hash contains details about the SEPA /// debit bank account. @@ -541,15 +571,15 @@ public class SetupIntentPaymentMethodDataOptions : INestedOptions, IHasMetadata /// PaymentMethod type. /// One of: acss_debit, affirm, afterpay_clearpay, alipay, /// alma, amazon_pay, au_becs_debit, bacs_debit, - /// bancontact, blik, boleto, cashapp, customer_balance, - /// eps, fpx, giropay, gopay, grabpay, - /// id_bank_transfer, ideal, kakao_pay, klarna, konbini, - /// kr_card, link, mb_way, mobilepay, multibanco, - /// naver_pay, oxxo, p24, pay_by_bank, payco, - /// paynow, paypal, payto, pix, promptpay, qris, - /// rechnung, revolut_pay, samsung_pay, sepa_debit, - /// shopeepay, sofort, swish, twint, us_bank_account, - /// wechat_pay, or zip. + /// bancontact, billie, blik, boleto, cashapp, + /// customer_balance, eps, fpx, giropay, gopay, + /// grabpay, id_bank_transfer, ideal, kakao_pay, klarna, + /// konbini, kr_card, link, mb_way, mobilepay, + /// multibanco, naver_pay, nz_bank_account, oxxo, p24, + /// pay_by_bank, payco, paynow, paypal, payto, + /// pix, promptpay, qris, rechnung, revolut_pay, + /// samsung_pay, satispay, sepa_debit, shopeepay, sofort, + /// swish, twint, us_bank_account, wechat_pay, or zip. /// [JsonProperty("type")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataSatispayOptions.cs b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataSatispayOptions.cs new file mode 100644 index 0000000000..87a1553fcb --- /dev/null +++ b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataSatispayOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class SetupIntentPaymentMethodDataSatispayOptions : INestedOptions + { + } +} diff --git a/src/Stripe.net/Services/SetupIntents/SetupIntentService.cs b/src/Stripe.net/Services/SetupIntents/SetupIntentService.cs index bb23269564..0a57a26049 100644 --- a/src/Stripe.net/Services/SetupIntents/SetupIntentService.cs +++ b/src/Stripe.net/Services/SetupIntents/SetupIntentService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class SetupIntentService : Service, + public class SetupIntentService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/ShippingRates/ShippingRateService.cs b/src/Stripe.net/Services/ShippingRates/ShippingRateService.cs index 318846a22c..d464462081 100644 --- a/src/Stripe.net/Services/ShippingRates/ShippingRateService.cs +++ b/src/Stripe.net/Services/ShippingRates/ShippingRateService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class ShippingRateService : Service, + public class ShippingRateService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Sigma/ScheduledQueryRuns/ScheduledQueryRunService.cs b/src/Stripe.net/Services/Sigma/ScheduledQueryRuns/ScheduledQueryRunService.cs index 8798deef9d..0bf95f2724 100644 --- a/src/Stripe.net/Services/Sigma/ScheduledQueryRuns/ScheduledQueryRunService.cs +++ b/src/Stripe.net/Services/Sigma/ScheduledQueryRuns/ScheduledQueryRunService.cs @@ -8,7 +8,7 @@ namespace Stripe.Sigma using System.Threading; using System.Threading.Tasks; - public class ScheduledQueryRunService : Service, + public class ScheduledQueryRunService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/SourceTransactions/SourceTransactionService.cs b/src/Stripe.net/Services/SourceTransactions/SourceTransactionService.cs index 16fd1d42af..deae69eb0f 100644 --- a/src/Stripe.net/Services/SourceTransactions/SourceTransactionService.cs +++ b/src/Stripe.net/Services/SourceTransactions/SourceTransactionService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public partial class SourceTransactionService : ServiceNested, + public partial class SourceTransactionService : Service, INestedListable { public SourceTransactionService() diff --git a/src/Stripe.net/Services/SubscriptionItemUsageRecordSummaries/SubscriptionItemUsageRecordSummaryListOptions.cs b/src/Stripe.net/Services/SubscriptionItemUsageRecordSummaries/SubscriptionItemUsageRecordSummaryListOptions.cs deleted file mode 100644 index 37c2fcf99f..0000000000 --- a/src/Stripe.net/Services/SubscriptionItemUsageRecordSummaries/SubscriptionItemUsageRecordSummaryListOptions.cs +++ /dev/null @@ -1,7 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - public class SubscriptionItemUsageRecordSummaryListOptions : ListOptions - { - } -} diff --git a/src/Stripe.net/Services/SubscriptionItemUsageRecordSummaries/SubscriptionItemUsageRecordSummaryService.cs b/src/Stripe.net/Services/SubscriptionItemUsageRecordSummaries/SubscriptionItemUsageRecordSummaryService.cs deleted file mode 100644 index 7be50f7a8b..0000000000 --- a/src/Stripe.net/Services/SubscriptionItemUsageRecordSummaries/SubscriptionItemUsageRecordSummaryService.cs +++ /dev/null @@ -1,93 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System; - using System.Collections.Generic; - using System.Net; - using System.Net.Http; - using System.Threading; - using System.Threading.Tasks; - - public class SubscriptionItemUsageRecordSummaryService : ServiceNested, - INestedListable - { - public SubscriptionItemUsageRecordSummaryService() - { - } - - internal SubscriptionItemUsageRecordSummaryService( - ApiRequestor requestor) - : base(requestor) - { - } - - public SubscriptionItemUsageRecordSummaryService(IStripeClient client) - : base(client) - { - } - - /// - ///

For the specified subscription item, returns a list of summary objects. Each object - /// in the list provides usage information that’s been summarized from multiple usage - /// records and over a subscription billing period (e.g., 15 usage records in the month of - /// September).

. - /// - ///

The list is sorted in reverse-chronological order (newest first). The first list item - /// represents the most current usage period that hasn’t ended yet. Since new usage records - /// can still be added, the returned summary information for the subscription item’s ID - /// should be seen as unstable until the subscription billing period ends.

. - ///
- public virtual StripeList List(string parentId, SubscriptionItemUsageRecordSummaryListOptions options = null, RequestOptions requestOptions = null) - { - return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v1/subscription_items/{WebUtility.UrlEncode(parentId)}/usage_record_summaries", options, requestOptions); - } - - /// - ///

For the specified subscription item, returns a list of summary objects. Each object - /// in the list provides usage information that’s been summarized from multiple usage - /// records and over a subscription billing period (e.g., 15 usage records in the month of - /// September).

. - /// - ///

The list is sorted in reverse-chronological order (newest first). The first list item - /// represents the most current usage period that hasn’t ended yet. Since new usage records - /// can still be added, the returned summary information for the subscription item’s ID - /// should be seen as unstable until the subscription billing period ends.

. - ///
- public virtual Task> ListAsync(string parentId, SubscriptionItemUsageRecordSummaryListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v1/subscription_items/{WebUtility.UrlEncode(parentId)}/usage_record_summaries", options, requestOptions, cancellationToken); - } - - /// - ///

For the specified subscription item, returns a list of summary objects. Each object - /// in the list provides usage information that’s been summarized from multiple usage - /// records and over a subscription billing period (e.g., 15 usage records in the month of - /// September).

. - /// - ///

The list is sorted in reverse-chronological order (newest first). The first list item - /// represents the most current usage period that hasn’t ended yet. Since new usage records - /// can still be added, the returned summary information for the subscription item’s ID - /// should be seen as unstable until the subscription billing period ends.

. - ///
- public virtual IEnumerable ListAutoPaging(string parentId, SubscriptionItemUsageRecordSummaryListOptions options = null, RequestOptions requestOptions = null) - { - return this.ListRequestAutoPaging($"/v1/subscription_items/{WebUtility.UrlEncode(parentId)}/usage_record_summaries", options, requestOptions); - } - - /// - ///

For the specified subscription item, returns a list of summary objects. Each object - /// in the list provides usage information that’s been summarized from multiple usage - /// records and over a subscription billing period (e.g., 15 usage records in the month of - /// September).

. - /// - ///

The list is sorted in reverse-chronological order (newest first). The first list item - /// represents the most current usage period that hasn’t ended yet. Since new usage records - /// can still be added, the returned summary information for the subscription item’s ID - /// should be seen as unstable until the subscription billing period ends.

. - ///
- public virtual IAsyncEnumerable ListAutoPagingAsync(string parentId, SubscriptionItemUsageRecordSummaryListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.ListRequestAutoPagingAsync($"/v1/subscription_items/{WebUtility.UrlEncode(parentId)}/usage_record_summaries", options, requestOptions, cancellationToken); - } - } -} diff --git a/src/Stripe.net/Services/SubscriptionItemUsageRecords/SubscriptionItemUsageRecordCreateOptions.cs b/src/Stripe.net/Services/SubscriptionItemUsageRecords/SubscriptionItemUsageRecordCreateOptions.cs deleted file mode 100644 index 51983474ed..0000000000 --- a/src/Stripe.net/Services/SubscriptionItemUsageRecords/SubscriptionItemUsageRecordCreateOptions.cs +++ /dev/null @@ -1,51 +0,0 @@ -// 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 SubscriptionItemUsageRecordCreateOptions : BaseOptions - { - /// - /// Valid values are increment (default) or set. When using increment - /// the specified quantity will be added to the usage at the specified timestamp. The - /// set action will overwrite the usage quantity at that timestamp. If the - /// subscription has billing - /// thresholds, increment is the only allowed value. - /// One of: increment, or set. - /// - [JsonProperty("action")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("action")] -#endif - public string Action { get; set; } - - /// - /// The usage quantity for the specified timestamp. - /// - [JsonProperty("quantity")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("quantity")] -#endif - public long? Quantity { get; set; } - - /// - /// The timestamp for the usage event. This timestamp must be within the current billing - /// period of the subscription of the provided subscription_item, and must not be in - /// the future. When passing "now", Stripe records usage for the current time. - /// Default is "now" if a value is not provided. - /// - [JsonProperty("timestamp")] - [JsonConverter(typeof(AnyOfConverter))] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("timestamp")] - [STJS.JsonConverter(typeof(STJAnyOfConverter))] -#endif - public AnyOf Timestamp { get; set; } - } -} diff --git a/src/Stripe.net/Services/SubscriptionItemUsageRecords/SubscriptionItemUsageRecordService.cs b/src/Stripe.net/Services/SubscriptionItemUsageRecords/SubscriptionItemUsageRecordService.cs deleted file mode 100644 index ce3ef6ef9f..0000000000 --- a/src/Stripe.net/Services/SubscriptionItemUsageRecords/SubscriptionItemUsageRecordService.cs +++ /dev/null @@ -1,81 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System; - using System.Net; - using System.Net.Http; - using System.Threading; - using System.Threading.Tasks; - - public class SubscriptionItemUsageRecordService : ServiceNested, - INestedCreatable - { - public SubscriptionItemUsageRecordService() - { - } - - internal SubscriptionItemUsageRecordService(ApiRequestor requestor) - : base(requestor) - { - } - - public SubscriptionItemUsageRecordService(IStripeClient client) - : base(client) - { - } - - /// - ///

Creates a usage record for a specified subscription item and date, and fills it with - /// a quantity.

. - /// - ///

Usage records provide quantity information that Stripe uses to track how much - /// a customer is using your service. With usage information and the pricing model set up by - /// the metered - /// billing plan, Stripe helps you send accurate invoices to your customers.

. - /// - ///

The default calculation for usage is to add up all the quantity values of the - /// usage records within a billing period. You can change this default behavior with the - /// billing plan’s aggregate_usage parameter. - /// When there is more than one usage record with the same timestamp, Stripe adds the - /// quantity values together. In most cases, this is the desired resolution, however, - /// you can change this behavior with the action parameter.

. - /// - ///

The default pricing model for metered billing is per-unit - /// pricing. For finer granularity, you can configure metered billing to have a tiered pricing model.

. - ///
- public virtual UsageRecord Create(string parentId, SubscriptionItemUsageRecordCreateOptions options = null, RequestOptions requestOptions = null) - { - return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v1/subscription_items/{WebUtility.UrlEncode(parentId)}/usage_records", options, requestOptions); - } - - /// - ///

Creates a usage record for a specified subscription item and date, and fills it with - /// a quantity.

. - /// - ///

Usage records provide quantity information that Stripe uses to track how much - /// a customer is using your service. With usage information and the pricing model set up by - /// the metered - /// billing plan, Stripe helps you send accurate invoices to your customers.

. - /// - ///

The default calculation for usage is to add up all the quantity values of the - /// usage records within a billing period. You can change this default behavior with the - /// billing plan’s aggregate_usage parameter. - /// When there is more than one usage record with the same timestamp, Stripe adds the - /// quantity values together. In most cases, this is the desired resolution, however, - /// you can change this behavior with the action parameter.

. - /// - ///

The default pricing model for metered billing is per-unit - /// pricing. For finer granularity, you can configure metered billing to have a tiered pricing model.

. - ///
- public virtual Task CreateAsync(string parentId, SubscriptionItemUsageRecordCreateOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v1/subscription_items/{WebUtility.UrlEncode(parentId)}/usage_records", options, requestOptions, cancellationToken); - } - } -} diff --git a/src/Stripe.net/Services/SubscriptionItemUsageRecords/SubscriptionItemUsageRecordTimestamp.cs b/src/Stripe.net/Services/SubscriptionItemUsageRecords/SubscriptionItemUsageRecordTimestamp.cs deleted file mode 100644 index 456a6aaf24..0000000000 --- a/src/Stripe.net/Services/SubscriptionItemUsageRecords/SubscriptionItemUsageRecordTimestamp.cs +++ /dev/null @@ -1,13 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - public class SubscriptionItemUsageRecordTimestamp : StringEnum - { - public static readonly SubscriptionItemUsageRecordTimestamp Now = new SubscriptionItemUsageRecordTimestamp("now"); - - private SubscriptionItemUsageRecordTimestamp(string value) - : base(value) - { - } - } -} diff --git a/src/Stripe.net/Services/SubscriptionItems/SubscriptionItemCreateOptions.cs b/src/Stripe.net/Services/SubscriptionItems/SubscriptionItemCreateOptions.cs index 6e522684ca..f537154ca0 100644 --- a/src/Stripe.net/Services/SubscriptionItems/SubscriptionItemCreateOptions.cs +++ b/src/Stripe.net/Services/SubscriptionItems/SubscriptionItemCreateOptions.cs @@ -11,17 +11,6 @@ namespace Stripe public class SubscriptionItemCreateOptions : BaseOptions, IHasMetadata { - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. When updating, pass an empty string to remove previously-defined - /// thresholds. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public SubscriptionItemBillingThresholdsOptions BillingThresholds { get; set; } - /// /// The coupons to redeem into discounts for the subscription item. /// diff --git a/src/Stripe.net/Services/SubscriptionItems/SubscriptionItemService.cs b/src/Stripe.net/Services/SubscriptionItems/SubscriptionItemService.cs index b320c83844..59eda61d33 100644 --- a/src/Stripe.net/Services/SubscriptionItems/SubscriptionItemService.cs +++ b/src/Stripe.net/Services/SubscriptionItems/SubscriptionItemService.cs @@ -8,16 +8,13 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class SubscriptionItemService : Service, + public class SubscriptionItemService : Service, ICreatable, IDeletable, IListable, IRetrievable, IUpdatable { - private SubscriptionItemUsageRecordService usageRecords; - private SubscriptionItemUsageRecordSummaryService usageRecordSummaries; - public SubscriptionItemService() { } @@ -32,12 +29,6 @@ public SubscriptionItemService(IStripeClient client) { } - public virtual SubscriptionItemUsageRecordService UsageRecords => this.usageRecords ??= new SubscriptionItemUsageRecordService( - this.Requestor); - - public virtual SubscriptionItemUsageRecordSummaryService UsageRecordSummaries => this.usageRecordSummaries ??= new SubscriptionItemUsageRecordSummaryService( - this.Requestor); - /// ///

Adds a new item to an existing subscription. No existing items will be changed or /// replaced.

. diff --git a/src/Stripe.net/Services/SubscriptionItems/SubscriptionItemUpdateOptions.cs b/src/Stripe.net/Services/SubscriptionItems/SubscriptionItemUpdateOptions.cs index 1c0e364795..80fb58b04e 100644 --- a/src/Stripe.net/Services/SubscriptionItems/SubscriptionItemUpdateOptions.cs +++ b/src/Stripe.net/Services/SubscriptionItems/SubscriptionItemUpdateOptions.cs @@ -11,17 +11,6 @@ namespace Stripe public class SubscriptionItemUpdateOptions : BaseOptions, IHasMetadata { - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. When updating, pass an empty string to remove previously-defined - /// thresholds. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public SubscriptionItemBillingThresholdsOptions BillingThresholds { get; set; } - /// /// The coupons to redeem into discounts for the subscription item. /// diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsBillingThresholdsOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsBillingThresholdsOptions.cs deleted file mode 100644 index 79b5304646..0000000000 --- a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsBillingThresholdsOptions.cs +++ /dev/null @@ -1,31 +0,0 @@ -// 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 SubscriptionScheduleDefaultSettingsBillingThresholdsOptions : INestedOptions - { - /// - /// Monetary threshold that triggers the subscription to advance to a new billing period. - /// - [JsonProperty("amount_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount_gte")] -#endif - public long? AmountGte { get; set; } - - /// - /// Indicates if the billing_cycle_anchor should be reset when a threshold is - /// reached. If true, billing_cycle_anchor will be updated to the date/time the - /// threshold was last reached; otherwise, the value will remain unchanged. - /// - [JsonProperty("reset_billing_cycle_anchor")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("reset_billing_cycle_anchor")] -#endif - public bool? ResetBillingCycleAnchor { get; set; } - } -} diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsOptions.cs index 5f2fb642dc..277d22f70f 100644 --- a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsOptions.cs +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsOptions.cs @@ -45,16 +45,6 @@ public class SubscriptionScheduleDefaultSettingsOptions : INestedOptions #endif public string BillingCycleAnchor { get; set; } - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. Pass an empty string to remove previously-defined thresholds. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public SubscriptionScheduleDefaultSettingsBillingThresholdsOptions BillingThresholds { get; set; } - /// /// Either charge_automatically, or send_invoice. When charging automatically, /// Stripe will attempt to pay the underlying subscription at the end of each billing cycle diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseAddInvoiceItemPriceDataOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseAddInvoiceItemPriceDataOptions.cs index aefa6074a6..a1247b2185 100644 --- a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseAddInvoiceItemPriceDataOptions.cs +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseAddInvoiceItemPriceDataOptions.cs @@ -20,7 +20,8 @@ public class SubscriptionSchedulePhaseAddInvoiceItemPriceDataOptions : INestedOp public string Currency { get; set; } /// - /// The ID of the product that this price will belong to. + /// The ID of the Product that this Price will belong to. /// [JsonProperty("product")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseBillingThresholdsOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseBillingThresholdsOptions.cs deleted file mode 100644 index fd6a11cb11..0000000000 --- a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseBillingThresholdsOptions.cs +++ /dev/null @@ -1,31 +0,0 @@ -// 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 SubscriptionSchedulePhaseBillingThresholdsOptions : INestedOptions - { - /// - /// Monetary threshold that triggers the subscription to advance to a new billing period. - /// - [JsonProperty("amount_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount_gte")] -#endif - public long? AmountGte { get; set; } - - /// - /// Indicates if the billing_cycle_anchor should be reset when a threshold is - /// reached. If true, billing_cycle_anchor will be updated to the date/time the - /// threshold was last reached; otherwise, the value will remain unchanged. - /// - [JsonProperty("reset_billing_cycle_anchor")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("reset_billing_cycle_anchor")] -#endif - public bool? ResetBillingCycleAnchor { get; set; } - } -} diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseItemBillingThresholdsOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseItemBillingThresholdsOptions.cs deleted file mode 100644 index 1fb045bd3e..0000000000 --- a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseItemBillingThresholdsOptions.cs +++ /dev/null @@ -1,23 +0,0 @@ -// 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 SubscriptionSchedulePhaseItemBillingThresholdsOptions : INestedOptions - { - /// - /// Number of units that meets the billing threshold to advance the subscription to a new - /// billing period (e.g., it takes 10 $5 units to meet a $50 monetary - /// threshold). - /// - [JsonProperty("usage_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("usage_gte")] -#endif - public long? UsageGte { get; set; } - } -} diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseItemOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseItemOptions.cs index fa1c56ae07..0bbfc189b3 100644 --- a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseItemOptions.cs +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseItemOptions.cs @@ -9,17 +9,6 @@ namespace Stripe public class SubscriptionSchedulePhaseItemOptions : INestedOptions, IHasMetadata { - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. When updating, pass an empty string to remove previously-defined - /// thresholds. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public SubscriptionSchedulePhaseItemBillingThresholdsOptions BillingThresholds { get; set; } - /// /// The coupons to redeem into discounts for the subscription item. /// diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseItemPriceDataOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseItemPriceDataOptions.cs index 198e2ebc77..3928babde9 100644 --- a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseItemPriceDataOptions.cs +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseItemPriceDataOptions.cs @@ -20,7 +20,8 @@ public class SubscriptionSchedulePhaseItemPriceDataOptions : INestedOptions public string Currency { get; set; } /// - /// The ID of the product that this price will belong to. + /// The ID of the Product that this Price will belong to. /// [JsonProperty("product")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseOptions.cs index 8ffa6ece90..b0a4b30769 100644 --- a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseOptions.cs +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseOptions.cs @@ -58,16 +58,6 @@ public class SubscriptionSchedulePhaseOptions : INestedOptions, IHasMetadata #endif public string BillingCycleAnchor { get; set; } - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. Pass an empty string to remove previously-defined thresholds. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public SubscriptionSchedulePhaseBillingThresholdsOptions BillingThresholds { get; set; } - /// /// Either charge_automatically, or send_invoice. When charging automatically, /// Stripe will attempt to pay the underlying subscription at the end of each billing cycle @@ -82,17 +72,6 @@ public class SubscriptionSchedulePhaseOptions : INestedOptions, IHasMetadata #endif public string CollectionMethod { get; set; } - /// - /// The ID of the coupon to apply to this phase of the subscription schedule. This field has - /// been deprecated and will be removed in a future API version. Use discounts - /// instead. - /// - [JsonProperty("coupon")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("coupon")] -#endif - public string Coupon { get; set; } - /// /// Three-letter ISO currency /// code, in lowercase. Must be a supported diff --git a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleService.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleService.cs index feb93c3698..3e97c8a5da 100644 --- a/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleService.cs +++ b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class SubscriptionScheduleService : Service, + public class SubscriptionScheduleService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Subscriptions/SubscriptionAddInvoiceItemPriceDataOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionAddInvoiceItemPriceDataOptions.cs index c2be271156..8fa183767c 100644 --- a/src/Stripe.net/Services/Subscriptions/SubscriptionAddInvoiceItemPriceDataOptions.cs +++ b/src/Stripe.net/Services/Subscriptions/SubscriptionAddInvoiceItemPriceDataOptions.cs @@ -20,7 +20,8 @@ public class SubscriptionAddInvoiceItemPriceDataOptions : INestedOptions public string Currency { get; set; } /// - /// The ID of the product that this price will belong to. + /// The ID of the Product that this Price will belong to. /// [JsonProperty("product")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Subscriptions/SubscriptionBillingThresholdsOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionBillingThresholdsOptions.cs deleted file mode 100644 index 0f95b945df..0000000000 --- a/src/Stripe.net/Services/Subscriptions/SubscriptionBillingThresholdsOptions.cs +++ /dev/null @@ -1,31 +0,0 @@ -// 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 SubscriptionBillingThresholdsOptions : INestedOptions - { - /// - /// Monetary threshold that triggers the subscription to advance to a new billing period. - /// - [JsonProperty("amount_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("amount_gte")] -#endif - public long? AmountGte { get; set; } - - /// - /// Indicates if the billing_cycle_anchor should be reset when a threshold is - /// reached. If true, billing_cycle_anchor will be updated to the date/time the - /// threshold was last reached; otherwise, the value will remain unchanged. - /// - [JsonProperty("reset_billing_cycle_anchor")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("reset_billing_cycle_anchor")] -#endif - public bool? ResetBillingCycleAnchor { get; set; } - } -} diff --git a/src/Stripe.net/Services/Subscriptions/SubscriptionCancelAt.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionCancelAt.cs new file mode 100644 index 0000000000..bfab132f52 --- /dev/null +++ b/src/Stripe.net/Services/Subscriptions/SubscriptionCancelAt.cs @@ -0,0 +1,13 @@ +// File generated from our OpenAPI spec +namespace Stripe +{ + public class SubscriptionCancelAt : StringEnum + { + public static readonly SubscriptionCancelAt MinPeriodEnd = new SubscriptionCancelAt("min_period_end"); + + private SubscriptionCancelAt(string value) + : base(value) + { + } + } +} diff --git a/src/Stripe.net/Services/Subscriptions/SubscriptionCreateOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionCreateOptions.cs index 6a345849df..fb1ce13b3b 100644 --- a/src/Stripe.net/Services/Subscriptions/SubscriptionCreateOptions.cs +++ b/src/Stripe.net/Services/Subscriptions/SubscriptionCreateOptions.cs @@ -84,16 +84,6 @@ public class SubscriptionCreateOptions : BaseOptions, IHasMetadata #endif public SubscriptionBillingCycleAnchorConfigOptions BillingCycleAnchorConfig { get; set; } - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. Pass an empty string to remove previously-defined thresholds. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public SubscriptionBillingThresholdsOptions BillingThresholds { get; set; } - /// /// A timestamp at which the subscription should cancel. If set to a date before the current /// period ends, this will cause a proration if prorations have been enabled using @@ -101,12 +91,12 @@ public class SubscriptionCreateOptions : BaseOptions, IHasMetadata /// proration for that period. /// [JsonProperty("cancel_at")] - [JsonConverter(typeof(UnixDateTimeConverter))] + [JsonConverter(typeof(AnyOfConverter))] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("cancel_at")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] + [STJS.JsonConverter(typeof(STJAnyOfConverter))] #endif - public DateTime? CancelAt { get; set; } + public AnyOf CancelAt { get; set; } /// /// Indicate whether this subscription should cancel at the end of the current period @@ -132,17 +122,6 @@ public class SubscriptionCreateOptions : BaseOptions, IHasMetadata #endif public string CollectionMethod { get; set; } - /// - /// The ID of the coupon to apply to this subscription. A coupon applied to a subscription - /// will only affect invoices created for that particular subscription. This field has been - /// deprecated and will be removed in a future API version. Use discounts instead. - /// - [JsonProperty("coupon")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("coupon")] -#endif - public string Coupon { get; set; } - /// /// Three-letter ISO currency /// code, in lowercase. Must be a supported @@ -355,18 +334,6 @@ public class SubscriptionCreateOptions : BaseOptions, IHasMetadata #endif public SubscriptionPrebillingOptions Prebilling { get; set; } - /// - /// The promotion code to apply to this subscription. A promotion code applied to a - /// subscription will only affect invoices created for that particular subscription. This - /// field has been deprecated and will be removed in a future API version. Use - /// discounts instead. - /// - [JsonProperty("promotion_code")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("promotion_code")] -#endif - public string PromotionCode { get; set; } - /// /// Determines how to handle prorations resulting diff --git a/src/Stripe.net/Services/Subscriptions/SubscriptionItemBillingThresholdsOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionItemBillingThresholdsOptions.cs deleted file mode 100644 index 54ed79ee07..0000000000 --- a/src/Stripe.net/Services/Subscriptions/SubscriptionItemBillingThresholdsOptions.cs +++ /dev/null @@ -1,23 +0,0 @@ -// 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 SubscriptionItemBillingThresholdsOptions : INestedOptions - { - /// - /// Number of units that meets the billing threshold to advance the subscription to a new - /// billing period (e.g., it takes 10 $5 units to meet a $50 monetary - /// threshold). - /// - [JsonProperty("usage_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("usage_gte")] -#endif - public long? UsageGte { get; set; } - } -} diff --git a/src/Stripe.net/Services/Subscriptions/SubscriptionItemOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionItemOptions.cs index 3814488277..32d7882e85 100644 --- a/src/Stripe.net/Services/Subscriptions/SubscriptionItemOptions.cs +++ b/src/Stripe.net/Services/Subscriptions/SubscriptionItemOptions.cs @@ -9,17 +9,6 @@ namespace Stripe public class SubscriptionItemOptions : INestedOptions, IHasId, IHasMetadata { - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. When updating, pass an empty string to remove previously-defined - /// thresholds. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public SubscriptionItemBillingThresholdsOptions BillingThresholds { get; set; } - /// /// Delete all usage for a given subscription item. You must pass this when deleting a usage /// records subscription item. clear_usage has no effect if the plan has a billing diff --git a/src/Stripe.net/Services/Subscriptions/SubscriptionItemPriceDataOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionItemPriceDataOptions.cs index 33a56ad348..86e0592bb6 100644 --- a/src/Stripe.net/Services/Subscriptions/SubscriptionItemPriceDataOptions.cs +++ b/src/Stripe.net/Services/Subscriptions/SubscriptionItemPriceDataOptions.cs @@ -20,7 +20,8 @@ public class SubscriptionItemPriceDataOptions : INestedOptions public string Currency { get; set; } /// - /// The ID of the product that this price will belong to. + /// The ID of the Product that this Price will belong to. /// [JsonProperty("product")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Subscriptions/SubscriptionPaymentSettingsOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionPaymentSettingsOptions.cs index 35c9812217..c9158e2485 100644 --- a/src/Stripe.net/Services/Subscriptions/SubscriptionPaymentSettingsOptions.cs +++ b/src/Stripe.net/Services/Subscriptions/SubscriptionPaymentSettingsOptions.cs @@ -30,11 +30,11 @@ public class SubscriptionPaymentSettingsOptions : INestedOptions /// amazon_pay, au_becs_debit, bacs_debit, bancontact, /// boleto, card, cashapp, custom, customer_balance, /// eps, fpx, giropay, grabpay, id_bank_transfer, - /// ideal, jp_credit_transfer, kakao_pay, konbini, - /// kr_card, link, multibanco, naver_pay, p24, - /// payco, paynow, paypal, promptpay, revolut_pay, - /// sepa_credit_transfer, sepa_debit, sofort, swish, - /// us_bank_account, or wechat_pay. + /// ideal, jp_credit_transfer, kakao_pay, klarna, + /// konbini, kr_card, link, multibanco, naver_pay, + /// nz_bank_account, p24, payco, paynow, paypal, + /// promptpay, revolut_pay, sepa_credit_transfer, sepa_debit, + /// sofort, swish, us_bank_account, or wechat_pay. /// [JsonProperty("payment_method_types")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Subscriptions/SubscriptionService.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionService.cs index 6d584b1199..e0118620d0 100644 --- a/src/Stripe.net/Services/Subscriptions/SubscriptionService.cs +++ b/src/Stripe.net/Services/Subscriptions/SubscriptionService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class SubscriptionService : Service, + public class SubscriptionService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Subscriptions/SubscriptionUpdateOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionUpdateOptions.cs index 54101348f1..47ed48438b 100644 --- a/src/Stripe.net/Services/Subscriptions/SubscriptionUpdateOptions.cs +++ b/src/Stripe.net/Services/Subscriptions/SubscriptionUpdateOptions.cs @@ -58,16 +58,6 @@ public class SubscriptionUpdateOptions : BaseOptions, IHasMetadata #endif public SubscriptionBillingCycleAnchor BillingCycleAnchor { get; set; } - /// - /// Define thresholds at which an invoice will be sent, and the subscription advanced to a - /// new billing period. Pass an empty string to remove previously-defined thresholds. - /// - [JsonProperty("billing_thresholds")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("billing_thresholds")] -#endif - public SubscriptionBillingThresholdsOptions BillingThresholds { get; set; } - /// /// A timestamp at which the subscription should cancel. If set to a date before the current /// period ends, this will cause a proration if prorations have been enabled using @@ -75,12 +65,12 @@ public class SubscriptionUpdateOptions : BaseOptions, IHasMetadata /// proration for that period. /// [JsonProperty("cancel_at")] - [JsonConverter(typeof(UnixDateTimeConverter))] + [JsonConverter(typeof(AnyOfConverter))] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("cancel_at")] - [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] + [STJS.JsonConverter(typeof(STJAnyOfConverter))] #endif - public DateTime? CancelAt { get; set; } + public AnyOf CancelAt { get; set; } /// /// Indicate whether this subscription should cancel at the end of the current period @@ -115,17 +105,6 @@ public class SubscriptionUpdateOptions : BaseOptions, IHasMetadata #endif public string CollectionMethod { get; set; } - /// - /// The ID of the coupon to apply to this subscription. A coupon applied to a subscription - /// will only affect invoices created for that particular subscription. This field has been - /// deprecated and will be removed in a future API version. Use discounts instead. - /// - [JsonProperty("coupon")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("coupon")] -#endif - public string Coupon { get; set; } - /// /// Number of days a customer has to pay invoices generated by this subscription. Valid only /// for subscriptions where collection_method is set to send_invoice. @@ -326,18 +305,6 @@ public class SubscriptionUpdateOptions : BaseOptions, IHasMetadata #endif public SubscriptionPrebillingOptions Prebilling { get; set; } - /// - /// The promotion code to apply to this subscription. A promotion code applied to a - /// subscription will only affect invoices created for that particular subscription. This - /// field has been deprecated and will be removed in a future API version. Use - /// discounts instead. - /// - [JsonProperty("promotion_code")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("promotion_code")] -#endif - public string PromotionCode { get; set; } - /// /// Determines how to handle prorations when the diff --git a/src/Stripe.net/Services/Tax/Associations/AssociationService.cs b/src/Stripe.net/Services/Tax/Associations/AssociationService.cs index 650bbfa5b4..fa40621ed7 100644 --- a/src/Stripe.net/Services/Tax/Associations/AssociationService.cs +++ b/src/Stripe.net/Services/Tax/Associations/AssociationService.cs @@ -6,7 +6,7 @@ namespace Stripe.Tax using System.Threading; using System.Threading.Tasks; - public class AssociationService : Service + public class AssociationService : Service { public AssociationService() { diff --git a/src/Stripe.net/Services/Tax/CalculationLineItems/CalculationLineItemService.cs b/src/Stripe.net/Services/Tax/CalculationLineItems/CalculationLineItemService.cs index 46efade691..bf405d8cc0 100644 --- a/src/Stripe.net/Services/Tax/CalculationLineItems/CalculationLineItemService.cs +++ b/src/Stripe.net/Services/Tax/CalculationLineItems/CalculationLineItemService.cs @@ -8,7 +8,7 @@ namespace Stripe.Tax using System.Threading; using System.Threading.Tasks; - public class CalculationLineItemService : ServiceNested, + public class CalculationLineItemService : Service, INestedListable { public CalculationLineItemService() diff --git a/src/Stripe.net/Services/Tax/Calculations/CalculationService.cs b/src/Stripe.net/Services/Tax/Calculations/CalculationService.cs index 79de8eb887..67298c8e6a 100644 --- a/src/Stripe.net/Services/Tax/Calculations/CalculationService.cs +++ b/src/Stripe.net/Services/Tax/Calculations/CalculationService.cs @@ -7,7 +7,7 @@ namespace Stripe.Tax using System.Threading; using System.Threading.Tasks; - public partial class CalculationService : Service, + public partial class CalculationService : Service, ICreatable, IRetrievable { diff --git a/src/Stripe.net/Services/Tax/Forms/FormService.cs b/src/Stripe.net/Services/Tax/Forms/FormService.cs index 90496be5b6..1b944d7896 100644 --- a/src/Stripe.net/Services/Tax/Forms/FormService.cs +++ b/src/Stripe.net/Services/Tax/Forms/FormService.cs @@ -9,7 +9,7 @@ namespace Stripe.Tax using System.Threading; using System.Threading.Tasks; - public class FormService : Service
, + public class FormService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Tax/Registrations/RegistrationCountryOptionsUsLocalAmusementTaxOptions.cs b/src/Stripe.net/Services/Tax/Registrations/RegistrationCountryOptionsUsLocalAmusementTaxOptions.cs index b1b187d02d..16a330a92a 100644 --- a/src/Stripe.net/Services/Tax/Registrations/RegistrationCountryOptionsUsLocalAmusementTaxOptions.cs +++ b/src/Stripe.net/Services/Tax/Registrations/RegistrationCountryOptionsUsLocalAmusementTaxOptions.cs @@ -11,8 +11,8 @@ public class RegistrationCountryOptionsUsLocalAmusementTaxOptions : INestedOptio /// /// A FIPS code /// representing the local jurisdiction. Supported FIPS codes are: 14000 (Chicago), - /// 06613 (Bloomington), 21696 (East Dundee), 24582 (Evanston), and - /// 68081 (Schiller Park). + /// 06613 (Bloomington), 21696 (East Dundee), 24582 (Evanston), + /// 45421 (Lynwood), 64343 (River Grove), and 68081 (Schiller Park). /// [JsonProperty("jurisdiction")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Tax/Registrations/RegistrationService.cs b/src/Stripe.net/Services/Tax/Registrations/RegistrationService.cs index 66a1954642..05b81fd3aa 100644 --- a/src/Stripe.net/Services/Tax/Registrations/RegistrationService.cs +++ b/src/Stripe.net/Services/Tax/Registrations/RegistrationService.cs @@ -8,7 +8,7 @@ namespace Stripe.Tax using System.Threading; using System.Threading.Tasks; - public class RegistrationService : Service, + public class RegistrationService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Tax/Settings/SettingsService.cs b/src/Stripe.net/Services/Tax/Settings/SettingsService.cs index 60dc228b4d..9c834f8fa7 100644 --- a/src/Stripe.net/Services/Tax/Settings/SettingsService.cs +++ b/src/Stripe.net/Services/Tax/Settings/SettingsService.cs @@ -6,8 +6,7 @@ namespace Stripe.Tax using System.Threading; using System.Threading.Tasks; - public class SettingsService : Service, - ISingletonRetrievable + public class SettingsService : Service, ISingletonRetrievable { public SettingsService() { diff --git a/src/Stripe.net/Services/Tax/TransactionLineItems/TransactionLineItemService.cs b/src/Stripe.net/Services/Tax/TransactionLineItems/TransactionLineItemService.cs index 2cf0bcdd7f..7c7314768e 100644 --- a/src/Stripe.net/Services/Tax/TransactionLineItems/TransactionLineItemService.cs +++ b/src/Stripe.net/Services/Tax/TransactionLineItems/TransactionLineItemService.cs @@ -8,7 +8,7 @@ namespace Stripe.Tax using System.Threading; using System.Threading.Tasks; - public class TransactionLineItemService : ServiceNested, + public class TransactionLineItemService : Service, INestedListable { public TransactionLineItemService() diff --git a/src/Stripe.net/Services/Tax/Transactions/TransactionService.cs b/src/Stripe.net/Services/Tax/Transactions/TransactionService.cs index 7d57d6a15c..317bdec156 100644 --- a/src/Stripe.net/Services/Tax/Transactions/TransactionService.cs +++ b/src/Stripe.net/Services/Tax/Transactions/TransactionService.cs @@ -7,7 +7,7 @@ namespace Stripe.Tax using System.Threading; using System.Threading.Tasks; - public partial class TransactionService : Service, + public partial class TransactionService : Service, IRetrievable { private TransactionLineItemService lineItems; diff --git a/src/Stripe.net/Services/TaxCodes/TaxCodeService.cs b/src/Stripe.net/Services/TaxCodes/TaxCodeService.cs index 0870c0fd17..6dbf384387 100644 --- a/src/Stripe.net/Services/TaxCodes/TaxCodeService.cs +++ b/src/Stripe.net/Services/TaxCodes/TaxCodeService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class TaxCodeService : Service, + public class TaxCodeService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/TaxIds/TaxIdService.cs b/src/Stripe.net/Services/TaxIds/TaxIdService.cs index da05c93821..32ac6a973f 100644 --- a/src/Stripe.net/Services/TaxIds/TaxIdService.cs +++ b/src/Stripe.net/Services/TaxIds/TaxIdService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public partial class TaxIdService : Service, + public partial class TaxIdService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/TaxRates/TaxRateService.cs b/src/Stripe.net/Services/TaxRates/TaxRateService.cs index c23d455b4f..de18f8d493 100644 --- a/src/Stripe.net/Services/TaxRates/TaxRateService.cs +++ b/src/Stripe.net/Services/TaxRates/TaxRateService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class TaxRateService : Service, + public class TaxRateService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationBbposWiseposEOptions.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationBbposWiseposEOptions.cs index 88262a9bf4..e5d25f8c2c 100644 --- a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationBbposWiseposEOptions.cs +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationBbposWiseposEOptions.cs @@ -9,7 +9,7 @@ namespace Stripe.Terminal public class ConfigurationBbposWiseposEOptions : INestedOptions { /// - /// A File ID representing an image you would like displayed on the reader. + /// A File ID representing an image to display on the reader. /// [JsonProperty("splashscreen")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationCreateOptions.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationCreateOptions.cs index 1b688d3551..83cc8d8292 100644 --- a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationCreateOptions.cs +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationCreateOptions.cs @@ -70,5 +70,14 @@ public class ConfigurationCreateOptions : BaseOptions [STJS.JsonPropertyName("verifone_p400")] #endif public ConfigurationVerifoneP400Options VerifoneP400 { get; set; } + + /// + /// Configurations for connecting to a WiFi network. + /// + [JsonProperty("wifi")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("wifi")] +#endif + public ConfigurationWifiOptions Wifi { get; set; } } } diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationService.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationService.cs index 554f159e90..2572fed1ef 100644 --- a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationService.cs +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationService.cs @@ -8,7 +8,7 @@ namespace Stripe.Terminal using System.Threading; using System.Threading.Tasks; - public class ConfigurationService : Service, + public class ConfigurationService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationUpdateOptions.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationUpdateOptions.cs index ed5a5ed5f4..ef5cdce1d5 100644 --- a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationUpdateOptions.cs +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationUpdateOptions.cs @@ -70,5 +70,14 @@ public class ConfigurationUpdateOptions : BaseOptions [STJS.JsonPropertyName("verifone_p400")] #endif public ConfigurationVerifoneP400Options VerifoneP400 { get; set; } + + /// + /// Configurations for connecting to a WiFi network. + /// + [JsonProperty("wifi")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("wifi")] +#endif + public ConfigurationWifiOptions Wifi { get; set; } } } diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationWifiEnterpriseEapPeapOptions.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationWifiEnterpriseEapPeapOptions.cs new file mode 100644 index 0000000000..0ea1e7d170 --- /dev/null +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationWifiEnterpriseEapPeapOptions.cs @@ -0,0 +1,47 @@ +// 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 ConfigurationWifiEnterpriseEapPeapOptions : INestedOptions + { + /// + /// A File ID representing a PEM file containing the server certificate. + /// + [JsonProperty("ca_certificate_file")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ca_certificate_file")] +#endif + public string CaCertificateFile { get; set; } + + /// + /// Password for connecting to the WiFi network. + /// + [JsonProperty("password")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("password")] +#endif + public string Password { get; set; } + + /// + /// Name of the WiFi network. + /// + [JsonProperty("ssid")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ssid")] +#endif + public string Ssid { get; set; } + + /// + /// Username for connecting to the WiFi network. + /// + [JsonProperty("username")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("username")] +#endif + public string Username { get; set; } + } +} diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationWifiEnterpriseEapTlsOptions.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationWifiEnterpriseEapTlsOptions.cs new file mode 100644 index 0000000000..9dc8d6ca67 --- /dev/null +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationWifiEnterpriseEapTlsOptions.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 + + public class ConfigurationWifiEnterpriseEapTlsOptions : INestedOptions + { + /// + /// A File ID representing a PEM file containing the server certificate. + /// + [JsonProperty("ca_certificate_file")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ca_certificate_file")] +#endif + public string CaCertificateFile { get; set; } + + /// + /// A File ID representing a PEM file containing the client certificate. + /// + [JsonProperty("client_certificate_file")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("client_certificate_file")] +#endif + public string ClientCertificateFile { get; set; } + + /// + /// A File ID representing a PEM file containing the client RSA private key. + /// + [JsonProperty("private_key_file")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("private_key_file")] +#endif + public string PrivateKeyFile { get; set; } + + /// + /// Password for the private key file. + /// + [JsonProperty("private_key_file_password")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("private_key_file_password")] +#endif + public string PrivateKeyFilePassword { get; set; } + + /// + /// Name of the WiFi network. + /// + [JsonProperty("ssid")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ssid")] +#endif + public string Ssid { get; set; } + } +} diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationWifiOptions.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationWifiOptions.cs new file mode 100644 index 0000000000..6538a81b0d --- /dev/null +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationWifiOptions.cs @@ -0,0 +1,49 @@ +// 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 ConfigurationWifiOptions : INestedOptions + { + /// + /// Credentials for a WPA-Enterprise WiFi network using the EAP-PEAP authentication method. + /// + [JsonProperty("enterprise_eap_peap")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("enterprise_eap_peap")] +#endif + public ConfigurationWifiEnterpriseEapPeapOptions EnterpriseEapPeap { get; set; } + + /// + /// Credentials for a WPA-Enterprise WiFi network using the EAP-TLS authentication method. + /// + [JsonProperty("enterprise_eap_tls")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("enterprise_eap_tls")] +#endif + public ConfigurationWifiEnterpriseEapTlsOptions EnterpriseEapTls { get; set; } + + /// + /// Credentials for a WPA-Personal WiFi network. + /// + [JsonProperty("personal_psk")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("personal_psk")] +#endif + public ConfigurationWifiPersonalPskOptions PersonalPsk { get; set; } + + /// + /// Security type of the WiFi network. Fill out the hash with the corresponding name to + /// provide the set of credentials for this security type. + /// One of: enterprise_eap_peap, enterprise_eap_tls, or personal_psk. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/Terminal/Configurations/ConfigurationWifiPersonalPskOptions.cs b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationWifiPersonalPskOptions.cs new file mode 100644 index 0000000000..9f7401ac77 --- /dev/null +++ b/src/Stripe.net/Services/Terminal/Configurations/ConfigurationWifiPersonalPskOptions.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 ConfigurationWifiPersonalPskOptions : INestedOptions + { + /// + /// Password for connecting to the WiFi network. + /// + [JsonProperty("password")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("password")] +#endif + public string Password { get; set; } + + /// + /// Name of the WiFi network. + /// + [JsonProperty("ssid")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ssid")] +#endif + public string Ssid { get; set; } + } +} diff --git a/src/Stripe.net/Services/Terminal/ConnectionTokens/ConnectionTokenService.cs b/src/Stripe.net/Services/Terminal/ConnectionTokens/ConnectionTokenService.cs index 53c4b7f7c8..af6ffa5ec4 100644 --- a/src/Stripe.net/Services/Terminal/ConnectionTokens/ConnectionTokenService.cs +++ b/src/Stripe.net/Services/Terminal/ConnectionTokens/ConnectionTokenService.cs @@ -6,7 +6,7 @@ namespace Stripe.Terminal using System.Threading; using System.Threading.Tasks; - public class ConnectionTokenService : Service, + public class ConnectionTokenService : Service, ICreatable { public ConnectionTokenService() diff --git a/src/Stripe.net/Services/Terminal/Locations/LocationService.cs b/src/Stripe.net/Services/Terminal/Locations/LocationService.cs index 4abdad9de9..eea53324bf 100644 --- a/src/Stripe.net/Services/Terminal/Locations/LocationService.cs +++ b/src/Stripe.net/Services/Terminal/Locations/LocationService.cs @@ -8,7 +8,7 @@ namespace Stripe.Terminal using System.Threading; using System.Threading.Tasks; - public class LocationService : Service, + public class LocationService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/Terminal/ReaderCollectedData/ReaderCollectedDataService.cs b/src/Stripe.net/Services/Terminal/ReaderCollectedData/ReaderCollectedDataService.cs index b4968ed2b7..6dc8d2d45d 100644 --- a/src/Stripe.net/Services/Terminal/ReaderCollectedData/ReaderCollectedDataService.cs +++ b/src/Stripe.net/Services/Terminal/ReaderCollectedData/ReaderCollectedDataService.cs @@ -7,7 +7,7 @@ namespace Stripe.Terminal using System.Threading; using System.Threading.Tasks; - public class ReaderCollectedDataService : Service, + public class ReaderCollectedDataService : Service, IRetrievable { public ReaderCollectedDataService() diff --git a/src/Stripe.net/Services/Terminal/Readers/ReaderService.cs b/src/Stripe.net/Services/Terminal/Readers/ReaderService.cs index 3d3c72ec34..5c55c1463f 100644 --- a/src/Stripe.net/Services/Terminal/Readers/ReaderService.cs +++ b/src/Stripe.net/Services/Terminal/Readers/ReaderService.cs @@ -8,7 +8,7 @@ namespace Stripe.Terminal using System.Threading; using System.Threading.Tasks; - public class ReaderService : Service, + public class ReaderService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataBillieOptions.cs b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataBillieOptions.cs new file mode 100644 index 0000000000..bf69a3d463 --- /dev/null +++ b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataBillieOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.TestHelpers +{ + public class ConfirmationTokenPaymentMethodDataBillieOptions : INestedOptions + { + } +} diff --git a/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataNzBankAccountOptions.cs b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataNzBankAccountOptions.cs new file mode 100644 index 0000000000..3299e35d33 --- /dev/null +++ b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataNzBankAccountOptions.cs @@ -0,0 +1,63 @@ +// File generated from our OpenAPI spec +namespace Stripe.TestHelpers +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ConfirmationTokenPaymentMethodDataNzBankAccountOptions : INestedOptions + { + /// + /// The name on the bank account. Only required if the account holder name is different from + /// the name of the authorized signatory collected in the PaymentMethod’s billing details. + /// + [JsonProperty("account_holder_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_holder_name")] +#endif + public string AccountHolderName { get; set; } + + /// + /// The account number for the bank account. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// The numeric code for the bank account's bank. + /// + [JsonProperty("bank_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_code")] +#endif + public string BankCode { get; set; } + + /// + /// The numeric code for the bank account's bank branch. + /// + [JsonProperty("branch_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_code")] +#endif + public string BranchCode { get; set; } + + [JsonProperty("reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("reference")] +#endif + public string Reference { get; set; } + + /// + /// The suffix of the bank account number. + /// + [JsonProperty("suffix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("suffix")] +#endif + public string Suffix { get; set; } + } +} diff --git a/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataOptions.cs b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataOptions.cs index 7ec250034d..2ba9ca01ce 100644 --- a/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataOptions.cs +++ b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataOptions.cs @@ -112,6 +112,16 @@ public class ConfirmationTokenPaymentMethodDataOptions : INestedOptions, IHasMet #endif public ConfirmationTokenPaymentMethodDataBancontactOptions Bancontact { get; set; } + /// + /// If this is a billie PaymentMethod, this hash contains details about the billie + /// payment method. + /// + [JsonProperty("billie")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billie")] +#endif + public ConfirmationTokenPaymentMethodDataBillieOptions Billie { get; set; } + /// /// Billing information associated with the PaymentMethod that may be used or required by /// particular types of payment methods. @@ -344,6 +354,16 @@ public class ConfirmationTokenPaymentMethodDataOptions : INestedOptions, IHasMet #endif public ConfirmationTokenPaymentMethodDataNaverPayOptions NaverPay { get; set; } + /// + /// If this is an nz_bank_account PaymentMethod, this hash contains details about the + /// nz_bank_account payment method. + /// + [JsonProperty("nz_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nz_bank_account")] +#endif + public ConfirmationTokenPaymentMethodDataNzBankAccountOptions NzBankAccount { get; set; } + /// /// If this is an oxxo PaymentMethod, this hash contains details about the OXXO /// payment method. @@ -485,6 +505,16 @@ public class ConfirmationTokenPaymentMethodDataOptions : INestedOptions, IHasMet #endif public ConfirmationTokenPaymentMethodDataSamsungPayOptions SamsungPay { get; set; } + /// + /// If this is a satispay PaymentMethod, this hash contains details about the + /// satispay payment method. + /// + [JsonProperty("satispay")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("satispay")] +#endif + public ConfirmationTokenPaymentMethodDataSatispayOptions Satispay { get; set; } + /// /// If this is a sepa_debit PaymentMethod, this hash contains details about the SEPA /// debit bank account. @@ -541,15 +571,15 @@ public class ConfirmationTokenPaymentMethodDataOptions : INestedOptions, IHasMet /// PaymentMethod type. /// One of: acss_debit, affirm, afterpay_clearpay, alipay, /// alma, amazon_pay, au_becs_debit, bacs_debit, - /// bancontact, blik, boleto, cashapp, customer_balance, - /// eps, fpx, giropay, gopay, grabpay, - /// id_bank_transfer, ideal, kakao_pay, klarna, konbini, - /// kr_card, link, mb_way, mobilepay, multibanco, - /// naver_pay, oxxo, p24, pay_by_bank, payco, - /// paynow, paypal, payto, pix, promptpay, qris, - /// rechnung, revolut_pay, samsung_pay, sepa_debit, - /// shopeepay, sofort, swish, twint, us_bank_account, - /// wechat_pay, or zip. + /// bancontact, billie, blik, boleto, cashapp, + /// customer_balance, eps, fpx, giropay, gopay, + /// grabpay, id_bank_transfer, ideal, kakao_pay, klarna, + /// konbini, kr_card, link, mb_way, mobilepay, + /// multibanco, naver_pay, nz_bank_account, oxxo, p24, + /// pay_by_bank, payco, paynow, paypal, payto, + /// pix, promptpay, qris, rechnung, revolut_pay, + /// samsung_pay, satispay, sepa_debit, shopeepay, sofort, + /// swish, twint, us_bank_account, wechat_pay, or zip. /// [JsonProperty("type")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataSatispayOptions.cs b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataSatispayOptions.cs new file mode 100644 index 0000000000..4d7a0d33be --- /dev/null +++ b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataSatispayOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.TestHelpers +{ + public class ConfirmationTokenPaymentMethodDataSatispayOptions : INestedOptions + { + } +} diff --git a/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenService.cs b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenService.cs index 3f69bf813b..59d5a36dfb 100644 --- a/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenService.cs +++ b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenService.cs @@ -6,7 +6,7 @@ namespace Stripe.TestHelpers using System.Threading; using System.Threading.Tasks; - public class ConfirmationTokenService : Service + public class ConfirmationTokenService : Service { public ConfirmationTokenService() { diff --git a/src/Stripe.net/Services/TestHelpers/Customers/CustomerService.cs b/src/Stripe.net/Services/TestHelpers/Customers/CustomerService.cs index 2fdca35bbc..fa9546db09 100644 --- a/src/Stripe.net/Services/TestHelpers/Customers/CustomerService.cs +++ b/src/Stripe.net/Services/TestHelpers/Customers/CustomerService.cs @@ -7,7 +7,7 @@ namespace Stripe.TestHelpers using System.Threading; using System.Threading.Tasks; - public class CustomerService : Service + public class CustomerService : Service { public CustomerService() { diff --git a/src/Stripe.net/Services/TestHelpers/Issuing/Authorizations/AuthorizationService.cs b/src/Stripe.net/Services/TestHelpers/Issuing/Authorizations/AuthorizationService.cs index b7cca46474..10dea7d23a 100644 --- a/src/Stripe.net/Services/TestHelpers/Issuing/Authorizations/AuthorizationService.cs +++ b/src/Stripe.net/Services/TestHelpers/Issuing/Authorizations/AuthorizationService.cs @@ -8,7 +8,7 @@ namespace Stripe.TestHelpers.Issuing using System.Threading.Tasks; using Stripe.Issuing; - public class AuthorizationService : Service + public class AuthorizationService : Service { public AuthorizationService() { diff --git a/src/Stripe.net/Services/TestHelpers/Issuing/Cards/CardService.cs b/src/Stripe.net/Services/TestHelpers/Issuing/Cards/CardService.cs index b23758c567..b6c98dfcf9 100644 --- a/src/Stripe.net/Services/TestHelpers/Issuing/Cards/CardService.cs +++ b/src/Stripe.net/Services/TestHelpers/Issuing/Cards/CardService.cs @@ -8,7 +8,7 @@ namespace Stripe.TestHelpers.Issuing using System.Threading.Tasks; using Stripe.Issuing; - public class CardService : Service + public class CardService : Service { public CardService() { diff --git a/src/Stripe.net/Services/TestHelpers/Issuing/PersonalizationDesigns/PersonalizationDesignService.cs b/src/Stripe.net/Services/TestHelpers/Issuing/PersonalizationDesigns/PersonalizationDesignService.cs index afb4cf592c..90072d4832 100644 --- a/src/Stripe.net/Services/TestHelpers/Issuing/PersonalizationDesigns/PersonalizationDesignService.cs +++ b/src/Stripe.net/Services/TestHelpers/Issuing/PersonalizationDesigns/PersonalizationDesignService.cs @@ -8,7 +8,7 @@ namespace Stripe.TestHelpers.Issuing using System.Threading.Tasks; using Stripe.Issuing; - public class PersonalizationDesignService : Service + public class PersonalizationDesignService : Service { public PersonalizationDesignService() { diff --git a/src/Stripe.net/Services/TestHelpers/Issuing/Transactions/TransactionService.cs b/src/Stripe.net/Services/TestHelpers/Issuing/Transactions/TransactionService.cs index 1ad2fd74bc..9a66996adc 100644 --- a/src/Stripe.net/Services/TestHelpers/Issuing/Transactions/TransactionService.cs +++ b/src/Stripe.net/Services/TestHelpers/Issuing/Transactions/TransactionService.cs @@ -8,7 +8,7 @@ namespace Stripe.TestHelpers.Issuing using System.Threading.Tasks; using Stripe.Issuing; - public class TransactionService : Service + public class TransactionService : Service { public TransactionService() { diff --git a/src/Stripe.net/Services/TestHelpers/Refunds/RefundService.cs b/src/Stripe.net/Services/TestHelpers/Refunds/RefundService.cs index 85f2b94970..c1a5e8be71 100644 --- a/src/Stripe.net/Services/TestHelpers/Refunds/RefundService.cs +++ b/src/Stripe.net/Services/TestHelpers/Refunds/RefundService.cs @@ -7,7 +7,7 @@ namespace Stripe.TestHelpers using System.Threading; using System.Threading.Tasks; - public class RefundService : Service + public class RefundService : Service { public RefundService() { diff --git a/src/Stripe.net/Services/TestHelpers/Terminal/Readers/ReaderService.cs b/src/Stripe.net/Services/TestHelpers/Terminal/Readers/ReaderService.cs index abe93cfafc..33c814be03 100644 --- a/src/Stripe.net/Services/TestHelpers/Terminal/Readers/ReaderService.cs +++ b/src/Stripe.net/Services/TestHelpers/Terminal/Readers/ReaderService.cs @@ -8,7 +8,7 @@ namespace Stripe.TestHelpers.Terminal using System.Threading.Tasks; using Stripe.Terminal; - public class ReaderService : Service + public class ReaderService : Service { public ReaderService() { @@ -43,8 +43,7 @@ public virtual Stripe.Terminal.Reader PresentPaymentMethod(string id, ReaderPres } /// - ///

Succeeds an input collection on a simulated reader. Can be used to simulate - /// collecting inputs.

. + ///

Use this endpoint to trigger a successful input collection on a simulated reader.

. ///
public virtual Stripe.Terminal.Reader SucceedInputCollection(string id, ReaderSucceedInputCollectionOptions options = null, RequestOptions requestOptions = null) { @@ -52,8 +51,7 @@ public virtual Stripe.Terminal.Reader SucceedInputCollection(string id, ReaderSu } /// - ///

Succeeds an input collection on a simulated reader. Can be used to simulate - /// collecting inputs.

. + ///

Use this endpoint to trigger a successful input collection on a simulated reader.

. ///
public virtual Task SucceedInputCollectionAsync(string id, ReaderSucceedInputCollectionOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { @@ -61,7 +59,8 @@ public virtual Stripe.Terminal.Reader SucceedInputCollection(string id, ReaderSu } /// - ///

Completes an input collection with a timeout error on a simulated reader.

. + ///

Use this endpoint to complete an input collection with a timeout error on a simulated + /// reader.

. ///
public virtual Stripe.Terminal.Reader TimeoutInputCollection(string id, ReaderTimeoutInputCollectionOptions options = null, RequestOptions requestOptions = null) { @@ -69,7 +68,8 @@ public virtual Stripe.Terminal.Reader TimeoutInputCollection(string id, ReaderTi } /// - ///

Completes an input collection with a timeout error on a simulated reader.

. + ///

Use this endpoint to complete an input collection with a timeout error on a simulated + /// reader.

. ///
public virtual Task TimeoutInputCollectionAsync(string id, ReaderTimeoutInputCollectionOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { diff --git a/src/Stripe.net/Services/TestHelpers/Terminal/Readers/ReaderSucceedInputCollectionOptions.cs b/src/Stripe.net/Services/TestHelpers/Terminal/Readers/ReaderSucceedInputCollectionOptions.cs index 3852ffe515..203704c8d9 100644 --- a/src/Stripe.net/Services/TestHelpers/Terminal/Readers/ReaderSucceedInputCollectionOptions.cs +++ b/src/Stripe.net/Services/TestHelpers/Terminal/Readers/ReaderSucceedInputCollectionOptions.cs @@ -9,7 +9,7 @@ namespace Stripe.TestHelpers.Terminal public class ReaderSucceedInputCollectionOptions : BaseOptions { /// - /// Skip behavior for input collection. + /// This parameter defines the skip behavior for input collection. /// One of: all, or none. /// [JsonProperty("skip_non_required_inputs")] diff --git a/src/Stripe.net/Services/TestHelpers/TestClocks/TestClockService.cs b/src/Stripe.net/Services/TestHelpers/TestClocks/TestClockService.cs index 5ce5c4561b..c7ef95ee59 100644 --- a/src/Stripe.net/Services/TestHelpers/TestClocks/TestClockService.cs +++ b/src/Stripe.net/Services/TestHelpers/TestClocks/TestClockService.cs @@ -8,7 +8,7 @@ namespace Stripe.TestHelpers using System.Threading; using System.Threading.Tasks; - public class TestClockService : Service, + public class TestClockService : Service, ICreatable, IDeletable, IListable, diff --git a/src/Stripe.net/Services/TestHelpers/Treasury/InboundTransfers/InboundTransferService.cs b/src/Stripe.net/Services/TestHelpers/Treasury/InboundTransfers/InboundTransferService.cs index e54de8b5e5..0a2760a377 100644 --- a/src/Stripe.net/Services/TestHelpers/Treasury/InboundTransfers/InboundTransferService.cs +++ b/src/Stripe.net/Services/TestHelpers/Treasury/InboundTransfers/InboundTransferService.cs @@ -8,7 +8,7 @@ namespace Stripe.TestHelpers.Treasury using System.Threading.Tasks; using Stripe.Treasury; - public class InboundTransferService : Service + public class InboundTransferService : Service { public InboundTransferService() { diff --git a/src/Stripe.net/Services/TestHelpers/Treasury/OutboundPayments/OutboundPaymentService.cs b/src/Stripe.net/Services/TestHelpers/Treasury/OutboundPayments/OutboundPaymentService.cs index e4e71c07b7..f479774308 100644 --- a/src/Stripe.net/Services/TestHelpers/Treasury/OutboundPayments/OutboundPaymentService.cs +++ b/src/Stripe.net/Services/TestHelpers/Treasury/OutboundPayments/OutboundPaymentService.cs @@ -8,7 +8,7 @@ namespace Stripe.TestHelpers.Treasury using System.Threading.Tasks; using Stripe.Treasury; - public class OutboundPaymentService : Service + public class OutboundPaymentService : Service { public OutboundPaymentService() { diff --git a/src/Stripe.net/Services/TestHelpers/Treasury/OutboundTransfers/OutboundTransferService.cs b/src/Stripe.net/Services/TestHelpers/Treasury/OutboundTransfers/OutboundTransferService.cs index 173b01c11c..26d0389fe4 100644 --- a/src/Stripe.net/Services/TestHelpers/Treasury/OutboundTransfers/OutboundTransferService.cs +++ b/src/Stripe.net/Services/TestHelpers/Treasury/OutboundTransfers/OutboundTransferService.cs @@ -8,7 +8,7 @@ namespace Stripe.TestHelpers.Treasury using System.Threading.Tasks; using Stripe.Treasury; - public class OutboundTransferService : Service + public class OutboundTransferService : Service { public OutboundTransferService() { diff --git a/src/Stripe.net/Services/TestHelpers/Treasury/ReceivedCredits/ReceivedCreditService.cs b/src/Stripe.net/Services/TestHelpers/Treasury/ReceivedCredits/ReceivedCreditService.cs index fc8a808f25..185856cf00 100644 --- a/src/Stripe.net/Services/TestHelpers/Treasury/ReceivedCredits/ReceivedCreditService.cs +++ b/src/Stripe.net/Services/TestHelpers/Treasury/ReceivedCredits/ReceivedCreditService.cs @@ -7,7 +7,7 @@ namespace Stripe.TestHelpers.Treasury using System.Threading.Tasks; using Stripe.Treasury; - public class ReceivedCreditService : Service + public class ReceivedCreditService : Service { public ReceivedCreditService() { diff --git a/src/Stripe.net/Services/TestHelpers/Treasury/ReceivedDebits/ReceivedDebitService.cs b/src/Stripe.net/Services/TestHelpers/Treasury/ReceivedDebits/ReceivedDebitService.cs index 1b43df542b..dfb3efa97c 100644 --- a/src/Stripe.net/Services/TestHelpers/Treasury/ReceivedDebits/ReceivedDebitService.cs +++ b/src/Stripe.net/Services/TestHelpers/Treasury/ReceivedDebits/ReceivedDebitService.cs @@ -7,7 +7,7 @@ namespace Stripe.TestHelpers.Treasury using System.Threading.Tasks; using Stripe.Treasury; - public class ReceivedDebitService : Service + public class ReceivedDebitService : Service { public ReceivedDebitService() { diff --git a/src/Stripe.net/Services/Tokens/TokenAccountCompanyOptions.cs b/src/Stripe.net/Services/Tokens/TokenAccountCompanyOptions.cs index aac9f06252..73a87fd50b 100644 --- a/src/Stripe.net/Services/Tokens/TokenAccountCompanyOptions.cs +++ b/src/Stripe.net/Services/Tokens/TokenAccountCompanyOptions.cs @@ -149,6 +149,12 @@ public class TokenAccountCompanyOptions : INestedOptions public bool? OwnershipDeclarationShownAndSigned { get; set; } /// + /// This value is used to determine if a business is exempt from providing ultimate + /// beneficial owners. See this + /// support article and changelog + /// for more details. /// One of: qualified_entity_exceeds_ownership_threshold, or /// qualifies_as_financial_institution. /// diff --git a/src/Stripe.net/Services/Tokens/TokenService.cs b/src/Stripe.net/Services/Tokens/TokenService.cs index 46aeb3ea5f..7b9aba9692 100644 --- a/src/Stripe.net/Services/Tokens/TokenService.cs +++ b/src/Stripe.net/Services/Tokens/TokenService.cs @@ -7,7 +7,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class TokenService : Service, + public class TokenService : Service, ICreatable, IRetrievable { diff --git a/src/Stripe.net/Services/Topups/TopupService.cs b/src/Stripe.net/Services/Topups/TopupService.cs index 7b0836ea00..24526862da 100644 --- a/src/Stripe.net/Services/Topups/TopupService.cs +++ b/src/Stripe.net/Services/Topups/TopupService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class TopupService : Service, + public class TopupService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/TransferReversals/TransferReversalService.cs b/src/Stripe.net/Services/TransferReversals/TransferReversalService.cs index 49e7ed266c..3459840b30 100644 --- a/src/Stripe.net/Services/TransferReversals/TransferReversalService.cs +++ b/src/Stripe.net/Services/TransferReversals/TransferReversalService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class TransferReversalService : ServiceNested, + public class TransferReversalService : Service, INestedCreatable, INestedListable, INestedRetrievable, diff --git a/src/Stripe.net/Services/Transfers/TransferService.cs b/src/Stripe.net/Services/Transfers/TransferService.cs index 1b0145c810..9b8f28ab68 100644 --- a/src/Stripe.net/Services/Transfers/TransferService.cs +++ b/src/Stripe.net/Services/Transfers/TransferService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class TransferService : Service, + public class TransferService : Service, ICreatable, IListable, IRetrievable, diff --git a/src/Stripe.net/Services/Treasury/CreditReversals/CreditReversalService.cs b/src/Stripe.net/Services/Treasury/CreditReversals/CreditReversalService.cs index 248b110a80..7dfcdf27d3 100644 --- a/src/Stripe.net/Services/Treasury/CreditReversals/CreditReversalService.cs +++ b/src/Stripe.net/Services/Treasury/CreditReversals/CreditReversalService.cs @@ -8,7 +8,7 @@ namespace Stripe.Treasury using System.Threading; using System.Threading.Tasks; - public class CreditReversalService : Service, + public class CreditReversalService : Service, ICreatable, IListable, IRetrievable diff --git a/src/Stripe.net/Services/Treasury/DebitReversals/DebitReversalService.cs b/src/Stripe.net/Services/Treasury/DebitReversals/DebitReversalService.cs index c679cc3ef6..93176a2e67 100644 --- a/src/Stripe.net/Services/Treasury/DebitReversals/DebitReversalService.cs +++ b/src/Stripe.net/Services/Treasury/DebitReversals/DebitReversalService.cs @@ -8,7 +8,7 @@ namespace Stripe.Treasury using System.Threading; using System.Threading.Tasks; - public class DebitReversalService : Service, + public class DebitReversalService : Service, ICreatable, IListable, IRetrievable diff --git a/src/Stripe.net/Services/Treasury/FinancialAccountFeatures/FinancialAccountFeaturesService.cs b/src/Stripe.net/Services/Treasury/FinancialAccountFeatures/FinancialAccountFeaturesService.cs index fb9f13f8d0..06873b2436 100644 --- a/src/Stripe.net/Services/Treasury/FinancialAccountFeatures/FinancialAccountFeaturesService.cs +++ b/src/Stripe.net/Services/Treasury/FinancialAccountFeatures/FinancialAccountFeaturesService.cs @@ -7,7 +7,7 @@ namespace Stripe.Treasury using System.Threading; using System.Threading.Tasks; - public class FinancialAccountFeaturesService : ServiceNested + public class FinancialAccountFeaturesService : Service { public FinancialAccountFeaturesService() { diff --git a/src/Stripe.net/Services/Treasury/FinancialAccounts/FinancialAccountService.cs b/src/Stripe.net/Services/Treasury/FinancialAccounts/FinancialAccountService.cs index c6df5b25d9..a866cc081d 100644 --- a/src/Stripe.net/Services/Treasury/FinancialAccounts/FinancialAccountService.cs +++ b/src/Stripe.net/Services/Treasury/FinancialAccounts/FinancialAccountService.cs @@ -8,7 +8,7 @@ namespace Stripe.Treasury using System.Threading; using System.Threading.Tasks; - public partial class FinancialAccountService : Service, + public partial class FinancialAccountService : Service, ICreatable, IListable, IRetrievable, @@ -54,8 +54,8 @@ public virtual Task CloseAsync(string id, FinancialAccountClos } /// - ///

Creates a new FinancialAccount. For now, each connected account can only have one - /// FinancialAccount.

. + ///

Creates a new FinancialAccount. Each connected account can have up to three + /// FinancialAccounts by default.

. ///
public virtual FinancialAccount Create(FinancialAccountCreateOptions options, RequestOptions requestOptions = null) { @@ -63,8 +63,8 @@ public virtual FinancialAccount Create(FinancialAccountCreateOptions options, Re } /// - ///

Creates a new FinancialAccount. For now, each connected account can only have one - /// FinancialAccount.

. + ///

Creates a new FinancialAccount. Each connected account can have up to three + /// FinancialAccounts by default.

. ///
public virtual Task CreateAsync(FinancialAccountCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { diff --git a/src/Stripe.net/Services/Treasury/InboundTransfers/InboundTransferService.cs b/src/Stripe.net/Services/Treasury/InboundTransfers/InboundTransferService.cs index fc654c860f..72e5b730b3 100644 --- a/src/Stripe.net/Services/Treasury/InboundTransfers/InboundTransferService.cs +++ b/src/Stripe.net/Services/Treasury/InboundTransfers/InboundTransferService.cs @@ -8,7 +8,7 @@ namespace Stripe.Treasury using System.Threading; using System.Threading.Tasks; - public class InboundTransferService : Service, + public class InboundTransferService : Service, ICreatable, IListable, IRetrievable diff --git a/src/Stripe.net/Services/Treasury/OutboundPayments/OutboundPaymentService.cs b/src/Stripe.net/Services/Treasury/OutboundPayments/OutboundPaymentService.cs index a31b231eea..194d64e867 100644 --- a/src/Stripe.net/Services/Treasury/OutboundPayments/OutboundPaymentService.cs +++ b/src/Stripe.net/Services/Treasury/OutboundPayments/OutboundPaymentService.cs @@ -8,7 +8,7 @@ namespace Stripe.Treasury using System.Threading; using System.Threading.Tasks; - public class OutboundPaymentService : Service, + public class OutboundPaymentService : Service, ICreatable, IListable, IRetrievable diff --git a/src/Stripe.net/Services/Treasury/OutboundTransfers/OutboundTransferService.cs b/src/Stripe.net/Services/Treasury/OutboundTransfers/OutboundTransferService.cs index 6bc917c81d..c9b695a08e 100644 --- a/src/Stripe.net/Services/Treasury/OutboundTransfers/OutboundTransferService.cs +++ b/src/Stripe.net/Services/Treasury/OutboundTransfers/OutboundTransferService.cs @@ -8,7 +8,7 @@ namespace Stripe.Treasury using System.Threading; using System.Threading.Tasks; - public class OutboundTransferService : Service, + public class OutboundTransferService : Service, ICreatable, IListable, IRetrievable diff --git a/src/Stripe.net/Services/Treasury/ReceivedCredits/ReceivedCreditService.cs b/src/Stripe.net/Services/Treasury/ReceivedCredits/ReceivedCreditService.cs index e53849115a..10b756bcbf 100644 --- a/src/Stripe.net/Services/Treasury/ReceivedCredits/ReceivedCreditService.cs +++ b/src/Stripe.net/Services/Treasury/ReceivedCredits/ReceivedCreditService.cs @@ -8,7 +8,7 @@ namespace Stripe.Treasury using System.Threading; using System.Threading.Tasks; - public class ReceivedCreditService : Service, + public class ReceivedCreditService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Treasury/ReceivedDebits/ReceivedDebitService.cs b/src/Stripe.net/Services/Treasury/ReceivedDebits/ReceivedDebitService.cs index 79919d47f0..97f83503d2 100644 --- a/src/Stripe.net/Services/Treasury/ReceivedDebits/ReceivedDebitService.cs +++ b/src/Stripe.net/Services/Treasury/ReceivedDebits/ReceivedDebitService.cs @@ -8,7 +8,7 @@ namespace Stripe.Treasury using System.Threading; using System.Threading.Tasks; - public class ReceivedDebitService : Service, + public class ReceivedDebitService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Treasury/TransactionEntries/TransactionEntryService.cs b/src/Stripe.net/Services/Treasury/TransactionEntries/TransactionEntryService.cs index 9342293b60..6e8b8adafa 100644 --- a/src/Stripe.net/Services/Treasury/TransactionEntries/TransactionEntryService.cs +++ b/src/Stripe.net/Services/Treasury/TransactionEntries/TransactionEntryService.cs @@ -8,7 +8,7 @@ namespace Stripe.Treasury using System.Threading; using System.Threading.Tasks; - public class TransactionEntryService : Service, + public class TransactionEntryService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/Treasury/Transactions/TransactionService.cs b/src/Stripe.net/Services/Treasury/Transactions/TransactionService.cs index d8cf081c30..2c660d6a39 100644 --- a/src/Stripe.net/Services/Treasury/Transactions/TransactionService.cs +++ b/src/Stripe.net/Services/Treasury/Transactions/TransactionService.cs @@ -8,7 +8,7 @@ namespace Stripe.Treasury using System.Threading; using System.Threading.Tasks; - public class TransactionService : Service, + public class TransactionService : Service, IListable, IRetrievable { diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCloseOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCloseOptions.cs new file mode 100644 index 0000000000..8b66a033fd --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCloseOptions.cs @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCloseOptions : BaseOptions + { + /// + /// Configurations on the Account to be closed. All configurations on the Account must be + /// passed in for this request to succeed. + /// One of: customer, merchant, or recipient. + /// + [JsonProperty("applied_configurations")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("applied_configurations")] +#endif + public List AppliedConfigurations { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerAutomaticIndirectTaxOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerAutomaticIndirectTaxOptions.cs new file mode 100644 index 0000000000..39927a5f9a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerAutomaticIndirectTaxOptions.cs @@ -0,0 +1,44 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationCustomerAutomaticIndirectTaxOptions : INestedOptions + { + /// + /// Describes the customer's tax exemption status, which is none, exempt, or + /// reverse. When set to reverse, invoice and receipt PDFs include the following + /// text: “Reverse charge”. + /// One of: exempt, none, or reverse. + /// + [JsonProperty("exempt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exempt")] +#endif + public string Exempt { get; set; } + + /// + /// A recent IP address of the customer used for tax reporting and tax location inference. + /// + [JsonProperty("ip_address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip_address")] +#endif + public string IpAddress { get; set; } + + /// + /// The data source used by Stripe Tax to identify the customer's location - defaults to + /// 'identity_address'. Will only be used for automatic tax calculation on the customer's + /// Invoices and Subscriptions. + /// One of: identity_address, ip_address, or shipping_address. + /// + [JsonProperty("location_source")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("location_source")] +#endif + public string LocationSource { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingInvoiceCustomFieldOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingInvoiceCustomFieldOptions.cs new file mode 100644 index 0000000000..38418e5a2d --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingInvoiceCustomFieldOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationCustomerBillingInvoiceCustomFieldOptions : INestedOptions + { + /// + /// The name of the custom field. This may be up to 40 characters. + /// + [JsonProperty("name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("name")] +#endif + public string Name { get; set; } + + /// + /// The value of the custom field. This may be up to 140 characters. When updating, pass an + /// empty string to remove previously-defined values. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingInvoiceOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingInvoiceOptions.cs new file mode 100644 index 0000000000..8d1527e3a6 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingInvoiceOptions.cs @@ -0,0 +1,58 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationCustomerBillingInvoiceOptions : INestedOptions + { + /// + /// The list of up to 4 default custom fields to be displayed on invoices for this customer. + /// + [JsonProperty("custom_fields")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("custom_fields")] +#endif + public List CustomFields { get; set; } + + /// + /// Default footer to be displayed on invoices for this customer. + /// + [JsonProperty("footer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("footer")] +#endif + public string Footer { get; set; } + + /// + /// The sequence to be used on the customer's next invoice. Defaults to 1. + /// + [JsonProperty("next_sequence")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("next_sequence")] +#endif + public long? NextSequence { get; set; } + + /// + /// The prefix for the customer used to generate unique invoice numbers. Must be 3–12 + /// uppercase letters or numbers. + /// + [JsonProperty("prefix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("prefix")] +#endif + public string Prefix { get; set; } + + /// + /// Default options for invoice PDF rendering for this customer. + /// + [JsonProperty("rendering")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("rendering")] +#endif + public AccountCreateConfigurationCustomerBillingInvoiceRenderingOptions Rendering { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingInvoiceRenderingOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingInvoiceRenderingOptions.cs new file mode 100644 index 0000000000..4e575e0d16 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingInvoiceRenderingOptions.cs @@ -0,0 +1,33 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationCustomerBillingInvoiceRenderingOptions : INestedOptions + { + /// + /// How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. + /// One of exclude_tax or include_inclusive_tax. include_inclusive_tax will include + /// inclusive tax (and exclude exclusive tax) in invoice PDF amounts. exclude_tax will + /// exclude all tax (inclusive and exclusive alike) from invoice PDF amounts. + /// One of: exclude_tax, or include_inclusive_tax. + /// + [JsonProperty("amount_tax_display")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount_tax_display")] +#endif + public string AmountTaxDisplay { get; set; } + + /// + /// ID of the invoice rendering template to use for future invoices. + /// + [JsonProperty("template")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("template")] +#endif + public string Template { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingOptions.cs new file mode 100644 index 0000000000..24191db921 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationCustomerBillingOptions : INestedOptions + { + /// + /// Default settings used on invoices for this customer. + /// + [JsonProperty("invoice")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("invoice")] +#endif + public AccountCreateConfigurationCustomerBillingInvoiceOptions Invoice { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerCapabilitiesAutomaticIndirectTaxOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerCapabilitiesAutomaticIndirectTaxOptions.cs new file mode 100644 index 0000000000..2741c03fa2 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerCapabilitiesAutomaticIndirectTaxOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationCustomerCapabilitiesAutomaticIndirectTaxOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerCapabilitiesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerCapabilitiesOptions.cs new file mode 100644 index 0000000000..0f64202f08 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerCapabilitiesOptions.cs @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationCustomerCapabilitiesOptions : INestedOptions + { + /// + /// Generates requirements for enabling automatic indirect tax calculation on this + /// customer's invoices or subscriptions. Recommended to request this capability if planning + /// to enable automatic tax calculation on this customer's invoices or subscriptions. Uses + /// the location_source field. + /// + [JsonProperty("automatic_indirect_tax")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("automatic_indirect_tax")] +#endif + public AccountCreateConfigurationCustomerCapabilitiesAutomaticIndirectTaxOptions AutomaticIndirectTax { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerOptions.cs new file mode 100644 index 0000000000..d5a3b3a726 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerOptions.cs @@ -0,0 +1,60 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationCustomerOptions : INestedOptions + { + /// + /// Automatic indirect tax settings to be used when automatic tax calculation is enabled on + /// the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if + /// automatic tax calculation is possible given the current customer location information. + /// + [JsonProperty("automatic_indirect_tax")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("automatic_indirect_tax")] +#endif + public AccountCreateConfigurationCustomerAutomaticIndirectTaxOptions AutomaticIndirectTax { get; set; } + + /// + /// Billing settings - default settings used for this customer in Billing flows such as + /// Invoices and Subscriptions. + /// + [JsonProperty("billing")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billing")] +#endif + public AccountCreateConfigurationCustomerBillingOptions Billing { get; set; } + + /// + /// Capabilities that have been requested on the Customer Configuration. + /// + [JsonProperty("capabilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capabilities")] +#endif + public AccountCreateConfigurationCustomerCapabilitiesOptions Capabilities { get; set; } + + /// + /// The customer's shipping information. Appears on invoices emailed to this customer. + /// + [JsonProperty("shipping")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("shipping")] +#endif + public AccountCreateConfigurationCustomerShippingOptions Shipping { get; set; } + + /// + /// ID of the test clock to attach to the customer. Can only be set on testmode Accounts, + /// and when the Customer Configuration is first set on an Account. + /// + [JsonProperty("test_clock")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("test_clock")] +#endif + public string TestClock { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerShippingOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerShippingOptions.cs new file mode 100644 index 0000000000..6021e86122 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerShippingOptions.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationCustomerShippingOptions : INestedOptions + { + /// + /// Customer shipping address. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public AddressOptions Address { get; set; } + + /// + /// Customer name. + /// + [JsonProperty("name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("name")] +#endif + public string Name { get; set; } + + /// + /// Customer phone (including extension). + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantBacsDebitPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantBacsDebitPaymentsOptions.cs new file mode 100644 index 0000000000..3585e7a5b3 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantBacsDebitPaymentsOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantBacsDebitPaymentsOptions : INestedOptions + { + /// + /// Display name for Bacs debit payments. + /// + [JsonProperty("display_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_name")] +#endif + public string DisplayName { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantBrandingOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantBrandingOptions.cs new file mode 100644 index 0000000000..d3ecfa2895 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantBrandingOptions.cs @@ -0,0 +1,50 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantBrandingOptions : INestedOptions + { + /// + /// ID of a file + /// upload: An icon for the merchant. Must be square and at least 128px x 128px. + /// + [JsonProperty("icon")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("icon")] +#endif + public string Icon { get; set; } + + /// + /// ID of a file + /// upload: A logo for the merchant that will be used in Checkout instead of the icon + /// and without the merchant's name next to it if provided. Must be at least 128px x 128px. + /// + [JsonProperty("logo")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("logo")] +#endif + public string Logo { get; set; } + + /// + /// A CSS hex color value representing the primary branding color for the merchant. + /// + [JsonProperty("primary_color")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("primary_color")] +#endif + public string PrimaryColor { get; set; } + + /// + /// A CSS hex color value representing the secondary branding color for the merchant. + /// + [JsonProperty("secondary_color")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("secondary_color")] +#endif + public string SecondaryColor { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAchDebitPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAchDebitPaymentsOptions.cs new file mode 100644 index 0000000000..e6dc38c1e9 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAchDebitPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesAchDebitPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAcssDebitPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAcssDebitPaymentsOptions.cs new file mode 100644 index 0000000000..634da90b7a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAcssDebitPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesAcssDebitPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAffirmPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAffirmPaymentsOptions.cs new file mode 100644 index 0000000000..ba1da5a0cb --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAffirmPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesAffirmPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsOptions.cs new file mode 100644 index 0000000000..98023c0ead --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAlmaPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAlmaPaymentsOptions.cs new file mode 100644 index 0000000000..0cddd177fe --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAlmaPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesAlmaPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAmazonPayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAmazonPayPaymentsOptions.cs new file mode 100644 index 0000000000..070f332cfc --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAmazonPayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesAmazonPayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAuBecsDebitPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAuBecsDebitPaymentsOptions.cs new file mode 100644 index 0000000000..17da24c1c1 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAuBecsDebitPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesAuBecsDebitPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBacsDebitPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBacsDebitPaymentsOptions.cs new file mode 100644 index 0000000000..2c9918963e --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBacsDebitPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesBacsDebitPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBancontactPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBancontactPaymentsOptions.cs new file mode 100644 index 0000000000..2f5112f4b7 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBancontactPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesBancontactPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBlikPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBlikPaymentsOptions.cs new file mode 100644 index 0000000000..fb154e8da6 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBlikPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesBlikPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBoletoPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBoletoPaymentsOptions.cs new file mode 100644 index 0000000000..29dd405ab2 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBoletoPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesBoletoPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesCardPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesCardPaymentsOptions.cs new file mode 100644 index 0000000000..33c2ec1c48 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesCardPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesCardPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesCartesBancairesPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesCartesBancairesPaymentsOptions.cs new file mode 100644 index 0000000000..aa9659c4d4 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesCartesBancairesPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesCartesBancairesPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesCashappPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesCashappPaymentsOptions.cs new file mode 100644 index 0000000000..2c443cec59 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesCashappPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesCashappPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesEpsPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesEpsPaymentsOptions.cs new file mode 100644 index 0000000000..418c8bdb4a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesEpsPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesEpsPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesFpxPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesFpxPaymentsOptions.cs new file mode 100644 index 0000000000..a9fe4ee417 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesFpxPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesFpxPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesGbBankTransferPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesGbBankTransferPaymentsOptions.cs new file mode 100644 index 0000000000..f42079bc30 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesGbBankTransferPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesGbBankTransferPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesGrabpayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesGrabpayPaymentsOptions.cs new file mode 100644 index 0000000000..ff1fa53d39 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesGrabpayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesGrabpayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesIdealPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesIdealPaymentsOptions.cs new file mode 100644 index 0000000000..6ecb55effa --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesIdealPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesIdealPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesJcbPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesJcbPaymentsOptions.cs new file mode 100644 index 0000000000..1c150bbebf --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesJcbPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesJcbPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesJpBankTransferPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesJpBankTransferPaymentsOptions.cs new file mode 100644 index 0000000000..1e68663322 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesJpBankTransferPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesJpBankTransferPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKakaoPayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKakaoPayPaymentsOptions.cs new file mode 100644 index 0000000000..92cf2e89a0 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKakaoPayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesKakaoPayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKlarnaPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKlarnaPaymentsOptions.cs new file mode 100644 index 0000000000..5640eb268d --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKlarnaPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesKlarnaPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKonbiniPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKonbiniPaymentsOptions.cs new file mode 100644 index 0000000000..c282e0c43a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKonbiniPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesKonbiniPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKrCardPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKrCardPaymentsOptions.cs new file mode 100644 index 0000000000..08238a9f1a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKrCardPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesKrCardPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesLinkPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesLinkPaymentsOptions.cs new file mode 100644 index 0000000000..b5572c2f43 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesLinkPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesLinkPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesMobilepayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesMobilepayPaymentsOptions.cs new file mode 100644 index 0000000000..7dc82ccdc0 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesMobilepayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesMobilepayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesMultibancoPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesMultibancoPaymentsOptions.cs new file mode 100644 index 0000000000..7a0e214e8c --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesMultibancoPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesMultibancoPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesMxBankTransferPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesMxBankTransferPaymentsOptions.cs new file mode 100644 index 0000000000..031ec533af --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesMxBankTransferPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesMxBankTransferPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesNaverPayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesNaverPayPaymentsOptions.cs new file mode 100644 index 0000000000..f3469aa9ad --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesNaverPayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesNaverPayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesOptions.cs new file mode 100644 index 0000000000..4fdd909b8a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesOptions.cs @@ -0,0 +1,407 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesOptions : INestedOptions + { + /// + /// Allow the merchant to process ACH debit payments. + /// + [JsonProperty("ach_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ach_debit_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesAchDebitPaymentsOptions AchDebitPayments { get; set; } + + /// + /// Allow the merchant to process ACSS debit payments. + /// + [JsonProperty("acss_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("acss_debit_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesAcssDebitPaymentsOptions AcssDebitPayments { get; set; } + + /// + /// Allow the merchant to process Affirm payments. + /// + [JsonProperty("affirm_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("affirm_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesAffirmPaymentsOptions AffirmPayments { get; set; } + + /// + /// Allow the merchant to process Afterpay/Clearpay payments. + /// + [JsonProperty("afterpay_clearpay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("afterpay_clearpay_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsOptions AfterpayClearpayPayments { get; set; } + + /// + /// Allow the merchant to process Alma payments. + /// + [JsonProperty("alma_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("alma_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesAlmaPaymentsOptions AlmaPayments { get; set; } + + /// + /// Allow the merchant to process Amazon Pay payments. + /// + [JsonProperty("amazon_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amazon_pay_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesAmazonPayPaymentsOptions AmazonPayPayments { get; set; } + + /// + /// Allow the merchant to process Australian BECS Direct Debit payments. + /// + [JsonProperty("au_becs_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("au_becs_debit_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesAuBecsDebitPaymentsOptions AuBecsDebitPayments { get; set; } + + /// + /// Allow the merchant to process BACS Direct Debit payments. + /// + [JsonProperty("bacs_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bacs_debit_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesBacsDebitPaymentsOptions BacsDebitPayments { get; set; } + + /// + /// Allow the merchant to process Bancontact payments. + /// + [JsonProperty("bancontact_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bancontact_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesBancontactPaymentsOptions BancontactPayments { get; set; } + + /// + /// Allow the merchant to process BLIK payments. + /// + [JsonProperty("blik_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("blik_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesBlikPaymentsOptions BlikPayments { get; set; } + + /// + /// Allow the merchant to process Boleto payments. + /// + [JsonProperty("boleto_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("boleto_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesBoletoPaymentsOptions BoletoPayments { get; set; } + + /// + /// Allow the merchant to collect card payments. + /// + [JsonProperty("card_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesCardPaymentsOptions CardPayments { get; set; } + + /// + /// Allow the merchant to process Cartes Bancaires payments. + /// + [JsonProperty("cartes_bancaires_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cartes_bancaires_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesCartesBancairesPaymentsOptions CartesBancairesPayments { get; set; } + + /// + /// Allow the merchant to process Cash App payments. + /// + [JsonProperty("cashapp_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cashapp_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesCashappPaymentsOptions CashappPayments { get; set; } + + /// + /// Allow the merchant to process EPS payments. + /// + [JsonProperty("eps_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("eps_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesEpsPaymentsOptions EpsPayments { get; set; } + + /// + /// Allow the merchant to process FPX payments. + /// + [JsonProperty("fpx_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fpx_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesFpxPaymentsOptions FpxPayments { get; set; } + + /// + /// Allow the merchant to process UK bank transfer payments. + /// + [JsonProperty("gb_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("gb_bank_transfer_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesGbBankTransferPaymentsOptions GbBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process GrabPay payments. + /// + [JsonProperty("grabpay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("grabpay_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesGrabpayPaymentsOptions GrabpayPayments { get; set; } + + /// + /// Allow the merchant to process iDEAL payments. + /// + [JsonProperty("ideal_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ideal_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesIdealPaymentsOptions IdealPayments { get; set; } + + /// + /// Allow the merchant to process JCB card payments. + /// + [JsonProperty("jcb_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("jcb_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesJcbPaymentsOptions JcbPayments { get; set; } + + /// + /// Allow the merchant to process Japanese bank transfer payments. + /// + [JsonProperty("jp_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("jp_bank_transfer_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesJpBankTransferPaymentsOptions JpBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process Kakao Pay payments. + /// + [JsonProperty("kakao_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kakao_pay_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesKakaoPayPaymentsOptions KakaoPayPayments { get; set; } + + /// + /// Allow the merchant to process Klarna payments. + /// + [JsonProperty("klarna_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("klarna_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesKlarnaPaymentsOptions KlarnaPayments { get; set; } + + /// + /// Allow the merchant to process Konbini convenience store payments. + /// + [JsonProperty("konbini_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("konbini_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesKonbiniPaymentsOptions KonbiniPayments { get; set; } + + /// + /// Allow the merchant to process Korean card payments. + /// + [JsonProperty("kr_card_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kr_card_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesKrCardPaymentsOptions KrCardPayments { get; set; } + + /// + /// Allow the merchant to process Link payments. + /// + [JsonProperty("link_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("link_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesLinkPaymentsOptions LinkPayments { get; set; } + + /// + /// Allow the merchant to process MobilePay payments. + /// + [JsonProperty("mobilepay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mobilepay_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesMobilepayPaymentsOptions MobilepayPayments { get; set; } + + /// + /// Allow the merchant to process Multibanco payments. + /// + [JsonProperty("multibanco_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("multibanco_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesMultibancoPaymentsOptions MultibancoPayments { get; set; } + + /// + /// Allow the merchant to process Mexican bank transfer payments. + /// + [JsonProperty("mx_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mx_bank_transfer_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesMxBankTransferPaymentsOptions MxBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process Naver Pay payments. + /// + [JsonProperty("naver_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("naver_pay_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesNaverPayPaymentsOptions NaverPayPayments { get; set; } + + /// + /// Allow the merchant to process OXXO payments. + /// + [JsonProperty("oxxo_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("oxxo_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesOxxoPaymentsOptions OxxoPayments { get; set; } + + /// + /// Allow the merchant to process Przelewy24 (P24) payments. + /// + [JsonProperty("p24_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("p24_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesP24PaymentsOptions P24Payments { get; set; } + + /// + /// Allow the merchant to process Pay by Bank payments. + /// + [JsonProperty("pay_by_bank_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("pay_by_bank_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesPayByBankPaymentsOptions PayByBankPayments { get; set; } + + /// + /// Allow the merchant to process PAYCO payments. + /// + [JsonProperty("payco_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payco_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesPaycoPaymentsOptions PaycoPayments { get; set; } + + /// + /// Allow the merchant to process PayNow payments. + /// + [JsonProperty("paynow_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("paynow_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesPaynowPaymentsOptions PaynowPayments { get; set; } + + /// + /// Allow the merchant to process PromptPay payments. + /// + [JsonProperty("promptpay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("promptpay_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesPromptpayPaymentsOptions PromptpayPayments { get; set; } + + /// + /// Allow the merchant to process Revolut Pay payments. + /// + [JsonProperty("revolut_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("revolut_pay_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesRevolutPayPaymentsOptions RevolutPayPayments { get; set; } + + /// + /// Allow the merchant to process Samsung Pay payments. + /// + [JsonProperty("samsung_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("samsung_pay_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesSamsungPayPaymentsOptions SamsungPayPayments { get; set; } + + /// + /// Allow the merchant to process SEPA bank transfer payments. + /// + [JsonProperty("sepa_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sepa_bank_transfer_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesSepaBankTransferPaymentsOptions SepaBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process SEPA Direct Debit payments. + /// + [JsonProperty("sepa_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sepa_debit_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesSepaDebitPaymentsOptions SepaDebitPayments { get; set; } + + /// + /// Allow the merchant to process Swish payments. + /// + [JsonProperty("swish_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("swish_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesSwishPaymentsOptions SwishPayments { get; set; } + + /// + /// Allow the merchant to process TWINT payments. + /// + [JsonProperty("twint_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("twint_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesTwintPaymentsOptions TwintPayments { get; set; } + + /// + /// Allow the merchant to process US bank transfer payments. + /// + [JsonProperty("us_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("us_bank_transfer_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesUsBankTransferPaymentsOptions UsBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process Zip payments. + /// + [JsonProperty("zip_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("zip_payments")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesZipPaymentsOptions ZipPayments { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesOxxoPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesOxxoPaymentsOptions.cs new file mode 100644 index 0000000000..26e1e8a356 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesOxxoPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesOxxoPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesP24PaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesP24PaymentsOptions.cs new file mode 100644 index 0000000000..30502418dc --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesP24PaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesP24PaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPayByBankPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPayByBankPaymentsOptions.cs new file mode 100644 index 0000000000..50ffcdd291 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPayByBankPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesPayByBankPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPaycoPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPaycoPaymentsOptions.cs new file mode 100644 index 0000000000..83f33b9136 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPaycoPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesPaycoPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPaynowPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPaynowPaymentsOptions.cs new file mode 100644 index 0000000000..46a9474494 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPaynowPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesPaynowPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPromptpayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPromptpayPaymentsOptions.cs new file mode 100644 index 0000000000..8178a99b04 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPromptpayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesPromptpayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesRevolutPayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesRevolutPayPaymentsOptions.cs new file mode 100644 index 0000000000..1641b73ed8 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesRevolutPayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesRevolutPayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSamsungPayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSamsungPayPaymentsOptions.cs new file mode 100644 index 0000000000..a538085cc3 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSamsungPayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesSamsungPayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSepaBankTransferPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSepaBankTransferPaymentsOptions.cs new file mode 100644 index 0000000000..167e13bcf7 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSepaBankTransferPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesSepaBankTransferPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSepaDebitPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSepaDebitPaymentsOptions.cs new file mode 100644 index 0000000000..a7f55f2436 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSepaDebitPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesSepaDebitPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSwishPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSwishPaymentsOptions.cs new file mode 100644 index 0000000000..11b03ed0c8 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSwishPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesSwishPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesTwintPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesTwintPaymentsOptions.cs new file mode 100644 index 0000000000..83321325a4 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesTwintPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesTwintPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesUsBankTransferPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesUsBankTransferPaymentsOptions.cs new file mode 100644 index 0000000000..2a1bcb9c39 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesUsBankTransferPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesUsBankTransferPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesZipPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesZipPaymentsOptions.cs new file mode 100644 index 0000000000..adc1ca2a9f --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesZipPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCapabilitiesZipPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCardPaymentsDeclineOnOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCardPaymentsDeclineOnOptions.cs new file mode 100644 index 0000000000..58a5444284 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCardPaymentsDeclineOnOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCardPaymentsDeclineOnOptions : INestedOptions + { + /// + /// Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This + /// setting only applies when a ZIP or postal code is provided and they fail bank + /// verification. + /// + [JsonProperty("avs_failure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("avs_failure")] +#endif + public bool? AvsFailure { get; set; } + + /// + /// Whether Stripe automatically declines charges with an incorrect CVC. This setting only + /// applies when a CVC is provided and it fails bank verification. + /// + [JsonProperty("cvc_failure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cvc_failure")] +#endif + public bool? CvcFailure { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCardPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCardPaymentsOptions.cs new file mode 100644 index 0000000000..2f64fa1e30 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCardPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantCardPaymentsOptions : INestedOptions + { + /// + /// Automatically declines certain charge types regardless of whether the card issuer + /// accepted or declined the charge. + /// + [JsonProperty("decline_on")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("decline_on")] +#endif + public AccountCreateConfigurationMerchantCardPaymentsDeclineOnOptions DeclineOn { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantOptions.cs new file mode 100644 index 0000000000..18baeca926 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantOptions.cs @@ -0,0 +1,76 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantOptions : INestedOptions + { + /// + /// Settings used for Bacs debit payments. + /// + [JsonProperty("bacs_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bacs_debit_payments")] +#endif + public AccountCreateConfigurationMerchantBacsDebitPaymentsOptions BacsDebitPayments { get; set; } + + /// + /// Settings used to apply the merchant's branding to email receipts, invoices, Checkout, + /// and other products. + /// + [JsonProperty("branding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branding")] +#endif + public AccountCreateConfigurationMerchantBrandingOptions Branding { get; set; } + + /// + /// Capabilities to request on the Merchant Configuration. + /// + [JsonProperty("capabilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capabilities")] +#endif + public AccountCreateConfigurationMerchantCapabilitiesOptions Capabilities { get; set; } + + /// + /// Card payments settings. + /// + [JsonProperty("card_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_payments")] +#endif + public AccountCreateConfigurationMerchantCardPaymentsOptions CardPayments { get; set; } + + /// + /// The merchant category code for the Merchant Configuration. MCCs are used to classify + /// businesses based on the goods or services they provide. + /// + [JsonProperty("mcc")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mcc")] +#endif + public string Mcc { get; set; } + + /// + /// Statement descriptor. + /// + [JsonProperty("statement_descriptor")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("statement_descriptor")] +#endif + public AccountCreateConfigurationMerchantStatementDescriptorOptions StatementDescriptor { get; set; } + + /// + /// Publicly available contact information for sending support issues to. + /// + [JsonProperty("support")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("support")] +#endif + public AccountCreateConfigurationMerchantSupportOptions Support { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantStatementDescriptorOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantStatementDescriptorOptions.cs new file mode 100644 index 0000000000..776e200d92 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantStatementDescriptorOptions.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantStatementDescriptorOptions : INestedOptions + { + /// + /// The default text that appears on statements for non-card charges outside of Japan. For + /// card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + /// the statement descriptor prefix. In that case, if concatenating the statement descriptor + /// suffix causes the combined statement descriptor to exceed 22 characters, we truncate the + /// statement_descriptor text to limit the full descriptor to 22 characters. For more + /// information about statement descriptors and their requirements, see the Merchant + /// Configuration settings documentation. + /// + [JsonProperty("descriptor")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("descriptor")] +#endif + public string Descriptor { get; set; } + + /// + /// Default text that appears on statements for card charges outside of Japan, prefixing any + /// dynamic statement_descriptor_suffix specified on the charge. To maximize space for the + /// dynamic part of the descriptor, keep this text short. If you don’t specify this value, + /// statement_descriptor is used as the prefix. For more information about statement + /// descriptors and their requirements, see the Merchant Configuration settings + /// documentation. + /// + [JsonProperty("prefix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("prefix")] +#endif + public string Prefix { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantSupportOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantSupportOptions.cs new file mode 100644 index 0000000000..002b2d1f6a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantSupportOptions.cs @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationMerchantSupportOptions : INestedOptions + { + /// + /// A publicly available mailing address for sending support issues to. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public AddressJapanOptions Address { get; set; } + + /// + /// A publicly available email address for sending support issues to. + /// + [JsonProperty("email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("email")] +#endif + public string Email { get; set; } + + /// + /// A publicly available phone number to call with support issues. + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + + /// + /// A publicly available website for handling support issues. + /// + [JsonProperty("url")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("url")] +#endif + public string Url { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationOptions.cs new file mode 100644 index 0000000000..34ecff9087 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationOptions.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationOptions : INestedOptions + { + /// + /// The Customer Configuration allows the Account to be used in inbound payment flows. + /// + [JsonProperty("customer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("customer")] +#endif + public AccountCreateConfigurationCustomerOptions Customer { get; set; } + + /// + /// The Merchant Configuration allows the Account to make charges. + /// + [JsonProperty("merchant")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("merchant")] +#endif + public AccountCreateConfigurationMerchantOptions Merchant { get; set; } + + /// + /// The Recipient Configuration allows the Account to receive funds. + /// + [JsonProperty("recipient")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("recipient")] +#endif + public AccountCreateConfigurationRecipientOptions Recipient { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesBankAccountsLocalOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesBankAccountsLocalOptions.cs new file mode 100644 index 0000000000..926ce37920 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesBankAccountsLocalOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationRecipientCapabilitiesBankAccountsLocalOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesBankAccountsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesBankAccountsOptions.cs new file mode 100644 index 0000000000..b91d4070d6 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesBankAccountsOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationRecipientCapabilitiesBankAccountsOptions : INestedOptions + { + /// + /// Enables this Account to receive OutboundPayments to linked bank accounts over local + /// networks. + /// + [JsonProperty("local")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("local")] +#endif + public AccountCreateConfigurationRecipientCapabilitiesBankAccountsLocalOptions Local { get; set; } + + /// + /// Enables this Account to receive OutboundPayments to linked bank accounts over wire. + /// + [JsonProperty("wire")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("wire")] +#endif + public AccountCreateConfigurationRecipientCapabilitiesBankAccountsWireOptions Wire { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesBankAccountsWireOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesBankAccountsWireOptions.cs new file mode 100644 index 0000000000..4a51348557 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesBankAccountsWireOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationRecipientCapabilitiesBankAccountsWireOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesCardsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesCardsOptions.cs new file mode 100644 index 0000000000..1192cc3ec9 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesCardsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationRecipientCapabilitiesCardsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesOptions.cs new file mode 100644 index 0000000000..d35959d1ec --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesOptions.cs @@ -0,0 +1,39 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationRecipientCapabilitiesOptions : INestedOptions + { + /// + /// Capabilities that enable OutboundPayments to a bank account linked to this Account. + /// + [JsonProperty("bank_accounts")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_accounts")] +#endif + public AccountCreateConfigurationRecipientCapabilitiesBankAccountsOptions BankAccounts { get; set; } + + /// + /// Capabilities that enable OutboundPayments to a card linked to this Account. + /// + [JsonProperty("cards")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cards")] +#endif + public AccountCreateConfigurationRecipientCapabilitiesCardsOptions Cards { get; set; } + + /// + /// Capabilities that enable the recipient to receive money into their Stripe Balance + /// (/v1/balance). + /// + [JsonProperty("stripe_balance")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("stripe_balance")] +#endif + public AccountCreateConfigurationRecipientCapabilitiesStripeBalanceOptions StripeBalance { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesStripeBalanceOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesStripeBalanceOptions.cs new file mode 100644 index 0000000000..4a332656cd --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesStripeBalanceOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationRecipientCapabilitiesStripeBalanceOptions : INestedOptions + { + /// + /// Allows the recipient to receive /v1/transfers into their Stripe Balance (/v1/balance). + /// + [JsonProperty("stripe_transfers")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("stripe_transfers")] +#endif + public AccountCreateConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersOptions StripeTransfers { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersOptions.cs new file mode 100644 index 0000000000..8576b487b0 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientOptions.cs new file mode 100644 index 0000000000..f699d08ce2 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateConfigurationRecipientOptions : INestedOptions + { + /// + /// Capabilities to be requested on the Recipient Configuration. + /// + [JsonProperty("capabilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capabilities")] +#endif + public AccountCreateConfigurationRecipientCapabilitiesOptions Capabilities { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateDefaultsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateDefaultsOptions.cs new file mode 100644 index 0000000000..ae9b6faa35 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateDefaultsOptions.cs @@ -0,0 +1,80 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateDefaultsOptions : INestedOptions + { + /// + /// Three-letter ISO currency + /// code, in lowercase. Must be a supported + /// currency. + /// One of: aed, afn, all, amd, ang, aoa, + /// ars, aud, awg, azn, bam, bbd, bdt, + /// bgn, bhd, bif, bmd, bnd, bob, bov, + /// brl, bsd, btn, bwp, byn, byr, bzd, + /// cad, cdf, che, chf, chw, clf, clp, + /// cny, cop, cou, crc, cuc, cup, cve, + /// czk, djf, dkk, dop, dzd, eek, egp, + /// ern, etb, eur, fjd, fkp, gbp, gel, + /// ghc, ghs, gip, gmd, gnf, gtq, gyd, + /// hkd, hnl, hrk, htg, huf, idr, ils, + /// inr, iqd, irr, isk, jmd, jod, jpy, + /// kes, kgs, khr, kmf, kpw, krw, kwd, + /// kyd, kzt, lak, lbp, lkr, lrd, lsl, + /// ltl, lvl, lyd, mad, mdl, mga, mkd, + /// mmk, mnt, mop, mro, mru, mur, mvr, + /// mwk, mxn, mxv, myr, mzn, nad, ngn, + /// nio, nok, npr, nzd, omr, pab, pen, + /// pgk, php, pkr, pln, pyg, qar, ron, + /// rsd, rub, rwf, sar, sbd, scr, sdg, + /// sek, sgd, shp, sle, sll, sos, srd, + /// ssp, std, stn, svc, syp, szl, thb, + /// tjs, tmt, tnd, top, try, ttd, twd, + /// tzs, uah, ugx, usd, usdc, usn, uyi, + /// uyu, uzs, vef, ves, vnd, vuv, wst, + /// xaf, xcd, xcg, xof, xpf, yer, zar, + /// zmk, zmw, zwd, zwg, or zwl. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// The Account's preferred locales (languages), ordered by preference. + /// One of: ar-SA, bg, bg-BG, cs, cs-CZ, da, + /// da-DK, de, de-DE, el, el-GR, en, en-AU, + /// en-CA, en-GB, en-IE, en-IN, en-NZ, en-SG, + /// en-US, es, es-419, es-ES, et, et-EE, + /// fi, fil, fil-PH, fi-FI, fr, fr-CA, + /// fr-FR, he-IL, hr, hr-HR, hu, hu-HU, id, + /// id-ID, it, it-IT, ja, ja-JP, ko, ko-KR, + /// lt, lt-LT, lv, lv-LV, ms, ms-MY, mt, + /// mt-MT, nb, nb-NO, nl, nl-NL, pl, pl-PL, + /// pt, pt-BR, pt-PT, ro, ro-RO, ru, ru-RU, + /// sk, sk-SK, sl, sl-SI, sv, sv-SE, th, + /// th-TH, tr, tr-TR, vi, vi-VN, zh, + /// zh-Hans, zh-Hant-HK, zh-Hant-TW, zh-HK, or zh-TW. + /// + [JsonProperty("locales")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("locales")] +#endif + public List Locales { get; set; } + + /// + /// Default responsibilities held by either Stripe or the platform. + /// + [JsonProperty("responsibilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("responsibilities")] +#endif + public AccountCreateDefaultsResponsibilitiesOptions Responsibilities { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateDefaultsResponsibilitiesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateDefaultsResponsibilitiesOptions.cs new file mode 100644 index 0000000000..ac55a66c89 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateDefaultsResponsibilitiesOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateDefaultsResponsibilitiesOptions : INestedOptions + { + /// + /// A value indicating the party responsible for collecting fees from this account. + /// One of: application, or stripe. + /// + [JsonProperty("fees_collector")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fees_collector")] +#endif + public string FeesCollector { get; set; } + + /// + /// A value indicating who is responsible for losses when this Account can’t pay back + /// negative balances from payments. + /// One of: application, or stripe. + /// + [JsonProperty("losses_collector")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("losses_collector")] +#endif + public string LossesCollector { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsDirectorshipDeclarationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsDirectorshipDeclarationOptions.cs new file mode 100644 index 0000000000..ed335fcd06 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsDirectorshipDeclarationOptions.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityAttestationsDirectorshipDeclarationOptions : INestedOptions + { + /// + /// The time marking when the director attestation was made. Represented as a RFC 3339 date + /// & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the director attestation was made. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the director attestation was made. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsOptions.cs new file mode 100644 index 0000000000..336316a764 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsOptions.cs @@ -0,0 +1,49 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityAttestationsOptions : INestedOptions + { + /// + /// This hash is used to attest that the directors information provided to Stripe is both + /// current and correct. + /// + [JsonProperty("directorship_declaration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("directorship_declaration")] +#endif + public AccountCreateIdentityAttestationsDirectorshipDeclarationOptions DirectorshipDeclaration { get; set; } + + /// + /// This hash is used to attest that the beneficial owner information provided to Stripe is + /// both current and correct. + /// + [JsonProperty("ownership_declaration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ownership_declaration")] +#endif + public AccountCreateIdentityAttestationsOwnershipDeclarationOptions OwnershipDeclaration { get; set; } + + /// + /// Attestation that all Persons with a specific Relationship value have been provided. + /// + [JsonProperty("persons_provided")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("persons_provided")] +#endif + public AccountCreateIdentityAttestationsPersonsProvidedOptions PersonsProvided { get; set; } + + /// + /// Attestations of accepted terms of service agreements. + /// + [JsonProperty("terms_of_service")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("terms_of_service")] +#endif + public AccountCreateIdentityAttestationsTermsOfServiceOptions TermsOfService { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsOwnershipDeclarationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsOwnershipDeclarationOptions.cs new file mode 100644 index 0000000000..3acac4dbcb --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsOwnershipDeclarationOptions.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityAttestationsOwnershipDeclarationOptions : INestedOptions + { + /// + /// The time marking when the beneficial owner attestation was made. Represented as a RFC + /// 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the beneficial owner attestation was made. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the beneficial owner attestation was made. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsPersonsProvidedOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsPersonsProvidedOptions.cs new file mode 100644 index 0000000000..ba3ab15059 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsPersonsProvidedOptions.cs @@ -0,0 +1,55 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityAttestationsPersonsProvidedOptions : INestedOptions + { + /// + /// Whether the company’s directors have been provided. Set this Boolean to true after + /// creating all the company’s directors with the Persons API. + /// + [JsonProperty("directors")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("directors")] +#endif + public bool? Directors { get; set; } + + /// + /// Whether the company’s executives have been provided. Set this Boolean to true after + /// creating all the company’s executives with the Persons API. + /// + [JsonProperty("executives")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("executives")] +#endif + public bool? Executives { get; set; } + + /// + /// Whether the company’s owners have been provided. Set this Boolean to true after creating + /// all the company’s owners with the Persons API. + /// + [JsonProperty("owners")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("owners")] +#endif + public bool? Owners { get; set; } + + /// + /// Reason for why the company is exempt from providing ownership information. + /// One of: qualified_entity_exceeds_ownership_threshold, or + /// qualifies_as_financial_institution. + /// + [JsonProperty("ownership_exemption_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ownership_exemption_reason")] +#endif + public string OwnershipExemptionReason { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsTermsOfServiceAccountOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsTermsOfServiceAccountOptions.cs new file mode 100644 index 0000000000..b047adad7f --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsTermsOfServiceAccountOptions.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityAttestationsTermsOfServiceAccountOptions : INestedOptions + { + /// + /// The time when the Account's representative accepted the terms of service. Represented as + /// a RFC 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the Account's representative accepted the terms of service. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the Account's representative accepted the terms + /// of service. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsTermsOfServiceOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsTermsOfServiceOptions.cs new file mode 100644 index 0000000000..9ba277c608 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsTermsOfServiceOptions.cs @@ -0,0 +1,22 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityAttestationsTermsOfServiceOptions : INestedOptions + { + /// + /// Details on the Account's acceptance of the Stripe Services + /// Agreement. + /// + [JsonProperty("account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account")] +#endif + public AccountCreateIdentityAttestationsTermsOfServiceAccountOptions Account { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsAnnualRevenueOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsAnnualRevenueOptions.cs new file mode 100644 index 0000000000..a597de493c --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsAnnualRevenueOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsAnnualRevenueOptions : INestedOptions + { + /// + /// A non-negative integer representing the amount in the smallest currency unit. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public V2.Amount Amount { get; set; } + + /// + /// The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for + /// the 31st of December, 2023. + /// + [JsonProperty("fiscal_year_end")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fiscal_year_end")] +#endif + public string FiscalYearEnd { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsBankAccountOwnershipVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsBankAccountOwnershipVerificationOptions.cs new file mode 100644 index 0000000000..745f869226 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsBankAccountOwnershipVerificationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsDocumentsBankAccountOwnershipVerificationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyLicenseOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyLicenseOptions.cs new file mode 100644 index 0000000000..8e357d8f91 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyLicenseOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsDocumentsCompanyLicenseOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociationOptions.cs new file mode 100644 index 0000000000..d07cfdff42 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyMinisterialDecreeOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyMinisterialDecreeOptions.cs new file mode 100644 index 0000000000..2aef8080df --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyMinisterialDecreeOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsDocumentsCompanyMinisterialDecreeOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyRegistrationVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyRegistrationVerificationOptions.cs new file mode 100644 index 0000000000..8184e6a42f --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyRegistrationVerificationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsDocumentsCompanyRegistrationVerificationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyTaxIdVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyTaxIdVerificationOptions.cs new file mode 100644 index 0000000000..25b8ac301c --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyTaxIdVerificationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsDocumentsCompanyTaxIdVerificationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsOptions.cs new file mode 100644 index 0000000000..4b20c545aa --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsOptions.cs @@ -0,0 +1,97 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsDocumentsOptions : INestedOptions + { + /// + /// One or more documents that support the bank account ownership verification requirement. + /// Must be a document associated with the account’s primary active bank account that + /// displays the last 4 digits of the account number, either a statement or a check. + /// + [JsonProperty("bank_account_ownership_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account_ownership_verification")] +#endif + public AccountCreateIdentityBusinessDetailsDocumentsBankAccountOwnershipVerificationOptions BankAccountOwnershipVerification { get; set; } + + /// + /// One or more documents that demonstrate proof of a company’s license to operate. + /// + [JsonProperty("company_license")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_license")] +#endif + public AccountCreateIdentityBusinessDetailsDocumentsCompanyLicenseOptions CompanyLicense { get; set; } + + /// + /// One or more documents showing the company’s Memorandum of Association. + /// + [JsonProperty("company_memorandum_of_association")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_memorandum_of_association")] +#endif + public AccountCreateIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociationOptions CompanyMemorandumOfAssociation { get; set; } + + /// + /// Certain countries only: One or more documents showing the ministerial decree legalizing + /// the company’s establishment. + /// + [JsonProperty("company_ministerial_decree")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_ministerial_decree")] +#endif + public AccountCreateIdentityBusinessDetailsDocumentsCompanyMinisterialDecreeOptions CompanyMinisterialDecree { get; set; } + + /// + /// One or more documents that demonstrate proof of a company’s registration with the + /// appropriate local authorities. + /// + [JsonProperty("company_registration_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_registration_verification")] +#endif + public AccountCreateIdentityBusinessDetailsDocumentsCompanyRegistrationVerificationOptions CompanyRegistrationVerification { get; set; } + + /// + /// One or more documents that demonstrate proof of a company’s tax ID. + /// + [JsonProperty("company_tax_id_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_tax_id_verification")] +#endif + public AccountCreateIdentityBusinessDetailsDocumentsCompanyTaxIdVerificationOptions CompanyTaxIdVerification { get; set; } + + /// + /// A document verifying the business. + /// + [JsonProperty("primary_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("primary_verification")] +#endif + public AccountCreateIdentityBusinessDetailsDocumentsPrimaryVerificationOptions PrimaryVerification { get; set; } + + /// + /// One or more documents showing the company’s proof of registration with the national + /// business registry. + /// + [JsonProperty("proof_of_registration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("proof_of_registration")] +#endif + public AccountCreateIdentityBusinessDetailsDocumentsProofOfRegistrationOptions ProofOfRegistration { get; set; } + + /// + /// One or more documents that demonstrate proof of ultimate beneficial ownership. + /// + [JsonProperty("proof_of_ultimate_beneficial_ownership")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("proof_of_ultimate_beneficial_ownership")] +#endif + public AccountCreateIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipOptions ProofOfUltimateBeneficialOwnership { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBackOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBackOptions.cs new file mode 100644 index 0000000000..5435423b15 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBackOptions.cs @@ -0,0 +1,35 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBackOptions : INestedOptions + { + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] +#endif + public string Back { get; set; } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsPrimaryVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsPrimaryVerificationOptions.cs new file mode 100644 index 0000000000..298490069c --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsPrimaryVerificationOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsDocumentsPrimaryVerificationOptions : INestedOptions + { + /// + /// The file upload + /// tokens referring to each side of the document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public AccountCreateIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBackOptions FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsProofOfRegistrationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsProofOfRegistrationOptions.cs new file mode 100644 index 0000000000..dcc4780617 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsProofOfRegistrationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsDocumentsProofOfRegistrationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipOptions.cs new file mode 100644 index 0000000000..5f241856e8 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsIdNumberOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsIdNumberOptions.cs new file mode 100644 index 0000000000..5ff5bcae14 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsIdNumberOptions.cs @@ -0,0 +1,50 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsIdNumberOptions : INestedOptions + { + /// + /// The registrar of the ID number (Only valid for DE ID number types). + /// + [JsonProperty("registrar")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registrar")] +#endif + public string Registrar { get; set; } + + /// + /// Open Enum. The ID number type of a business entity. + /// One of: ae_crn, ae_vat, at_fn, au_abn, au_acn, + /// au_in, be_cbe, bg_uic, br_cnpj, ca_cn, + /// ca_crarr, ca_neq, ca_rid, ch_chid, ch_uid, + /// cy_tic, cz_ico, de_hrn, de_vat, dk_cvr, ee_rk, + /// es_cif, fi_yt, fr_siren, fr_vat, gb_crn, + /// gi_crn, gr_gemi, hk_br, hk_cr, hk_mbs, hu_cjs, + /// ie_crn, it_rea, it_vat, jp_cn, li_uid, + /// lt_ccrn, lu_rcs, lv_urn, mt_crn, mx_rfc, + /// my_brn, my_coid, my_sst, nl_kvk, no_orgnr, + /// nz_bn, pl_regon, pt_vat, ro_cui, se_orgnr, + /// sg_uen, si_msp, sk_ico, th_crn, th_prn, + /// th_tin, or us_ein. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The value of the ID number. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsMonthlyEstimatedRevenueOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsMonthlyEstimatedRevenueOptions.cs new file mode 100644 index 0000000000..fea520f3ee --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsMonthlyEstimatedRevenueOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsMonthlyEstimatedRevenueOptions : INestedOptions + { + /// + /// A non-negative integer representing the amount in the smallest currency unit. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public V2.Amount Amount { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsOptions.cs new file mode 100644 index 0000000000..0a916ca991 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsOptions.cs @@ -0,0 +1,149 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsOptions : INestedOptions + { + /// + /// The business registration address of the business entity. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public AddressJapanOptions Address { get; set; } + + /// + /// The business gross annual revenue for its preceding fiscal year. + /// + [JsonProperty("annual_revenue")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("annual_revenue")] +#endif + public AccountCreateIdentityBusinessDetailsAnnualRevenueOptions AnnualRevenue { get; set; } + + /// + /// A document verifying the business. + /// + [JsonProperty("documents")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("documents")] +#endif + public AccountCreateIdentityBusinessDetailsDocumentsOptions Documents { get; set; } + + /// + /// The name which is used by the business. + /// + [JsonProperty("doing_business_as")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("doing_business_as")] +#endif + public string DoingBusinessAs { get; set; } + + /// + /// An estimated upper bound of employees, contractors, vendors, etc. currently working for + /// the business. + /// + [JsonProperty("estimated_worker_count")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("estimated_worker_count")] +#endif + public long? EstimatedWorkerCount { get; set; } + + /// + /// The ID numbers of a business entity. + /// + [JsonProperty("id_numbers")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id_numbers")] +#endif + public List IdNumbers { get; set; } + + /// + /// An estimate of the monthly revenue of the business. + /// + [JsonProperty("monthly_estimated_revenue")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("monthly_estimated_revenue")] +#endif + public AccountCreateIdentityBusinessDetailsMonthlyEstimatedRevenueOptions MonthlyEstimatedRevenue { get; set; } + + /// + /// The phone number of the Business Entity. + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + + /// + /// Internal-only description of the product sold or service provided by the business. It's + /// used by Stripe for risk and underwriting purposes. + /// + [JsonProperty("product_description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("product_description")] +#endif + public string ProductDescription { get; set; } + + /// + /// The business legal name. + /// + [JsonProperty("registered_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registered_name")] +#endif + public string RegisteredName { get; set; } + + /// + /// The business registration address of the business entity in non latin script. + /// + [JsonProperty("script_addresses")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_addresses")] +#endif + public AccountCreateIdentityBusinessDetailsScriptAddressesOptions ScriptAddresses { get; set; } + + /// + /// The business legal name in non latin script. + /// + [JsonProperty("script_names")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_names")] +#endif + public AccountCreateIdentityBusinessDetailsScriptNamesOptions ScriptNames { get; set; } + + /// + /// The category identifying the legal structure of the business. + /// One of: free_zone_establishment, free_zone_llc, governmental_unit, + /// government_instrumentality, incorporated_non_profit, + /// incorporated_partnership, llc, multi_member_llc, + /// private_company, private_corporation, private_partnership, + /// public_company, public_corporation, public_partnership, + /// registered_charity, single_member_llc, sole_establishment, + /// sole_proprietorship, tax_exempt_government_instrumentality, + /// unincorporated_association, unincorporated_non_profit, or + /// unincorporated_partnership. + /// + [JsonProperty("structure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("structure")] +#endif + public string Structure { get; set; } + + /// + /// The business's publicly available website. + /// + [JsonProperty("url")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("url")] +#endif + public string Url { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptAddressesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptAddressesOptions.cs new file mode 100644 index 0000000000..132027eb7f --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptAddressesOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsScriptAddressesOptions : INestedOptions + { + /// + /// Kana Address. + /// + [JsonProperty("kana")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] +#endif + public AddressJapanOptions Kana { get; set; } + + /// + /// Kanji Address. + /// + [JsonProperty("kanji")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] +#endif + public AddressJapanOptions Kanji { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptNamesKanaOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptNamesKanaOptions.cs new file mode 100644 index 0000000000..d55294d53e --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptNamesKanaOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsScriptNamesKanaOptions : INestedOptions + { + /// + /// Registered name of the business. + /// + [JsonProperty("registered_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registered_name")] +#endif + public string RegisteredName { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptNamesKanjiOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptNamesKanjiOptions.cs new file mode 100644 index 0000000000..af1cff8cb5 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptNamesKanjiOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsScriptNamesKanjiOptions : INestedOptions + { + /// + /// Registered name of the business. + /// + [JsonProperty("registered_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registered_name")] +#endif + public string RegisteredName { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptNamesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptNamesOptions.cs new file mode 100644 index 0000000000..9ace7a5a25 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptNamesOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityBusinessDetailsScriptNamesOptions : INestedOptions + { + /// + /// Kana name. + /// + [JsonProperty("kana")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] +#endif + public AccountCreateIdentityBusinessDetailsScriptNamesKanaOptions Kana { get; set; } + + /// + /// Kanji name. + /// + [JsonProperty("kanji")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] +#endif + public AccountCreateIdentityBusinessDetailsScriptNamesKanjiOptions Kanji { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualAdditionalAddressOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualAdditionalAddressOptions.cs new file mode 100644 index 0000000000..ae3f1b233a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualAdditionalAddressOptions.cs @@ -0,0 +1,116 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualAdditionalAddressOptions : INestedOptions + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// Purpose of additional address. + /// + [JsonProperty("purpose")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("purpose")] +#endif + public string Purpose { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualAdditionalNameOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualAdditionalNameOptions.cs new file mode 100644 index 0000000000..35467073f0 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualAdditionalNameOptions.cs @@ -0,0 +1,48 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualAdditionalNameOptions : INestedOptions + { + /// + /// The person's full name. + /// + [JsonProperty("full_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("full_name")] +#endif + public string FullName { get; set; } + + /// + /// The person's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The purpose or type of the additional name. + /// One of: alias, or maiden. + /// + [JsonProperty("purpose")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("purpose")] +#endif + public string Purpose { get; set; } + + /// + /// The person's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDateOfBirthOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDateOfBirthOptions.cs new file mode 100644 index 0000000000..35e68b49b2 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDateOfBirthOptions.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualDateOfBirthOptions : INestedOptions + { + /// + /// The day of birth. + /// + [JsonProperty("day")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("day")] +#endif + public long? Day { get; set; } + + /// + /// The month of birth. + /// + [JsonProperty("month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("month")] +#endif + public long? Month { get; set; } + + /// + /// The year of birth. + /// + [JsonProperty("year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("year")] +#endif + public long? Year { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsCompanyAuthorizationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsCompanyAuthorizationOptions.cs new file mode 100644 index 0000000000..387bd9856b --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsCompanyAuthorizationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualDocumentsCompanyAuthorizationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsOptions.cs new file mode 100644 index 0000000000..c89a5a5a29 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsOptions.cs @@ -0,0 +1,59 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualDocumentsOptions : INestedOptions + { + /// + /// One or more documents that demonstrate proof that this person is authorized to represent + /// the company. + /// + [JsonProperty("company_authorization")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_authorization")] +#endif + public AccountCreateIdentityIndividualDocumentsCompanyAuthorizationOptions CompanyAuthorization { get; set; } + + /// + /// One or more documents showing the person’s passport page with photo and personal data. + /// + [JsonProperty("passport")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("passport")] +#endif + public AccountCreateIdentityIndividualDocumentsPassportOptions Passport { get; set; } + + /// + /// An identifying document showing the person's name, either a passport or local ID card. + /// + [JsonProperty("primary_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("primary_verification")] +#endif + public AccountCreateIdentityIndividualDocumentsPrimaryVerificationOptions PrimaryVerification { get; set; } + + /// + /// A document showing address, either a passport, local ID card, or utility bill from a + /// well-known utility company. + /// + [JsonProperty("secondary_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("secondary_verification")] +#endif + public AccountCreateIdentityIndividualDocumentsSecondaryVerificationOptions SecondaryVerification { get; set; } + + /// + /// One or more documents showing the person’s visa required for living in the country where + /// they are residing. + /// + [JsonProperty("visa")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("visa")] +#endif + public AccountCreateIdentityIndividualDocumentsVisaOptions Visa { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsPassportOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsPassportOptions.cs new file mode 100644 index 0000000000..27d48a932a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsPassportOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualDocumentsPassportOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsPrimaryVerificationFrontBackOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsPrimaryVerificationFrontBackOptions.cs new file mode 100644 index 0000000000..a95266b95a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsPrimaryVerificationFrontBackOptions.cs @@ -0,0 +1,35 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualDocumentsPrimaryVerificationFrontBackOptions : INestedOptions + { + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] +#endif + public string Back { get; set; } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsPrimaryVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsPrimaryVerificationOptions.cs new file mode 100644 index 0000000000..b7a515b766 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsPrimaryVerificationOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualDocumentsPrimaryVerificationOptions : INestedOptions + { + /// + /// The file upload + /// tokens referring to each side of the document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public AccountCreateIdentityIndividualDocumentsPrimaryVerificationFrontBackOptions FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsSecondaryVerificationFrontBackOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsSecondaryVerificationFrontBackOptions.cs new file mode 100644 index 0000000000..44fd90721d --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsSecondaryVerificationFrontBackOptions.cs @@ -0,0 +1,35 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualDocumentsSecondaryVerificationFrontBackOptions : INestedOptions + { + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] +#endif + public string Back { get; set; } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsSecondaryVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsSecondaryVerificationOptions.cs new file mode 100644 index 0000000000..5cc1167268 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsSecondaryVerificationOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualDocumentsSecondaryVerificationOptions : INestedOptions + { + /// + /// The file upload + /// tokens referring to each side of the document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public AccountCreateIdentityIndividualDocumentsSecondaryVerificationFrontBackOptions FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsVisaOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsVisaOptions.cs new file mode 100644 index 0000000000..9d7c200551 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsVisaOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualDocumentsVisaOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualIdNumberOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualIdNumberOptions.cs new file mode 100644 index 0000000000..657d514a9a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualIdNumberOptions.cs @@ -0,0 +1,33 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualIdNumberOptions : INestedOptions + { + /// + /// The ID number type of an individual. + /// One of: ae_eid, br_cpf, de_stn, hk_id, mx_rfc, + /// my_nric, nl_bsn, sg_fin, sg_nric, th_lc, + /// th_pin, us_itin, us_itin_last_4, us_ssn, or + /// us_ssn_last_4. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The value of the ID number. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualOptions.cs new file mode 100644 index 0000000000..2b3edaa532 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualOptions.cs @@ -0,0 +1,201 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualOptions : INestedOptions, IHasMetadata + { + /// + /// Additional addresses associated with the individual. + /// + [JsonProperty("additional_addresses")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_addresses")] +#endif + public List AdditionalAddresses { get; set; } + + /// + /// Additional names (e.g. aliases) associated with the individual. + /// + [JsonProperty("additional_names")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_names")] +#endif + public List AdditionalNames { get; set; } + + /// + /// The individual's residential address. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public AddressJapanOptions Address { get; set; } + + /// + /// The individual's date of birth. + /// + [JsonProperty("date_of_birth")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date_of_birth")] +#endif + public AccountCreateIdentityIndividualDateOfBirthOptions DateOfBirth { get; set; } + + /// + /// Documents that may be submitted to satisfy various informational requests. + /// + [JsonProperty("documents")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("documents")] +#endif + public AccountCreateIdentityIndividualDocumentsOptions Documents { get; set; } + + /// + /// The individual's email address. + /// + [JsonProperty("email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("email")] +#endif + public string Email { get; set; } + + /// + /// The individual's first name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The identification numbers (e.g., SSN) associated with the individual. + /// + [JsonProperty("id_numbers")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id_numbers")] +#endif + public List IdNumbers { get; set; } + + /// + /// The individual's gender (International regulations require either "male" or "female"). + /// One of: female, or male. + /// + [JsonProperty("legal_gender")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("legal_gender")] +#endif + public string LegalGender { get; set; } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// The countries where the individual is a national. Two-letter country code (ISO 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("nationalities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nationalities")] +#endif + public List Nationalities { get; set; } + + /// + /// The individual's phone number. + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + + /// + /// The individual's political exposure. + /// One of: existing, or none. + /// + [JsonProperty("political_exposure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("political_exposure")] +#endif + public string PoliticalExposure { get; set; } + + /// + /// The relationship that this individual has with the account's identity. + /// + [JsonProperty("relationship")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("relationship")] +#endif + public AccountCreateIdentityIndividualRelationshipOptions Relationship { get; set; } + + /// + /// The script addresses (e.g., non-Latin characters) associated with the individual. + /// + [JsonProperty("script_addresses")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_addresses")] +#endif + public AccountCreateIdentityIndividualScriptAddressesOptions ScriptAddresses { get; set; } + + /// + /// The individuals primary name in non latin script. + /// + [JsonProperty("script_names")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_names")] +#endif + public AccountCreateIdentityIndividualScriptNamesOptions ScriptNames { get; set; } + + /// + /// The individual's last name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualRelationshipOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualRelationshipOptions.cs new file mode 100644 index 0000000000..f8d1392e98 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualRelationshipOptions.cs @@ -0,0 +1,59 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualRelationshipOptions : INestedOptions + { + /// + /// Whether the person is a director of the account's identity. Directors are typically + /// members of the governing board of the company, or responsible for ensuring the company + /// meets its regulatory obligations. + /// + [JsonProperty("director")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("director")] +#endif + public bool? Director { get; set; } + + /// + /// Whether the person has significant responsibility to control, manage, or direct the + /// organization. + /// + [JsonProperty("executive")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("executive")] +#endif + public bool? Executive { get; set; } + + /// + /// Whether the person is an owner of the account’s identity. + /// + [JsonProperty("owner")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("owner")] +#endif + public bool? Owner { get; set; } + + /// + /// The percent owned by the person of the account's legal entity. + /// + [JsonProperty("percent_ownership")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("percent_ownership")] +#endif + public string PercentOwnership { get; set; } + + /// + /// The person's title (e.g., CEO, Support Engineer). + /// + [JsonProperty("title")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("title")] +#endif + public string Title { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptAddressesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptAddressesOptions.cs new file mode 100644 index 0000000000..aba923b7d2 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptAddressesOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualScriptAddressesOptions : INestedOptions + { + /// + /// Kana Address. + /// + [JsonProperty("kana")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] +#endif + public AddressJapanOptions Kana { get; set; } + + /// + /// Kanji Address. + /// + [JsonProperty("kanji")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] +#endif + public AddressJapanOptions Kanji { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptNamesKanaOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptNamesKanaOptions.cs new file mode 100644 index 0000000000..d2b56f6591 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptNamesKanaOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualScriptNamesKanaOptions : INestedOptions + { + /// + /// The person's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The person's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptNamesKanjiOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptNamesKanjiOptions.cs new file mode 100644 index 0000000000..3cb81cb456 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptNamesKanjiOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualScriptNamesKanjiOptions : INestedOptions + { + /// + /// The person's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The person's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptNamesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptNamesOptions.cs new file mode 100644 index 0000000000..873382a2cc --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptNamesOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityIndividualScriptNamesOptions : INestedOptions + { + /// + /// Persons name in kana script. + /// + [JsonProperty("kana")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] +#endif + public AccountCreateIdentityIndividualScriptNamesKanaOptions Kana { get; set; } + + /// + /// Persons name in kanji script. + /// + [JsonProperty("kanji")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] +#endif + public AccountCreateIdentityIndividualScriptNamesKanjiOptions Kanji { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityOptions.cs new file mode 100644 index 0000000000..43caf0feac --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityOptions.cs @@ -0,0 +1,93 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateIdentityOptions : INestedOptions + { + /// + /// Attestations from the identity's key people, e.g. owners, executives, directors. + /// + [JsonProperty("attestations")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("attestations")] +#endif + public AccountCreateIdentityAttestationsOptions Attestations { get; set; } + + /// + /// Information about the company or business. + /// + [JsonProperty("business_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("business_details")] +#endif + public AccountCreateIdentityBusinessDetailsOptions BusinessDetails { get; set; } + + /// + /// The country in which the account holder resides, or in which the business is legally + /// established. This should be an ISO 3166-1 alpha-2 country + /// code. + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// The entity type. + /// One of: company, government_entity, individual, or + /// non_profit. + /// + [JsonProperty("entity_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("entity_type")] +#endif + public string EntityType { get; set; } + + /// + /// Information about the person represented by the account. + /// + [JsonProperty("individual")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("individual")] +#endif + public AccountCreateIdentityIndividualOptions Individual { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateOptions.cs new file mode 100644 index 0000000000..209642a145 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountCreateOptions.cs @@ -0,0 +1,92 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountCreateOptions : BaseOptions, IHasMetadata + { + /// + /// An Account Configuration which allows the Account to take on a key persona across Stripe + /// products. + /// + [JsonProperty("configuration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("configuration")] +#endif + public AccountCreateConfigurationOptions Configuration { get; set; } + + /// + /// The default contact email address for the Account. + /// + [JsonProperty("contact_email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("contact_email")] +#endif + public string ContactEmail { get; set; } + + /// + /// A value indicating the Stripe dashboard this Account has access to. This will depend on + /// which configurations are enabled for this account. + /// One of: express, full, or none. + /// + [JsonProperty("dashboard")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("dashboard")] +#endif + public string Dashboard { get; set; } + + /// + /// Default values to be used on Account Configurations. + /// + [JsonProperty("defaults")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("defaults")] +#endif + public AccountCreateDefaultsOptions Defaults { get; set; } + + /// + /// A descriptive name for the Account. This name will be surfaced in the Stripe Dashboard + /// and on any invoices sent to the Account. + /// + [JsonProperty("display_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_name")] +#endif + public string DisplayName { get; set; } + + /// + /// Information about the company, individual, and business represented by the Account. + /// + [JsonProperty("identity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("identity")] +#endif + public AccountCreateIdentityOptions Identity { get; set; } + + /// + /// Additional fields to include in the response. + /// One of: configuration.customer, configuration.merchant, + /// configuration.recipient, defaults, identity, or + /// requirements. + /// + [JsonProperty("include")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("include")] +#endif + public List Include { get; set; } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountGetOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountGetOptions.cs new file mode 100644 index 0000000000..e71b684c55 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountGetOptions.cs @@ -0,0 +1,24 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountGetOptions : BaseOptions + { + /// + /// Additional fields to include in the response. + /// One of: configuration.customer, configuration.merchant, + /// configuration.recipient, defaults, identity, or + /// requirements. + /// + [JsonProperty("include")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("include")] +#endif + public List Include { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountListOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountListOptions.cs new file mode 100644 index 0000000000..a3ce131f43 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountListOptions.cs @@ -0,0 +1,22 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountListOptions : V2.ListOptions + { + /// + /// Filter only accounts that have all of the configurations specified. If omitted, returns + /// all accounts regardless of which configurations they have. + /// + [JsonProperty("applied_configurations")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("applied_configurations")] +#endif + public List AppliedConfigurations { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountService.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountService.cs new file mode 100644 index 0000000000..5d2a4895b5 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountService.cs @@ -0,0 +1,132 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using System.Collections.Generic; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class AccountService : Service + { + private V2.Core.Accounts.PersonService persons; + + internal AccountService(ApiRequestor requestor) + : base(requestor) + { + } + + internal AccountService(IStripeClient client) + : base(client) + { + } + + public virtual V2.Core.Accounts.PersonService Persons => this.persons ??= new V2.Core.Accounts.PersonService( + this.Requestor); + + /// + /// Removes access to the Account and its associated resources. + /// + public virtual Account Close(string id, AccountCloseOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/core/accounts/{WebUtility.UrlEncode(id)}/close", options, requestOptions); + } + + /// + /// Removes access to the Account and its associated resources. + /// + public virtual Task CloseAsync(string id, AccountCloseOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/core/accounts/{WebUtility.UrlEncode(id)}/close", options, requestOptions, cancellationToken); + } + + /// + /// An Account is a representation of a company, individual or other entity that a user + /// interacts with. Accounts contain identifying information about the entity, and + /// configurations that store the features an account has access to. An account can be + /// configured as any or all of the following configurations: Customer, Merchant and/or + /// Recipient. + /// + public virtual Account Create(AccountCreateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/core/accounts", options, requestOptions); + } + + /// + /// An Account is a representation of a company, individual or other entity that a user + /// interacts with. Accounts contain identifying information about the entity, and + /// configurations that store the features an account has access to. An account can be + /// configured as any or all of the following configurations: Customer, Merchant and/or + /// Recipient. + /// + public virtual Task CreateAsync(AccountCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/core/accounts", options, requestOptions, cancellationToken); + } + + /// + /// Retrieves the details of an Account. + /// + public virtual Account Get(string id, AccountGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/core/accounts/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieves the details of an Account. + /// + public virtual Task GetAsync(string id, AccountGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/core/accounts/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// Returns a list of Accounts. + /// + public virtual V2.StripeList List(AccountListOptions options = null, RequestOptions requestOptions = null) + { + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/core/accounts", options, requestOptions); + } + + /// + /// Returns a list of Accounts. + /// + public virtual Task> ListAsync(AccountListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/core/accounts", options, requestOptions, cancellationToken); + } + + /// + /// Returns a list of Accounts. + /// + public virtual IEnumerable ListAutoPaging(AccountListOptions options = null, RequestOptions requestOptions = null) + { + return this.ListRequestAutoPaging($"/v2/core/accounts", options, requestOptions); + } + + /// + /// Returns a list of Accounts. + /// + public virtual IAsyncEnumerable ListAutoPagingAsync(AccountListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.ListRequestAutoPagingAsync($"/v2/core/accounts", options, requestOptions, cancellationToken); + } + + /// + /// Updates the details of an Account. + /// + public virtual Account Update(string id, AccountUpdateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/core/accounts/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Updates the details of an Account. + /// + public virtual Task UpdateAsync(string id, AccountUpdateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/core/accounts/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerAutomaticIndirectTaxOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerAutomaticIndirectTaxOptions.cs new file mode 100644 index 0000000000..5c1296982c --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerAutomaticIndirectTaxOptions.cs @@ -0,0 +1,44 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationCustomerAutomaticIndirectTaxOptions : INestedOptions + { + /// + /// Describes the customer's tax exemption status, which is none, exempt, or + /// reverse. When set to reverse, invoice and receipt PDFs include the following + /// text: “Reverse charge”. + /// One of: exempt, none, or reverse. + /// + [JsonProperty("exempt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exempt")] +#endif + public string Exempt { get; set; } + + /// + /// A recent IP address of the customer used for tax reporting and tax location inference. + /// + [JsonProperty("ip_address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip_address")] +#endif + public string IpAddress { get; set; } + + /// + /// The data source used by Stripe Tax to identify the customer's location - defaults to + /// 'identity_address'. Will only be used for automatic tax calculation on the customer's + /// Invoices and Subscriptions. + /// One of: identity_address, ip_address, or shipping_address. + /// + [JsonProperty("location_source")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("location_source")] +#endif + public string LocationSource { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingInvoiceCustomFieldOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingInvoiceCustomFieldOptions.cs new file mode 100644 index 0000000000..2e3e33c809 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingInvoiceCustomFieldOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationCustomerBillingInvoiceCustomFieldOptions : INestedOptions + { + /// + /// The name of the custom field. This may be up to 40 characters. + /// + [JsonProperty("name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("name")] +#endif + public string Name { get; set; } + + /// + /// The value of the custom field. This may be up to 140 characters. When updating, pass an + /// empty string to remove previously-defined values. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingInvoiceOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingInvoiceOptions.cs new file mode 100644 index 0000000000..abd8ece3f6 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingInvoiceOptions.cs @@ -0,0 +1,58 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationCustomerBillingInvoiceOptions : INestedOptions + { + /// + /// The list of up to 4 default custom fields to be displayed on invoices for this customer. + /// + [JsonProperty("custom_fields")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("custom_fields")] +#endif + public List CustomFields { get; set; } + + /// + /// Default footer to be displayed on invoices for this customer. + /// + [JsonProperty("footer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("footer")] +#endif + public string Footer { get; set; } + + /// + /// The sequence to be used on the customer's next invoice. Defaults to 1. + /// + [JsonProperty("next_sequence")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("next_sequence")] +#endif + public long? NextSequence { get; set; } + + /// + /// The prefix for the customer used to generate unique invoice numbers. Must be 3–12 + /// uppercase letters or numbers. + /// + [JsonProperty("prefix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("prefix")] +#endif + public string Prefix { get; set; } + + /// + /// Default options for invoice PDF rendering for this customer. + /// + [JsonProperty("rendering")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("rendering")] +#endif + public AccountUpdateConfigurationCustomerBillingInvoiceRenderingOptions Rendering { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingInvoiceRenderingOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingInvoiceRenderingOptions.cs new file mode 100644 index 0000000000..305238ea13 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingInvoiceRenderingOptions.cs @@ -0,0 +1,33 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationCustomerBillingInvoiceRenderingOptions : INestedOptions + { + /// + /// How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. + /// One of exclude_tax or include_inclusive_tax. include_inclusive_tax will include + /// inclusive tax (and exclude exclusive tax) in invoice PDF amounts. exclude_tax will + /// exclude all tax (inclusive and exclusive alike) from invoice PDF amounts. + /// One of: exclude_tax, or include_inclusive_tax. + /// + [JsonProperty("amount_tax_display")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount_tax_display")] +#endif + public string AmountTaxDisplay { get; set; } + + /// + /// ID of the invoice rendering template to use for future invoices. + /// + [JsonProperty("template")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("template")] +#endif + public string Template { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingOptions.cs new file mode 100644 index 0000000000..69122db753 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationCustomerBillingOptions : INestedOptions + { + /// + /// ID of a payment method that’s attached to the customer, to be used as the customer’s + /// default payment method for invoices and subscriptions. + /// + [JsonProperty("default_payment_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("default_payment_method")] +#endif + public string DefaultPaymentMethod { get; set; } + + /// + /// Default settings used on invoices for this customer. + /// + [JsonProperty("invoice")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("invoice")] +#endif + public AccountUpdateConfigurationCustomerBillingInvoiceOptions Invoice { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerCapabilitiesAutomaticIndirectTaxOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerCapabilitiesAutomaticIndirectTaxOptions.cs new file mode 100644 index 0000000000..76d7e8357d --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerCapabilitiesAutomaticIndirectTaxOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationCustomerCapabilitiesAutomaticIndirectTaxOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerCapabilitiesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerCapabilitiesOptions.cs new file mode 100644 index 0000000000..f8499b54be --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerCapabilitiesOptions.cs @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationCustomerCapabilitiesOptions : INestedOptions + { + /// + /// Generates requirements for enabling automatic indirect tax calculation on this + /// customer's invoices or subscriptions. Recommended to request this capability if planning + /// to enable automatic tax calculation on this customer's invoices or subscriptions. Uses + /// the location_source field. + /// + [JsonProperty("automatic_indirect_tax")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("automatic_indirect_tax")] +#endif + public AccountUpdateConfigurationCustomerCapabilitiesAutomaticIndirectTaxOptions AutomaticIndirectTax { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerOptions.cs new file mode 100644 index 0000000000..61b4d8a8d6 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerOptions.cs @@ -0,0 +1,60 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationCustomerOptions : INestedOptions + { + /// + /// Automatic indirect tax settings to be used when automatic tax calculation is enabled on + /// the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if + /// automatic tax calculation is possible given the current customer location information. + /// + [JsonProperty("automatic_indirect_tax")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("automatic_indirect_tax")] +#endif + public AccountUpdateConfigurationCustomerAutomaticIndirectTaxOptions AutomaticIndirectTax { get; set; } + + /// + /// Billing settings - default settings used for this customer in Billing flows such as + /// Invoices and Subscriptions. + /// + [JsonProperty("billing")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("billing")] +#endif + public AccountUpdateConfigurationCustomerBillingOptions Billing { get; set; } + + /// + /// Capabilities that have been requested on the Customer Configuration. + /// + [JsonProperty("capabilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capabilities")] +#endif + public AccountUpdateConfigurationCustomerCapabilitiesOptions Capabilities { get; set; } + + /// + /// The customer's shipping information. Appears on invoices emailed to this customer. + /// + [JsonProperty("shipping")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("shipping")] +#endif + public AccountUpdateConfigurationCustomerShippingOptions Shipping { get; set; } + + /// + /// ID of the test clock to attach to the customer. Can only be set on testmode Accounts, + /// and when the Customer Configuration is first set on an Account. + /// + [JsonProperty("test_clock")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("test_clock")] +#endif + public string TestClock { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerShippingOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerShippingOptions.cs new file mode 100644 index 0000000000..d2ed12bd56 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerShippingOptions.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationCustomerShippingOptions : INestedOptions + { + /// + /// Customer shipping address. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public AddressOptions Address { get; set; } + + /// + /// Customer name. + /// + [JsonProperty("name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("name")] +#endif + public string Name { get; set; } + + /// + /// Customer phone (including extension). + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantBacsDebitPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantBacsDebitPaymentsOptions.cs new file mode 100644 index 0000000000..ade93e3380 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantBacsDebitPaymentsOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantBacsDebitPaymentsOptions : INestedOptions + { + /// + /// Display name for Bacs debit payments. + /// + [JsonProperty("display_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_name")] +#endif + public string DisplayName { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantBrandingOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantBrandingOptions.cs new file mode 100644 index 0000000000..e5150fc654 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantBrandingOptions.cs @@ -0,0 +1,50 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantBrandingOptions : INestedOptions + { + /// + /// ID of a file + /// upload: An icon for the merchant. Must be square and at least 128px x 128px. + /// + [JsonProperty("icon")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("icon")] +#endif + public string Icon { get; set; } + + /// + /// ID of a file + /// upload: A logo for the merchant that will be used in Checkout instead of the icon + /// and without the merchant's name next to it if provided. Must be at least 128px x 128px. + /// + [JsonProperty("logo")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("logo")] +#endif + public string Logo { get; set; } + + /// + /// A CSS hex color value representing the primary branding color for the merchant. + /// + [JsonProperty("primary_color")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("primary_color")] +#endif + public string PrimaryColor { get; set; } + + /// + /// A CSS hex color value representing the secondary branding color for the merchant. + /// + [JsonProperty("secondary_color")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("secondary_color")] +#endif + public string SecondaryColor { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAchDebitPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAchDebitPaymentsOptions.cs new file mode 100644 index 0000000000..cfccf78cd0 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAchDebitPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesAchDebitPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAcssDebitPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAcssDebitPaymentsOptions.cs new file mode 100644 index 0000000000..887b9a3ac7 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAcssDebitPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesAcssDebitPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAffirmPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAffirmPaymentsOptions.cs new file mode 100644 index 0000000000..af2f814655 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAffirmPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesAffirmPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsOptions.cs new file mode 100644 index 0000000000..2af9af14ff --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAlmaPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAlmaPaymentsOptions.cs new file mode 100644 index 0000000000..b46e885b70 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAlmaPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesAlmaPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAmazonPayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAmazonPayPaymentsOptions.cs new file mode 100644 index 0000000000..00321e67ed --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAmazonPayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesAmazonPayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAuBecsDebitPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAuBecsDebitPaymentsOptions.cs new file mode 100644 index 0000000000..d2ee97ff46 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAuBecsDebitPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesAuBecsDebitPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBacsDebitPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBacsDebitPaymentsOptions.cs new file mode 100644 index 0000000000..2af748f17a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBacsDebitPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesBacsDebitPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBancontactPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBancontactPaymentsOptions.cs new file mode 100644 index 0000000000..1d2fdea09e --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBancontactPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesBancontactPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBlikPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBlikPaymentsOptions.cs new file mode 100644 index 0000000000..4cf45e610f --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBlikPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesBlikPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBoletoPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBoletoPaymentsOptions.cs new file mode 100644 index 0000000000..64c4a1aa17 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBoletoPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesBoletoPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesCardPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesCardPaymentsOptions.cs new file mode 100644 index 0000000000..63b1763ded --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesCardPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesCardPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesCartesBancairesPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesCartesBancairesPaymentsOptions.cs new file mode 100644 index 0000000000..458a0224c8 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesCartesBancairesPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesCartesBancairesPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesCashappPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesCashappPaymentsOptions.cs new file mode 100644 index 0000000000..24cbd48593 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesCashappPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesCashappPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesEpsPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesEpsPaymentsOptions.cs new file mode 100644 index 0000000000..61f8370468 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesEpsPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesEpsPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesFpxPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesFpxPaymentsOptions.cs new file mode 100644 index 0000000000..80d738c3ba --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesFpxPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesFpxPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesGbBankTransferPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesGbBankTransferPaymentsOptions.cs new file mode 100644 index 0000000000..4e4773566d --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesGbBankTransferPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesGbBankTransferPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesGrabpayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesGrabpayPaymentsOptions.cs new file mode 100644 index 0000000000..2ef7514e49 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesGrabpayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesGrabpayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesIdealPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesIdealPaymentsOptions.cs new file mode 100644 index 0000000000..5069a09345 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesIdealPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesIdealPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesJcbPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesJcbPaymentsOptions.cs new file mode 100644 index 0000000000..217d28abfb --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesJcbPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesJcbPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesJpBankTransferPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesJpBankTransferPaymentsOptions.cs new file mode 100644 index 0000000000..0a363a1b8a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesJpBankTransferPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesJpBankTransferPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKakaoPayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKakaoPayPaymentsOptions.cs new file mode 100644 index 0000000000..076d645c7a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKakaoPayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesKakaoPayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKlarnaPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKlarnaPaymentsOptions.cs new file mode 100644 index 0000000000..79bee8267e --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKlarnaPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesKlarnaPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKonbiniPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKonbiniPaymentsOptions.cs new file mode 100644 index 0000000000..c7eb2bb450 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKonbiniPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesKonbiniPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKrCardPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKrCardPaymentsOptions.cs new file mode 100644 index 0000000000..9b097e7dcf --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKrCardPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesKrCardPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesLinkPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesLinkPaymentsOptions.cs new file mode 100644 index 0000000000..088405e608 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesLinkPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesLinkPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesMobilepayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesMobilepayPaymentsOptions.cs new file mode 100644 index 0000000000..2d97d23d42 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesMobilepayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesMobilepayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesMultibancoPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesMultibancoPaymentsOptions.cs new file mode 100644 index 0000000000..2a2cac184c --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesMultibancoPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesMultibancoPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesMxBankTransferPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesMxBankTransferPaymentsOptions.cs new file mode 100644 index 0000000000..cadec7d678 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesMxBankTransferPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesMxBankTransferPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesNaverPayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesNaverPayPaymentsOptions.cs new file mode 100644 index 0000000000..1e778e4e49 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesNaverPayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesNaverPayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesOptions.cs new file mode 100644 index 0000000000..d85e5ebca1 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesOptions.cs @@ -0,0 +1,407 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesOptions : INestedOptions + { + /// + /// Allow the merchant to process ACH debit payments. + /// + [JsonProperty("ach_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ach_debit_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesAchDebitPaymentsOptions AchDebitPayments { get; set; } + + /// + /// Allow the merchant to process ACSS debit payments. + /// + [JsonProperty("acss_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("acss_debit_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesAcssDebitPaymentsOptions AcssDebitPayments { get; set; } + + /// + /// Allow the merchant to process Affirm payments. + /// + [JsonProperty("affirm_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("affirm_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesAffirmPaymentsOptions AffirmPayments { get; set; } + + /// + /// Allow the merchant to process Afterpay/Clearpay payments. + /// + [JsonProperty("afterpay_clearpay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("afterpay_clearpay_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsOptions AfterpayClearpayPayments { get; set; } + + /// + /// Allow the merchant to process Alma payments. + /// + [JsonProperty("alma_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("alma_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesAlmaPaymentsOptions AlmaPayments { get; set; } + + /// + /// Allow the merchant to process Amazon Pay payments. + /// + [JsonProperty("amazon_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amazon_pay_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesAmazonPayPaymentsOptions AmazonPayPayments { get; set; } + + /// + /// Allow the merchant to process Australian BECS Direct Debit payments. + /// + [JsonProperty("au_becs_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("au_becs_debit_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesAuBecsDebitPaymentsOptions AuBecsDebitPayments { get; set; } + + /// + /// Allow the merchant to process BACS Direct Debit payments. + /// + [JsonProperty("bacs_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bacs_debit_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesBacsDebitPaymentsOptions BacsDebitPayments { get; set; } + + /// + /// Allow the merchant to process Bancontact payments. + /// + [JsonProperty("bancontact_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bancontact_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesBancontactPaymentsOptions BancontactPayments { get; set; } + + /// + /// Allow the merchant to process BLIK payments. + /// + [JsonProperty("blik_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("blik_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesBlikPaymentsOptions BlikPayments { get; set; } + + /// + /// Allow the merchant to process Boleto payments. + /// + [JsonProperty("boleto_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("boleto_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesBoletoPaymentsOptions BoletoPayments { get; set; } + + /// + /// Allow the merchant to collect card payments. + /// + [JsonProperty("card_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesCardPaymentsOptions CardPayments { get; set; } + + /// + /// Allow the merchant to process Cartes Bancaires payments. + /// + [JsonProperty("cartes_bancaires_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cartes_bancaires_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesCartesBancairesPaymentsOptions CartesBancairesPayments { get; set; } + + /// + /// Allow the merchant to process Cash App payments. + /// + [JsonProperty("cashapp_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cashapp_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesCashappPaymentsOptions CashappPayments { get; set; } + + /// + /// Allow the merchant to process EPS payments. + /// + [JsonProperty("eps_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("eps_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesEpsPaymentsOptions EpsPayments { get; set; } + + /// + /// Allow the merchant to process FPX payments. + /// + [JsonProperty("fpx_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fpx_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesFpxPaymentsOptions FpxPayments { get; set; } + + /// + /// Allow the merchant to process UK bank transfer payments. + /// + [JsonProperty("gb_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("gb_bank_transfer_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesGbBankTransferPaymentsOptions GbBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process GrabPay payments. + /// + [JsonProperty("grabpay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("grabpay_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesGrabpayPaymentsOptions GrabpayPayments { get; set; } + + /// + /// Allow the merchant to process iDEAL payments. + /// + [JsonProperty("ideal_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ideal_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesIdealPaymentsOptions IdealPayments { get; set; } + + /// + /// Allow the merchant to process JCB card payments. + /// + [JsonProperty("jcb_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("jcb_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesJcbPaymentsOptions JcbPayments { get; set; } + + /// + /// Allow the merchant to process Japanese bank transfer payments. + /// + [JsonProperty("jp_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("jp_bank_transfer_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesJpBankTransferPaymentsOptions JpBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process Kakao Pay payments. + /// + [JsonProperty("kakao_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kakao_pay_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesKakaoPayPaymentsOptions KakaoPayPayments { get; set; } + + /// + /// Allow the merchant to process Klarna payments. + /// + [JsonProperty("klarna_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("klarna_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesKlarnaPaymentsOptions KlarnaPayments { get; set; } + + /// + /// Allow the merchant to process Konbini convenience store payments. + /// + [JsonProperty("konbini_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("konbini_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesKonbiniPaymentsOptions KonbiniPayments { get; set; } + + /// + /// Allow the merchant to process Korean card payments. + /// + [JsonProperty("kr_card_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kr_card_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesKrCardPaymentsOptions KrCardPayments { get; set; } + + /// + /// Allow the merchant to process Link payments. + /// + [JsonProperty("link_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("link_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesLinkPaymentsOptions LinkPayments { get; set; } + + /// + /// Allow the merchant to process MobilePay payments. + /// + [JsonProperty("mobilepay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mobilepay_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesMobilepayPaymentsOptions MobilepayPayments { get; set; } + + /// + /// Allow the merchant to process Multibanco payments. + /// + [JsonProperty("multibanco_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("multibanco_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesMultibancoPaymentsOptions MultibancoPayments { get; set; } + + /// + /// Allow the merchant to process Mexican bank transfer payments. + /// + [JsonProperty("mx_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mx_bank_transfer_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesMxBankTransferPaymentsOptions MxBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process Naver Pay payments. + /// + [JsonProperty("naver_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("naver_pay_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesNaverPayPaymentsOptions NaverPayPayments { get; set; } + + /// + /// Allow the merchant to process OXXO payments. + /// + [JsonProperty("oxxo_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("oxxo_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesOxxoPaymentsOptions OxxoPayments { get; set; } + + /// + /// Allow the merchant to process Przelewy24 (P24) payments. + /// + [JsonProperty("p24_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("p24_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesP24PaymentsOptions P24Payments { get; set; } + + /// + /// Allow the merchant to process Pay by Bank payments. + /// + [JsonProperty("pay_by_bank_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("pay_by_bank_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesPayByBankPaymentsOptions PayByBankPayments { get; set; } + + /// + /// Allow the merchant to process PAYCO payments. + /// + [JsonProperty("payco_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payco_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesPaycoPaymentsOptions PaycoPayments { get; set; } + + /// + /// Allow the merchant to process PayNow payments. + /// + [JsonProperty("paynow_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("paynow_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesPaynowPaymentsOptions PaynowPayments { get; set; } + + /// + /// Allow the merchant to process PromptPay payments. + /// + [JsonProperty("promptpay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("promptpay_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesPromptpayPaymentsOptions PromptpayPayments { get; set; } + + /// + /// Allow the merchant to process Revolut Pay payments. + /// + [JsonProperty("revolut_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("revolut_pay_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesRevolutPayPaymentsOptions RevolutPayPayments { get; set; } + + /// + /// Allow the merchant to process Samsung Pay payments. + /// + [JsonProperty("samsung_pay_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("samsung_pay_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesSamsungPayPaymentsOptions SamsungPayPayments { get; set; } + + /// + /// Allow the merchant to process SEPA bank transfer payments. + /// + [JsonProperty("sepa_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sepa_bank_transfer_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesSepaBankTransferPaymentsOptions SepaBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process SEPA Direct Debit payments. + /// + [JsonProperty("sepa_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sepa_debit_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesSepaDebitPaymentsOptions SepaDebitPayments { get; set; } + + /// + /// Allow the merchant to process Swish payments. + /// + [JsonProperty("swish_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("swish_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesSwishPaymentsOptions SwishPayments { get; set; } + + /// + /// Allow the merchant to process TWINT payments. + /// + [JsonProperty("twint_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("twint_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesTwintPaymentsOptions TwintPayments { get; set; } + + /// + /// Allow the merchant to process US bank transfer payments. + /// + [JsonProperty("us_bank_transfer_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("us_bank_transfer_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesUsBankTransferPaymentsOptions UsBankTransferPayments { get; set; } + + /// + /// Allow the merchant to process Zip payments. + /// + [JsonProperty("zip_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("zip_payments")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesZipPaymentsOptions ZipPayments { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesOxxoPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesOxxoPaymentsOptions.cs new file mode 100644 index 0000000000..dff29806ca --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesOxxoPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesOxxoPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesP24PaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesP24PaymentsOptions.cs new file mode 100644 index 0000000000..bf670b0fba --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesP24PaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesP24PaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPayByBankPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPayByBankPaymentsOptions.cs new file mode 100644 index 0000000000..7e6ba2e7a7 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPayByBankPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesPayByBankPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPaycoPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPaycoPaymentsOptions.cs new file mode 100644 index 0000000000..93eb5f2bbe --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPaycoPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesPaycoPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPaynowPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPaynowPaymentsOptions.cs new file mode 100644 index 0000000000..e750f01fbb --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPaynowPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesPaynowPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPromptpayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPromptpayPaymentsOptions.cs new file mode 100644 index 0000000000..d244879aa0 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPromptpayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesPromptpayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesRevolutPayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesRevolutPayPaymentsOptions.cs new file mode 100644 index 0000000000..06be3d07c5 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesRevolutPayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesRevolutPayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSamsungPayPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSamsungPayPaymentsOptions.cs new file mode 100644 index 0000000000..085ef7a705 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSamsungPayPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesSamsungPayPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSepaBankTransferPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSepaBankTransferPaymentsOptions.cs new file mode 100644 index 0000000000..f37ebcd9cc --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSepaBankTransferPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesSepaBankTransferPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSepaDebitPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSepaDebitPaymentsOptions.cs new file mode 100644 index 0000000000..25064f96f8 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSepaDebitPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesSepaDebitPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSwishPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSwishPaymentsOptions.cs new file mode 100644 index 0000000000..e497f99797 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSwishPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesSwishPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesTwintPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesTwintPaymentsOptions.cs new file mode 100644 index 0000000000..7298578500 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesTwintPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesTwintPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesUsBankTransferPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesUsBankTransferPaymentsOptions.cs new file mode 100644 index 0000000000..4b3974ed0c --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesUsBankTransferPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesUsBankTransferPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesZipPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesZipPaymentsOptions.cs new file mode 100644 index 0000000000..8d36a2a542 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesZipPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCapabilitiesZipPaymentsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCardPaymentsDeclineOnOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCardPaymentsDeclineOnOptions.cs new file mode 100644 index 0000000000..7c34d256b7 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCardPaymentsDeclineOnOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCardPaymentsDeclineOnOptions : INestedOptions + { + /// + /// Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This + /// setting only applies when a ZIP or postal code is provided and they fail bank + /// verification. + /// + [JsonProperty("avs_failure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("avs_failure")] +#endif + public bool? AvsFailure { get; set; } + + /// + /// Whether Stripe automatically declines charges with an incorrect CVC. This setting only + /// applies when a CVC is provided and it fails bank verification. + /// + [JsonProperty("cvc_failure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cvc_failure")] +#endif + public bool? CvcFailure { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCardPaymentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCardPaymentsOptions.cs new file mode 100644 index 0000000000..44d6f85433 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCardPaymentsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantCardPaymentsOptions : INestedOptions + { + /// + /// Automatically declines certain charge types regardless of whether the card issuer + /// accepted or declined the charge. + /// + [JsonProperty("decline_on")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("decline_on")] +#endif + public AccountUpdateConfigurationMerchantCardPaymentsDeclineOnOptions DeclineOn { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantOptions.cs new file mode 100644 index 0000000000..e1689f71fd --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantOptions.cs @@ -0,0 +1,76 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantOptions : INestedOptions + { + /// + /// Settings used for Bacs debit payments. + /// + [JsonProperty("bacs_debit_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bacs_debit_payments")] +#endif + public AccountUpdateConfigurationMerchantBacsDebitPaymentsOptions BacsDebitPayments { get; set; } + + /// + /// Settings used to apply the merchant's branding to email receipts, invoices, Checkout, + /// and other products. + /// + [JsonProperty("branding")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branding")] +#endif + public AccountUpdateConfigurationMerchantBrandingOptions Branding { get; set; } + + /// + /// Capabilities to request on the Merchant Configuration. + /// + [JsonProperty("capabilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capabilities")] +#endif + public AccountUpdateConfigurationMerchantCapabilitiesOptions Capabilities { get; set; } + + /// + /// Card payments settings. + /// + [JsonProperty("card_payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card_payments")] +#endif + public AccountUpdateConfigurationMerchantCardPaymentsOptions CardPayments { get; set; } + + /// + /// The merchant category code for the merchant. MCCs are used to classify businesses based + /// on the goods or services they provide. + /// + [JsonProperty("mcc")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("mcc")] +#endif + public string Mcc { get; set; } + + /// + /// Statement descriptor. + /// + [JsonProperty("statement_descriptor")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("statement_descriptor")] +#endif + public AccountUpdateConfigurationMerchantStatementDescriptorOptions StatementDescriptor { get; set; } + + /// + /// Publicly available contact information for sending support issues to. + /// + [JsonProperty("support")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("support")] +#endif + public AccountUpdateConfigurationMerchantSupportOptions Support { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantStatementDescriptorOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantStatementDescriptorOptions.cs new file mode 100644 index 0000000000..0623793699 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantStatementDescriptorOptions.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantStatementDescriptorOptions : INestedOptions + { + /// + /// The default text that appears on statements for non-card charges outside of Japan. For + /// card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + /// the statement descriptor prefix. In that case, if concatenating the statement descriptor + /// suffix causes the combined statement descriptor to exceed 22 characters, we truncate the + /// statement_descriptor text to limit the full descriptor to 22 characters. For more + /// information about statement descriptors and their requirements, see the Merchant + /// Configuration settings documentation. + /// + [JsonProperty("descriptor")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("descriptor")] +#endif + public string Descriptor { get; set; } + + /// + /// Default text that appears on statements for card charges outside of Japan, prefixing any + /// dynamic statement_descriptor_suffix specified on the charge. To maximize space for the + /// dynamic part of the descriptor, keep this text short. If you don’t specify this value, + /// statement_descriptor is used as the prefix. For more information about statement + /// descriptors and their requirements, see the Merchant Configuration settings + /// documentation. + /// + [JsonProperty("prefix")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("prefix")] +#endif + public string Prefix { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantSupportOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantSupportOptions.cs new file mode 100644 index 0000000000..50e823431a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantSupportOptions.cs @@ -0,0 +1,47 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationMerchantSupportOptions : INestedOptions + { + /// + /// A publicly available mailing address for sending support issues to. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public AddressJapanOptions Address { get; set; } + + /// + /// A publicly available email address for sending support issues to. + /// + [JsonProperty("email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("email")] +#endif + public string Email { get; set; } + + /// + /// A publicly available phone number to call with support issues. + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + + /// + /// A publicly available website for handling support issues. + /// + [JsonProperty("url")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("url")] +#endif + public string Url { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationOptions.cs new file mode 100644 index 0000000000..744f177ea3 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationOptions.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationOptions : INestedOptions + { + /// + /// The Customer Configuration allows the Account to be charged. + /// + [JsonProperty("customer")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("customer")] +#endif + public AccountUpdateConfigurationCustomerOptions Customer { get; set; } + + /// + /// The Merchant Configuration allows the Account to make charges. + /// + [JsonProperty("merchant")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("merchant")] +#endif + public AccountUpdateConfigurationMerchantOptions Merchant { get; set; } + + /// + /// The Recipient Configuration allows the Account to receive funds. + /// + [JsonProperty("recipient")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("recipient")] +#endif + public AccountUpdateConfigurationRecipientOptions Recipient { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesBankAccountsLocalOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesBankAccountsLocalOptions.cs new file mode 100644 index 0000000000..d19d725d7b --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesBankAccountsLocalOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationRecipientCapabilitiesBankAccountsLocalOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesBankAccountsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesBankAccountsOptions.cs new file mode 100644 index 0000000000..fb2b5b354b --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesBankAccountsOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationRecipientCapabilitiesBankAccountsOptions : INestedOptions + { + /// + /// Enables this Account to receive OutboundPayments to linked bank accounts over local + /// networks. + /// + [JsonProperty("local")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("local")] +#endif + public AccountUpdateConfigurationRecipientCapabilitiesBankAccountsLocalOptions Local { get; set; } + + /// + /// Enables this Account to receive OutboundPayments to linked bank accounts over wire. + /// + [JsonProperty("wire")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("wire")] +#endif + public AccountUpdateConfigurationRecipientCapabilitiesBankAccountsWireOptions Wire { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesBankAccountsWireOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesBankAccountsWireOptions.cs new file mode 100644 index 0000000000..58dfd28bd0 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesBankAccountsWireOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationRecipientCapabilitiesBankAccountsWireOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesCardsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesCardsOptions.cs new file mode 100644 index 0000000000..be4a077143 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesCardsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationRecipientCapabilitiesCardsOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesOptions.cs new file mode 100644 index 0000000000..2cad1fa5f9 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesOptions.cs @@ -0,0 +1,39 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationRecipientCapabilitiesOptions : INestedOptions + { + /// + /// Capabilities that enable OutboundPayments to a bank account linked to this Account. + /// + [JsonProperty("bank_accounts")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_accounts")] +#endif + public AccountUpdateConfigurationRecipientCapabilitiesBankAccountsOptions BankAccounts { get; set; } + + /// + /// Capability that enable OutboundPayments to a debit card linked to this Account. + /// + [JsonProperty("cards")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cards")] +#endif + public AccountUpdateConfigurationRecipientCapabilitiesCardsOptions Cards { get; set; } + + /// + /// Capabilities that enable the recipient to receive money into their Stripe Balance + /// (/v1/balance). + /// + [JsonProperty("stripe_balance")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("stripe_balance")] +#endif + public AccountUpdateConfigurationRecipientCapabilitiesStripeBalanceOptions StripeBalance { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesStripeBalanceOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesStripeBalanceOptions.cs new file mode 100644 index 0000000000..d2c73f0f12 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesStripeBalanceOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationRecipientCapabilitiesStripeBalanceOptions : INestedOptions + { + /// + /// Allows the recipient to receive /v1/transfers into their Stripe Balance (/v1/balance). + /// + [JsonProperty("stripe_transfers")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("stripe_transfers")] +#endif + public AccountUpdateConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersOptions StripeTransfers { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersOptions.cs new file mode 100644 index 0000000000..5342fadbee --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersOptions : INestedOptions + { + /// + /// To request a new Capability for an account, pass true. There can be a delay before the + /// requested Capability becomes active. + /// + [JsonProperty("requested")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("requested")] +#endif + public bool? Requested { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientOptions.cs new file mode 100644 index 0000000000..668975f6ca --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateConfigurationRecipientOptions : INestedOptions + { + /// + /// Capabilities to request on the Recipient Configuration. + /// + [JsonProperty("capabilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("capabilities")] +#endif + public AccountUpdateConfigurationRecipientCapabilitiesOptions Capabilities { get; set; } + + /// + /// The payout method id to be used as a default outbound destination. This will allow the + /// PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via + /// dashboard. Can also be explicitly set to null to clear the existing default + /// outbound destination. + /// + [JsonProperty("default_outbound_destination")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("default_outbound_destination")] +#endif + public string DefaultOutboundDestination { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateDefaultsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateDefaultsOptions.cs new file mode 100644 index 0000000000..4fb082aa1e --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateDefaultsOptions.cs @@ -0,0 +1,80 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateDefaultsOptions : INestedOptions + { + /// + /// Three-letter ISO currency + /// code, in lowercase. Must be a supported + /// currency. + /// One of: aed, afn, all, amd, ang, aoa, + /// ars, aud, awg, azn, bam, bbd, bdt, + /// bgn, bhd, bif, bmd, bnd, bob, bov, + /// brl, bsd, btn, bwp, byn, byr, bzd, + /// cad, cdf, che, chf, chw, clf, clp, + /// cny, cop, cou, crc, cuc, cup, cve, + /// czk, djf, dkk, dop, dzd, eek, egp, + /// ern, etb, eur, fjd, fkp, gbp, gel, + /// ghc, ghs, gip, gmd, gnf, gtq, gyd, + /// hkd, hnl, hrk, htg, huf, idr, ils, + /// inr, iqd, irr, isk, jmd, jod, jpy, + /// kes, kgs, khr, kmf, kpw, krw, kwd, + /// kyd, kzt, lak, lbp, lkr, lrd, lsl, + /// ltl, lvl, lyd, mad, mdl, mga, mkd, + /// mmk, mnt, mop, mro, mru, mur, mvr, + /// mwk, mxn, mxv, myr, mzn, nad, ngn, + /// nio, nok, npr, nzd, omr, pab, pen, + /// pgk, php, pkr, pln, pyg, qar, ron, + /// rsd, rub, rwf, sar, sbd, scr, sdg, + /// sek, sgd, shp, sle, sll, sos, srd, + /// ssp, std, stn, svc, syp, szl, thb, + /// tjs, tmt, tnd, top, try, ttd, twd, + /// tzs, uah, ugx, usd, usdc, usn, uyi, + /// uyu, uzs, vef, ves, vnd, vuv, wst, + /// xaf, xcd, xcg, xof, xpf, yer, zar, + /// zmk, zmw, zwd, zwg, or zwl. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// The Account's preferred locales (languages), ordered by preference. + /// One of: ar-SA, bg, bg-BG, cs, cs-CZ, da, + /// da-DK, de, de-DE, el, el-GR, en, en-AU, + /// en-CA, en-GB, en-IE, en-IN, en-NZ, en-SG, + /// en-US, es, es-419, es-ES, et, et-EE, + /// fi, fil, fil-PH, fi-FI, fr, fr-CA, + /// fr-FR, he-IL, hr, hr-HR, hu, hu-HU, id, + /// id-ID, it, it-IT, ja, ja-JP, ko, ko-KR, + /// lt, lt-LT, lv, lv-LV, ms, ms-MY, mt, + /// mt-MT, nb, nb-NO, nl, nl-NL, pl, pl-PL, + /// pt, pt-BR, pt-PT, ro, ro-RO, ru, ru-RU, + /// sk, sk-SK, sl, sl-SI, sv, sv-SE, th, + /// th-TH, tr, tr-TR, vi, vi-VN, zh, + /// zh-Hans, zh-Hant-HK, zh-Hant-TW, zh-HK, or zh-TW. + /// + [JsonProperty("locales")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("locales")] +#endif + public List Locales { get; set; } + + /// + /// Default responsibilities held by either Stripe or the platform. + /// + [JsonProperty("responsibilities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("responsibilities")] +#endif + public AccountUpdateDefaultsResponsibilitiesOptions Responsibilities { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateDefaultsResponsibilitiesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateDefaultsResponsibilitiesOptions.cs new file mode 100644 index 0000000000..fbd121b71d --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateDefaultsResponsibilitiesOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateDefaultsResponsibilitiesOptions : INestedOptions + { + /// + /// A value indicating the party responsible for collecting fees from this account. + /// One of: application, or stripe. + /// + [JsonProperty("fees_collector")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fees_collector")] +#endif + public string FeesCollector { get; set; } + + /// + /// A value indicating who is responsible for losses when this Account can’t pay back + /// negative balances from payments. + /// One of: application, or stripe. + /// + [JsonProperty("losses_collector")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("losses_collector")] +#endif + public string LossesCollector { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsDirectorshipDeclarationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsDirectorshipDeclarationOptions.cs new file mode 100644 index 0000000000..05425f267d --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsDirectorshipDeclarationOptions.cs @@ -0,0 +1,40 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityAttestationsDirectorshipDeclarationOptions : INestedOptions + { + /// + /// The time marking when the director attestation was made. Represented as a RFC 3339 date + /// & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the director attestation was made. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the director attestation was made. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsOptions.cs new file mode 100644 index 0000000000..0bcf540b0c --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsOptions.cs @@ -0,0 +1,49 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityAttestationsOptions : INestedOptions + { + /// + /// This hash is used to attest that the directors information provided to Stripe is both + /// current and correct. + /// + [JsonProperty("directorship_declaration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("directorship_declaration")] +#endif + public AccountUpdateIdentityAttestationsDirectorshipDeclarationOptions DirectorshipDeclaration { get; set; } + + /// + /// This hash is used to attest that the beneficial owner information provided to Stripe is + /// both current and correct. + /// + [JsonProperty("ownership_declaration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ownership_declaration")] +#endif + public AccountUpdateIdentityAttestationsOwnershipDeclarationOptions OwnershipDeclaration { get; set; } + + /// + /// Attestation that all Persons with a specific Relationship value have been provided. + /// + [JsonProperty("persons_provided")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("persons_provided")] +#endif + public AccountUpdateIdentityAttestationsPersonsProvidedOptions PersonsProvided { get; set; } + + /// + /// Attestations of accepted terms of service agreements. + /// + [JsonProperty("terms_of_service")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("terms_of_service")] +#endif + public AccountUpdateIdentityAttestationsTermsOfServiceOptions TermsOfService { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsOwnershipDeclarationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsOwnershipDeclarationOptions.cs new file mode 100644 index 0000000000..a8246adb72 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsOwnershipDeclarationOptions.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityAttestationsOwnershipDeclarationOptions : INestedOptions + { + /// + /// The time marking when the beneficial owner attestation was made. Represented as a RFC + /// 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the beneficial owner attestation was made. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the beneficial owner attestation was made. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsPersonsProvidedOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsPersonsProvidedOptions.cs new file mode 100644 index 0000000000..e1c77429fa --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsPersonsProvidedOptions.cs @@ -0,0 +1,55 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityAttestationsPersonsProvidedOptions : INestedOptions + { + /// + /// Whether the company’s directors have been provided. Set this Boolean to true after + /// creating all the company’s directors with the Persons API. + /// + [JsonProperty("directors")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("directors")] +#endif + public bool? Directors { get; set; } + + /// + /// Whether the company’s executives have been provided. Set this Boolean to true after + /// creating all the company’s executives with the Persons API. + /// + [JsonProperty("executives")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("executives")] +#endif + public bool? Executives { get; set; } + + /// + /// Whether the company’s owners have been provided. Set this Boolean to true after creating + /// all the company’s owners with the Persons API. + /// + [JsonProperty("owners")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("owners")] +#endif + public bool? Owners { get; set; } + + /// + /// Reason for why the company is exempt from providing ownership information. + /// One of: qualified_entity_exceeds_ownership_threshold, or + /// qualifies_as_financial_institution. + /// + [JsonProperty("ownership_exemption_reason")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ownership_exemption_reason")] +#endif + public string OwnershipExemptionReason { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsTermsOfServiceAccountOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsTermsOfServiceAccountOptions.cs new file mode 100644 index 0000000000..f789c3b58c --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsTermsOfServiceAccountOptions.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityAttestationsTermsOfServiceAccountOptions : INestedOptions + { + /// + /// The time when the Account's representative accepted the terms of service. Represented as + /// a RFC 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the Account's representative accepted the terms of service. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the Account's representative accepted the terms + /// of service. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsTermsOfServiceOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsTermsOfServiceOptions.cs new file mode 100644 index 0000000000..e54d07a0e0 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsTermsOfServiceOptions.cs @@ -0,0 +1,22 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityAttestationsTermsOfServiceOptions : INestedOptions + { + /// + /// Details on the Account's acceptance of the Stripe Services + /// Agreement. + /// + [JsonProperty("account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account")] +#endif + public AccountUpdateIdentityAttestationsTermsOfServiceAccountOptions Account { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsAnnualRevenueOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsAnnualRevenueOptions.cs new file mode 100644 index 0000000000..705d8ba44a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsAnnualRevenueOptions.cs @@ -0,0 +1,61 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsAnnualRevenueOptions : INestedOptions + { + /// + /// A non-negative integer representing the amount in the smallest currency unit. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public V2.Amount Amount { get; set; } + + [JsonProperty("fiscal_year_end")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fiscal_year_end")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalFiscalYearEnd { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyFiscalYearEnd + { + get => this.InternalFiscalYearEnd?.Empty ?? false; + set + { + this.InternalFiscalYearEnd ??= new Emptyable(); + this.InternalFiscalYearEnd.Empty = value; + } + } + + /// + /// The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for + /// the 31st of December, 2023. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string FiscalYearEnd + { + get => this.InternalFiscalYearEnd?.Value; + set + { + this.InternalFiscalYearEnd ??= new Emptyable(); + this.InternalFiscalYearEnd.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsBankAccountOwnershipVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsBankAccountOwnershipVerificationOptions.cs new file mode 100644 index 0000000000..4bb8bb6f1b --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsBankAccountOwnershipVerificationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsDocumentsBankAccountOwnershipVerificationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyLicenseOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyLicenseOptions.cs new file mode 100644 index 0000000000..89132ba10f --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyLicenseOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsDocumentsCompanyLicenseOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociationOptions.cs new file mode 100644 index 0000000000..2c8a305a80 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyMinisterialDecreeOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyMinisterialDecreeOptions.cs new file mode 100644 index 0000000000..0c9d80d586 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyMinisterialDecreeOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsDocumentsCompanyMinisterialDecreeOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyRegistrationVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyRegistrationVerificationOptions.cs new file mode 100644 index 0000000000..f63dc0522d --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyRegistrationVerificationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsDocumentsCompanyRegistrationVerificationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyTaxIdVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyTaxIdVerificationOptions.cs new file mode 100644 index 0000000000..e5c8139144 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyTaxIdVerificationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsDocumentsCompanyTaxIdVerificationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsOptions.cs new file mode 100644 index 0000000000..e666af9d1e --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsOptions.cs @@ -0,0 +1,338 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsDocumentsOptions : INestedOptions + { + [JsonProperty("bank_account_ownership_verification")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account_ownership_verification")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalBankAccountOwnershipVerification { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyBankAccountOwnershipVerification + { + get => this.InternalBankAccountOwnershipVerification?.Empty ?? false; + set + { + this.InternalBankAccountOwnershipVerification ??= new Emptyable(); + this.InternalBankAccountOwnershipVerification.Empty = value; + } + } + + /// + /// One or more documents that support the bank account ownership verification requirement. + /// Must be a document associated with the account’s primary active bank account that + /// displays the last 4 digits of the account number, either a statement or a check. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsDocumentsBankAccountOwnershipVerificationOptions BankAccountOwnershipVerification + { + get => this.InternalBankAccountOwnershipVerification?.Value; + set + { + this.InternalBankAccountOwnershipVerification ??= new Emptyable(); + this.InternalBankAccountOwnershipVerification.Value = value; + } + } + + [JsonProperty("company_license")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_license")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalCompanyLicense { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyCompanyLicense + { + get => this.InternalCompanyLicense?.Empty ?? false; + set + { + this.InternalCompanyLicense ??= new Emptyable(); + this.InternalCompanyLicense.Empty = value; + } + } + + /// + /// One or more documents that demonstrate proof of a company’s license to operate. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsDocumentsCompanyLicenseOptions CompanyLicense + { + get => this.InternalCompanyLicense?.Value; + set + { + this.InternalCompanyLicense ??= new Emptyable(); + this.InternalCompanyLicense.Value = value; + } + } + + [JsonProperty("company_memorandum_of_association")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_memorandum_of_association")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalCompanyMemorandumOfAssociation { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyCompanyMemorandumOfAssociation + { + get => this.InternalCompanyMemorandumOfAssociation?.Empty ?? false; + set + { + this.InternalCompanyMemorandumOfAssociation ??= new Emptyable(); + this.InternalCompanyMemorandumOfAssociation.Empty = value; + } + } + + /// + /// One or more documents showing the company’s Memorandum of Association. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociationOptions CompanyMemorandumOfAssociation + { + get => this.InternalCompanyMemorandumOfAssociation?.Value; + set + { + this.InternalCompanyMemorandumOfAssociation ??= new Emptyable(); + this.InternalCompanyMemorandumOfAssociation.Value = value; + } + } + + [JsonProperty("company_ministerial_decree")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_ministerial_decree")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalCompanyMinisterialDecree { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyCompanyMinisterialDecree + { + get => this.InternalCompanyMinisterialDecree?.Empty ?? false; + set + { + this.InternalCompanyMinisterialDecree ??= new Emptyable(); + this.InternalCompanyMinisterialDecree.Empty = value; + } + } + + /// + /// Certain countries only: One or more documents showing the ministerial decree legalizing + /// the company’s establishment. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsDocumentsCompanyMinisterialDecreeOptions CompanyMinisterialDecree + { + get => this.InternalCompanyMinisterialDecree?.Value; + set + { + this.InternalCompanyMinisterialDecree ??= new Emptyable(); + this.InternalCompanyMinisterialDecree.Value = value; + } + } + + [JsonProperty("company_registration_verification")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_registration_verification")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalCompanyRegistrationVerification { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyCompanyRegistrationVerification + { + get => this.InternalCompanyRegistrationVerification?.Empty ?? false; + set + { + this.InternalCompanyRegistrationVerification ??= new Emptyable(); + this.InternalCompanyRegistrationVerification.Empty = value; + } + } + + /// + /// One or more documents that demonstrate proof of a company’s registration with the + /// appropriate local authorities. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsDocumentsCompanyRegistrationVerificationOptions CompanyRegistrationVerification + { + get => this.InternalCompanyRegistrationVerification?.Value; + set + { + this.InternalCompanyRegistrationVerification ??= new Emptyable(); + this.InternalCompanyRegistrationVerification.Value = value; + } + } + + [JsonProperty("company_tax_id_verification")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_tax_id_verification")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalCompanyTaxIdVerification { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyCompanyTaxIdVerification + { + get => this.InternalCompanyTaxIdVerification?.Empty ?? false; + set + { + this.InternalCompanyTaxIdVerification ??= new Emptyable(); + this.InternalCompanyTaxIdVerification.Empty = value; + } + } + + /// + /// One or more documents that demonstrate proof of a company’s tax ID. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsDocumentsCompanyTaxIdVerificationOptions CompanyTaxIdVerification + { + get => this.InternalCompanyTaxIdVerification?.Value; + set + { + this.InternalCompanyTaxIdVerification ??= new Emptyable(); + this.InternalCompanyTaxIdVerification.Value = value; + } + } + + [JsonProperty("primary_verification")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("primary_verification")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalPrimaryVerification { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyPrimaryVerification + { + get => this.InternalPrimaryVerification?.Empty ?? false; + set + { + this.InternalPrimaryVerification ??= new Emptyable(); + this.InternalPrimaryVerification.Empty = value; + } + } + + /// + /// A document verifying the business. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsDocumentsPrimaryVerificationOptions PrimaryVerification + { + get => this.InternalPrimaryVerification?.Value; + set + { + this.InternalPrimaryVerification ??= new Emptyable(); + this.InternalPrimaryVerification.Value = value; + } + } + + [JsonProperty("proof_of_registration")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("proof_of_registration")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalProofOfRegistration { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyProofOfRegistration + { + get => this.InternalProofOfRegistration?.Empty ?? false; + set + { + this.InternalProofOfRegistration ??= new Emptyable(); + this.InternalProofOfRegistration.Empty = value; + } + } + + /// + /// One or more documents showing the company’s proof of registration with the national + /// business registry. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsDocumentsProofOfRegistrationOptions ProofOfRegistration + { + get => this.InternalProofOfRegistration?.Value; + set + { + this.InternalProofOfRegistration ??= new Emptyable(); + this.InternalProofOfRegistration.Value = value; + } + } + + /// + /// One or more documents that demonstrate proof of ultimate beneficial ownership. + /// + [JsonProperty("proof_of_ultimate_beneficial_ownership")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("proof_of_ultimate_beneficial_ownership")] +#endif + public AccountUpdateIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipOptions ProofOfUltimateBeneficialOwnership { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBackOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBackOptions.cs new file mode 100644 index 0000000000..7f9405f0fc --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBackOptions.cs @@ -0,0 +1,66 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBackOptions : INestedOptions + { + [JsonProperty("back")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalBack { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyBack + { + get => this.InternalBack?.Empty ?? false; + set + { + this.InternalBack ??= new Emptyable(); + this.InternalBack.Empty = value; + } + } + + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Back + { + get => this.InternalBack?.Value; + set + { + this.InternalBack ??= new Emptyable(); + this.InternalBack.Value = value; + } + } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsPrimaryVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsPrimaryVerificationOptions.cs new file mode 100644 index 0000000000..33e5009ffc --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsPrimaryVerificationOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsDocumentsPrimaryVerificationOptions : INestedOptions + { + /// + /// The file upload + /// tokens referring to each side of the document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public AccountUpdateIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBackOptions FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsProofOfRegistrationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsProofOfRegistrationOptions.cs new file mode 100644 index 0000000000..798190f1c6 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsProofOfRegistrationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsDocumentsProofOfRegistrationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipOptions.cs new file mode 100644 index 0000000000..f39bd971b3 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsIdNumberOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsIdNumberOptions.cs new file mode 100644 index 0000000000..451b695a9d --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsIdNumberOptions.cs @@ -0,0 +1,50 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsIdNumberOptions : INestedOptions + { + /// + /// The registrar of the ID number (Only valid for DE ID number types). + /// + [JsonProperty("registrar")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registrar")] +#endif + public string Registrar { get; set; } + + /// + /// Open Enum. The ID number type of a business entity. + /// One of: ae_crn, ae_vat, at_fn, au_abn, au_acn, + /// au_in, be_cbe, bg_uic, br_cnpj, ca_cn, + /// ca_crarr, ca_neq, ca_rid, ch_chid, ch_uid, + /// cy_tic, cz_ico, de_hrn, de_vat, dk_cvr, ee_rk, + /// es_cif, fi_yt, fr_siren, fr_vat, gb_crn, + /// gi_crn, gr_gemi, hk_br, hk_cr, hk_mbs, hu_cjs, + /// ie_crn, it_rea, it_vat, jp_cn, li_uid, + /// lt_ccrn, lu_rcs, lv_urn, mt_crn, mx_rfc, + /// my_brn, my_coid, my_sst, nl_kvk, no_orgnr, + /// nz_bn, pl_regon, pt_vat, ro_cui, se_orgnr, + /// sg_uen, si_msp, sk_ico, th_crn, th_prn, + /// th_tin, or us_ein. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The value of the ID number. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsMonthlyEstimatedRevenueOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsMonthlyEstimatedRevenueOptions.cs new file mode 100644 index 0000000000..b4f9fc0184 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsMonthlyEstimatedRevenueOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsMonthlyEstimatedRevenueOptions : INestedOptions + { + /// + /// A non-negative integer representing the amount in the smallest currency unit. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public V2.Amount Amount { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsOptions.cs new file mode 100644 index 0000000000..20a39fc97e --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsOptions.cs @@ -0,0 +1,570 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsOptions : INestedOptions + { + [JsonProperty("address")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalAddress { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyAddress + { + get => this.InternalAddress?.Empty ?? false; + set + { + this.InternalAddress ??= new Emptyable(); + this.InternalAddress.Empty = value; + } + } + + /// + /// The business registration address of the business entity. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AddressJapanOptions Address + { + get => this.InternalAddress?.Value; + set + { + this.InternalAddress ??= new Emptyable(); + this.InternalAddress.Value = value; + } + } + + [JsonProperty("annual_revenue")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("annual_revenue")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalAnnualRevenue { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyAnnualRevenue + { + get => this.InternalAnnualRevenue?.Empty ?? false; + set + { + this.InternalAnnualRevenue ??= new Emptyable(); + this.InternalAnnualRevenue.Empty = value; + } + } + + /// + /// The business gross annual revenue for its preceding fiscal year. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsAnnualRevenueOptions AnnualRevenue + { + get => this.InternalAnnualRevenue?.Value; + set + { + this.InternalAnnualRevenue ??= new Emptyable(); + this.InternalAnnualRevenue.Value = value; + } + } + + [JsonProperty("documents")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("documents")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalDocuments { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyDocuments + { + get => this.InternalDocuments?.Empty ?? false; + set + { + this.InternalDocuments ??= new Emptyable(); + this.InternalDocuments.Empty = value; + } + } + + /// + /// A document verifying the business. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsDocumentsOptions Documents + { + get => this.InternalDocuments?.Value; + set + { + this.InternalDocuments ??= new Emptyable(); + this.InternalDocuments.Value = value; + } + } + + [JsonProperty("doing_business_as")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("doing_business_as")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalDoingBusinessAs { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyDoingBusinessAs + { + get => this.InternalDoingBusinessAs?.Empty ?? false; + set + { + this.InternalDoingBusinessAs ??= new Emptyable(); + this.InternalDoingBusinessAs.Empty = value; + } + } + + /// + /// The name which is used by the business. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string DoingBusinessAs + { + get => this.InternalDoingBusinessAs?.Value; + set + { + this.InternalDoingBusinessAs ??= new Emptyable(); + this.InternalDoingBusinessAs.Value = value; + } + } + + [JsonProperty("estimated_worker_count")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("estimated_worker_count")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalEstimatedWorkerCount { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyEstimatedWorkerCount + { + get => this.InternalEstimatedWorkerCount?.Empty ?? false; + set + { + this.InternalEstimatedWorkerCount ??= new Emptyable(); + this.InternalEstimatedWorkerCount.Empty = value; + } + } + + /// + /// An estimated upper bound of employees, contractors, vendors, etc. currently working for + /// the business. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public long? EstimatedWorkerCount + { + get => this.InternalEstimatedWorkerCount?.Value; + set + { + this.InternalEstimatedWorkerCount ??= new Emptyable(); + this.InternalEstimatedWorkerCount.Value = value; + } + } + + [JsonProperty("id_numbers")] + [JsonConverter(typeof(EmptyableConverter>))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id_numbers")] + [STJS.JsonConverter(typeof(STJEmptyableConverter>))] +#endif + internal Emptyable> InternalIdNumbers { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyIdNumbers + { + get => this.InternalIdNumbers?.Empty ?? false; + set + { + this.InternalIdNumbers ??= new Emptyable>(); + this.InternalIdNumbers.Empty = value; + } + } + + /// + /// The ID numbers of a business entity. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public List IdNumbers + { + get => this.InternalIdNumbers?.Value; + set + { + this.InternalIdNumbers ??= new Emptyable>(); + this.InternalIdNumbers.Value = value; + } + } + + [JsonProperty("monthly_estimated_revenue")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("monthly_estimated_revenue")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalMonthlyEstimatedRevenue { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyMonthlyEstimatedRevenue + { + get => this.InternalMonthlyEstimatedRevenue?.Empty ?? false; + set + { + this.InternalMonthlyEstimatedRevenue ??= new Emptyable(); + this.InternalMonthlyEstimatedRevenue.Empty = value; + } + } + + /// + /// An estimate of the monthly revenue of the business. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsMonthlyEstimatedRevenueOptions MonthlyEstimatedRevenue + { + get => this.InternalMonthlyEstimatedRevenue?.Value; + set + { + this.InternalMonthlyEstimatedRevenue ??= new Emptyable(); + this.InternalMonthlyEstimatedRevenue.Value = value; + } + } + + [JsonProperty("phone")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalPhone { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyPhone + { + get => this.InternalPhone?.Empty ?? false; + set + { + this.InternalPhone ??= new Emptyable(); + this.InternalPhone.Empty = value; + } + } + + /// + /// The phone number of the Business Entity. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Phone + { + get => this.InternalPhone?.Value; + set + { + this.InternalPhone ??= new Emptyable(); + this.InternalPhone.Value = value; + } + } + + [JsonProperty("product_description")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("product_description")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalProductDescription { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyProductDescription + { + get => this.InternalProductDescription?.Empty ?? false; + set + { + this.InternalProductDescription ??= new Emptyable(); + this.InternalProductDescription.Empty = value; + } + } + + /// + /// Internal-only description of the product sold or service provided by the business. It’s + /// used by Stripe for risk and underwriting purposes. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string ProductDescription + { + get => this.InternalProductDescription?.Value; + set + { + this.InternalProductDescription ??= new Emptyable(); + this.InternalProductDescription.Value = value; + } + } + + [JsonProperty("registered_name")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registered_name")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalRegisteredName { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyRegisteredName + { + get => this.InternalRegisteredName?.Empty ?? false; + set + { + this.InternalRegisteredName ??= new Emptyable(); + this.InternalRegisteredName.Empty = value; + } + } + + /// + /// The business legal name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string RegisteredName + { + get => this.InternalRegisteredName?.Value; + set + { + this.InternalRegisteredName ??= new Emptyable(); + this.InternalRegisteredName.Value = value; + } + } + + [JsonProperty("script_addresses")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_addresses")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalScriptAddresses { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyScriptAddresses + { + get => this.InternalScriptAddresses?.Empty ?? false; + set + { + this.InternalScriptAddresses ??= new Emptyable(); + this.InternalScriptAddresses.Empty = value; + } + } + + /// + /// The business registration address of the business entity in non latin script. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsScriptAddressesOptions ScriptAddresses + { + get => this.InternalScriptAddresses?.Value; + set + { + this.InternalScriptAddresses ??= new Emptyable(); + this.InternalScriptAddresses.Value = value; + } + } + + [JsonProperty("script_names")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_names")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalScriptNames { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyScriptNames + { + get => this.InternalScriptNames?.Empty ?? false; + set + { + this.InternalScriptNames ??= new Emptyable(); + this.InternalScriptNames.Empty = value; + } + } + + /// + /// The business legal name in non latin script. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsScriptNamesOptions ScriptNames + { + get => this.InternalScriptNames?.Value; + set + { + this.InternalScriptNames ??= new Emptyable(); + this.InternalScriptNames.Value = value; + } + } + + [JsonProperty("structure")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("structure")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalStructure { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyStructure + { + get => this.InternalStructure?.Empty ?? false; + set + { + this.InternalStructure ??= new Emptyable(); + this.InternalStructure.Empty = value; + } + } + + /// + /// The category identifying the legal structure of the business. + /// One of: free_zone_establishment, free_zone_llc, governmental_unit, + /// government_instrumentality, incorporated_non_profit, + /// incorporated_partnership, llc, multi_member_llc, + /// private_company, private_corporation, private_partnership, + /// public_company, public_corporation, public_partnership, + /// registered_charity, single_member_llc, sole_establishment, + /// sole_proprietorship, tax_exempt_government_instrumentality, + /// unincorporated_association, unincorporated_non_profit, or + /// unincorporated_partnership. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Structure + { + get => this.InternalStructure?.Value; + set + { + this.InternalStructure ??= new Emptyable(); + this.InternalStructure.Value = value; + } + } + + [JsonProperty("url")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("url")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalUrl { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyUrl + { + get => this.InternalUrl?.Empty ?? false; + set + { + this.InternalUrl ??= new Emptyable(); + this.InternalUrl.Empty = value; + } + } + + /// + /// The business's publicly available website. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Url + { + get => this.InternalUrl?.Value; + set + { + this.InternalUrl ??= new Emptyable(); + this.InternalUrl.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptAddressesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptAddressesOptions.cs new file mode 100644 index 0000000000..4df6ddb1ea --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptAddressesOptions.cs @@ -0,0 +1,90 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsScriptAddressesOptions : INestedOptions + { + [JsonProperty("kana")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalKana { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyKana + { + get => this.InternalKana?.Empty ?? false; + set + { + this.InternalKana ??= new Emptyable(); + this.InternalKana.Empty = value; + } + } + + /// + /// Kana Address. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AddressJapanOptions Kana + { + get => this.InternalKana?.Value; + set + { + this.InternalKana ??= new Emptyable(); + this.InternalKana.Value = value; + } + } + + [JsonProperty("kanji")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalKanji { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyKanji + { + get => this.InternalKanji?.Empty ?? false; + set + { + this.InternalKanji ??= new Emptyable(); + this.InternalKanji.Empty = value; + } + } + + /// + /// Kanji Address. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AddressJapanOptions Kanji + { + get => this.InternalKanji?.Value; + set + { + this.InternalKanji ??= new Emptyable(); + this.InternalKanji.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptNamesKanaOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptNamesKanaOptions.cs new file mode 100644 index 0000000000..ad1f3a2dce --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptNamesKanaOptions.cs @@ -0,0 +1,51 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsScriptNamesKanaOptions : INestedOptions + { + [JsonProperty("registered_name")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registered_name")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalRegisteredName { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyRegisteredName + { + get => this.InternalRegisteredName?.Empty ?? false; + set + { + this.InternalRegisteredName ??= new Emptyable(); + this.InternalRegisteredName.Empty = value; + } + } + + /// + /// Registered name of the business. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string RegisteredName + { + get => this.InternalRegisteredName?.Value; + set + { + this.InternalRegisteredName ??= new Emptyable(); + this.InternalRegisteredName.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptNamesKanjiOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptNamesKanjiOptions.cs new file mode 100644 index 0000000000..1acdf3f2a8 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptNamesKanjiOptions.cs @@ -0,0 +1,51 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsScriptNamesKanjiOptions : INestedOptions + { + [JsonProperty("registered_name")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("registered_name")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalRegisteredName { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyRegisteredName + { + get => this.InternalRegisteredName?.Empty ?? false; + set + { + this.InternalRegisteredName ??= new Emptyable(); + this.InternalRegisteredName.Empty = value; + } + } + + /// + /// Registered name of the business. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string RegisteredName + { + get => this.InternalRegisteredName?.Value; + set + { + this.InternalRegisteredName ??= new Emptyable(); + this.InternalRegisteredName.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptNamesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptNamesOptions.cs new file mode 100644 index 0000000000..ac664fcbcb --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptNamesOptions.cs @@ -0,0 +1,90 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityBusinessDetailsScriptNamesOptions : INestedOptions + { + [JsonProperty("kana")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalKana { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyKana + { + get => this.InternalKana?.Empty ?? false; + set + { + this.InternalKana ??= new Emptyable(); + this.InternalKana.Empty = value; + } + } + + /// + /// Kana name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsScriptNamesKanaOptions Kana + { + get => this.InternalKana?.Value; + set + { + this.InternalKana ??= new Emptyable(); + this.InternalKana.Value = value; + } + } + + [JsonProperty("kanji")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalKanji { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyKanji + { + get => this.InternalKanji?.Empty ?? false; + set + { + this.InternalKanji ??= new Emptyable(); + this.InternalKanji.Empty = value; + } + } + + /// + /// Kanji name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityBusinessDetailsScriptNamesKanjiOptions Kanji + { + get => this.InternalKanji?.Value; + set + { + this.InternalKanji ??= new Emptyable(); + this.InternalKanji.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualAdditionalAddressOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualAdditionalAddressOptions.cs new file mode 100644 index 0000000000..463dea4f1d --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualAdditionalAddressOptions.cs @@ -0,0 +1,327 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualAdditionalAddressOptions : INestedOptions + { + [JsonProperty("city")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalCity { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyCity + { + get => this.InternalCity?.Empty ?? false; + set + { + this.InternalCity ??= new Emptyable(); + this.InternalCity.Empty = value; + } + } + + /// + /// City, district, suburb, town, or village. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string City + { + get => this.InternalCity?.Value; + set + { + this.InternalCity ??= new Emptyable(); + this.InternalCity.Value = value; + } + } + + [JsonProperty("country")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalCountry { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyCountry + { + get => this.InternalCountry?.Empty ?? false; + set + { + this.InternalCountry ??= new Emptyable(); + this.InternalCountry.Empty = value; + } + } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Country + { + get => this.InternalCountry?.Value; + set + { + this.InternalCountry ??= new Emptyable(); + this.InternalCountry.Value = value; + } + } + + [JsonProperty("line1")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalLine1 { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyLine1 + { + get => this.InternalLine1?.Empty ?? false; + set + { + this.InternalLine1 ??= new Emptyable(); + this.InternalLine1.Empty = value; + } + } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Line1 + { + get => this.InternalLine1?.Value; + set + { + this.InternalLine1 ??= new Emptyable(); + this.InternalLine1.Value = value; + } + } + + [JsonProperty("line2")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalLine2 { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyLine2 + { + get => this.InternalLine2?.Empty ?? false; + set + { + this.InternalLine2 ??= new Emptyable(); + this.InternalLine2.Empty = value; + } + } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Line2 + { + get => this.InternalLine2?.Value; + set + { + this.InternalLine2 ??= new Emptyable(); + this.InternalLine2.Value = value; + } + } + + [JsonProperty("postal_code")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalPostalCode { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyPostalCode + { + get => this.InternalPostalCode?.Empty ?? false; + set + { + this.InternalPostalCode ??= new Emptyable(); + this.InternalPostalCode.Empty = value; + } + } + + /// + /// ZIP or postal code. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string PostalCode + { + get => this.InternalPostalCode?.Value; + set + { + this.InternalPostalCode ??= new Emptyable(); + this.InternalPostalCode.Value = value; + } + } + + /// + /// Purpose of additional address. + /// + [JsonProperty("purpose")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("purpose")] +#endif + public string Purpose { get; set; } + + [JsonProperty("state")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalState { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyState + { + get => this.InternalState?.Empty ?? false; + set + { + this.InternalState ??= new Emptyable(); + this.InternalState.Empty = value; + } + } + + /// + /// State, county, province, or region. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string State + { + get => this.InternalState?.Value; + set + { + this.InternalState ??= new Emptyable(); + this.InternalState.Value = value; + } + } + + [JsonProperty("town")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalTown { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyTown + { + get => this.InternalTown?.Empty ?? false; + set + { + this.InternalTown ??= new Emptyable(); + this.InternalTown.Empty = value; + } + } + + /// + /// Town or cho-me. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Town + { + get => this.InternalTown?.Value; + set + { + this.InternalTown ??= new Emptyable(); + this.InternalTown.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualAdditionalNameOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualAdditionalNameOptions.cs new file mode 100644 index 0000000000..705767f654 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualAdditionalNameOptions.cs @@ -0,0 +1,48 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualAdditionalNameOptions : INestedOptions + { + /// + /// The person's full name. + /// + [JsonProperty("full_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("full_name")] +#endif + public string FullName { get; set; } + + /// + /// The person's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The purpose or type of the additional name. + /// One of: alias, or maiden. + /// + [JsonProperty("purpose")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("purpose")] +#endif + public string Purpose { get; set; } + + /// + /// The person's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDateOfBirthOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDateOfBirthOptions.cs new file mode 100644 index 0000000000..d0551a6122 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDateOfBirthOptions.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualDateOfBirthOptions : INestedOptions + { + /// + /// The day of the birth. + /// + [JsonProperty("day")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("day")] +#endif + public long? Day { get; set; } + + /// + /// The month of birth. + /// + [JsonProperty("month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("month")] +#endif + public long? Month { get; set; } + + /// + /// The year of birth. + /// + [JsonProperty("year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("year")] +#endif + public long? Year { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsCompanyAuthorizationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsCompanyAuthorizationOptions.cs new file mode 100644 index 0000000000..d9c16bc6f6 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsCompanyAuthorizationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualDocumentsCompanyAuthorizationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsOptions.cs new file mode 100644 index 0000000000..e75a6f1d7f --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsOptions.cs @@ -0,0 +1,120 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualDocumentsOptions : INestedOptions + { + /// + /// One or more documents that demonstrate proof that this person is authorized to represent + /// the company. + /// + [JsonProperty("company_authorization")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_authorization")] +#endif + public AccountUpdateIdentityIndividualDocumentsCompanyAuthorizationOptions CompanyAuthorization { get; set; } + + /// + /// One or more documents showing the person’s passport page with photo and personal data. + /// + [JsonProperty("passport")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("passport")] +#endif + public AccountUpdateIdentityIndividualDocumentsPassportOptions Passport { get; set; } + + [JsonProperty("primary_verification")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("primary_verification")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalPrimaryVerification { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyPrimaryVerification + { + get => this.InternalPrimaryVerification?.Empty ?? false; + set + { + this.InternalPrimaryVerification ??= new Emptyable(); + this.InternalPrimaryVerification.Empty = value; + } + } + + /// + /// An identifying document showing the person's name, either a passport or local ID card. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityIndividualDocumentsPrimaryVerificationOptions PrimaryVerification + { + get => this.InternalPrimaryVerification?.Value; + set + { + this.InternalPrimaryVerification ??= new Emptyable(); + this.InternalPrimaryVerification.Value = value; + } + } + + [JsonProperty("secondary_verification")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("secondary_verification")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalSecondaryVerification { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptySecondaryVerification + { + get => this.InternalSecondaryVerification?.Empty ?? false; + set + { + this.InternalSecondaryVerification ??= new Emptyable(); + this.InternalSecondaryVerification.Empty = value; + } + } + + /// + /// A document showing address, either a passport, local ID card, or utility bill from a + /// well-known utility company. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityIndividualDocumentsSecondaryVerificationOptions SecondaryVerification + { + get => this.InternalSecondaryVerification?.Value; + set + { + this.InternalSecondaryVerification ??= new Emptyable(); + this.InternalSecondaryVerification.Value = value; + } + } + + /// + /// One or more documents showing the person’s visa required for living in the country where + /// they are residing. + /// + [JsonProperty("visa")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("visa")] +#endif + public AccountUpdateIdentityIndividualDocumentsVisaOptions Visa { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsPassportOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsPassportOptions.cs new file mode 100644 index 0000000000..0cacb198cb --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsPassportOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualDocumentsPassportOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsPrimaryVerificationFrontBackOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsPrimaryVerificationFrontBackOptions.cs new file mode 100644 index 0000000000..fb07e9988f --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsPrimaryVerificationFrontBackOptions.cs @@ -0,0 +1,66 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualDocumentsPrimaryVerificationFrontBackOptions : INestedOptions + { + [JsonProperty("back")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalBack { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyBack + { + get => this.InternalBack?.Empty ?? false; + set + { + this.InternalBack ??= new Emptyable(); + this.InternalBack.Empty = value; + } + } + + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Back + { + get => this.InternalBack?.Value; + set + { + this.InternalBack ??= new Emptyable(); + this.InternalBack.Value = value; + } + } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsPrimaryVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsPrimaryVerificationOptions.cs new file mode 100644 index 0000000000..15e42b03b9 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsPrimaryVerificationOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualDocumentsPrimaryVerificationOptions : INestedOptions + { + /// + /// The file upload + /// tokens referring to each side of the document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public AccountUpdateIdentityIndividualDocumentsPrimaryVerificationFrontBackOptions FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsSecondaryVerificationFrontBackOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsSecondaryVerificationFrontBackOptions.cs new file mode 100644 index 0000000000..9bf13571fb --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsSecondaryVerificationFrontBackOptions.cs @@ -0,0 +1,66 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualDocumentsSecondaryVerificationFrontBackOptions : INestedOptions + { + [JsonProperty("back")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalBack { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyBack + { + get => this.InternalBack?.Empty ?? false; + set + { + this.InternalBack ??= new Emptyable(); + this.InternalBack.Empty = value; + } + } + + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Back + { + get => this.InternalBack?.Value; + set + { + this.InternalBack ??= new Emptyable(); + this.InternalBack.Value = value; + } + } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsSecondaryVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsSecondaryVerificationOptions.cs new file mode 100644 index 0000000000..5296b0c1da --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsSecondaryVerificationOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualDocumentsSecondaryVerificationOptions : INestedOptions + { + /// + /// The file upload + /// tokens referring to each side of the document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public AccountUpdateIdentityIndividualDocumentsSecondaryVerificationFrontBackOptions FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsVisaOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsVisaOptions.cs new file mode 100644 index 0000000000..87b9e1100e --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsVisaOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualDocumentsVisaOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualIdNumberOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualIdNumberOptions.cs new file mode 100644 index 0000000000..97be1fc6ef --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualIdNumberOptions.cs @@ -0,0 +1,33 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualIdNumberOptions : INestedOptions + { + /// + /// The ID number type of an individual. + /// One of: ae_eid, br_cpf, de_stn, hk_id, mx_rfc, + /// my_nric, nl_bsn, sg_fin, sg_nric, th_lc, + /// th_pin, us_itin, us_itin_last_4, us_ssn, or + /// us_ssn_last_4. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The value of the ID number. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualOptions.cs new file mode 100644 index 0000000000..28270f0b57 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualOptions.cs @@ -0,0 +1,652 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualOptions : INestedOptions, IHasMetadata + { + [JsonProperty("additional_addresses")] + [JsonConverter(typeof(EmptyableConverter>))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_addresses")] + [STJS.JsonConverter(typeof(STJEmptyableConverter>))] +#endif + internal Emptyable> InternalAdditionalAddresses { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyAdditionalAddresses + { + get => this.InternalAdditionalAddresses?.Empty ?? false; + set + { + this.InternalAdditionalAddresses ??= new Emptyable>(); + this.InternalAdditionalAddresses.Empty = value; + } + } + + /// + /// Additional addresses associated with the individual. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public List AdditionalAddresses + { + get => this.InternalAdditionalAddresses?.Value; + set + { + this.InternalAdditionalAddresses ??= new Emptyable>(); + this.InternalAdditionalAddresses.Value = value; + } + } + + [JsonProperty("additional_names")] + [JsonConverter(typeof(EmptyableConverter>))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_names")] + [STJS.JsonConverter(typeof(STJEmptyableConverter>))] +#endif + internal Emptyable> InternalAdditionalNames { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyAdditionalNames + { + get => this.InternalAdditionalNames?.Empty ?? false; + set + { + this.InternalAdditionalNames ??= new Emptyable>(); + this.InternalAdditionalNames.Empty = value; + } + } + + /// + /// Additional names (e.g. aliases) associated with the individual. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public List AdditionalNames + { + get => this.InternalAdditionalNames?.Value; + set + { + this.InternalAdditionalNames ??= new Emptyable>(); + this.InternalAdditionalNames.Value = value; + } + } + + [JsonProperty("address")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalAddress { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyAddress + { + get => this.InternalAddress?.Empty ?? false; + set + { + this.InternalAddress ??= new Emptyable(); + this.InternalAddress.Empty = value; + } + } + + /// + /// The individual's residential address. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AddressJapanOptions Address + { + get => this.InternalAddress?.Value; + set + { + this.InternalAddress ??= new Emptyable(); + this.InternalAddress.Value = value; + } + } + + [JsonProperty("date_of_birth")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date_of_birth")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalDateOfBirth { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyDateOfBirth + { + get => this.InternalDateOfBirth?.Empty ?? false; + set + { + this.InternalDateOfBirth ??= new Emptyable(); + this.InternalDateOfBirth.Empty = value; + } + } + + /// + /// The individual's date of birth. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityIndividualDateOfBirthOptions DateOfBirth + { + get => this.InternalDateOfBirth?.Value; + set + { + this.InternalDateOfBirth ??= new Emptyable(); + this.InternalDateOfBirth.Value = value; + } + } + + [JsonProperty("documents")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("documents")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalDocuments { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyDocuments + { + get => this.InternalDocuments?.Empty ?? false; + set + { + this.InternalDocuments ??= new Emptyable(); + this.InternalDocuments.Empty = value; + } + } + + /// + /// Documents that may be submitted to satisfy various informational requests. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityIndividualDocumentsOptions Documents + { + get => this.InternalDocuments?.Value; + set + { + this.InternalDocuments ??= new Emptyable(); + this.InternalDocuments.Value = value; + } + } + + [JsonProperty("email")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("email")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalEmail { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyEmail + { + get => this.InternalEmail?.Empty ?? false; + set + { + this.InternalEmail ??= new Emptyable(); + this.InternalEmail.Empty = value; + } + } + + /// + /// The individual's email address. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Email + { + get => this.InternalEmail?.Value; + set + { + this.InternalEmail ??= new Emptyable(); + this.InternalEmail.Value = value; + } + } + + [JsonProperty("given_name")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalGivenName { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyGivenName + { + get => this.InternalGivenName?.Empty ?? false; + set + { + this.InternalGivenName ??= new Emptyable(); + this.InternalGivenName.Empty = value; + } + } + + /// + /// The individual's first name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GivenName + { + get => this.InternalGivenName?.Value; + set + { + this.InternalGivenName ??= new Emptyable(); + this.InternalGivenName.Value = value; + } + } + + [JsonProperty("id_numbers")] + [JsonConverter(typeof(EmptyableConverter>))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id_numbers")] + [STJS.JsonConverter(typeof(STJEmptyableConverter>))] +#endif + internal Emptyable> InternalIdNumbers { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyIdNumbers + { + get => this.InternalIdNumbers?.Empty ?? false; + set + { + this.InternalIdNumbers ??= new Emptyable>(); + this.InternalIdNumbers.Empty = value; + } + } + + /// + /// The identification numbers (e.g., SSN) associated with the individual. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public List IdNumbers + { + get => this.InternalIdNumbers?.Value; + set + { + this.InternalIdNumbers ??= new Emptyable>(); + this.InternalIdNumbers.Value = value; + } + } + + [JsonProperty("legal_gender")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("legal_gender")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalLegalGender { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyLegalGender + { + get => this.InternalLegalGender?.Empty ?? false; + set + { + this.InternalLegalGender ??= new Emptyable(); + this.InternalLegalGender.Empty = value; + } + } + + /// + /// The individual's gender (International regulations require either "male" or "female"). + /// One of: female, or male. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string LegalGender + { + get => this.InternalLegalGender?.Value; + set + { + this.InternalLegalGender ??= new Emptyable(); + this.InternalLegalGender.Value = value; + } + } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// The countries where the individual is a national. Two-letter country code (ISO 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("nationalities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nationalities")] +#endif + public List Nationalities { get; set; } + + [JsonProperty("phone")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalPhone { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyPhone + { + get => this.InternalPhone?.Empty ?? false; + set + { + this.InternalPhone ??= new Emptyable(); + this.InternalPhone.Empty = value; + } + } + + /// + /// The individual's phone number. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Phone + { + get => this.InternalPhone?.Value; + set + { + this.InternalPhone ??= new Emptyable(); + this.InternalPhone.Value = value; + } + } + + [JsonProperty("political_exposure")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("political_exposure")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalPoliticalExposure { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyPoliticalExposure + { + get => this.InternalPoliticalExposure?.Empty ?? false; + set + { + this.InternalPoliticalExposure ??= new Emptyable(); + this.InternalPoliticalExposure.Empty = value; + } + } + + /// + /// The individual's political exposure. + /// One of: existing, or none. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string PoliticalExposure + { + get => this.InternalPoliticalExposure?.Value; + set + { + this.InternalPoliticalExposure ??= new Emptyable(); + this.InternalPoliticalExposure.Value = value; + } + } + + [JsonProperty("relationship")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("relationship")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalRelationship { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyRelationship + { + get => this.InternalRelationship?.Empty ?? false; + set + { + this.InternalRelationship ??= new Emptyable(); + this.InternalRelationship.Empty = value; + } + } + + /// + /// The relationship that this individual has with the account's identity. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityIndividualRelationshipOptions Relationship + { + get => this.InternalRelationship?.Value; + set + { + this.InternalRelationship ??= new Emptyable(); + this.InternalRelationship.Value = value; + } + } + + [JsonProperty("script_addresses")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_addresses")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalScriptAddresses { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyScriptAddresses + { + get => this.InternalScriptAddresses?.Empty ?? false; + set + { + this.InternalScriptAddresses ??= new Emptyable(); + this.InternalScriptAddresses.Empty = value; + } + } + + /// + /// The script addresses (e.g., non-Latin characters) associated with the individual. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityIndividualScriptAddressesOptions ScriptAddresses + { + get => this.InternalScriptAddresses?.Value; + set + { + this.InternalScriptAddresses ??= new Emptyable(); + this.InternalScriptAddresses.Value = value; + } + } + + [JsonProperty("script_names")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_names")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalScriptNames { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyScriptNames + { + get => this.InternalScriptNames?.Empty ?? false; + set + { + this.InternalScriptNames ??= new Emptyable(); + this.InternalScriptNames.Empty = value; + } + } + + /// + /// The individuals primary name in non latin script. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityIndividualScriptNamesOptions ScriptNames + { + get => this.InternalScriptNames?.Value; + set + { + this.InternalScriptNames ??= new Emptyable(); + this.InternalScriptNames.Value = value; + } + } + + [JsonProperty("surname")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalSurname { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptySurname + { + get => this.InternalSurname?.Empty ?? false; + set + { + this.InternalSurname ??= new Emptyable(); + this.InternalSurname.Empty = value; + } + } + + /// + /// The individual's last name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Surname + { + get => this.InternalSurname?.Value; + set + { + this.InternalSurname ??= new Emptyable(); + this.InternalSurname.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualRelationshipOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualRelationshipOptions.cs new file mode 100644 index 0000000000..bad4b2880d --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualRelationshipOptions.cs @@ -0,0 +1,210 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualRelationshipOptions : INestedOptions + { + [JsonProperty("director")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("director")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalDirector { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyDirector + { + get => this.InternalDirector?.Empty ?? false; + set + { + this.InternalDirector ??= new Emptyable(); + this.InternalDirector.Empty = value; + } + } + + /// + /// Whether the person is a director of the account's identity. Directors are typically + /// members of the governing board of the company, or responsible for ensuring the company + /// meets its regulatory obligations. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool? Director + { + get => this.InternalDirector?.Value; + set + { + this.InternalDirector ??= new Emptyable(); + this.InternalDirector.Value = value; + } + } + + [JsonProperty("executive")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("executive")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalExecutive { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyExecutive + { + get => this.InternalExecutive?.Empty ?? false; + set + { + this.InternalExecutive ??= new Emptyable(); + this.InternalExecutive.Empty = value; + } + } + + /// + /// Whether the person has significant responsibility to control, manage, or direct the + /// organization. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool? Executive + { + get => this.InternalExecutive?.Value; + set + { + this.InternalExecutive ??= new Emptyable(); + this.InternalExecutive.Value = value; + } + } + + [JsonProperty("owner")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("owner")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalOwner { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyOwner + { + get => this.InternalOwner?.Empty ?? false; + set + { + this.InternalOwner ??= new Emptyable(); + this.InternalOwner.Empty = value; + } + } + + /// + /// Whether the person is an owner of the account’s identity. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool? Owner + { + get => this.InternalOwner?.Value; + set + { + this.InternalOwner ??= new Emptyable(); + this.InternalOwner.Value = value; + } + } + + [JsonProperty("percent_ownership")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("percent_ownership")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalPercentOwnership { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyPercentOwnership + { + get => this.InternalPercentOwnership?.Empty ?? false; + set + { + this.InternalPercentOwnership ??= new Emptyable(); + this.InternalPercentOwnership.Empty = value; + } + } + + /// + /// The percent owned by the person of the account's legal entity. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string PercentOwnership + { + get => this.InternalPercentOwnership?.Value; + set + { + this.InternalPercentOwnership ??= new Emptyable(); + this.InternalPercentOwnership.Value = value; + } + } + + [JsonProperty("title")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("title")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalTitle { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyTitle + { + get => this.InternalTitle?.Empty ?? false; + set + { + this.InternalTitle ??= new Emptyable(); + this.InternalTitle.Empty = value; + } + } + + /// + /// The person's title (e.g., CEO, Support Engineer). + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Title + { + get => this.InternalTitle?.Value; + set + { + this.InternalTitle ??= new Emptyable(); + this.InternalTitle.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptAddressesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptAddressesOptions.cs new file mode 100644 index 0000000000..c8368bf123 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptAddressesOptions.cs @@ -0,0 +1,90 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualScriptAddressesOptions : INestedOptions + { + [JsonProperty("kana")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalKana { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyKana + { + get => this.InternalKana?.Empty ?? false; + set + { + this.InternalKana ??= new Emptyable(); + this.InternalKana.Empty = value; + } + } + + /// + /// Kana Address. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AddressJapanOptions Kana + { + get => this.InternalKana?.Value; + set + { + this.InternalKana ??= new Emptyable(); + this.InternalKana.Value = value; + } + } + + [JsonProperty("kanji")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalKanji { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyKanji + { + get => this.InternalKanji?.Empty ?? false; + set + { + this.InternalKanji ??= new Emptyable(); + this.InternalKanji.Empty = value; + } + } + + /// + /// Kanji Address. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AddressJapanOptions Kanji + { + get => this.InternalKanji?.Value; + set + { + this.InternalKanji ??= new Emptyable(); + this.InternalKanji.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptNamesKanaOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptNamesKanaOptions.cs new file mode 100644 index 0000000000..e19e749965 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptNamesKanaOptions.cs @@ -0,0 +1,90 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualScriptNamesKanaOptions : INestedOptions + { + [JsonProperty("given_name")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalGivenName { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyGivenName + { + get => this.InternalGivenName?.Empty ?? false; + set + { + this.InternalGivenName ??= new Emptyable(); + this.InternalGivenName.Empty = value; + } + } + + /// + /// The person's first or given name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GivenName + { + get => this.InternalGivenName?.Value; + set + { + this.InternalGivenName ??= new Emptyable(); + this.InternalGivenName.Value = value; + } + } + + [JsonProperty("surname")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalSurname { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptySurname + { + get => this.InternalSurname?.Empty ?? false; + set + { + this.InternalSurname ??= new Emptyable(); + this.InternalSurname.Empty = value; + } + } + + /// + /// The person's last or family name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Surname + { + get => this.InternalSurname?.Value; + set + { + this.InternalSurname ??= new Emptyable(); + this.InternalSurname.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptNamesKanjiOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptNamesKanjiOptions.cs new file mode 100644 index 0000000000..1f41f885da --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptNamesKanjiOptions.cs @@ -0,0 +1,90 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualScriptNamesKanjiOptions : INestedOptions + { + [JsonProperty("given_name")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalGivenName { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyGivenName + { + get => this.InternalGivenName?.Empty ?? false; + set + { + this.InternalGivenName ??= new Emptyable(); + this.InternalGivenName.Empty = value; + } + } + + /// + /// The person's first or given name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GivenName + { + get => this.InternalGivenName?.Value; + set + { + this.InternalGivenName ??= new Emptyable(); + this.InternalGivenName.Value = value; + } + } + + [JsonProperty("surname")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalSurname { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptySurname + { + get => this.InternalSurname?.Empty ?? false; + set + { + this.InternalSurname ??= new Emptyable(); + this.InternalSurname.Empty = value; + } + } + + /// + /// The person's last or family name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Surname + { + get => this.InternalSurname?.Value; + set + { + this.InternalSurname ??= new Emptyable(); + this.InternalSurname.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptNamesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptNamesOptions.cs new file mode 100644 index 0000000000..cce4d1d8e3 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptNamesOptions.cs @@ -0,0 +1,90 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityIndividualScriptNamesOptions : INestedOptions + { + [JsonProperty("kana")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalKana { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyKana + { + get => this.InternalKana?.Empty ?? false; + set + { + this.InternalKana ??= new Emptyable(); + this.InternalKana.Empty = value; + } + } + + /// + /// Persons name in kana script. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityIndividualScriptNamesKanaOptions Kana + { + get => this.InternalKana?.Value; + set + { + this.InternalKana ??= new Emptyable(); + this.InternalKana.Value = value; + } + } + + [JsonProperty("kanji")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalKanji { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyKanji + { + get => this.InternalKanji?.Empty ?? false; + set + { + this.InternalKanji ??= new Emptyable(); + this.InternalKanji.Empty = value; + } + } + + /// + /// Persons name in kanji script. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AccountUpdateIdentityIndividualScriptNamesKanjiOptions Kanji + { + get => this.InternalKanji?.Value; + set + { + this.InternalKanji ??= new Emptyable(); + this.InternalKanji.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityOptions.cs new file mode 100644 index 0000000000..8958f624b8 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityOptions.cs @@ -0,0 +1,94 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateIdentityOptions : INestedOptions + { + /// + /// Attestations from the identity's key people, e.g. owners, executives, directors. + /// + [JsonProperty("attestations")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("attestations")] +#endif + public AccountUpdateIdentityAttestationsOptions Attestations { get; set; } + + /// + /// Information about the company or business. + /// + [JsonProperty("business_details")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("business_details")] +#endif + public AccountUpdateIdentityBusinessDetailsOptions BusinessDetails { get; set; } + + /// + /// The country in which the account holder resides, or in which the business is legally + /// established. This should be an ISO 3166-1 alpha-2 country + /// code. + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// The entity type. + /// One of: company, government_entity, individual, or + /// non_profit. + /// + [JsonProperty("entity_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("entity_type")] +#endif + public string EntityType { get; set; } + + /// + /// Information about the individual represented by the Account. This property is + /// null unless entity_type is set to individual. + /// + [JsonProperty("individual")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("individual")] +#endif + public AccountUpdateIdentityIndividualOptions Individual { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateOptions.cs new file mode 100644 index 0000000000..cf116d5e1a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateOptions.cs @@ -0,0 +1,92 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class AccountUpdateOptions : BaseOptions, IHasMetadata + { + /// + /// An Account Configuration which allows the Account to take on a key persona across Stripe + /// products. + /// + [JsonProperty("configuration")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("configuration")] +#endif + public AccountUpdateConfigurationOptions Configuration { get; set; } + + /// + /// The default contact email address for the Account. + /// + [JsonProperty("contact_email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("contact_email")] +#endif + public string ContactEmail { get; set; } + + /// + /// A value indicating the Stripe dashboard this Account has access to. This will depend on + /// which configurations are enabled for this account. + /// One of: express, full, or none. + /// + [JsonProperty("dashboard")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("dashboard")] +#endif + public string Dashboard { get; set; } + + /// + /// Default values to be used on Account Configurations. + /// + [JsonProperty("defaults")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("defaults")] +#endif + public AccountUpdateDefaultsOptions Defaults { get; set; } + + /// + /// A descriptive name for the Account. This name will be surfaced in the Stripe Dashboard + /// and on any invoices sent to the Account. + /// + [JsonProperty("display_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("display_name")] +#endif + public string DisplayName { get; set; } + + /// + /// Information about the company, individual, and business represented by the Account. + /// + [JsonProperty("identity")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("identity")] +#endif + public AccountUpdateIdentityOptions Identity { get; set; } + + /// + /// Additional fields to include in the response. + /// One of: configuration.customer, configuration.merchant, + /// configuration.recipient, defaults, identity, or + /// requirements. + /// + [JsonProperty("include")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("include")] +#endif + public List Include { get; set; } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalAddressOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalAddressOptions.cs new file mode 100644 index 0000000000..a9d7a17d03 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalAddressOptions.cs @@ -0,0 +1,116 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateAdditionalAddressOptions : INestedOptions + { + /// + /// City, district, suburb, town, or village. + /// + [JsonProperty("city")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] +#endif + public string City { get; set; } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonProperty("line1")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] +#endif + public string Line1 { get; set; } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonProperty("line2")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] +#endif + public string Line2 { get; set; } + + /// + /// ZIP or postal code. + /// + [JsonProperty("postal_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] +#endif + public string PostalCode { get; set; } + + /// + /// Purpose of additional address. + /// + [JsonProperty("purpose")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("purpose")] +#endif + public string Purpose { get; set; } + + /// + /// State, county, province, or region. + /// + [JsonProperty("state")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] +#endif + public string State { get; set; } + + /// + /// Town or cho-me. + /// + [JsonProperty("town")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] +#endif + public string Town { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalNameOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalNameOptions.cs new file mode 100644 index 0000000000..af794837c8 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalNameOptions.cs @@ -0,0 +1,48 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateAdditionalNameOptions : INestedOptions + { + /// + /// The person's full name. + /// + [JsonProperty("full_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("full_name")] +#endif + public string FullName { get; set; } + + /// + /// The person's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The purpose or type of the additional name. + /// One of: alias, or maiden. + /// + [JsonProperty("purpose")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("purpose")] +#endif + public string Purpose { get; set; } + + /// + /// The person's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalTermsOfServiceAccountOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalTermsOfServiceAccountOptions.cs new file mode 100644 index 0000000000..d953e05946 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalTermsOfServiceAccountOptions.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateAdditionalTermsOfServiceAccountOptions : INestedOptions + { + /// + /// The time when the Account's representative accepted the terms of service. Represented as + /// a RFC 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the Account's representative accepted the terms of service. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the Account's representative accepted the terms + /// of service. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalTermsOfServiceOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalTermsOfServiceOptions.cs new file mode 100644 index 0000000000..a4470bc8af --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalTermsOfServiceOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateAdditionalTermsOfServiceOptions : INestedOptions + { + /// + /// Stripe terms of service agreement. + /// + [JsonProperty("account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account")] +#endif + public PersonCreateAdditionalTermsOfServiceAccountOptions Account { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDateOfBirthOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDateOfBirthOptions.cs new file mode 100644 index 0000000000..ad05f91a52 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDateOfBirthOptions.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateDateOfBirthOptions : INestedOptions + { + /// + /// The day of birth. + /// + [JsonProperty("day")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("day")] +#endif + public long? Day { get; set; } + + /// + /// The month of birth. + /// + [JsonProperty("month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("month")] +#endif + public long? Month { get; set; } + + /// + /// The year of birth. + /// + [JsonProperty("year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("year")] +#endif + public long? Year { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsCompanyAuthorizationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsCompanyAuthorizationOptions.cs new file mode 100644 index 0000000000..b71342887c --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsCompanyAuthorizationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateDocumentsCompanyAuthorizationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsOptions.cs new file mode 100644 index 0000000000..c26a897bc8 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsOptions.cs @@ -0,0 +1,59 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateDocumentsOptions : INestedOptions + { + /// + /// One or more documents that demonstrate proof that this person is authorized to represent + /// the company. + /// + [JsonProperty("company_authorization")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_authorization")] +#endif + public PersonCreateDocumentsCompanyAuthorizationOptions CompanyAuthorization { get; set; } + + /// + /// One or more documents showing the person’s passport page with photo and personal data. + /// + [JsonProperty("passport")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("passport")] +#endif + public PersonCreateDocumentsPassportOptions Passport { get; set; } + + /// + /// An identifying document showing the person's name, either a passport or local ID card. + /// + [JsonProperty("primary_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("primary_verification")] +#endif + public PersonCreateDocumentsPrimaryVerificationOptions PrimaryVerification { get; set; } + + /// + /// A document showing address, either a passport, local ID card, or utility bill from a + /// well-known utility company. + /// + [JsonProperty("secondary_verification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("secondary_verification")] +#endif + public PersonCreateDocumentsSecondaryVerificationOptions SecondaryVerification { get; set; } + + /// + /// One or more documents showing the person’s visa required for living in the country where + /// they are residing. + /// + [JsonProperty("visa")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("visa")] +#endif + public PersonCreateDocumentsVisaOptions Visa { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsPassportOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsPassportOptions.cs new file mode 100644 index 0000000000..871922632b --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsPassportOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateDocumentsPassportOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsPrimaryVerificationFrontBackOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsPrimaryVerificationFrontBackOptions.cs new file mode 100644 index 0000000000..fadded6c58 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsPrimaryVerificationFrontBackOptions.cs @@ -0,0 +1,35 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateDocumentsPrimaryVerificationFrontBackOptions : INestedOptions + { + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] +#endif + public string Back { get; set; } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsPrimaryVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsPrimaryVerificationOptions.cs new file mode 100644 index 0000000000..852f4895e1 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsPrimaryVerificationOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateDocumentsPrimaryVerificationOptions : INestedOptions + { + /// + /// The file upload + /// tokens referring to each side of the document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public PersonCreateDocumentsPrimaryVerificationFrontBackOptions FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsSecondaryVerificationFrontBackOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsSecondaryVerificationFrontBackOptions.cs new file mode 100644 index 0000000000..d042c6bfb9 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsSecondaryVerificationFrontBackOptions.cs @@ -0,0 +1,35 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateDocumentsSecondaryVerificationFrontBackOptions : INestedOptions + { + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] +#endif + public string Back { get; set; } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsSecondaryVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsSecondaryVerificationOptions.cs new file mode 100644 index 0000000000..f1ca3e1c1a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsSecondaryVerificationOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateDocumentsSecondaryVerificationOptions : INestedOptions + { + /// + /// The file upload + /// tokens referring to each side of the document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public PersonCreateDocumentsSecondaryVerificationFrontBackOptions FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsVisaOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsVisaOptions.cs new file mode 100644 index 0000000000..2e2c722a66 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsVisaOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateDocumentsVisaOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateIdNumberOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateIdNumberOptions.cs new file mode 100644 index 0000000000..fe32041b40 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateIdNumberOptions.cs @@ -0,0 +1,33 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateIdNumberOptions : INestedOptions + { + /// + /// The ID number type of an individual. + /// One of: ae_eid, br_cpf, de_stn, hk_id, mx_rfc, + /// my_nric, nl_bsn, sg_fin, sg_nric, th_lc, + /// th_pin, us_itin, us_itin_last_4, us_ssn, or + /// us_ssn_last_4. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The value of the ID number. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateOptions.cs new file mode 100644 index 0000000000..2fb119499b --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateOptions.cs @@ -0,0 +1,209 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateOptions : BaseOptions, IHasMetadata + { + /// + /// Additional addresses associated with the person. + /// + [JsonProperty("additional_addresses")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_addresses")] +#endif + public List AdditionalAddresses { get; set; } + + /// + /// Additional names (e.g. aliases) associated with the person. + /// + [JsonProperty("additional_names")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_names")] +#endif + public List AdditionalNames { get; set; } + + /// + /// Attestations of accepted terms of service agreements. + /// + [JsonProperty("additional_terms_of_service")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_terms_of_service")] +#endif + public PersonCreateAdditionalTermsOfServiceOptions AdditionalTermsOfService { get; set; } + + /// + /// The person's residential address. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public AddressJapanOptions Address { get; set; } + + /// + /// The person's date of birth. + /// + [JsonProperty("date_of_birth")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date_of_birth")] +#endif + public PersonCreateDateOfBirthOptions DateOfBirth { get; set; } + + /// + /// Documents that may be submitted to satisfy various informational requests. + /// + [JsonProperty("documents")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("documents")] +#endif + public PersonCreateDocumentsOptions Documents { get; set; } + + /// + /// Email. + /// + [JsonProperty("email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("email")] +#endif + public string Email { get; set; } + + /// + /// The person's first name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The identification numbers (e.g., SSN) associated with the person. + /// + [JsonProperty("id_numbers")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id_numbers")] +#endif + public List IdNumbers { get; set; } + + /// + /// The person's gender (International regulations require either "male" or "female"). + /// One of: female, or male. + /// + [JsonProperty("legal_gender")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("legal_gender")] +#endif + public string LegalGender { get; set; } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// The nationalities (countries) this person is associated with. + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("nationalities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nationalities")] +#endif + public List Nationalities { get; set; } + + /// + /// The phone number for this person. + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + + /// + /// The person's political exposure. + /// One of: existing, or none. + /// + [JsonProperty("political_exposure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("political_exposure")] +#endif + public string PoliticalExposure { get; set; } + + /// + /// The relationship that this person has with the Account's business or legal entity. + /// + [JsonProperty("relationship")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("relationship")] +#endif + public PersonCreateRelationshipOptions Relationship { get; set; } + + /// + /// The script addresses (e.g., non-Latin characters) associated with the person. + /// + [JsonProperty("script_addresses")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_addresses")] +#endif + public PersonCreateScriptAddressesOptions ScriptAddresses { get; set; } + + /// + /// The script names (e.g. non-Latin characters) associated with the person. + /// + [JsonProperty("script_names")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_names")] +#endif + public PersonCreateScriptNamesOptions ScriptNames { get; set; } + + /// + /// The person's last name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateRelationshipOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateRelationshipOptions.cs new file mode 100644 index 0000000000..3afeec32c0 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateRelationshipOptions.cs @@ -0,0 +1,74 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateRelationshipOptions : INestedOptions + { + /// + /// Indicates whether the person is a director of the associated legal entity. + /// + [JsonProperty("director")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("director")] +#endif + public bool? Director { get; set; } + + /// + /// Indicates whether the person is an executive of the associated legal entity. + /// + [JsonProperty("executive")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("executive")] +#endif + public bool? Executive { get; set; } + + /// + /// Indicates whether the person is a legal guardian of the associated legal entity. + /// + [JsonProperty("legal_guardian")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("legal_guardian")] +#endif + public bool? LegalGuardian { get; set; } + + /// + /// Indicates whether the person is an owner of the associated legal entity. + /// + [JsonProperty("owner")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("owner")] +#endif + public bool? Owner { get; set; } + + /// + /// The percentage of ownership the person has in the associated legal entity. + /// + [JsonProperty("percent_ownership")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("percent_ownership")] +#endif + public string PercentOwnership { get; set; } + + /// + /// Indicates whether the person is a representative of the associated legal entity. + /// + [JsonProperty("representative")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("representative")] +#endif + public bool? Representative { get; set; } + + /// + /// The title or position the person holds in the associated legal entity. + /// + [JsonProperty("title")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("title")] +#endif + public string Title { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptAddressesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptAddressesOptions.cs new file mode 100644 index 0000000000..22940f163c --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptAddressesOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateScriptAddressesOptions : INestedOptions + { + /// + /// Kana Address. + /// + [JsonProperty("kana")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] +#endif + public AddressJapanOptions Kana { get; set; } + + /// + /// Kanji Address. + /// + [JsonProperty("kanji")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] +#endif + public AddressJapanOptions Kanji { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptNamesKanaOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptNamesKanaOptions.cs new file mode 100644 index 0000000000..8644b95a0a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptNamesKanaOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateScriptNamesKanaOptions : INestedOptions + { + /// + /// The person's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The person's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptNamesKanjiOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptNamesKanjiOptions.cs new file mode 100644 index 0000000000..a4aee44862 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptNamesKanjiOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateScriptNamesKanjiOptions : INestedOptions + { + /// + /// The person's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The person's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptNamesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptNamesOptions.cs new file mode 100644 index 0000000000..062aca71db --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptNamesOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonCreateScriptNamesOptions : INestedOptions + { + /// + /// Persons name in kana script. + /// + [JsonProperty("kana")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] +#endif + public PersonCreateScriptNamesKanaOptions Kana { get; set; } + + /// + /// Persons name in kanji script. + /// + [JsonProperty("kanji")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] +#endif + public PersonCreateScriptNamesKanjiOptions Kanji { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonDeleteOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonDeleteOptions.cs new file mode 100644 index 0000000000..dad40c9667 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonDeleteOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + public class PersonDeleteOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonGetOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonGetOptions.cs new file mode 100644 index 0000000000..89a396cde8 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonGetOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + public class PersonGetOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonListOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonListOptions.cs new file mode 100644 index 0000000000..3599b7decf --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonListOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + public class PersonListOptions : V2.ListOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonService.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonService.cs new file mode 100644 index 0000000000..998135e88a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonService.cs @@ -0,0 +1,119 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using System; + using System.Collections.Generic; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class PersonService : Service + { + internal PersonService(ApiRequestor requestor) + : base(requestor) + { + } + + internal PersonService(IStripeClient client) + : base(client) + { + } + + /// + /// Create a Person associated with an Account. + /// + public virtual V2.Core.Person Create(string id, PersonCreateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/core/accounts/{WebUtility.UrlEncode(id)}/persons", options, requestOptions); + } + + /// + /// Create a Person associated with an Account. + /// + public virtual Task CreateAsync(string id, PersonCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/core/accounts/{WebUtility.UrlEncode(id)}/persons", options, requestOptions, cancellationToken); + } + + /// + /// Delete a Person associated with an Account. + /// + public virtual V2.Core.Person Delete(string parentId, string id, PersonDeleteOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Delete, $"/v2/core/accounts/{WebUtility.UrlEncode(parentId)}/persons/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Delete a Person associated with an Account. + /// + public virtual Task DeleteAsync(string parentId, string id, PersonDeleteOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Delete, $"/v2/core/accounts/{WebUtility.UrlEncode(parentId)}/persons/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// Retrieves a Person associated with an Account. + /// + public virtual V2.Core.Person Get(string parentId, string id, PersonGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/core/accounts/{WebUtility.UrlEncode(parentId)}/persons/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieves a Person associated with an Account. + /// + public virtual Task GetAsync(string parentId, string id, PersonGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/core/accounts/{WebUtility.UrlEncode(parentId)}/persons/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// Returns a list of Persons associated with an Account. + /// + public virtual V2.StripeList List(string id, PersonListOptions options = null, RequestOptions requestOptions = null) + { + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/core/accounts/{WebUtility.UrlEncode(id)}/persons", options, requestOptions); + } + + /// + /// Returns a list of Persons associated with an Account. + /// + public virtual Task> ListAsync(string id, PersonListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/core/accounts/{WebUtility.UrlEncode(id)}/persons", options, requestOptions, cancellationToken); + } + + /// + /// Returns a list of Persons associated with an Account. + /// + public virtual IEnumerable ListAutoPaging(string id, PersonListOptions options = null, RequestOptions requestOptions = null) + { + return this.ListRequestAutoPaging($"/v2/core/accounts/{WebUtility.UrlEncode(id)}/persons", options, requestOptions); + } + + /// + /// Returns a list of Persons associated with an Account. + /// + public virtual IAsyncEnumerable ListAutoPagingAsync(string id, PersonListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.ListRequestAutoPagingAsync($"/v2/core/accounts/{WebUtility.UrlEncode(id)}/persons", options, requestOptions, cancellationToken); + } + + /// + /// Updates a Person associated with an Account. + /// + public virtual V2.Core.Person Update(string parentId, string id, PersonUpdateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/core/accounts/{WebUtility.UrlEncode(parentId)}/persons/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Updates a Person associated with an Account. + /// + public virtual Task UpdateAsync(string parentId, string id, PersonUpdateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/core/accounts/{WebUtility.UrlEncode(parentId)}/persons/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalAddressOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalAddressOptions.cs new file mode 100644 index 0000000000..2b98c5be54 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalAddressOptions.cs @@ -0,0 +1,327 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateAdditionalAddressOptions : INestedOptions + { + [JsonProperty("city")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("city")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalCity { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyCity + { + get => this.InternalCity?.Empty ?? false; + set + { + this.InternalCity ??= new Emptyable(); + this.InternalCity.Empty = value; + } + } + + /// + /// City, district, suburb, town, or village. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string City + { + get => this.InternalCity?.Value; + set + { + this.InternalCity ??= new Emptyable(); + this.InternalCity.Value = value; + } + } + + [JsonProperty("country")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalCountry { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyCountry + { + get => this.InternalCountry?.Empty ?? false; + set + { + this.InternalCountry ??= new Emptyable(); + this.InternalCountry.Empty = value; + } + } + + /// + /// Two-letter country code (ISO + /// 3166-1 alpha-2). + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Country + { + get => this.InternalCountry?.Value; + set + { + this.InternalCountry ??= new Emptyable(); + this.InternalCountry.Value = value; + } + } + + [JsonProperty("line1")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line1")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalLine1 { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyLine1 + { + get => this.InternalLine1?.Empty ?? false; + set + { + this.InternalLine1 ??= new Emptyable(); + this.InternalLine1.Empty = value; + } + } + + /// + /// Address line 1 (e.g., street, PO Box, or company name). + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Line1 + { + get => this.InternalLine1?.Value; + set + { + this.InternalLine1 ??= new Emptyable(); + this.InternalLine1.Value = value; + } + } + + [JsonProperty("line2")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("line2")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalLine2 { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyLine2 + { + get => this.InternalLine2?.Empty ?? false; + set + { + this.InternalLine2 ??= new Emptyable(); + this.InternalLine2.Empty = value; + } + } + + /// + /// Address line 2 (e.g., apartment, suite, unit, or building). + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Line2 + { + get => this.InternalLine2?.Value; + set + { + this.InternalLine2 ??= new Emptyable(); + this.InternalLine2.Value = value; + } + } + + [JsonProperty("postal_code")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("postal_code")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalPostalCode { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyPostalCode + { + get => this.InternalPostalCode?.Empty ?? false; + set + { + this.InternalPostalCode ??= new Emptyable(); + this.InternalPostalCode.Empty = value; + } + } + + /// + /// ZIP or postal code. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string PostalCode + { + get => this.InternalPostalCode?.Value; + set + { + this.InternalPostalCode ??= new Emptyable(); + this.InternalPostalCode.Value = value; + } + } + + /// + /// Purpose of additional address. + /// + [JsonProperty("purpose")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("purpose")] +#endif + public string Purpose { get; set; } + + [JsonProperty("state")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("state")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalState { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyState + { + get => this.InternalState?.Empty ?? false; + set + { + this.InternalState ??= new Emptyable(); + this.InternalState.Empty = value; + } + } + + /// + /// State, county, province, or region. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string State + { + get => this.InternalState?.Value; + set + { + this.InternalState ??= new Emptyable(); + this.InternalState.Value = value; + } + } + + [JsonProperty("town")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("town")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalTown { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyTown + { + get => this.InternalTown?.Empty ?? false; + set + { + this.InternalTown ??= new Emptyable(); + this.InternalTown.Empty = value; + } + } + + /// + /// Town or cho-me. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Town + { + get => this.InternalTown?.Value; + set + { + this.InternalTown ??= new Emptyable(); + this.InternalTown.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalNameOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalNameOptions.cs new file mode 100644 index 0000000000..b890c2a386 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalNameOptions.cs @@ -0,0 +1,48 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateAdditionalNameOptions : INestedOptions + { + /// + /// The person's full name. + /// + [JsonProperty("full_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("full_name")] +#endif + public string FullName { get; set; } + + /// + /// The person's first or given name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The purpose or type of the additional name. + /// One of: alias, or maiden. + /// + [JsonProperty("purpose")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("purpose")] +#endif + public string Purpose { get; set; } + + /// + /// The person's last or family name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalTermsOfServiceAccountOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalTermsOfServiceAccountOptions.cs new file mode 100644 index 0000000000..89201cb34d --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalTermsOfServiceAccountOptions.cs @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateAdditionalTermsOfServiceAccountOptions : INestedOptions + { + /// + /// The time when the Account's representative accepted the terms of service. Represented as + /// a RFC 3339 date & time UTC value in millisecond precision, for example: + /// 2022-09-18T13:22:18.123Z. + /// + [JsonProperty("date")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date")] +#endif + public DateTime? Date { get; set; } + + /// + /// The IP address from which the Account's representative accepted the terms of service. + /// + [JsonProperty("ip")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("ip")] +#endif + public string Ip { get; set; } + + /// + /// The user agent of the browser from which the Account's representative accepted the terms + /// of service. + /// + [JsonProperty("user_agent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("user_agent")] +#endif + public string UserAgent { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalTermsOfServiceOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalTermsOfServiceOptions.cs new file mode 100644 index 0000000000..70943494c8 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalTermsOfServiceOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateAdditionalTermsOfServiceOptions : INestedOptions + { + /// + /// Stripe terms of service agreement. + /// + [JsonProperty("account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account")] +#endif + public PersonUpdateAdditionalTermsOfServiceAccountOptions Account { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDateOfBirthOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDateOfBirthOptions.cs new file mode 100644 index 0000000000..c77f3d3b93 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDateOfBirthOptions.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateDateOfBirthOptions : INestedOptions + { + /// + /// The day of the birth. + /// + [JsonProperty("day")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("day")] +#endif + public long? Day { get; set; } + + /// + /// The month of birth. + /// + [JsonProperty("month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("month")] +#endif + public long? Month { get; set; } + + /// + /// The year of birth. + /// + [JsonProperty("year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("year")] +#endif + public long? Year { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsCompanyAuthorizationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsCompanyAuthorizationOptions.cs new file mode 100644 index 0000000000..16fabdda98 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsCompanyAuthorizationOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateDocumentsCompanyAuthorizationOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsOptions.cs new file mode 100644 index 0000000000..daa399dc1f --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsOptions.cs @@ -0,0 +1,120 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateDocumentsOptions : INestedOptions + { + /// + /// One or more documents that demonstrate proof that this person is authorized to represent + /// the company. + /// + [JsonProperty("company_authorization")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("company_authorization")] +#endif + public PersonUpdateDocumentsCompanyAuthorizationOptions CompanyAuthorization { get; set; } + + /// + /// One or more documents showing the person’s passport page with photo and personal data. + /// + [JsonProperty("passport")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("passport")] +#endif + public PersonUpdateDocumentsPassportOptions Passport { get; set; } + + [JsonProperty("primary_verification")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("primary_verification")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalPrimaryVerification { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyPrimaryVerification + { + get => this.InternalPrimaryVerification?.Empty ?? false; + set + { + this.InternalPrimaryVerification ??= new Emptyable(); + this.InternalPrimaryVerification.Empty = value; + } + } + + /// + /// An identifying document showing the person's name, either a passport or local ID card. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public PersonUpdateDocumentsPrimaryVerificationOptions PrimaryVerification + { + get => this.InternalPrimaryVerification?.Value; + set + { + this.InternalPrimaryVerification ??= new Emptyable(); + this.InternalPrimaryVerification.Value = value; + } + } + + [JsonProperty("secondary_verification")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("secondary_verification")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalSecondaryVerification { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptySecondaryVerification + { + get => this.InternalSecondaryVerification?.Empty ?? false; + set + { + this.InternalSecondaryVerification ??= new Emptyable(); + this.InternalSecondaryVerification.Empty = value; + } + } + + /// + /// A document showing address, either a passport, local ID card, or utility bill from a + /// well-known utility company. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public PersonUpdateDocumentsSecondaryVerificationOptions SecondaryVerification + { + get => this.InternalSecondaryVerification?.Value; + set + { + this.InternalSecondaryVerification ??= new Emptyable(); + this.InternalSecondaryVerification.Value = value; + } + } + + /// + /// One or more documents showing the person’s visa required for living in the country where + /// they are residing. + /// + [JsonProperty("visa")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("visa")] +#endif + public PersonUpdateDocumentsVisaOptions Visa { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsPassportOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsPassportOptions.cs new file mode 100644 index 0000000000..c0eab48429 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsPassportOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateDocumentsPassportOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsPrimaryVerificationFrontBackOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsPrimaryVerificationFrontBackOptions.cs new file mode 100644 index 0000000000..b180df2701 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsPrimaryVerificationFrontBackOptions.cs @@ -0,0 +1,66 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateDocumentsPrimaryVerificationFrontBackOptions : INestedOptions + { + [JsonProperty("back")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalBack { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyBack + { + get => this.InternalBack?.Empty ?? false; + set + { + this.InternalBack ??= new Emptyable(); + this.InternalBack.Empty = value; + } + } + + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Back + { + get => this.InternalBack?.Value; + set + { + this.InternalBack ??= new Emptyable(); + this.InternalBack.Value = value; + } + } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsPrimaryVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsPrimaryVerificationOptions.cs new file mode 100644 index 0000000000..2f9734658e --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsPrimaryVerificationOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateDocumentsPrimaryVerificationOptions : INestedOptions + { + /// + /// The file upload + /// tokens referring to each side of the document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public PersonUpdateDocumentsPrimaryVerificationFrontBackOptions FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsSecondaryVerificationFrontBackOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsSecondaryVerificationFrontBackOptions.cs new file mode 100644 index 0000000000..d3a667bfe6 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsSecondaryVerificationFrontBackOptions.cs @@ -0,0 +1,66 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateDocumentsSecondaryVerificationFrontBackOptions : INestedOptions + { + [JsonProperty("back")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("back")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalBack { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyBack + { + get => this.InternalBack?.Empty ?? false; + set + { + this.InternalBack ??= new Emptyable(); + this.InternalBack.Empty = value; + } + } + + /// + /// A file upload token + /// representing the back of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Back + { + get => this.InternalBack?.Value; + set + { + this.InternalBack ??= new Emptyable(); + this.InternalBack.Value = value; + } + } + + /// + /// A file upload token + /// representing the front of the verification document. The purpose of the uploaded file + /// should be 'identity_document'. The uploaded file needs to be a color image (smaller than + /// 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + /// + [JsonProperty("front")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front")] +#endif + public string Front { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsSecondaryVerificationOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsSecondaryVerificationOptions.cs new file mode 100644 index 0000000000..653913fa6f --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsSecondaryVerificationOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateDocumentsSecondaryVerificationOptions : INestedOptions + { + /// + /// The file upload + /// tokens referring to each side of the document. + /// + [JsonProperty("front_back")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("front_back")] +#endif + public PersonUpdateDocumentsSecondaryVerificationFrontBackOptions FrontBack { get; set; } + + /// + /// The format of the verification document. Currently supports front_back only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsVisaOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsVisaOptions.cs new file mode 100644 index 0000000000..69ae43e50a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsVisaOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateDocumentsVisaOptions : INestedOptions + { + /// + /// One or more document IDs returned by a file upload with a + /// purpose value of account_requirement. + /// + [JsonProperty("files")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("files")] +#endif + public List Files { get; set; } + + /// + /// The format of the document. Currently supports files only. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateIdNumberOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateIdNumberOptions.cs new file mode 100644 index 0000000000..3c13f6b900 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateIdNumberOptions.cs @@ -0,0 +1,33 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateIdNumberOptions : INestedOptions + { + /// + /// The ID number type of an individual. + /// One of: ae_eid, br_cpf, de_stn, hk_id, mx_rfc, + /// my_nric, nl_bsn, sg_fin, sg_nric, th_lc, + /// th_pin, us_itin, us_itin_last_4, us_ssn, or + /// us_ssn_last_4. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The value of the ID number. + /// + [JsonProperty("value")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("value")] +#endif + public string Value { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateOptions.cs new file mode 100644 index 0000000000..2481423f72 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateOptions.cs @@ -0,0 +1,270 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using System.Collections.Generic; + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateOptions : BaseOptions, IHasMetadata + { + /// + /// Additional addresses associated with the person. + /// + [JsonProperty("additional_addresses")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_addresses")] +#endif + public List AdditionalAddresses { get; set; } + + /// + /// Additional names (e.g. aliases) associated with the person. + /// + [JsonProperty("additional_names")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_names")] +#endif + public List AdditionalNames { get; set; } + + /// + /// Attestations of accepted terms of service agreements. + /// + [JsonProperty("additional_terms_of_service")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("additional_terms_of_service")] +#endif + public PersonUpdateAdditionalTermsOfServiceOptions AdditionalTermsOfService { get; set; } + + /// + /// The primary address associated with the person. + /// + [JsonProperty("address")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("address")] +#endif + public AddressJapanOptions Address { get; set; } + + /// + /// The person's date of birth. + /// + [JsonProperty("date_of_birth")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("date_of_birth")] +#endif + public PersonUpdateDateOfBirthOptions DateOfBirth { get; set; } + + /// + /// Documents that may be submitted to satisfy various informational requests. + /// + [JsonProperty("documents")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("documents")] +#endif + public PersonUpdateDocumentsOptions Documents { get; set; } + + /// + /// Email. + /// + [JsonProperty("email")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("email")] +#endif + public string Email { get; set; } + + /// + /// The person's first name. + /// + [JsonProperty("given_name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] +#endif + public string GivenName { get; set; } + + /// + /// The identification numbers (e.g., SSN) associated with the person. + /// + [JsonProperty("id_numbers")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("id_numbers")] +#endif + public List IdNumbers { get; set; } + + /// + /// The person's gender (International regulations require either "male" or "female"). + /// One of: female, or male. + /// + [JsonProperty("legal_gender")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("legal_gender")] +#endif + public string LegalGender { get; set; } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// The nationalities (countries) this person is associated with. + /// One of: ad, ae, af, ag, ai, al, am, + /// ao, aq, ar, as, at, au, aw, ax, + /// az, ba, bb, bd, be, bf, bg, bh, + /// bi, bj, bl, bm, bn, bo, bq, br, + /// bs, bt, bv, bw, by, bz, ca, cc, + /// cd, cf, cg, ch, ci, ck, cl, cm, + /// cn, co, cr, cu, cv, cw, cx, cy, + /// cz, de, dj, dk, dm, do, dz, ec, + /// ee, eg, eh, er, es, et, fi, fj, + /// fk, fm, fo, fr, ga, gb, gd, ge, + /// gf, gg, gh, gi, gl, gm, gn, gp, + /// gq, gr, gs, gt, gu, gw, gy, hk, + /// hm, hn, hr, ht, hu, id, ie, il, + /// im, in, io, iq, ir, is, it, je, + /// jm, jo, jp, ke, kg, kh, ki, km, + /// kn, kp, kr, kw, ky, kz, la, lb, + /// lc, li, lk, lr, ls, lt, lu, lv, + /// ly, ma, mc, md, me, mf, mg, mh, + /// mk, ml, mm, mn, mo, mp, mq, mr, + /// ms, mt, mu, mv, mw, mx, my, mz, + /// na, nc, ne, nf, ng, ni, nl, no, + /// np, nr, nu, nz, om, pa, pe, pf, + /// pg, ph, pk, pl, pm, pn, pr, ps, + /// pt, pw, py, qa, qz, re, ro, rs, + /// ru, rw, sa, sb, sc, sd, se, sg, + /// sh, si, sj, sk, sl, sm, sn, so, + /// sr, ss, st, sv, sx, sy, sz, tc, + /// td, tf, tg, th, tj, tk, tl, tm, + /// tn, to, tr, tt, tv, tw, tz, ua, + /// ug, um, us, uy, uz, va, vc, ve, + /// vg, vi, vn, vu, wf, ws, ye, yt, + /// za, zm, or zw. + /// + [JsonProperty("nationalities")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nationalities")] +#endif + public List Nationalities { get; set; } + + /// + /// The phone number for this person. + /// + [JsonProperty("phone")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("phone")] +#endif + public string Phone { get; set; } + + /// + /// The person's political exposure. + /// One of: existing, or none. + /// + [JsonProperty("political_exposure")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("political_exposure")] +#endif + public string PoliticalExposure { get; set; } + + /// + /// The relationship that this person has with the Account's business or legal entity. + /// + [JsonProperty("relationship")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("relationship")] +#endif + public PersonUpdateRelationshipOptions Relationship { get; set; } + + [JsonProperty("script_addresses")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_addresses")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalScriptAddresses { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyScriptAddresses + { + get => this.InternalScriptAddresses?.Empty ?? false; + set + { + this.InternalScriptAddresses ??= new Emptyable(); + this.InternalScriptAddresses.Empty = value; + } + } + + /// + /// The script addresses (e.g., non-Latin characters) associated with the person. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public PersonUpdateScriptAddressesOptions ScriptAddresses + { + get => this.InternalScriptAddresses?.Value; + set + { + this.InternalScriptAddresses ??= new Emptyable(); + this.InternalScriptAddresses.Value = value; + } + } + + [JsonProperty("script_names")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("script_names")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalScriptNames { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyScriptNames + { + get => this.InternalScriptNames?.Empty ?? false; + set + { + this.InternalScriptNames ??= new Emptyable(); + this.InternalScriptNames.Empty = value; + } + } + + /// + /// The script names (e.g. non-Latin characters) associated with the person. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public PersonUpdateScriptNamesOptions ScriptNames + { + get => this.InternalScriptNames?.Value; + set + { + this.InternalScriptNames ??= new Emptyable(); + this.InternalScriptNames.Value = value; + } + } + + /// + /// The person's last name. + /// + [JsonProperty("surname")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] +#endif + public string Surname { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateRelationshipOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateRelationshipOptions.cs new file mode 100644 index 0000000000..5cec4d7fef --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateRelationshipOptions.cs @@ -0,0 +1,74 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateRelationshipOptions : INestedOptions + { + /// + /// Indicates whether the person is a director of the associated legal entity. + /// + [JsonProperty("director")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("director")] +#endif + public bool? Director { get; set; } + + /// + /// Indicates whether the person is an executive of the associated legal entity. + /// + [JsonProperty("executive")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("executive")] +#endif + public bool? Executive { get; set; } + + /// + /// Indicates whether the person is a legal guardian of the associated legal entity. + /// + [JsonProperty("legal_guardian")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("legal_guardian")] +#endif + public bool? LegalGuardian { get; set; } + + /// + /// Indicates whether the person is an owner of the associated legal entity. + /// + [JsonProperty("owner")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("owner")] +#endif + public bool? Owner { get; set; } + + /// + /// The percentage of ownership the person has in the associated legal entity. + /// + [JsonProperty("percent_ownership")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("percent_ownership")] +#endif + public string PercentOwnership { get; set; } + + /// + /// Indicates whether the person is a representative of the associated legal entity. + /// + [JsonProperty("representative")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("representative")] +#endif + public bool? Representative { get; set; } + + /// + /// The title or position the person holds in the associated legal entity. + /// + [JsonProperty("title")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("title")] +#endif + public string Title { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptAddressesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptAddressesOptions.cs new file mode 100644 index 0000000000..7cc57ad2e4 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptAddressesOptions.cs @@ -0,0 +1,90 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateScriptAddressesOptions : INestedOptions + { + [JsonProperty("kana")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalKana { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyKana + { + get => this.InternalKana?.Empty ?? false; + set + { + this.InternalKana ??= new Emptyable(); + this.InternalKana.Empty = value; + } + } + + /// + /// Kana Address. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AddressJapanOptions Kana + { + get => this.InternalKana?.Value; + set + { + this.InternalKana ??= new Emptyable(); + this.InternalKana.Value = value; + } + } + + [JsonProperty("kanji")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalKanji { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyKanji + { + get => this.InternalKanji?.Empty ?? false; + set + { + this.InternalKanji ??= new Emptyable(); + this.InternalKanji.Empty = value; + } + } + + /// + /// Kanji Address. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public AddressJapanOptions Kanji + { + get => this.InternalKanji?.Value; + set + { + this.InternalKanji ??= new Emptyable(); + this.InternalKanji.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptNamesKanaOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptNamesKanaOptions.cs new file mode 100644 index 0000000000..4b98f23871 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptNamesKanaOptions.cs @@ -0,0 +1,90 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateScriptNamesKanaOptions : INestedOptions + { + [JsonProperty("given_name")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalGivenName { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyGivenName + { + get => this.InternalGivenName?.Empty ?? false; + set + { + this.InternalGivenName ??= new Emptyable(); + this.InternalGivenName.Empty = value; + } + } + + /// + /// The person's first or given name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GivenName + { + get => this.InternalGivenName?.Value; + set + { + this.InternalGivenName ??= new Emptyable(); + this.InternalGivenName.Value = value; + } + } + + [JsonProperty("surname")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalSurname { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptySurname + { + get => this.InternalSurname?.Empty ?? false; + set + { + this.InternalSurname ??= new Emptyable(); + this.InternalSurname.Empty = value; + } + } + + /// + /// The person's last or family name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Surname + { + get => this.InternalSurname?.Value; + set + { + this.InternalSurname ??= new Emptyable(); + this.InternalSurname.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptNamesKanjiOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptNamesKanjiOptions.cs new file mode 100644 index 0000000000..ac18ba06f3 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptNamesKanjiOptions.cs @@ -0,0 +1,90 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateScriptNamesKanjiOptions : INestedOptions + { + [JsonProperty("given_name")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("given_name")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalGivenName { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyGivenName + { + get => this.InternalGivenName?.Empty ?? false; + set + { + this.InternalGivenName ??= new Emptyable(); + this.InternalGivenName.Empty = value; + } + } + + /// + /// The person's first or given name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string GivenName + { + get => this.InternalGivenName?.Value; + set + { + this.InternalGivenName ??= new Emptyable(); + this.InternalGivenName.Value = value; + } + } + + [JsonProperty("surname")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("surname")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalSurname { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptySurname + { + get => this.InternalSurname?.Empty ?? false; + set + { + this.InternalSurname ??= new Emptyable(); + this.InternalSurname.Empty = value; + } + } + + /// + /// The person's last or family name. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public string Surname + { + get => this.InternalSurname?.Value; + set + { + this.InternalSurname ??= new Emptyable(); + this.InternalSurname.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptNamesOptions.cs b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptNamesOptions.cs new file mode 100644 index 0000000000..d25b070fa2 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptNamesOptions.cs @@ -0,0 +1,90 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Accounts +{ + using Newtonsoft.Json; + using Stripe.Infrastructure; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PersonUpdateScriptNamesOptions : INestedOptions + { + [JsonProperty("kana")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kana")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalKana { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyKana + { + get => this.InternalKana?.Empty ?? false; + set + { + this.InternalKana ??= new Emptyable(); + this.InternalKana.Empty = value; + } + } + + /// + /// Persons name in kana script. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public PersonUpdateScriptNamesKanaOptions Kana + { + get => this.InternalKana?.Value; + set + { + this.InternalKana ??= new Emptyable(); + this.InternalKana.Value = value; + } + } + + [JsonProperty("kanji")] + [JsonConverter(typeof(EmptyableConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("kanji")] + [STJS.JsonConverter(typeof(STJEmptyableConverter))] +#endif + internal Emptyable InternalKanji { get; set; } + + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public bool EmptyKanji + { + get => this.InternalKanji?.Empty ?? false; + set + { + this.InternalKanji ??= new Emptyable(); + this.InternalKanji.Empty = value; + } + } + + /// + /// Persons name in kanji script. + /// + [JsonIgnore] +#if NET6_0_OR_GREATER + [STJS.JsonIgnore] +#endif + public PersonUpdateScriptNamesKanjiOptions Kanji + { + get => this.InternalKanji?.Value; + set + { + this.InternalKanji ??= new Emptyable(); + this.InternalKanji.Value = value; + } + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/EventDestinations/EventDestinationListOptions.cs b/src/Stripe.net/Services/V2/Core/EventDestinations/EventDestinationListOptions.cs index ec38828739..786c1b6689 100644 --- a/src/Stripe.net/Services/V2/Core/EventDestinations/EventDestinationListOptions.cs +++ b/src/Stripe.net/Services/V2/Core/EventDestinations/EventDestinationListOptions.cs @@ -18,14 +18,5 @@ public class EventDestinationListOptions : V2.ListOptions [STJS.JsonPropertyName("include")] #endif public List Include { get; set; } - - /// - /// The requested page. - /// - [JsonProperty("page")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("page")] -#endif - public string Page { get; set; } } } diff --git a/src/Stripe.net/Services/V2/Core/Events/EventListOptions.cs b/src/Stripe.net/Services/V2/Core/Events/EventListOptions.cs index e6102286fa..49db479c1a 100644 --- a/src/Stripe.net/Services/V2/Core/Events/EventListOptions.cs +++ b/src/Stripe.net/Services/V2/Core/Events/EventListOptions.cs @@ -16,14 +16,5 @@ public class EventListOptions : V2.ListOptions [STJS.JsonPropertyName("object_id")] #endif public string ObjectId { get; set; } - - /// - /// The requested page. - /// - [JsonProperty("page")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("page")] -#endif - public string Page { get; set; } } } diff --git a/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountAcknowledgeConfirmationOfPayeeOptions.cs b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountAcknowledgeConfirmationOfPayeeOptions.cs new file mode 100644 index 0000000000..78f8574ae5 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountAcknowledgeConfirmationOfPayeeOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + public class GbBankAccountAcknowledgeConfirmationOfPayeeOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountArchiveOptions.cs b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountArchiveOptions.cs new file mode 100644 index 0000000000..b13604bc7e --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountArchiveOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + public class GbBankAccountArchiveOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountCreateConfirmationOfPayeeOptions.cs b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountCreateConfirmationOfPayeeOptions.cs new file mode 100644 index 0000000000..0df70d8142 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountCreateConfirmationOfPayeeOptions.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class GbBankAccountCreateConfirmationOfPayeeOptions : INestedOptions + { + /// + /// The business type to be checked against. Legal entity information will be used if + /// unspecified. Closed enum. + /// One of: business, or personal. + /// + [JsonProperty("business_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("business_type")] +#endif + public string BusinessType { get; set; } + + /// + /// User specifies whether Confirmation of Payee is automatically initiated when creating + /// the bank account. + /// + [JsonProperty("initiate")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("initiate")] +#endif + public bool? Initiate { get; set; } + + /// + /// The name to be checked against. Legal entity information will be used if unspecified. + /// + [JsonProperty("name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("name")] +#endif + public string Name { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountCreateOptions.cs b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountCreateOptions.cs new file mode 100644 index 0000000000..38621b203c --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountCreateOptions.cs @@ -0,0 +1,50 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class GbBankAccountCreateOptions : BaseOptions + { + /// + /// The Account Number of the bank account. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// Closed Enum. The type of the bank account (checking or savings). + /// One of: checking, or savings. + /// + [JsonProperty("bank_account_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account_type")] +#endif + public string BankAccountType { get; set; } + + /// + /// Whether or not to automatically perform Confirmation of Payee to verify the users + /// information against what was provided by the bank. Doing so is required for all bank + /// accounts not owned by you before making domestic UK OutboundPayments. + /// + [JsonProperty("confirmation_of_payee")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("confirmation_of_payee")] +#endif + public GbBankAccountCreateConfirmationOfPayeeOptions ConfirmationOfPayee { get; set; } + + /// + /// The Sort Code of the bank account. + /// + [JsonProperty("sort_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("sort_code")] +#endif + public string SortCode { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountGetOptions.cs b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountGetOptions.cs new file mode 100644 index 0000000000..c7da98cc95 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountGetOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + public class GbBankAccountGetOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountInitiateConfirmationOfPayeeOptions.cs b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountInitiateConfirmationOfPayeeOptions.cs new file mode 100644 index 0000000000..25fc502d97 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountInitiateConfirmationOfPayeeOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class GbBankAccountInitiateConfirmationOfPayeeOptions : BaseOptions + { + /// + /// The business type to be checked against. Legal entity information will be used if + /// unspecified. + /// One of: business, or personal. + /// + [JsonProperty("business_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("business_type")] +#endif + public string BusinessType { get; set; } + + /// + /// The name of the user to be checked against. Legal entity information will be used if + /// unspecified. + /// + [JsonProperty("name")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("name")] +#endif + public string Name { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountService.cs b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountService.cs new file mode 100644 index 0000000000..145284e249 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountService.cs @@ -0,0 +1,118 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using System; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class GbBankAccountService : Service + { + internal GbBankAccountService(ApiRequestor requestor) + : base(requestor) + { + } + + internal GbBankAccountService(IStripeClient client) + : base(client) + { + } + + /// + /// Confirm that you have received the result of the Confirmation of Payee request, and that + /// you are okay with proceeding to pay out to this bank account despite the account not + /// matching, partially matching, or the service being unavailable. Once you confirm this, + /// you will be able to send OutboundPayments, but this may lead to funds being sent to the + /// wrong account, which we might not be able to recover. + /// + public virtual GbBankAccount AcknowledgeConfirmationOfPayee(string id, GbBankAccountAcknowledgeConfirmationOfPayeeOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/gb_bank_accounts/{WebUtility.UrlEncode(id)}/acknowledge_confirmation_of_payee", options, requestOptions); + } + + /// + /// Confirm that you have received the result of the Confirmation of Payee request, and that + /// you are okay with proceeding to pay out to this bank account despite the account not + /// matching, partially matching, or the service being unavailable. Once you confirm this, + /// you will be able to send OutboundPayments, but this may lead to funds being sent to the + /// wrong account, which we might not be able to recover. + /// + public virtual Task AcknowledgeConfirmationOfPayeeAsync(string id, GbBankAccountAcknowledgeConfirmationOfPayeeOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/gb_bank_accounts/{WebUtility.UrlEncode(id)}/acknowledge_confirmation_of_payee", options, requestOptions, cancellationToken); + } + + /// + /// Archive a GbBankAccount object. Archived GbBankAccount objects cannot be used as + /// outbound destinations and will not appear in the outbound destination list. + /// + public virtual GbBankAccount Archive(string id, GbBankAccountArchiveOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/gb_bank_accounts/{WebUtility.UrlEncode(id)}/archive", options, requestOptions); + } + + /// + /// Archive a GbBankAccount object. Archived GbBankAccount objects cannot be used as + /// outbound destinations and will not appear in the outbound destination list. + /// + public virtual Task ArchiveAsync(string id, GbBankAccountArchiveOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/gb_bank_accounts/{WebUtility.UrlEncode(id)}/archive", options, requestOptions, cancellationToken); + } + + /// + /// Create a GB bank account. + /// + public virtual GbBankAccount Create(GbBankAccountCreateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/gb_bank_accounts", options, requestOptions); + } + + /// + /// Create a GB bank account. + /// + public virtual Task CreateAsync(GbBankAccountCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/gb_bank_accounts", options, requestOptions, cancellationToken); + } + + /// + /// Retrieve a GB bank account. + /// + public virtual GbBankAccount Get(string id, GbBankAccountGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/core/vault/gb_bank_accounts/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieve a GB bank account. + /// + public virtual Task GetAsync(string id, GbBankAccountGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/core/vault/gb_bank_accounts/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// Initiate Confirmation of Payee (CoP) in order to verify that the owner of a UK bank + /// account matches who you expect. This must be done on all UK bank accounts before sending + /// domestic OutboundPayments. If the result is a partial match or a non match, explicit + /// acknowledgement using AcknowledgeConfirmationOfPayee is required before sending funds. + /// + public virtual GbBankAccount InitiateConfirmationOfPayee(string id, GbBankAccountInitiateConfirmationOfPayeeOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/gb_bank_accounts/{WebUtility.UrlEncode(id)}/initiate_confirmation_of_payee", options, requestOptions); + } + + /// + /// Initiate Confirmation of Payee (CoP) in order to verify that the owner of a UK bank + /// account matches who you expect. This must be done on all UK bank accounts before sending + /// domestic OutboundPayments. If the result is a partial match or a non match, explicit + /// acknowledgement using AcknowledgeConfirmationOfPayee is required before sending funds. + /// + public virtual Task InitiateConfirmationOfPayeeAsync(string id, GbBankAccountInitiateConfirmationOfPayeeOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/gb_bank_accounts/{WebUtility.UrlEncode(id)}/initiate_confirmation_of_payee", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountArchiveOptions.cs b/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountArchiveOptions.cs new file mode 100644 index 0000000000..eb87fb47e6 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountArchiveOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + public class UsBankAccountArchiveOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountCreateOptions.cs b/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountCreateOptions.cs new file mode 100644 index 0000000000..abb5ddfb4a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountCreateOptions.cs @@ -0,0 +1,50 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class UsBankAccountCreateOptions : BaseOptions + { + /// + /// The account number of the bank account. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// Closed Enum. The type of the bank account (checking or savings). + /// One of: checking, or savings. + /// + [JsonProperty("bank_account_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account_type")] +#endif + public string BankAccountType { get; set; } + + /// + /// The fedwire routing number of the bank account. Note that certain banks have the same + /// ACH and wire routing number. + /// + [JsonProperty("fedwire_routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fedwire_routing_number")] +#endif + public string FedwireRoutingNumber { get; set; } + + /// + /// The ACH routing number of the bank account. Note that certain banks have the same ACH + /// and wire routing number. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountGetOptions.cs b/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountGetOptions.cs new file mode 100644 index 0000000000..10c257261b --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountGetOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + public class UsBankAccountGetOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountService.cs b/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountService.cs new file mode 100644 index 0000000000..ca1f7a19cc --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountService.cs @@ -0,0 +1,92 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using System; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class UsBankAccountService : Service + { + internal UsBankAccountService(ApiRequestor requestor) + : base(requestor) + { + } + + internal UsBankAccountService(IStripeClient client) + : base(client) + { + } + + /// + /// Archive a UsBankAccount object. UsBankAccount objects will not be automatically archived + /// by Stripe. Archived UsBankAccount objects cannot be used as outbound destinations and + /// will not appear in the outbound destination list. + /// + public virtual UsBankAccount Archive(string id, UsBankAccountArchiveOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/us_bank_accounts/{WebUtility.UrlEncode(id)}/archive", options, requestOptions); + } + + /// + /// Archive a UsBankAccount object. UsBankAccount objects will not be automatically archived + /// by Stripe. Archived UsBankAccount objects cannot be used as outbound destinations and + /// will not appear in the outbound destination list. + /// + public virtual Task ArchiveAsync(string id, UsBankAccountArchiveOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/us_bank_accounts/{WebUtility.UrlEncode(id)}/archive", options, requestOptions, cancellationToken); + } + + /// + /// Create a UsBankAccount object. + /// + public virtual UsBankAccount Create(UsBankAccountCreateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/us_bank_accounts", options, requestOptions); + } + + /// + /// Create a UsBankAccount object. + /// + public virtual Task CreateAsync(UsBankAccountCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/us_bank_accounts", options, requestOptions, cancellationToken); + } + + /// + /// Retrieve a UsBankAccount object. + /// + public virtual UsBankAccount Get(string id, UsBankAccountGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/core/vault/us_bank_accounts/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieve a UsBankAccount object. + /// + public virtual Task GetAsync(string id, UsBankAccountGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/core/vault/us_bank_accounts/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// Update a UsBankAccount object. This is limited to supplying a previously empty + /// routing_number field. + /// + public virtual UsBankAccount Update(string id, UsBankAccountUpdateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/us_bank_accounts/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Update a UsBankAccount object. This is limited to supplying a previously empty + /// routing_number field. + /// + public virtual Task UpdateAsync(string id, UsBankAccountUpdateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/core/vault/us_bank_accounts/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountUpdateOptions.cs b/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountUpdateOptions.cs new file mode 100644 index 0000000000..c8d097e7e9 --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountUpdateOptions.cs @@ -0,0 +1,31 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core.Vault +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class UsBankAccountUpdateOptions : BaseOptions + { + /// + /// The bank account's fedwire routing number can be provided for update it was were empty + /// previously. + /// + [JsonProperty("fedwire_routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("fedwire_routing_number")] +#endif + public string FedwireRoutingNumber { get; set; } + + /// + /// The bank account's ACH routing number can be provided for update if it was empty + /// previously. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/Core/VaultService.cs b/src/Stripe.net/Services/V2/Core/VaultService.cs new file mode 100644 index 0000000000..7d7857649a --- /dev/null +++ b/src/Stripe.net/Services/V2/Core/VaultService.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.Core +{ + using System; + using System.Threading; + using System.Threading.Tasks; + + public class VaultService : Service + { + private V2.Core.Vault.GbBankAccountService gbBankAccounts; + private V2.Core.Vault.UsBankAccountService usBankAccounts; + + internal VaultService(ApiRequestor requestor) + : base(requestor) + { + } + + internal VaultService(IStripeClient client) + : base(client) + { + } + + public virtual V2.Core.Vault.GbBankAccountService GbBankAccounts => this.gbBankAccounts ??= new V2.Core.Vault.GbBankAccountService( + this.Requestor); + + public virtual V2.Core.Vault.UsBankAccountService UsBankAccounts => this.usBankAccounts ??= new V2.Core.Vault.UsBankAccountService( + this.Requestor); + } +} diff --git a/src/Stripe.net/Services/V2/CoreService.cs b/src/Stripe.net/Services/V2/CoreService.cs index 3ff5f60ffc..48e1f7c95a 100644 --- a/src/Stripe.net/Services/V2/CoreService.cs +++ b/src/Stripe.net/Services/V2/CoreService.cs @@ -7,8 +7,10 @@ namespace Stripe.V2 public class CoreService : Service { + private V2.Core.AccountService accounts; private V2.Core.EventDestinationService eventDestinations; private V2.Core.EventService events; + private V2.Core.VaultService vault; internal CoreService(ApiRequestor requestor) : base(requestor) @@ -20,10 +22,16 @@ internal CoreService(IStripeClient client) { } + public virtual V2.Core.AccountService Accounts => this.accounts ??= new V2.Core.AccountService( + this.Requestor); + public virtual V2.Core.EventDestinationService EventDestinations => this.eventDestinations ??= new V2.Core.EventDestinationService( this.Requestor); public virtual V2.Core.EventService Events => this.events ??= new V2.Core.EventService( this.Requestor); + + public virtual V2.Core.VaultService Vault => this.vault ??= new V2.Core.VaultService( + this.Requestor); } } diff --git a/src/Stripe.net/Services/V2/MoneyManagement/FinancialAccounts/FinancialAccountGetOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAccounts/FinancialAccountGetOptions.cs new file mode 100644 index 0000000000..9df618f5e4 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAccounts/FinancialAccountGetOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class FinancialAccountGetOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/FinancialAccounts/FinancialAccountListOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAccounts/FinancialAccountListOptions.cs new file mode 100644 index 0000000000..cd344bfcef --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAccounts/FinancialAccountListOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class FinancialAccountListOptions : V2.ListOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/FinancialAccounts/FinancialAccountService.cs b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAccounts/FinancialAccountService.cs new file mode 100644 index 0000000000..56349e446e --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAccounts/FinancialAccountService.cs @@ -0,0 +1,71 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Collections.Generic; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class FinancialAccountService : Service + { + internal FinancialAccountService(ApiRequestor requestor) + : base(requestor) + { + } + + internal FinancialAccountService(IStripeClient client) + : base(client) + { + } + + /// + /// Retrieves the details of an existing FinancialAccount. + /// + public virtual V2.FinancialAccount Get(string id, FinancialAccountGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/financial_accounts/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieves the details of an existing FinancialAccount. + /// + public virtual Task GetAsync(string id, FinancialAccountGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/financial_accounts/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// Lists FinancialAccounts in this compartment. + /// + public virtual V2.StripeList List(FinancialAccountListOptions options = null, RequestOptions requestOptions = null) + { + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/financial_accounts", options, requestOptions); + } + + /// + /// Lists FinancialAccounts in this compartment. + /// + public virtual Task> ListAsync(FinancialAccountListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/financial_accounts", options, requestOptions, cancellationToken); + } + + /// + /// Lists FinancialAccounts in this compartment. + /// + public virtual IEnumerable ListAutoPaging(FinancialAccountListOptions options = null, RequestOptions requestOptions = null) + { + return this.ListRequestAutoPaging($"/v2/money_management/financial_accounts", options, requestOptions); + } + + /// + /// Lists FinancialAccounts in this compartment. + /// + public virtual IAsyncEnumerable ListAutoPagingAsync(FinancialAccountListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.ListRequestAutoPagingAsync($"/v2/money_management/financial_accounts", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressCreateOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressCreateOptions.cs new file mode 100644 index 0000000000..46f00609d6 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressCreateOptions.cs @@ -0,0 +1,56 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class FinancialAddressCreateOptions : BaseOptions + { + /// + /// Open Enum. The currency the FinancialAddress should support. Currently, only the + /// usd and gbp values are supported. + /// One of: aed, afn, all, amd, ang, aoa, + /// ars, aud, awg, azn, bam, bbd, bdt, + /// bgn, bhd, bif, bmd, bnd, bob, bov, + /// brl, bsd, btn, bwp, byn, byr, bzd, + /// cad, cdf, che, chf, chw, clf, clp, + /// cny, cop, cou, crc, cuc, cup, cve, + /// czk, djf, dkk, dop, dzd, eek, egp, + /// ern, etb, eur, fjd, fkp, gbp, gel, + /// ghc, ghs, gip, gmd, gnf, gtq, gyd, + /// hkd, hnl, hrk, htg, huf, idr, ils, + /// inr, iqd, irr, isk, jmd, jod, jpy, + /// kes, kgs, khr, kmf, kpw, krw, kwd, + /// kyd, kzt, lak, lbp, lkr, lrd, lsl, + /// ltl, lvl, lyd, mad, mdl, mga, mkd, + /// mmk, mnt, mop, mro, mru, mur, mvr, + /// mwk, mxn, mxv, myr, mzn, nad, ngn, + /// nio, nok, npr, nzd, omr, pab, pen, + /// pgk, php, pkr, pln, pyg, qar, ron, + /// rsd, rub, rwf, sar, sbd, scr, sdg, + /// sek, sgd, shp, sle, sll, sos, srd, + /// ssp, std, stn, svc, syp, szl, thb, + /// tjs, tmt, tnd, top, try, ttd, twd, + /// tzs, uah, ugx, usd, usdc, usn, uyi, + /// uyu, uzs, vef, ves, vnd, vuv, wst, + /// xaf, xcd, xcg, xof, xpf, yer, zar, + /// zmk, zmw, zwd, zwg, or zwl. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// The ID of the FinancialAccount the new FinancialAddress should be associated with. + /// + [JsonProperty("financial_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_account")] +#endif + public string FinancialAccount { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressGetOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressGetOptions.cs new file mode 100644 index 0000000000..37bc45129e --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressGetOptions.cs @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class FinancialAddressGetOptions : BaseOptions + { + /// + /// Open Enum. A list of fields to reveal in the FinancialAddresses returned. + /// One of: credentials.gb_bank_account.account_number, or + /// credentials.us_bank_account.account_number. + /// + [JsonProperty("include")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("include")] +#endif + public List Include { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressListOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressListOptions.cs new file mode 100644 index 0000000000..11a781506c --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressListOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class FinancialAddressListOptions : V2.ListOptions + { + /// + /// The ID of the FinancialAccount for which FinancialAddresses are to be returned. + /// + [JsonProperty("financial_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_account")] +#endif + public string FinancialAccount { get; set; } + + /// + /// Open Enum. A list of fields to reveal in the FinancialAddresses returned. + /// One of: credentials.gb_bank_account.account_number, or + /// credentials.us_bank_account.account_number. + /// + [JsonProperty("include")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("include")] +#endif + public List Include { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressService.cs b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressService.cs new file mode 100644 index 0000000000..8ec85f2337 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressService.cs @@ -0,0 +1,89 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Collections.Generic; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class FinancialAddressService : Service + { + internal FinancialAddressService(ApiRequestor requestor) + : base(requestor) + { + } + + internal FinancialAddressService(IStripeClient client) + : base(client) + { + } + + /// + /// Create a new FinancialAddress for a FinancialAccount. + /// + public virtual V2.FinancialAddress Create(FinancialAddressCreateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/financial_addresses", options, requestOptions); + } + + /// + /// Create a new FinancialAddress for a FinancialAccount. + /// + public virtual Task CreateAsync(FinancialAddressCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/financial_addresses", options, requestOptions, cancellationToken); + } + + /// + /// Retrieve a FinancialAddress. By default, the FinancialAddress will be returned in it's + /// unexpanded state, revealing only the last 4 digits of the account number. + /// + public virtual V2.FinancialAddress Get(string id, FinancialAddressGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/financial_addresses/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieve a FinancialAddress. By default, the FinancialAddress will be returned in it's + /// unexpanded state, revealing only the last 4 digits of the account number. + /// + public virtual Task GetAsync(string id, FinancialAddressGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/financial_addresses/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// List all FinancialAddresses for a FinancialAccount. + /// + public virtual V2.StripeList List(FinancialAddressListOptions options = null, RequestOptions requestOptions = null) + { + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/financial_addresses", options, requestOptions); + } + + /// + /// List all FinancialAddresses for a FinancialAccount. + /// + public virtual Task> ListAsync(FinancialAddressListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/financial_addresses", options, requestOptions, cancellationToken); + } + + /// + /// List all FinancialAddresses for a FinancialAccount. + /// + public virtual IEnumerable ListAutoPaging(FinancialAddressListOptions options = null, RequestOptions requestOptions = null) + { + return this.ListRequestAutoPaging($"/v2/money_management/financial_addresses", options, requestOptions); + } + + /// + /// List all FinancialAddresses for a FinancialAccount. + /// + public virtual IAsyncEnumerable ListAutoPagingAsync(FinancialAddressListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.ListRequestAutoPagingAsync($"/v2/money_management/financial_addresses", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferCreateFromOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferCreateFromOptions.cs new file mode 100644 index 0000000000..7152cd65e6 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferCreateFromOptions.cs @@ -0,0 +1,30 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InboundTransferCreateFromOptions : INestedOptions + { + /// + /// An optional currency field used to specify which currency is debited from the Payment + /// Method. Since many Payment Methods support only one currency, this field is optional. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// ID of the Payment Method using which IBT will be made. + /// + [JsonProperty("payment_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payment_method")] +#endif + public string PaymentMethod { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferCreateOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferCreateOptions.cs new file mode 100644 index 0000000000..5bb3a7d795 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferCreateOptions.cs @@ -0,0 +1,48 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InboundTransferCreateOptions : BaseOptions + { + /// + /// The amount, in specified currency, by which the FinancialAccount balance will increase + /// due to the InboundTransfer. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public V2.Amount Amount { get; set; } + + /// + /// An optional, freeform description field intended to store metadata. + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// Object containing details about where the funds will originate from. + /// + [JsonProperty("from")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("from")] +#endif + public InboundTransferCreateFromOptions From { get; set; } + + /// + /// Object containing details about where the funds will land. + /// + [JsonProperty("to")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("to")] +#endif + public InboundTransferCreateToOptions To { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferCreateToOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferCreateToOptions.cs new file mode 100644 index 0000000000..7f6e4a2e32 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferCreateToOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InboundTransferCreateToOptions : INestedOptions + { + /// + /// The currency in which funds will land in. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// The FinancialAccount that funds will land in. + /// + [JsonProperty("financial_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_account")] +#endif + public string FinancialAccount { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferGetOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferGetOptions.cs new file mode 100644 index 0000000000..30196ad61f --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferGetOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class InboundTransferGetOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferListOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferListOptions.cs new file mode 100644 index 0000000000..7cc7b99ce0 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferListOptions.cs @@ -0,0 +1,52 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class InboundTransferListOptions : V2.ListOptionsWithCreated + { + /// + /// Filter for objects created after the specified timestamp. Must be an RFC 3339 date & + /// time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_gt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_gt")] +#endif + public DateTime? CreatedGt { get; set; } + + /// + /// Filter for objects created on or after the specified timestamp. Must be an RFC 3339 date + /// & time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_gte")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_gte")] +#endif + public DateTime? CreatedGte { get; set; } + + /// + /// Filter for objects created before the specified timestamp. Must be an RFC 3339 date + /// & time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_lt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_lt")] +#endif + public DateTime? CreatedLt { get; set; } + + /// + /// Filter for objects created on or before the specified timestamp. Must be an RFC 3339 + /// date & time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_lte")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_lte")] +#endif + public DateTime? CreatedLte { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferService.cs b/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferService.cs new file mode 100644 index 0000000000..7dea3497ee --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferService.cs @@ -0,0 +1,87 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Collections.Generic; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class InboundTransferService : Service + { + internal InboundTransferService(ApiRequestor requestor) + : base(requestor) + { + } + + internal InboundTransferService(IStripeClient client) + : base(client) + { + } + + /// + /// InboundTransfers APIs are used to create, retrieve or list InboundTransfers. + /// + public virtual V2.InboundTransfer Create(InboundTransferCreateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/inbound_transfers", options, requestOptions); + } + + /// + /// InboundTransfers APIs are used to create, retrieve or list InboundTransfers. + /// + public virtual Task CreateAsync(InboundTransferCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/inbound_transfers", options, requestOptions, cancellationToken); + } + + /// + /// Retrieve an InboundTransfer by ID. + /// + public virtual V2.InboundTransfer Get(string id, InboundTransferGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/inbound_transfers/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieve an InboundTransfer by ID. + /// + public virtual Task GetAsync(string id, InboundTransferGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/inbound_transfers/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// Retrieves a list of InboundTransfers. + /// + public virtual V2.StripeList List(InboundTransferListOptions options = null, RequestOptions requestOptions = null) + { + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/inbound_transfers", options, requestOptions); + } + + /// + /// Retrieves a list of InboundTransfers. + /// + public virtual Task> ListAsync(InboundTransferListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/inbound_transfers", options, requestOptions, cancellationToken); + } + + /// + /// Retrieves a list of InboundTransfers. + /// + public virtual IEnumerable ListAutoPaging(InboundTransferListOptions options = null, RequestOptions requestOptions = null) + { + return this.ListRequestAutoPaging($"/v2/money_management/inbound_transfers", options, requestOptions); + } + + /// + /// Retrieves a list of InboundTransfers. + /// + public virtual IAsyncEnumerable ListAutoPagingAsync(InboundTransferListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.ListRequestAutoPagingAsync($"/v2/money_management/inbound_transfers", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCancelOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCancelOptions.cs new file mode 100644 index 0000000000..9d23e9065b --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCancelOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class OutboundPaymentCancelOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateDeliveryOptionsOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateDeliveryOptionsOptions.cs new file mode 100644 index 0000000000..f2a5f64502 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateDeliveryOptionsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentCreateDeliveryOptionsOptions : INestedOptions + { + /// + /// Open Enum. Method for bank account. + /// One of: automatic, local, or wire. + /// + [JsonProperty("bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account")] +#endif + public string BankAccount { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateFromOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateFromOptions.cs new file mode 100644 index 0000000000..5522f068df --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateFromOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentCreateFromOptions : INestedOptions + { + /// + /// Describes the FinancialAmount's currency drawn from. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// The FinancialAccount that funds were pulled from. + /// + [JsonProperty("financial_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_account")] +#endif + public string FinancialAccount { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateOptions.cs new file mode 100644 index 0000000000..838246234b --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateOptions.cs @@ -0,0 +1,77 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentCreateOptions : BaseOptions, IHasMetadata + { + /// + /// The "presentment amount" to be sent to the recipient. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public V2.Amount Amount { get; set; } + + /// + /// Delivery options to be used to send the OutboundPayment. + /// + [JsonProperty("delivery_options")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("delivery_options")] +#endif + public OutboundPaymentCreateDeliveryOptionsOptions DeliveryOptions { get; set; } + + /// + /// An arbitrary string attached to the OutboundPayment. Often useful for displaying to + /// users. + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// From which FinancialAccount and BalanceType to pull funds from. + /// + [JsonProperty("from")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("from")] +#endif + public OutboundPaymentCreateFromOptions From { get; set; } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// Details about the notification settings for the OutboundPayment recipient. + /// + [JsonProperty("recipient_notification")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("recipient_notification")] +#endif + public OutboundPaymentCreateRecipientNotificationOptions RecipientNotification { get; set; } + + /// + /// To which payout method to send the OutboundPayment. + /// + [JsonProperty("to")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("to")] +#endif + public OutboundPaymentCreateToOptions To { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateRecipientNotificationOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateRecipientNotificationOptions.cs new file mode 100644 index 0000000000..627a4c04ad --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateRecipientNotificationOptions.cs @@ -0,0 +1,23 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentCreateRecipientNotificationOptions : INestedOptions + { + /// + /// Closed Enum. Configuration option to enable or disable notifications to recipients. Do + /// not send notifications when setting is NONE. Default to account setting when setting is + /// CONFIGURED or not set. + /// One of: configured, or none. + /// + [JsonProperty("setting")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("setting")] +#endif + public string Setting { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateToOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateToOptions.cs new file mode 100644 index 0000000000..04de313934 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateToOptions.cs @@ -0,0 +1,43 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentCreateToOptions : INestedOptions + { + /// + /// Describes the currency to send to the recipient. If included, this currency must match a + /// currency supported by the destination. Can be omitted in the following cases: - + /// destination only supports one currency - destination supports multiple currencies and + /// one of the currencies matches the FA currency - destination supports multiple currencies + /// and one of the currencies matches the presentment currency Note - when both FA currency + /// and presentment currency are supported, we pick the FA currency to minimize FX. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// The payout method which the OutboundPayment uses to send payout. + /// + [JsonProperty("payout_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payout_method")] +#endif + public string PayoutMethod { get; set; } + + /// + /// To which account the OutboundPayment is sent. + /// + [JsonProperty("recipient")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("recipient")] +#endif + public string Recipient { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentGetOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentGetOptions.cs new file mode 100644 index 0000000000..9f38869e20 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentGetOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class OutboundPaymentGetOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentListOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentListOptions.cs new file mode 100644 index 0000000000..bd2e023d2c --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentListOptions.cs @@ -0,0 +1,73 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundPaymentListOptions : V2.ListOptionsWithCreated + { + /// + /// Filter for objects created after the specified timestamp. Must be an RFC 3339 date & + /// time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_gt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_gt")] +#endif + public DateTime? CreatedGt { get; set; } + + /// + /// Filter for objects created on or after the specified timestamp. Must be an RFC 3339 date + /// & time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_gte")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_gte")] +#endif + public DateTime? CreatedGte { get; set; } + + /// + /// Filter for objects created before the specified timestamp. Must be an RFC 3339 date + /// & time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_lt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_lt")] +#endif + public DateTime? CreatedLt { get; set; } + + /// + /// Filter for objects created on or before the specified timestamp. Must be an RFC 3339 + /// date & time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_lte")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_lte")] +#endif + public DateTime? CreatedLte { get; set; } + + /// + /// Only return OutboundPayments sent to this recipient. + /// + [JsonProperty("recipient")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("recipient")] +#endif + public string Recipient { get; set; } + + /// + /// Closed Enum. Only return OutboundPayments with this status. + /// One of: canceled, failed, posted, processing, or + /// returned. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public List Status { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentService.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentService.cs new file mode 100644 index 0000000000..bafd115d6a --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentService.cs @@ -0,0 +1,105 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Collections.Generic; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class OutboundPaymentService : Service + { + internal OutboundPaymentService(ApiRequestor requestor) + : base(requestor) + { + } + + internal OutboundPaymentService(IStripeClient client) + : base(client) + { + } + + /// + /// Cancels an OutboundPayment. Only processing OutboundPayments can be canceled. + /// + public virtual V2.OutboundPayment Cancel(string id, OutboundPaymentCancelOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_payments/{WebUtility.UrlEncode(id)}/cancel", options, requestOptions); + } + + /// + /// Cancels an OutboundPayment. Only processing OutboundPayments can be canceled. + /// + public virtual Task CancelAsync(string id, OutboundPaymentCancelOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_payments/{WebUtility.UrlEncode(id)}/cancel", options, requestOptions, cancellationToken); + } + + /// + /// Creates an OutboundPayment. + /// + public virtual V2.OutboundPayment Create(OutboundPaymentCreateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_payments", options, requestOptions); + } + + /// + /// Creates an OutboundPayment. + /// + public virtual Task CreateAsync(OutboundPaymentCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_payments", options, requestOptions, cancellationToken); + } + + /// + /// Retrieves the details of an existing OutboundPayment by passing the unique + /// OutboundPayment ID from either the OutboundPayment create or list response. + /// + public virtual V2.OutboundPayment Get(string id, OutboundPaymentGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/outbound_payments/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieves the details of an existing OutboundPayment by passing the unique + /// OutboundPayment ID from either the OutboundPayment create or list response. + /// + public virtual Task GetAsync(string id, OutboundPaymentGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/outbound_payments/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// Returns a list of OutboundPayments that match the provided filters. + /// + public virtual V2.StripeList List(OutboundPaymentListOptions options = null, RequestOptions requestOptions = null) + { + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/outbound_payments", options, requestOptions); + } + + /// + /// Returns a list of OutboundPayments that match the provided filters. + /// + public virtual Task> ListAsync(OutboundPaymentListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/outbound_payments", options, requestOptions, cancellationToken); + } + + /// + /// Returns a list of OutboundPayments that match the provided filters. + /// + public virtual IEnumerable ListAutoPaging(OutboundPaymentListOptions options = null, RequestOptions requestOptions = null) + { + return this.ListRequestAutoPaging($"/v2/money_management/outbound_payments", options, requestOptions); + } + + /// + /// Returns a list of OutboundPayments that match the provided filters. + /// + public virtual IAsyncEnumerable ListAutoPagingAsync(OutboundPaymentListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.ListRequestAutoPagingAsync($"/v2/money_management/outbound_payments", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCancelOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCancelOptions.cs new file mode 100644 index 0000000000..ef04f107d1 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCancelOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class OutboundSetupIntentCancelOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreateOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreateOptions.cs new file mode 100644 index 0000000000..dd220751f4 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreateOptions.cs @@ -0,0 +1,44 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundSetupIntentCreateOptions : BaseOptions + { + /// + /// If provided, the existing payout method resource to link to this setup intent. Any + /// payout_method_data provided is used to update information on this linked payout method + /// resource. + /// + [JsonProperty("payout_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payout_method")] +#endif + public string PayoutMethod { get; set; } + + /// + /// If no payout_method provided, used to create the underlying credential that is set up + /// for outbound money movement. If a payout_method provided, used to update data on the + /// credential linked to this setup intent. + /// + [JsonProperty("payout_method_data")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payout_method_data")] +#endif + public OutboundSetupIntentCreatePayoutMethodDataOptions PayoutMethodData { get; set; } + + /// + /// Specify which type of outbound money movement this credential should be set up for + /// (payment | transfer). If not provided, defaults to payment. + /// One of: payment, or transfer. + /// + [JsonProperty("usage_intent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("usage_intent")] +#endif + public string UsageIntent { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreatePayoutMethodDataBankAccountOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreatePayoutMethodDataBankAccountOptions.cs new file mode 100644 index 0000000000..6457b99a57 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreatePayoutMethodDataBankAccountOptions.cs @@ -0,0 +1,66 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundSetupIntentCreatePayoutMethodDataBankAccountOptions : INestedOptions + { + /// + /// The account number or IBAN of the bank account. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// Closed Enum. The type of the bank account (checking or savings). + /// One of: checking, or savings. + /// + [JsonProperty("bank_account_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account_type")] +#endif + public string BankAccountType { get; set; } + + /// + /// The branch number of the bank account, if present. + /// + [JsonProperty("branch_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_number")] +#endif + public string BranchNumber { get; set; } + + /// + /// The country code of the bank account. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// The routing number of the bank account, if present. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + + /// + /// The swift code of the bank account, if present. + /// + [JsonProperty("swift_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("swift_code")] +#endif + public string SwiftCode { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreatePayoutMethodDataCardOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreatePayoutMethodDataCardOptions.cs new file mode 100644 index 0000000000..caa6858ffe --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreatePayoutMethodDataCardOptions.cs @@ -0,0 +1,38 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundSetupIntentCreatePayoutMethodDataCardOptions : INestedOptions + { + /// + /// The expiration month of the card. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public string ExpMonth { get; set; } + + /// + /// The expiration year of the card. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public string ExpYear { get; set; } + + /// + /// The card number. + /// + [JsonProperty("number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("number")] +#endif + public string Number { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreatePayoutMethodDataOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreatePayoutMethodDataOptions.cs new file mode 100644 index 0000000000..2146c5424e --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreatePayoutMethodDataOptions.cs @@ -0,0 +1,39 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundSetupIntentCreatePayoutMethodDataOptions : INestedOptions + { + /// + /// Closed Enum. The type of payout method to be created. + /// One of: bank_account, or card. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The type specific details of the bank account payout method. + /// + [JsonProperty("bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account")] +#endif + public OutboundSetupIntentCreatePayoutMethodDataBankAccountOptions BankAccount { get; set; } + + /// + /// The type specific details of the card payout method. + /// + [JsonProperty("card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card")] +#endif + public OutboundSetupIntentCreatePayoutMethodDataCardOptions Card { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentGetOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentGetOptions.cs new file mode 100644 index 0000000000..4a3127666f --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentGetOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class OutboundSetupIntentGetOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentListOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentListOptions.cs new file mode 100644 index 0000000000..e802885556 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentListOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class OutboundSetupIntentListOptions : V2.ListOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentService.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentService.cs new file mode 100644 index 0000000000..6bfe1232bd --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentService.cs @@ -0,0 +1,119 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Collections.Generic; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class OutboundSetupIntentService : Service + { + internal OutboundSetupIntentService(ApiRequestor requestor) + : base(requestor) + { + } + + internal OutboundSetupIntentService(IStripeClient client) + : base(client) + { + } + + /// + /// Cancel an OutboundSetupIntent object. + /// + public virtual OutboundSetupIntent Cancel(string id, OutboundSetupIntentCancelOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_setup_intents/{WebUtility.UrlEncode(id)}/cancel", options, requestOptions); + } + + /// + /// Cancel an OutboundSetupIntent object. + /// + public virtual Task CancelAsync(string id, OutboundSetupIntentCancelOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_setup_intents/{WebUtility.UrlEncode(id)}/cancel", options, requestOptions, cancellationToken); + } + + /// + /// Create an OutboundSetupIntent object. + /// + public virtual OutboundSetupIntent Create(OutboundSetupIntentCreateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_setup_intents", options, requestOptions); + } + + /// + /// Create an OutboundSetupIntent object. + /// + public virtual Task CreateAsync(OutboundSetupIntentCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_setup_intents", options, requestOptions, cancellationToken); + } + + /// + /// Retrieve an OutboundSetupIntent object. + /// + public virtual OutboundSetupIntent Get(string id, OutboundSetupIntentGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/outbound_setup_intents/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieve an OutboundSetupIntent object. + /// + public virtual Task GetAsync(string id, OutboundSetupIntentGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/outbound_setup_intents/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// List the OutboundSetupIntent objects. + /// + public virtual V2.StripeList List(OutboundSetupIntentListOptions options = null, RequestOptions requestOptions = null) + { + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/outbound_setup_intents", options, requestOptions); + } + + /// + /// List the OutboundSetupIntent objects. + /// + public virtual Task> ListAsync(OutboundSetupIntentListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/outbound_setup_intents", options, requestOptions, cancellationToken); + } + + /// + /// List the OutboundSetupIntent objects. + /// + public virtual IEnumerable ListAutoPaging(OutboundSetupIntentListOptions options = null, RequestOptions requestOptions = null) + { + return this.ListRequestAutoPaging($"/v2/money_management/outbound_setup_intents", options, requestOptions); + } + + /// + /// List the OutboundSetupIntent objects. + /// + public virtual IAsyncEnumerable ListAutoPagingAsync(OutboundSetupIntentListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.ListRequestAutoPagingAsync($"/v2/money_management/outbound_setup_intents", options, requestOptions, cancellationToken); + } + + /// + /// Update an OutboundSetupIntent object. + /// + public virtual OutboundSetupIntent Update(string id, OutboundSetupIntentUpdateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_setup_intents/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Update an OutboundSetupIntent object. + /// + public virtual Task UpdateAsync(string id, OutboundSetupIntentUpdateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_setup_intents/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdateOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdateOptions.cs new file mode 100644 index 0000000000..7583f9116a --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdateOptions.cs @@ -0,0 +1,31 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundSetupIntentUpdateOptions : BaseOptions + { + /// + /// If provided, the existing payout method resource to link to this outbound setup intent. + /// + [JsonProperty("payout_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payout_method")] +#endif + public string PayoutMethod { get; set; } + + /// + /// If no payout_method provided, used to create the underlying credential that is set up + /// for outbound money movement. If a payout_method provided, used to update data on the + /// credential linked to this setup intent. + /// + [JsonProperty("payout_method_data")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payout_method_data")] +#endif + public OutboundSetupIntentUpdatePayoutMethodDataOptions PayoutMethodData { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdatePayoutMethodDataBankAccountOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdatePayoutMethodDataBankAccountOptions.cs new file mode 100644 index 0000000000..0c7155453b --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdatePayoutMethodDataBankAccountOptions.cs @@ -0,0 +1,66 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundSetupIntentUpdatePayoutMethodDataBankAccountOptions : INestedOptions + { + /// + /// The account number or IBAN of the bank account. + /// + [JsonProperty("account_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("account_number")] +#endif + public string AccountNumber { get; set; } + + /// + /// Closed Enum. The type of the bank account (checking or savings). + /// One of: checking, or savings. + /// + [JsonProperty("bank_account_type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account_type")] +#endif + public string BankAccountType { get; set; } + + /// + /// The branch number of the bank account, if present. + /// + [JsonProperty("branch_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("branch_number")] +#endif + public string BranchNumber { get; set; } + + /// + /// The country code of the bank account. + /// + [JsonProperty("country")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("country")] +#endif + public string Country { get; set; } + + /// + /// The routing number of the bank account, if present. + /// + [JsonProperty("routing_number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("routing_number")] +#endif + public string RoutingNumber { get; set; } + + /// + /// The swift code of the bank account, if present. + /// + [JsonProperty("swift_code")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("swift_code")] +#endif + public string SwiftCode { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdatePayoutMethodDataCardOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdatePayoutMethodDataCardOptions.cs new file mode 100644 index 0000000000..ab64935ee8 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdatePayoutMethodDataCardOptions.cs @@ -0,0 +1,39 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundSetupIntentUpdatePayoutMethodDataCardOptions : INestedOptions + { + /// + /// The expiration month of the card. + /// + [JsonProperty("exp_month")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_month")] +#endif + public string ExpMonth { get; set; } + + /// + /// The expiration year of the card. + /// + [JsonProperty("exp_year")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("exp_year")] +#endif + public string ExpYear { get; set; } + + /// + /// The card number. This can only be passed when creating a new credential on an outbound + /// setup intent in the requires_payout_method state. + /// + [JsonProperty("number")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("number")] +#endif + public string Number { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdatePayoutMethodDataOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdatePayoutMethodDataOptions.cs new file mode 100644 index 0000000000..e5520bf95c --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdatePayoutMethodDataOptions.cs @@ -0,0 +1,39 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundSetupIntentUpdatePayoutMethodDataOptions : INestedOptions + { + /// + /// Closed Enum. The type of payout method to be created/updated. + /// One of: bank_account, or card. + /// + [JsonProperty("type")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("type")] +#endif + public string Type { get; set; } + + /// + /// The type specific details of the bank account payout method. + /// + [JsonProperty("bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account")] +#endif + public OutboundSetupIntentUpdatePayoutMethodDataBankAccountOptions BankAccount { get; set; } + + /// + /// The type specific details of the card payout method. + /// + [JsonProperty("card")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("card")] +#endif + public OutboundSetupIntentUpdatePayoutMethodDataCardOptions Card { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCancelOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCancelOptions.cs new file mode 100644 index 0000000000..b4c87d3e1e --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCancelOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class OutboundTransferCancelOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateDeliveryOptionsOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateDeliveryOptionsOptions.cs new file mode 100644 index 0000000000..d303ab4e6f --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateDeliveryOptionsOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferCreateDeliveryOptionsOptions : INestedOptions + { + /// + /// Open Enum. Method for bank account. + /// One of: automatic, local, or wire. + /// + [JsonProperty("bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("bank_account")] +#endif + public string BankAccount { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateFromOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateFromOptions.cs new file mode 100644 index 0000000000..e71c03f2ee --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateFromOptions.cs @@ -0,0 +1,29 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferCreateFromOptions : INestedOptions + { + /// + /// Describes the FinancialAmount's currency drawn from. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// The FinancialAccount that funds were pulled from. + /// + [JsonProperty("financial_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("financial_account")] +#endif + public string FinancialAccount { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateOptions.cs new file mode 100644 index 0000000000..d9008fb584 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateOptions.cs @@ -0,0 +1,68 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferCreateOptions : BaseOptions, IHasMetadata + { + /// + /// The "presentment amount" for the OutboundPayment. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public V2.Amount Amount { get; set; } + + /// + /// Delivery options to be used to send the OutboundTransfer. + /// + [JsonProperty("delivery_options")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("delivery_options")] +#endif + public OutboundTransferCreateDeliveryOptionsOptions DeliveryOptions { get; set; } + + /// + /// An arbitrary string attached to the OutboundTransfer. Often useful for displaying to + /// users. + /// + [JsonProperty("description")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("description")] +#endif + public string Description { get; set; } + + /// + /// The FinancialAccount to pull funds from. + /// + [JsonProperty("from")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("from")] +#endif + public OutboundTransferCreateFromOptions From { get; set; } + + /// + /// Set of key-value pairs that you can attach to an object. This can be useful for storing + /// additional information about the object in a structured format. + /// + [JsonProperty("metadata")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("metadata")] +#endif + public Dictionary Metadata { get; set; } + + /// + /// To which payout method to send the OutboundTransfer. + /// + [JsonProperty("to")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("to")] +#endif + public OutboundTransferCreateToOptions To { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateToOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateToOptions.cs new file mode 100644 index 0000000000..def2215443 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateToOptions.cs @@ -0,0 +1,34 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferCreateToOptions : INestedOptions + { + /// + /// Describes the currency to send to the recipient. If included, this currency must match a + /// currency supported by the destination. Can be omitted in the following cases: - + /// destination only supports one currency - destination supports multiple currencies and + /// one of the currencies matches the FA currency - destination supports multiple currencies + /// and one of the currencies matches the presentment currency Note - when both FA currency + /// and presentment currency are supported, we pick the FA currency to minimize FX. + /// + [JsonProperty("currency")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("currency")] +#endif + public string Currency { get; set; } + + /// + /// The payout method which the OutboundTransfer uses to send payout. + /// + [JsonProperty("payout_method")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payout_method")] +#endif + public string PayoutMethod { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferGetOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferGetOptions.cs new file mode 100644 index 0000000000..cd8ae9654a --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferGetOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class OutboundTransferGetOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferListOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferListOptions.cs new file mode 100644 index 0000000000..8b28189e45 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferListOptions.cs @@ -0,0 +1,64 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class OutboundTransferListOptions : V2.ListOptionsWithCreated + { + /// + /// Filter for objects created after the specified timestamp. Must be an RFC 3339 date & + /// time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_gt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_gt")] +#endif + public DateTime? CreatedGt { get; set; } + + /// + /// Filter for objects created on or after the specified timestamp. Must be an RFC 3339 date + /// & time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_gte")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_gte")] +#endif + public DateTime? CreatedGte { get; set; } + + /// + /// Filter for objects created before the specified timestamp. Must be an RFC 3339 date + /// & time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_lt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_lt")] +#endif + public DateTime? CreatedLt { get; set; } + + /// + /// Filter for objects created on or before the specified timestamp. Must be an RFC 3339 + /// date & time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_lte")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_lte")] +#endif + public DateTime? CreatedLte { get; set; } + + /// + /// Closed Enum. Only return OutboundTransfers with this status. + /// One of: canceled, failed, posted, processing, or + /// returned. + /// + [JsonProperty("status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("status")] +#endif + public List Status { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferService.cs b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferService.cs new file mode 100644 index 0000000000..0d627184af --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferService.cs @@ -0,0 +1,105 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Collections.Generic; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class OutboundTransferService : Service + { + internal OutboundTransferService(ApiRequestor requestor) + : base(requestor) + { + } + + internal OutboundTransferService(IStripeClient client) + : base(client) + { + } + + /// + /// Cancels an OutboundTransfer. Only processing OutboundTransfers can be canceled. + /// + public virtual V2.OutboundTransfer Cancel(string id, OutboundTransferCancelOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_transfers/{WebUtility.UrlEncode(id)}/cancel", options, requestOptions); + } + + /// + /// Cancels an OutboundTransfer. Only processing OutboundTransfers can be canceled. + /// + public virtual Task CancelAsync(string id, OutboundTransferCancelOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_transfers/{WebUtility.UrlEncode(id)}/cancel", options, requestOptions, cancellationToken); + } + + /// + /// Creates an OutboundTransfer. + /// + public virtual V2.OutboundTransfer Create(OutboundTransferCreateOptions options, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_transfers", options, requestOptions); + } + + /// + /// Creates an OutboundTransfer. + /// + public virtual Task CreateAsync(OutboundTransferCreateOptions options, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/outbound_transfers", options, requestOptions, cancellationToken); + } + + /// + /// Retrieves the details of an existing OutboundTransfer by passing the unique + /// OutboundTransfer ID from either the OutboundPayment create or list response. + /// + public virtual V2.OutboundTransfer Get(string id, OutboundTransferGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/outbound_transfers/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieves the details of an existing OutboundTransfer by passing the unique + /// OutboundTransfer ID from either the OutboundPayment create or list response. + /// + public virtual Task GetAsync(string id, OutboundTransferGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/outbound_transfers/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// Returns a list of OutboundTransfers that match the provided filters. + /// + public virtual V2.StripeList List(OutboundTransferListOptions options = null, RequestOptions requestOptions = null) + { + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/outbound_transfers", options, requestOptions); + } + + /// + /// Returns a list of OutboundTransfers that match the provided filters. + /// + public virtual Task> ListAsync(OutboundTransferListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/outbound_transfers", options, requestOptions, cancellationToken); + } + + /// + /// Returns a list of OutboundTransfers that match the provided filters. + /// + public virtual IEnumerable ListAutoPaging(OutboundTransferListOptions options = null, RequestOptions requestOptions = null) + { + return this.ListRequestAutoPaging($"/v2/money_management/outbound_transfers", options, requestOptions); + } + + /// + /// Returns a list of OutboundTransfers that match the provided filters. + /// + public virtual IAsyncEnumerable ListAutoPagingAsync(OutboundTransferListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.ListRequestAutoPagingAsync($"/v2/money_management/outbound_transfers", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodArchiveOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodArchiveOptions.cs new file mode 100644 index 0000000000..9a8f32a357 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodArchiveOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class PayoutMethodArchiveOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodGetOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodGetOptions.cs new file mode 100644 index 0000000000..009ba65734 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodGetOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class PayoutMethodGetOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodListOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodListOptions.cs new file mode 100644 index 0000000000..aacd35c388 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodListOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PayoutMethodListOptions : V2.ListOptions + { + /// + /// Usage status filter. + /// + [JsonProperty("usage_status")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("usage_status")] +#endif + public PayoutMethodListUsageStatusOptions UsageStatus { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodListUsageStatusOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodListUsageStatusOptions.cs new file mode 100644 index 0000000000..d5811ed72d --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodListUsageStatusOptions.cs @@ -0,0 +1,32 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PayoutMethodListUsageStatusOptions : INestedOptions + { + /// + /// List of payments status to filter by. + /// One of: eligible, invalid, or requires_action. + /// + [JsonProperty("payments")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("payments")] +#endif + public List Payments { get; set; } + + /// + /// List of transfers status to filter by. + /// One of: eligible, invalid, or requires_action. + /// + [JsonProperty("transfers")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("transfers")] +#endif + public List Transfers { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodService.cs b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodService.cs new file mode 100644 index 0000000000..67e325cc10 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodService.cs @@ -0,0 +1,105 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Collections.Generic; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class PayoutMethodService : Service + { + internal PayoutMethodService(ApiRequestor requestor) + : base(requestor) + { + } + + internal PayoutMethodService(IStripeClient client) + : base(client) + { + } + + /// + /// Archive a PayoutMethod object. Archived objects cannot be used as payout methods and + /// will not appear in the payout method list. + /// + public virtual PayoutMethod Archive(string id, PayoutMethodArchiveOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/payout_methods/{WebUtility.UrlEncode(id)}/archive", options, requestOptions); + } + + /// + /// Archive a PayoutMethod object. Archived objects cannot be used as payout methods and + /// will not appear in the payout method list. + /// + public virtual Task ArchiveAsync(string id, PayoutMethodArchiveOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/payout_methods/{WebUtility.UrlEncode(id)}/archive", options, requestOptions, cancellationToken); + } + + /// + /// Retrieve a PayoutMethod object. + /// + public virtual PayoutMethod Get(string id, PayoutMethodGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/payout_methods/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieve a PayoutMethod object. + /// + public virtual Task GetAsync(string id, PayoutMethodGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/payout_methods/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// List objects that adhere to the PayoutMethod interface. + /// + public virtual V2.StripeList List(PayoutMethodListOptions options = null, RequestOptions requestOptions = null) + { + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/payout_methods", options, requestOptions); + } + + /// + /// List objects that adhere to the PayoutMethod interface. + /// + public virtual Task> ListAsync(PayoutMethodListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/payout_methods", options, requestOptions, cancellationToken); + } + + /// + /// List objects that adhere to the PayoutMethod interface. + /// + public virtual IEnumerable ListAutoPaging(PayoutMethodListOptions options = null, RequestOptions requestOptions = null) + { + return this.ListRequestAutoPaging($"/v2/money_management/payout_methods", options, requestOptions); + } + + /// + /// List objects that adhere to the PayoutMethod interface. + /// + public virtual IAsyncEnumerable ListAutoPagingAsync(PayoutMethodListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.ListRequestAutoPagingAsync($"/v2/money_management/payout_methods", options, requestOptions, cancellationToken); + } + + /// + /// Unarchive an PayoutMethod object. + /// + public virtual PayoutMethod Unarchive(string id, PayoutMethodUnarchiveOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/payout_methods/{WebUtility.UrlEncode(id)}/unarchive", options, requestOptions); + } + + /// + /// Unarchive an PayoutMethod object. + /// + public virtual Task UnarchiveAsync(string id, PayoutMethodUnarchiveOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/money_management/payout_methods/{WebUtility.UrlEncode(id)}/unarchive", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodUnarchiveOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodUnarchiveOptions.cs new file mode 100644 index 0000000000..c8d1f9fa3a --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodUnarchiveOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class PayoutMethodUnarchiveOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecGetOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecGetOptions.cs new file mode 100644 index 0000000000..b491f71aec --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecGetOptions.cs @@ -0,0 +1,21 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System.Collections.Generic; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class PayoutMethodsBankAccountSpecGetOptions : BaseOptions + { + /// + /// The countries to fetch the bank account spec for. + /// + [JsonProperty("countries")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("countries")] +#endif + public List Countries { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecService.cs b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecService.cs new file mode 100644 index 0000000000..246ac35f2b --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecService.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class PayoutMethodsBankAccountSpecService : Service + { + internal PayoutMethodsBankAccountSpecService(ApiRequestor requestor) + : base(requestor) + { + } + + internal PayoutMethodsBankAccountSpecService(IStripeClient client) + : base(client) + { + } + + /// + /// Fetch the specifications for a set of countries to know which credential fields are + /// required, the validations for each fields, and how to translate these country-specific + /// fields to the generic fields in the PayoutMethodBankAccount type. + /// + public virtual PayoutMethodsBankAccountSpec Get(PayoutMethodsBankAccountSpecGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/payout_methods_bank_account_spec", options, requestOptions); + } + + /// + /// Fetch the specifications for a set of countries to know which credential fields are + /// required, the validations for each fields, and how to translate these country-specific + /// fields to the generic fields in the PayoutMethodBankAccount type. + /// + public virtual Task GetAsync(PayoutMethodsBankAccountSpecGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/payout_methods_bank_account_spec", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/ReceivedCredits/ReceivedCreditGetOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/ReceivedCredits/ReceivedCreditGetOptions.cs new file mode 100644 index 0000000000..18c3e3e2d2 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/ReceivedCredits/ReceivedCreditGetOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class ReceivedCreditGetOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/ReceivedCredits/ReceivedCreditListOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/ReceivedCredits/ReceivedCreditListOptions.cs new file mode 100644 index 0000000000..27f1a89003 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/ReceivedCredits/ReceivedCreditListOptions.cs @@ -0,0 +1,52 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class ReceivedCreditListOptions : V2.ListOptionsWithCreated + { + /// + /// Filter for objects created after the specified timestamp. Must be an RFC 3339 date & + /// time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_gt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_gt")] +#endif + public DateTime? CreatedGt { get; set; } + + /// + /// Filter for objects created on or after the specified timestamp. Must be an RFC 3339 date + /// & time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_gte")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_gte")] +#endif + public DateTime? CreatedGte { get; set; } + + /// + /// Filter for objects created before the specified timestamp. Must be an RFC 3339 date + /// & time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_lt")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_lt")] +#endif + public DateTime? CreatedLt { get; set; } + + /// + /// Filter for objects created on or before the specified timestamp. Must be an RFC 3339 + /// date & time value, for example: 2022-09-18T13:22:00Z. + /// + [JsonProperty("created_lte")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("created_lte")] +#endif + public DateTime? CreatedLte { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/ReceivedCredits/ReceivedCreditService.cs b/src/Stripe.net/Services/V2/MoneyManagement/ReceivedCredits/ReceivedCreditService.cs new file mode 100644 index 0000000000..10ff3d944b --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/ReceivedCredits/ReceivedCreditService.cs @@ -0,0 +1,71 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Collections.Generic; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class ReceivedCreditService : Service + { + internal ReceivedCreditService(ApiRequestor requestor) + : base(requestor) + { + } + + internal ReceivedCreditService(IStripeClient client) + : base(client) + { + } + + /// + /// Retrieve a ReceivedCredit by ID. + /// + public virtual V2.ReceivedCredit Get(string id, ReceivedCreditGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/received_credits/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieve a ReceivedCredit by ID. + /// + public virtual Task GetAsync(string id, ReceivedCreditGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/received_credits/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// Retrieves a list of ReceivedCredits. + /// + public virtual V2.StripeList List(ReceivedCreditListOptions options = null, RequestOptions requestOptions = null) + { + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/received_credits", options, requestOptions); + } + + /// + /// Retrieves a list of ReceivedCredits. + /// + public virtual Task> ListAsync(ReceivedCreditListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/received_credits", options, requestOptions, cancellationToken); + } + + /// + /// Retrieves a list of ReceivedCredits. + /// + public virtual IEnumerable ListAutoPaging(ReceivedCreditListOptions options = null, RequestOptions requestOptions = null) + { + return this.ListRequestAutoPaging($"/v2/money_management/received_credits", options, requestOptions); + } + + /// + /// Retrieves a list of ReceivedCredits. + /// + public virtual IAsyncEnumerable ListAutoPagingAsync(ReceivedCreditListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.ListRequestAutoPagingAsync($"/v2/money_management/received_credits", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/ReceivedDebits/ReceivedDebitGetOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/ReceivedDebits/ReceivedDebitGetOptions.cs new file mode 100644 index 0000000000..e8c49d9db5 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/ReceivedDebits/ReceivedDebitGetOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class ReceivedDebitGetOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/ReceivedDebits/ReceivedDebitListOptions.cs b/src/Stripe.net/Services/V2/MoneyManagement/ReceivedDebits/ReceivedDebitListOptions.cs new file mode 100644 index 0000000000..e7356c1787 --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/ReceivedDebits/ReceivedDebitListOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + public class ReceivedDebitListOptions : V2.ListOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagement/ReceivedDebits/ReceivedDebitService.cs b/src/Stripe.net/Services/V2/MoneyManagement/ReceivedDebits/ReceivedDebitService.cs new file mode 100644 index 0000000000..fea262e06c --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagement/ReceivedDebits/ReceivedDebitService.cs @@ -0,0 +1,71 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.MoneyManagement +{ + using System; + using System.Collections.Generic; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class ReceivedDebitService : Service + { + internal ReceivedDebitService(ApiRequestor requestor) + : base(requestor) + { + } + + internal ReceivedDebitService(IStripeClient client) + : base(client) + { + } + + /// + /// Retrieves a single ReceivedDebit by ID. + /// + public virtual V2.ReceivedDebit Get(string id, ReceivedDebitGetOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/received_debits/{WebUtility.UrlEncode(id)}", options, requestOptions); + } + + /// + /// Retrieves a single ReceivedDebit by ID. + /// + public virtual Task GetAsync(string id, ReceivedDebitGetOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/received_debits/{WebUtility.UrlEncode(id)}", options, requestOptions, cancellationToken); + } + + /// + /// Retrieves a list of ReceivedDebits, given the selected filters. + /// + public virtual V2.StripeList List(ReceivedDebitListOptions options = null, RequestOptions requestOptions = null) + { + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/received_debits", options, requestOptions); + } + + /// + /// Retrieves a list of ReceivedDebits, given the selected filters. + /// + public virtual Task> ListAsync(ReceivedDebitListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/money_management/received_debits", options, requestOptions, cancellationToken); + } + + /// + /// Retrieves a list of ReceivedDebits, given the selected filters. + /// + public virtual IEnumerable ListAutoPaging(ReceivedDebitListOptions options = null, RequestOptions requestOptions = null) + { + return this.ListRequestAutoPaging($"/v2/money_management/received_debits", options, requestOptions); + } + + /// + /// Retrieves a list of ReceivedDebits, given the selected filters. + /// + public virtual IAsyncEnumerable ListAutoPagingAsync(ReceivedDebitListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.ListRequestAutoPagingAsync($"/v2/money_management/received_debits", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2/MoneyManagementService.cs b/src/Stripe.net/Services/V2/MoneyManagementService.cs new file mode 100644 index 0000000000..d555ec132f --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagementService.cs @@ -0,0 +1,61 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using System.Threading; + using System.Threading.Tasks; + + public class MoneyManagementService : Service + { + private V2.MoneyManagement.FinancialAccountService financialAccounts; + private V2.MoneyManagement.FinancialAddressService financialAddresses; + private V2.MoneyManagement.InboundTransferService inboundTransfers; + private V2.MoneyManagement.OutboundPaymentService outboundPayments; + private V2.MoneyManagement.OutboundTransferService outboundTransfers; + private V2.MoneyManagement.OutboundSetupIntentService outboundSetupIntents; + private V2.MoneyManagement.PayoutMethodService payoutMethods; + private V2.MoneyManagement.PayoutMethodsBankAccountSpecService payoutMethodsBankAccountSpec; + private V2.MoneyManagement.ReceivedCreditService receivedCredits; + private V2.MoneyManagement.ReceivedDebitService receivedDebits; + + internal MoneyManagementService(ApiRequestor requestor) + : base(requestor) + { + } + + internal MoneyManagementService(IStripeClient client) + : base(client) + { + } + + public virtual V2.MoneyManagement.FinancialAccountService FinancialAccounts => this.financialAccounts ??= new V2.MoneyManagement.FinancialAccountService( + this.Requestor); + + public virtual V2.MoneyManagement.FinancialAddressService FinancialAddresses => this.financialAddresses ??= new V2.MoneyManagement.FinancialAddressService( + this.Requestor); + + public virtual V2.MoneyManagement.InboundTransferService InboundTransfers => this.inboundTransfers ??= new V2.MoneyManagement.InboundTransferService( + this.Requestor); + + public virtual V2.MoneyManagement.OutboundPaymentService OutboundPayments => this.outboundPayments ??= new V2.MoneyManagement.OutboundPaymentService( + this.Requestor); + + public virtual V2.MoneyManagement.OutboundTransferService OutboundTransfers => this.outboundTransfers ??= new V2.MoneyManagement.OutboundTransferService( + this.Requestor); + + public virtual V2.MoneyManagement.OutboundSetupIntentService OutboundSetupIntents => this.outboundSetupIntents ??= new V2.MoneyManagement.OutboundSetupIntentService( + this.Requestor); + + public virtual V2.MoneyManagement.PayoutMethodService PayoutMethods => this.payoutMethods ??= new V2.MoneyManagement.PayoutMethodService( + this.Requestor); + + public virtual V2.MoneyManagement.PayoutMethodsBankAccountSpecService PayoutMethodsBankAccountSpec => this.payoutMethodsBankAccountSpec ??= new V2.MoneyManagement.PayoutMethodsBankAccountSpecService( + this.Requestor); + + public virtual V2.MoneyManagement.ReceivedCreditService ReceivedCredits => this.receivedCredits ??= new V2.MoneyManagement.ReceivedCreditService( + this.Requestor); + + public virtual V2.MoneyManagement.ReceivedDebitService ReceivedDebits => this.receivedDebits ??= new V2.MoneyManagement.ReceivedDebitService( + this.Requestor); + } +} diff --git a/src/Stripe.net/Services/V2/TestHelperService.cs b/src/Stripe.net/Services/V2/TestHelperService.cs new file mode 100644 index 0000000000..a2f375f597 --- /dev/null +++ b/src/Stripe.net/Services/V2/TestHelperService.cs @@ -0,0 +1,25 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2 +{ + using System; + using System.Threading; + using System.Threading.Tasks; + + public class TestHelperService : Service + { + private V2.TestHelpers.FinancialAddressService financialAddresses; + + internal TestHelperService(ApiRequestor requestor) + : base(requestor) + { + } + + internal TestHelperService(IStripeClient client) + : base(client) + { + } + + public virtual V2.TestHelpers.FinancialAddressService FinancialAddresses => this.financialAddresses ??= new V2.TestHelpers.FinancialAddressService( + this.Requestor); + } +} diff --git a/src/Stripe.net/Services/V2/TestHelpers/FinancialAddresses/FinancialAddressCreditOptions.cs b/src/Stripe.net/Services/V2/TestHelpers/FinancialAddresses/FinancialAddressCreditOptions.cs new file mode 100644 index 0000000000..04ea3e9c97 --- /dev/null +++ b/src/Stripe.net/Services/V2/TestHelpers/FinancialAddresses/FinancialAddressCreditOptions.cs @@ -0,0 +1,41 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.TestHelpers +{ + using Newtonsoft.Json; +#if NET6_0_OR_GREATER + using STJS = System.Text.Json.Serialization; +#endif + + public class FinancialAddressCreditOptions : BaseOptions + { + /// + /// Object containing the amount value and currency to credit. + /// + [JsonProperty("amount")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("amount")] +#endif + public V2.Amount Amount { get; set; } + + /// + /// Open Enum. The network to use in simulating the funds flow. This will be the reflected + /// in the resulting ReceivedCredit. + /// One of: ach, fps, rtp, or wire. + /// + [JsonProperty("network")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("network")] +#endif + public string Network { get; set; } + + /// + /// String explaining funds flow. Use this field to populate the statement descriptor of the + /// ReceivedCredit created as an eventual result of this simulation. + /// + [JsonProperty("statement_descriptor")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("statement_descriptor")] +#endif + public string StatementDescriptor { get; set; } + } +} diff --git a/src/Stripe.net/Services/V2/TestHelpers/FinancialAddresses/FinancialAddressGenerateMicrodepositsOptions.cs b/src/Stripe.net/Services/V2/TestHelpers/FinancialAddresses/FinancialAddressGenerateMicrodepositsOptions.cs new file mode 100644 index 0000000000..a230e1f905 --- /dev/null +++ b/src/Stripe.net/Services/V2/TestHelpers/FinancialAddresses/FinancialAddressGenerateMicrodepositsOptions.cs @@ -0,0 +1,7 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.TestHelpers +{ + public class FinancialAddressGenerateMicrodepositsOptions : BaseOptions + { + } +} diff --git a/src/Stripe.net/Services/V2/TestHelpers/FinancialAddresses/FinancialAddressService.cs b/src/Stripe.net/Services/V2/TestHelpers/FinancialAddresses/FinancialAddressService.cs new file mode 100644 index 0000000000..31ea1410bc --- /dev/null +++ b/src/Stripe.net/Services/V2/TestHelpers/FinancialAddresses/FinancialAddressService.cs @@ -0,0 +1,56 @@ +// File generated from our OpenAPI spec +namespace Stripe.V2.TestHelpers +{ + using System; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + public class FinancialAddressService : Service + { + internal FinancialAddressService(ApiRequestor requestor) + : base(requestor) + { + } + + internal FinancialAddressService(IStripeClient client) + : base(client) + { + } + + /// + /// Simulate crediting a FinancialAddress in a Sandbox environment. This can be used to add + /// virtual funds and increase your balance for testing. + /// + public virtual V2.FinancialAddressCreditSimulation Credit(string id, FinancialAddressCreditOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/test_helpers/financial_addresses/{WebUtility.UrlEncode(id)}/credit", options, requestOptions); + } + + /// + /// Simulate crediting a FinancialAddress in a Sandbox environment. This can be used to add + /// virtual funds and increase your balance for testing. + /// + public virtual Task CreditAsync(string id, FinancialAddressCreditOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/test_helpers/financial_addresses/{WebUtility.UrlEncode(id)}/credit", options, requestOptions, cancellationToken); + } + + /// + /// Generates microdeposits for a FinancialAddress in a Sandbox environment. + /// + public virtual V2.FinancialAddressGeneratedMicrodeposits GenerateMicrodeposits(string id, FinancialAddressGenerateMicrodepositsOptions options = null, RequestOptions requestOptions = null) + { + return this.Request(BaseAddress.Api, HttpMethod.Post, $"/v2/test_helpers/financial_addresses/{WebUtility.UrlEncode(id)}/generate_microdeposits", options, requestOptions); + } + + /// + /// Generates microdeposits for a FinancialAddress in a Sandbox environment. + /// + public virtual Task GenerateMicrodepositsAsync(string id, FinancialAddressGenerateMicrodepositsOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + { + return this.RequestAsync(BaseAddress.Api, HttpMethod.Post, $"/v2/test_helpers/financial_addresses/{WebUtility.UrlEncode(id)}/generate_microdeposits", options, requestOptions, cancellationToken); + } + } +} diff --git a/src/Stripe.net/Services/V2Services.cs b/src/Stripe.net/Services/V2Services.cs index 0a6ba0365d..e843a0b2f7 100644 --- a/src/Stripe.net/Services/V2Services.cs +++ b/src/Stripe.net/Services/V2Services.cs @@ -7,8 +7,10 @@ namespace Stripe public class V2Services : Service { - private V2.BillingService billing; private V2.CoreService core; + private V2.BillingService billing; + private V2.MoneyManagementService moneyManagement; + private V2.TestHelperService testHelpers; internal V2Services(ApiRequestor requestor) : base(requestor) @@ -20,10 +22,16 @@ internal V2Services(IStripeClient client) { } + public virtual V2.CoreService Core => this.core ??= new V2.CoreService( + this.Requestor); + public virtual V2.BillingService Billing => this.billing ??= new V2.BillingService( this.Requestor); - public virtual V2.CoreService Core => this.core ??= new V2.CoreService( + public virtual V2.MoneyManagementService MoneyManagement => this.moneyManagement ??= new V2.MoneyManagementService( + this.Requestor); + + public virtual V2.TestHelperService TestHelpers => this.testHelpers ??= new V2.TestHelperService( this.Requestor); } } diff --git a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs index 671cee9cd8..6a251ad92c 100644 --- a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs +++ b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs @@ -39,7 +39,8 @@ public class WebhookEndpointCreateOptions : BaseOptions, IHasMetadata /// 2022-08-01, 2022-11-15, 2023-08-16, 2023-10-16, /// 2024-04-10, 2024-06-20, 2024-09-30.acacia, /// 2024-10-28.acacia, 2024-11-20.acacia, 2024-12-18.acacia, - /// 2025-01-27.acacia, or 2025-02-24.acacia. + /// 2025-01-27.acacia, 2025-02-24.acacia, 2025-03-01.dashboard, or + /// 2025-03-31.basil. ///
[JsonProperty("api_version")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointService.cs b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointService.cs index a7c6f08abb..7e0187e476 100644 --- a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointService.cs +++ b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointService.cs @@ -8,7 +8,7 @@ namespace Stripe using System.Threading; using System.Threading.Tasks; - public class WebhookEndpointService : Service, + public class WebhookEndpointService : Service, ICreatable, IDeletable, IListable, diff --git a/src/StripeTests/Services/GeneratedExamplesTest.cs b/src/StripeTests/Services/GeneratedExamplesTest.cs index a3861d4886..2320f91f77 100644 --- a/src/StripeTests/Services/GeneratedExamplesTest.cs +++ b/src/StripeTests/Services/GeneratedExamplesTest.cs @@ -1701,7 +1701,6 @@ public void TestInvoiceitemsPost() var options = new InvoiceItemCreateOptions { Customer = "cus_xxxxxxxxxxxxx", - Price = "price_xxxxxxxxxxxxx", }; var service = new InvoiceItemService(this.StripeClient); service.Create(options); @@ -3754,41 +3753,6 @@ public void TestSubscriptionItemsPost2() "/v1/subscription_items/si_xxxxxxxxxxxxx"); } - [Fact] - public void TestSubscriptionItemsUsageRecordSummariesGet() - { - var options = new SubscriptionItemUsageRecordSummaryListOptions - { - Limit = 3, - }; - var service = new SubscriptionItemUsageRecordSummaryService( - this.StripeClient); - StripeList usageRecordSummaries = service.List( - "si_xxxxxxxxxxxxx", - options); - this.AssertRequest( - HttpMethod.Get, - "/v1/subscription_items/si_xxxxxxxxxxxxx/usage_record_summaries", - "limit=3"); - } - - [Fact] - public void TestSubscriptionItemsUsageRecordsPost() - { - var options = new SubscriptionItemUsageRecordCreateOptions - { - Quantity = 100, - Timestamp = DateTimeOffset.FromUnixTimeSeconds(1571252444) - .UtcDateTime, - }; - var service = new SubscriptionItemUsageRecordService( - this.StripeClient); - service.Create("si_xxxxxxxxxxxxx", options); - this.AssertRequest( - HttpMethod.Post, - "/v1/subscription_items/si_xxxxxxxxxxxxx/usage_records"); - } - [Fact] public void TestSubscriptionSchedulesCancelPost() { @@ -5998,5 +5962,1475 @@ public void TestWebhookEndpointsPost2() HttpMethod.Post, "/v1/webhook_endpoints/we_xxxxxxxxxxxxx"); } + + [Fact] + public void TestV2CoreAccountPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/accounts/id_123/close", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"applied_configurations\":[\"recipient\"],\"configuration\":null,\"contact_email\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"dashboard\":null,\"defaults\":null,\"display_name\":null,\"identity\":null,\"metadata\":null,\"requirements\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Accounts; + service.Close("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/accounts/id_123/close"); + } + + [Fact] + public void TestV2CoreAccountPost2() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/accounts", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"applied_configurations\":[\"recipient\"],\"configuration\":null,\"contact_email\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"dashboard\":null,\"defaults\":null,\"display_name\":null,\"identity\":null,\"metadata\":null,\"requirements\":null}"); + var options = new Stripe.V2.Core.AccountCreateOptions(); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Accounts; + service.Create(options); + this.AssertRequest(HttpMethod.Post, "/v2/core/accounts"); + } + + [Fact] + public void TestV2CoreAccountGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/core/accounts", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"applied_configurations\":[\"recipient\"],\"configuration\":null,\"contact_email\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"dashboard\":null,\"defaults\":null,\"display_name\":null,\"identity\":null,\"metadata\":null,\"requirements\":null}],\"next_page_url\":null,\"previous_page_url\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Accounts; + Stripe.V2.StripeList accounts = service + .List(); + this.AssertRequest(HttpMethod.Get, "/v2/core/accounts"); + } + + [Fact] + public void TestV2CoreAccountGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/core/accounts/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"applied_configurations\":[\"recipient\"],\"configuration\":null,\"contact_email\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"dashboard\":null,\"defaults\":null,\"display_name\":null,\"identity\":null,\"metadata\":null,\"requirements\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Accounts; + service.Get("id_123"); + this.AssertRequest(HttpMethod.Get, "/v2/core/accounts/id_123"); + } + + [Fact] + public void TestV2CoreAccountPost3() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/accounts/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"applied_configurations\":[\"recipient\"],\"configuration\":null,\"contact_email\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"dashboard\":null,\"defaults\":null,\"display_name\":null,\"identity\":null,\"metadata\":null,\"requirements\":null}"); + var options = new Stripe.V2.Core.AccountUpdateOptions(); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Accounts; + service.Update("id_123", options); + this.AssertRequest(HttpMethod.Post, "/v2/core/accounts/id_123"); + } + + [Fact] + public void TestV2CoreAccountsPersonPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/accounts/account_id_123/persons", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.account_person\",\"account\":\"account\",\"additional_addresses\":null,\"additional_names\":null,\"additional_terms_of_service\":null,\"address\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"date_of_birth\":null,\"documents\":null,\"email\":null,\"given_name\":null,\"id_numbers\":null,\"legal_gender\":null,\"metadata\":null,\"nationalities\":null,\"phone\":null,\"political_exposure\":null,\"relationship\":null,\"script_addresses\":null,\"script_names\":null,\"surname\":null,\"updated\":\"1970-01-03T17:07:10.277Z\"}"); + var options = new Stripe.V2.Core.Accounts.PersonCreateOptions(); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Accounts.Persons; + service.Create("account_id_123", options); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/accounts/account_id_123/persons"); + } + + [Fact] + public void TestV2CoreAccountsPersonDelete() + { + this.StubRequest( + HttpMethod.Delete, + "/v2/core/accounts/account_id_123/persons/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.account_person\",\"account\":\"account\",\"additional_addresses\":null,\"additional_names\":null,\"additional_terms_of_service\":null,\"address\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"date_of_birth\":null,\"documents\":null,\"email\":null,\"given_name\":null,\"id_numbers\":null,\"legal_gender\":null,\"metadata\":null,\"nationalities\":null,\"phone\":null,\"political_exposure\":null,\"relationship\":null,\"script_addresses\":null,\"script_names\":null,\"surname\":null,\"updated\":\"1970-01-03T17:07:10.277Z\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Accounts.Persons; + service.Delete("account_id_123", "id_123"); + this.AssertRequest( + HttpMethod.Delete, + "/v2/core/accounts/account_id_123/persons/id_123"); + } + + [Fact] + public void TestV2CoreAccountsPersonGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/core/accounts/account_id_123/persons", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.core.account_person\",\"account\":\"account\",\"additional_addresses\":null,\"additional_names\":null,\"additional_terms_of_service\":null,\"address\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"date_of_birth\":null,\"documents\":null,\"email\":null,\"given_name\":null,\"id_numbers\":null,\"legal_gender\":null,\"metadata\":null,\"nationalities\":null,\"phone\":null,\"political_exposure\":null,\"relationship\":null,\"script_addresses\":null,\"script_names\":null,\"surname\":null,\"updated\":\"1970-01-03T17:07:10.277Z\"}],\"next_page_url\":null,\"previous_page_url\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Accounts.Persons; + Stripe.V2.StripeList persons = service.List( + "account_id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/core/accounts/account_id_123/persons"); + } + + [Fact] + public void TestV2CoreAccountsPersonGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/core/accounts/account_id_123/persons/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.account_person\",\"account\":\"account\",\"additional_addresses\":null,\"additional_names\":null,\"additional_terms_of_service\":null,\"address\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"date_of_birth\":null,\"documents\":null,\"email\":null,\"given_name\":null,\"id_numbers\":null,\"legal_gender\":null,\"metadata\":null,\"nationalities\":null,\"phone\":null,\"political_exposure\":null,\"relationship\":null,\"script_addresses\":null,\"script_names\":null,\"surname\":null,\"updated\":\"1970-01-03T17:07:10.277Z\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Accounts.Persons; + service.Get("account_id_123", "id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/core/accounts/account_id_123/persons/id_123"); + } + + [Fact] + public void TestV2CoreAccountsPersonPost2() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/accounts/account_id_123/persons/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.account_person\",\"account\":\"account\",\"additional_addresses\":null,\"additional_names\":null,\"additional_terms_of_service\":null,\"address\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"date_of_birth\":null,\"documents\":null,\"email\":null,\"given_name\":null,\"id_numbers\":null,\"legal_gender\":null,\"metadata\":null,\"nationalities\":null,\"phone\":null,\"political_exposure\":null,\"relationship\":null,\"script_addresses\":null,\"script_names\":null,\"surname\":null,\"updated\":\"1970-01-03T17:07:10.277Z\"}"); + var options = new Stripe.V2.Core.Accounts.PersonUpdateOptions(); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Accounts.Persons; + service.Update("account_id_123", "id_123", options); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/accounts/account_id_123/persons/id_123"); + } + + [Fact] + public void TestV2CoreEventDestinationPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/event_destinations", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.event_destination\",\"amazon_eventbridge\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"livemode\":true,\"metadata\":null,\"name\":\"name\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"webhook_endpoint\":null}"); + var options = new Stripe.V2.Core.EventDestinationCreateOptions + { + EnabledEvents = new List { "enabled_events" }, + EventPayload = "thin", + Name = "name", + Type = "amazon_eventbridge", + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.EventDestinations; + service.Create(options); + this.AssertRequest(HttpMethod.Post, "/v2/core/event_destinations"); + } + + [Fact] + public void TestV2CoreEventDestinationDelete() + { + this.StubRequest( + HttpMethod.Delete, + "/v2/core/event_destinations/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.event_destination\",\"amazon_eventbridge\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"livemode\":true,\"metadata\":null,\"name\":\"name\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"webhook_endpoint\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.EventDestinations; + service.Delete("id_123"); + this.AssertRequest( + HttpMethod.Delete, + "/v2/core/event_destinations/id_123"); + } + + [Fact] + public void TestV2CoreEventDestinationPost2() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/event_destinations/id_123/disable", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.event_destination\",\"amazon_eventbridge\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"livemode\":true,\"metadata\":null,\"name\":\"name\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"webhook_endpoint\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.EventDestinations; + service.Disable("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/event_destinations/id_123/disable"); + } + + [Fact] + public void TestV2CoreEventDestinationPost3() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/event_destinations/id_123/enable", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.event_destination\",\"amazon_eventbridge\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"livemode\":true,\"metadata\":null,\"name\":\"name\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"webhook_endpoint\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.EventDestinations; + service.Enable("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/event_destinations/id_123/enable"); + } + + [Fact] + public void TestV2CoreEventDestinationGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/core/event_destinations", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.core.event_destination\",\"amazon_eventbridge\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"livemode\":true,\"metadata\":null,\"name\":\"name\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"webhook_endpoint\":null}],\"next_page_url\":null,\"previous_page_url\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.EventDestinations; + Stripe.V2.StripeList eventDestinations = service + .List(); + this.AssertRequest(HttpMethod.Get, "/v2/core/event_destinations"); + } + + [Fact] + public void TestV2CoreEventDestinationPost4() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/event_destinations/id_123/ping", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.event\",\"context\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"livemode\":true,\"reason\":null,\"type\":\"type\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.EventDestinations; + service.Ping("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/event_destinations/id_123/ping"); + } + + [Fact] + public void TestV2CoreEventDestinationGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/core/event_destinations/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.event_destination\",\"amazon_eventbridge\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"livemode\":true,\"metadata\":null,\"name\":\"name\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"webhook_endpoint\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.EventDestinations; + service.Get("id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/core/event_destinations/id_123"); + } + + [Fact] + public void TestV2CoreEventDestinationPost5() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/event_destinations/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.event_destination\",\"amazon_eventbridge\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"livemode\":true,\"metadata\":null,\"name\":\"name\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"webhook_endpoint\":null}"); + var options = new Stripe.V2.Core.EventDestinationUpdateOptions(); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.EventDestinations; + service.Update("id_123", options); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/event_destinations/id_123"); + } + + [Fact] + public void TestV2CoreEventGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/core/events", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.core.event\",\"context\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"livemode\":true,\"reason\":null,\"type\":\"type\"}],\"next_page_url\":null,\"previous_page_url\":null}", + "object_id=object_id"); + var options = new Stripe.V2.Core.EventListOptions + { + ObjectId = "object_id", + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Events; + Stripe.V2.StripeList events = service.List( + options); + this.AssertRequest( + HttpMethod.Get, + "/v2/core/events", + "object_id=object_id"); + } + + [Fact] + public void TestV2CoreEventGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/core/events/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.event\",\"context\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"livemode\":true,\"reason\":null,\"type\":\"type\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Events; + service.Get("id_123"); + this.AssertRequest(HttpMethod.Get, "/v2/core/events/id_123"); + } + + [Fact] + public void TestV2CoreVaultGbBankAccountPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/gb_bank_accounts/id_123/acknowledge_confirmation_of_payee", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.vault.gb_bank_account\",\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{\"business_type\":null,\"name\":null},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"last4\":\"last4\",\"sort_code\":\"sort_code\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.GbBankAccounts; + service.AcknowledgeConfirmationOfPayee("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/vault/gb_bank_accounts/id_123/acknowledge_confirmation_of_payee"); + } + + [Fact] + public void TestV2CoreVaultGbBankAccountPost2() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/gb_bank_accounts/id_123/archive", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.vault.gb_bank_account\",\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{\"business_type\":null,\"name\":null},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"last4\":\"last4\",\"sort_code\":\"sort_code\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.GbBankAccounts; + service.Archive("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/vault/gb_bank_accounts/id_123/archive"); + } + + [Fact] + public void TestV2CoreVaultGbBankAccountPost3() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/gb_bank_accounts", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.vault.gb_bank_account\",\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{\"business_type\":null,\"name\":null},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"last4\":\"last4\",\"sort_code\":\"sort_code\"}"); + var options = new Stripe.V2.Core.Vault.GbBankAccountCreateOptions + { + AccountNumber = "account_number", + SortCode = "sort_code", + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.GbBankAccounts; + service.Create(options); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/vault/gb_bank_accounts"); + } + + [Fact] + public void TestV2CoreVaultGbBankAccountPost4() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/gb_bank_accounts/id_123/initiate_confirmation_of_payee", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.vault.gb_bank_account\",\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{\"business_type\":null,\"name\":null},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"last4\":\"last4\",\"sort_code\":\"sort_code\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.GbBankAccounts; + service.InitiateConfirmationOfPayee("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/vault/gb_bank_accounts/id_123/initiate_confirmation_of_payee"); + } + + [Fact] + public void TestV2CoreVaultGbBankAccountGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/core/vault/gb_bank_accounts/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.vault.gb_bank_account\",\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{\"business_type\":null,\"name\":null},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"last4\":\"last4\",\"sort_code\":\"sort_code\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.GbBankAccounts; + service.Get("id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/core/vault/gb_bank_accounts/id_123"); + } + + [Fact] + public void TestV2CoreVaultUsBankAccountPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts/id_123/archive", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.vault.us_bank_account\",\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"created\":\"1970-01-12T21:42:34.472Z\",\"fedwire_routing_number\":null,\"last4\":\"last4\",\"routing_number\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.UsBankAccounts; + service.Archive("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts/id_123/archive"); + } + + [Fact] + public void TestV2CoreVaultUsBankAccountPost2() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.vault.us_bank_account\",\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"created\":\"1970-01-12T21:42:34.472Z\",\"fedwire_routing_number\":null,\"last4\":\"last4\",\"routing_number\":null}"); + var options = new Stripe.V2.Core.Vault.UsBankAccountCreateOptions + { + AccountNumber = "account_number", + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.UsBankAccounts; + service.Create(options); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts"); + } + + [Fact] + public void TestV2CoreVaultUsBankAccountGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/core/vault/us_bank_accounts/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.vault.us_bank_account\",\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"created\":\"1970-01-12T21:42:34.472Z\",\"fedwire_routing_number\":null,\"last4\":\"last4\",\"routing_number\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.UsBankAccounts; + service.Get("id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/core/vault/us_bank_accounts/id_123"); + } + + [Fact] + public void TestV2CoreVaultUsBankAccountPost3() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.core.vault.us_bank_account\",\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"created\":\"1970-01-12T21:42:34.472Z\",\"fedwire_routing_number\":null,\"last4\":\"last4\",\"routing_number\":null}"); + var options = new Stripe.V2.Core.Vault.UsBankAccountUpdateOptions(); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.UsBankAccounts; + service.Update("id_123", options); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts/id_123"); + } + + [Fact] + public void TestV2BillingMeterEventSessionPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/billing/meter_event_session", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.billing.meter_event_session\",\"authentication_token\":\"authentication_token\",\"created\":\"1970-01-12T21:42:34.472Z\",\"expires_at\":\"1970-01-10T15:36:51.170Z\",\"livemode\":true}"); + var options = new Stripe.V2.Billing.MeterEventSessionCreateOptions(); + var client = new StripeClient(this.Requestor); + var service = client.V2.Billing.MeterEventSession; + service.Create(options); + this.AssertRequest( + HttpMethod.Post, + "/v2/billing/meter_event_session"); + } + + [Fact] + public void TestV2BillingMeterEventAdjustmentPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/billing/meter_event_adjustments", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.billing.meter_event_adjustment\",\"cancel\":{\"identifier\":\"identifier\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"event_name\":\"event_name\",\"livemode\":true,\"status\":\"complete\",\"type\":\"cancel\"}"); + var options = new Stripe.V2.Billing.MeterEventAdjustmentCreateOptions + { + Cancel = new Stripe.V2.Billing.MeterEventAdjustmentCreateCancelOptions + { + Identifier = "identifier", + }, + EventName = "event_name", + Type = "cancel", + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.Billing.MeterEventAdjustments; + service.Create(options); + this.AssertRequest( + HttpMethod.Post, + "/v2/billing/meter_event_adjustments"); + } + + [Fact] + public void TestV2BillingMeterEventStreamPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/billing/meter_event_stream", + (HttpStatusCode)200, + "{}"); + var options = new Stripe.V2.Billing.MeterEventStreamCreateOptions + { + Events = new List + { + new Stripe.V2.Billing.MeterEventStreamCreateEventOptions + { + EventName = "event_name", + Identifier = "identifier", + Payload = new Dictionary + { + { "undefined", "payload" }, + }, + Timestamp = DateTimeOffset.Parse( + "1970-01-01T15:18:46.294Z") + .UtcDateTime, + }, + }, + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.Billing.MeterEventStream; + service.Create(options); + this.AssertRequest( + HttpMethod.Post, + "/v2/billing/meter_event_stream"); + } + + [Fact] + public void TestV2BillingMeterEventPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/billing/meter_events", + (HttpStatusCode)200, + "{\"object\":\"v2.billing.meter_event\",\"created\":\"1970-01-12T21:42:34.472Z\",\"event_name\":\"event_name\",\"identifier\":\"identifier\",\"livemode\":true,\"payload\":{\"undefined\":\"payload\"},\"timestamp\":\"1970-01-01T15:18:46.294Z\"}"); + var options = new Stripe.V2.Billing.MeterEventCreateOptions + { + EventName = "event_name", + Payload = new Dictionary + { + { "undefined", "payload" }, + }, + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.Billing.MeterEvents; + service.Create(options); + this.AssertRequest(HttpMethod.Post, "/v2/billing/meter_events"); + } + + [Fact] + public void TestV2MoneyManagementFinancialAccountGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/financial_accounts", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_account\",\"balance\":{\"available\":{\"undefined\":{\"currency\":\"USD\",\"value\":35}},\"inbound_pending\":{\"undefined\":{\"currency\":\"USD\",\"value\":11}},\"outbound_pending\":{\"undefined\":{\"currency\":\"USD\",\"value\":60}}},\"country\":\"ec\",\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":null,\"other\":null,\"status\":\"closed\",\"storage\":null,\"type\":\"other\"}],\"next_page_url\":null,\"previous_page_url\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.FinancialAccounts; + Stripe.V2.StripeList financialAccounts = service + .List(); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/financial_accounts"); + } + + [Fact] + public void TestV2MoneyManagementFinancialAccountGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/financial_accounts/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_account\",\"balance\":{\"available\":{\"undefined\":{\"currency\":\"USD\",\"value\":35}},\"inbound_pending\":{\"undefined\":{\"currency\":\"USD\",\"value\":11}},\"outbound_pending\":{\"undefined\":{\"currency\":\"USD\",\"value\":60}}},\"country\":\"ec\",\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":null,\"other\":null,\"status\":\"closed\",\"storage\":null,\"type\":\"other\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.FinancialAccounts; + service.Get("id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/financial_accounts/id_123"); + } + + [Fact] + public void TestV2MoneyManagementFinancialAddressPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/financial_addresses", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_address\",\"created\":\"1970-01-12T21:42:34.472Z\",\"credentials\":null,\"currency\":\"gip\",\"financial_account\":\"financial_account\",\"status\":\"failed\"}"); + var options = new Stripe.V2.MoneyManagement.FinancialAddressCreateOptions + { + Currency = "gip", + FinancialAccount = "financial_account", + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.FinancialAddresses; + service.Create(options); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/financial_addresses"); + } + + [Fact] + public void TestV2MoneyManagementFinancialAddressGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/financial_addresses", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_address\",\"created\":\"1970-01-12T21:42:34.472Z\",\"credentials\":null,\"currency\":\"gip\",\"financial_account\":\"financial_account\",\"status\":\"failed\"}],\"next_page_url\":null,\"previous_page_url\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.FinancialAddresses; + Stripe.V2.StripeList financialAddresses = service + .List(); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/financial_addresses"); + } + + [Fact] + public void TestV2MoneyManagementFinancialAddressGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/financial_addresses/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_address\",\"created\":\"1970-01-12T21:42:34.472Z\",\"credentials\":null,\"currency\":\"gip\",\"financial_account\":\"financial_account\",\"status\":\"failed\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.FinancialAddresses; + service.Get("id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/financial_addresses/id_123"); + } + + [Fact] + public void TestV2MoneyManagementInboundTransferPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/inbound_transfers", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.inbound_transfer\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"payment_method\":{\"type\":\"type\",\"us_bank_account\":null}},\"receipt_url\":\"receipt_url\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"financial_account\":\"financial_account\"},\"transfer_history\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"level\":\"canonical\",\"type\":\"bank_debit_failed\",\"bank_debit_failed\":null,\"bank_debit_processing\":null,\"bank_debit_queued\":null,\"bank_debit_returned\":null,\"bank_debit_succeeded\":null}]}"); + var options = new Stripe.V2.MoneyManagement.InboundTransferCreateOptions + { + Amount = new Stripe.V2.Amount { Currency = "USD", Value = 96 }, + From = new Stripe.V2.MoneyManagement.InboundTransferCreateFromOptions + { + Currency = "currency", + PaymentMethod = "payment_method", + }, + To = new Stripe.V2.MoneyManagement.InboundTransferCreateToOptions + { + Currency = "currency", + FinancialAccount = "financial_account", + }, + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.InboundTransfers; + service.Create(options); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/inbound_transfers"); + } + + [Fact] + public void TestV2MoneyManagementInboundTransferGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/inbound_transfers", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.money_management.inbound_transfer\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"payment_method\":{\"type\":\"type\",\"us_bank_account\":null}},\"receipt_url\":\"receipt_url\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"financial_account\":\"financial_account\"},\"transfer_history\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"level\":\"canonical\",\"type\":\"bank_debit_failed\",\"bank_debit_failed\":null,\"bank_debit_processing\":null,\"bank_debit_queued\":null,\"bank_debit_returned\":null,\"bank_debit_succeeded\":null}]}],\"next_page_url\":null,\"previous_page_url\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.InboundTransfers; + Stripe.V2.StripeList inboundTransfers = service + .List(); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/inbound_transfers"); + } + + [Fact] + public void TestV2MoneyManagementInboundTransferGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/inbound_transfers/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.inbound_transfer\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"payment_method\":{\"type\":\"type\",\"us_bank_account\":null}},\"receipt_url\":\"receipt_url\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"financial_account\":\"financial_account\"},\"transfer_history\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"level\":\"canonical\",\"type\":\"bank_debit_failed\",\"bank_debit_failed\":null,\"bank_debit_processing\":null,\"bank_debit_queued\":null,\"bank_debit_returned\":null,\"bank_debit_succeeded\":null}]}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.InboundTransfers; + service.Get("id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/inbound_transfers/id_123"); + } + + [Fact] + public void TestV2MoneyManagementOutboundPaymentPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments/id_123/cancel", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_payment\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"metadata\":null,\"receipt_url\":\"receipt_url\",\"recipient_notification\":{\"setting\":\"configured\"},\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"trace_id\":{\"status\":\"pending\",\"value\":null}}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundPayments; + service.Cancel("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments/id_123/cancel"); + } + + [Fact] + public void TestV2MoneyManagementOutboundPaymentPost2() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_payment\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"metadata\":null,\"receipt_url\":\"receipt_url\",\"recipient_notification\":{\"setting\":\"configured\"},\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"trace_id\":{\"status\":\"pending\",\"value\":null}}"); + var options = new Stripe.V2.MoneyManagement.OutboundPaymentCreateOptions + { + Amount = new Stripe.V2.Amount { Currency = "USD", Value = 96 }, + From = new Stripe.V2.MoneyManagement.OutboundPaymentCreateFromOptions + { + Currency = "currency", + FinancialAccount = "financial_account", + }, + To = new Stripe.V2.MoneyManagement.OutboundPaymentCreateToOptions + { + Currency = "currency", + PayoutMethod = "payout_method", + Recipient = "recipient", + }, + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundPayments; + service.Create(options); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments"); + } + + [Fact] + public void TestV2MoneyManagementOutboundPaymentGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/outbound_payments", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_payment\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"metadata\":null,\"receipt_url\":\"receipt_url\",\"recipient_notification\":{\"setting\":\"configured\"},\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"trace_id\":{\"status\":\"pending\",\"value\":null}}],\"next_page_url\":null,\"previous_page_url\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundPayments; + Stripe.V2.StripeList outboundPayments = service + .List(); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/outbound_payments"); + } + + [Fact] + public void TestV2MoneyManagementOutboundPaymentGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/outbound_payments/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_payment\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"metadata\":null,\"receipt_url\":\"receipt_url\",\"recipient_notification\":{\"setting\":\"configured\"},\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"trace_id\":{\"status\":\"pending\",\"value\":null}}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundPayments; + service.Get("id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/outbound_payments/id_123"); + } + + [Fact] + public void TestV2MoneyManagementOutboundTransferPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_transfers/id_123/cancel", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_transfer\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"metadata\":null,\"receipt_url\":\"receipt_url\",\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\"},\"trace_id\":{\"status\":\"pending\",\"value\":null}}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundTransfers; + service.Cancel("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_transfers/id_123/cancel"); + } + + [Fact] + public void TestV2MoneyManagementOutboundTransferPost2() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_transfers", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_transfer\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"metadata\":null,\"receipt_url\":\"receipt_url\",\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\"},\"trace_id\":{\"status\":\"pending\",\"value\":null}}"); + var options = new Stripe.V2.MoneyManagement.OutboundTransferCreateOptions + { + Amount = new Stripe.V2.Amount { Currency = "USD", Value = 96 }, + From = new Stripe.V2.MoneyManagement.OutboundTransferCreateFromOptions + { + Currency = "currency", + FinancialAccount = "financial_account", + }, + To = new Stripe.V2.MoneyManagement.OutboundTransferCreateToOptions + { + Currency = "currency", + PayoutMethod = "payout_method", + }, + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundTransfers; + service.Create(options); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_transfers"); + } + + [Fact] + public void TestV2MoneyManagementOutboundTransferGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/outbound_transfers", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_transfer\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"metadata\":null,\"receipt_url\":\"receipt_url\",\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\"},\"trace_id\":{\"status\":\"pending\",\"value\":null}}],\"next_page_url\":null,\"previous_page_url\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundTransfers; + Stripe.V2.StripeList outboundTransfers = service + .List(); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/outbound_transfers"); + } + + [Fact] + public void TestV2MoneyManagementOutboundTransferGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/outbound_transfers/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_transfer\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"metadata\":null,\"receipt_url\":\"receipt_url\",\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\"},\"trace_id\":{\"status\":\"pending\",\"value\":null}}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundTransfers; + service.Get("id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/outbound_transfers/id_123"); + } + + [Fact] + public void TestV2MoneyManagementOutboundSetupIntentPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_setup_intents/id_123/cancel", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_setup_intent\",\"created\":\"1970-01-12T21:42:34.472Z\",\"next_action\":null,\"payout_method\":{\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"available_payout_speeds\":[\"standard\"],\"bank_account\":null,\"card\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"latest_outbound_setup_intent\":null,\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"}},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundSetupIntents; + service.Cancel("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_setup_intents/id_123/cancel"); + } + + [Fact] + public void TestV2MoneyManagementOutboundSetupIntentPost2() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_setup_intents", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_setup_intent\",\"created\":\"1970-01-12T21:42:34.472Z\",\"next_action\":null,\"payout_method\":{\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"available_payout_speeds\":[\"standard\"],\"bank_account\":null,\"card\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"latest_outbound_setup_intent\":null,\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"}},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\"}"); + var options = new Stripe.V2.MoneyManagement.OutboundSetupIntentCreateOptions(); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundSetupIntents; + service.Create(options); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_setup_intents"); + } + + [Fact] + public void TestV2MoneyManagementOutboundSetupIntentGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/outbound_setup_intents", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_setup_intent\",\"created\":\"1970-01-12T21:42:34.472Z\",\"next_action\":null,\"payout_method\":{\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"available_payout_speeds\":[\"standard\"],\"bank_account\":null,\"card\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"latest_outbound_setup_intent\":null,\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"}},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\"}],\"next_page_url\":null,\"previous_page_url\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundSetupIntents; + Stripe.V2.StripeList outboundSetupIntents = service + .List(); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/outbound_setup_intents"); + } + + [Fact] + public void TestV2MoneyManagementOutboundSetupIntentGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/outbound_setup_intents/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_setup_intent\",\"created\":\"1970-01-12T21:42:34.472Z\",\"next_action\":null,\"payout_method\":{\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"available_payout_speeds\":[\"standard\"],\"bank_account\":null,\"card\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"latest_outbound_setup_intent\":null,\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"}},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundSetupIntents; + service.Get("id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/outbound_setup_intents/id_123"); + } + + [Fact] + public void TestV2MoneyManagementOutboundSetupIntentPost3() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_setup_intents/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_setup_intent\",\"created\":\"1970-01-12T21:42:34.472Z\",\"next_action\":null,\"payout_method\":{\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"available_payout_speeds\":[\"standard\"],\"bank_account\":null,\"card\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"latest_outbound_setup_intent\":null,\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"}},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\"}"); + var options = new Stripe.V2.MoneyManagement.OutboundSetupIntentUpdateOptions(); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundSetupIntents; + service.Update("id_123", options); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_setup_intents/id_123"); + } + + [Fact] + public void TestV2MoneyManagementPayoutMethodPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/payout_methods/id_123/archive", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"available_payout_speeds\":[\"standard\"],\"bank_account\":null,\"card\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"latest_outbound_setup_intent\":null,\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"}}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.PayoutMethods; + service.Archive("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/payout_methods/id_123/archive"); + } + + [Fact] + public void TestV2MoneyManagementPayoutMethodGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/payout_methods", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"available_payout_speeds\":[\"standard\"],\"bank_account\":null,\"card\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"latest_outbound_setup_intent\":null,\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"}}],\"next_page_url\":null,\"previous_page_url\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.PayoutMethods; + Stripe.V2.StripeList payoutMethods = service + .List(); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/payout_methods"); + } + + [Fact] + public void TestV2MoneyManagementPayoutMethodGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/payout_methods/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"available_payout_speeds\":[\"standard\"],\"bank_account\":null,\"card\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"latest_outbound_setup_intent\":null,\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"}}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.PayoutMethods; + service.Get("id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/payout_methods/id_123"); + } + + [Fact] + public void TestV2MoneyManagementPayoutMethodPost2() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/payout_methods/id_123/unarchive", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"available_payout_speeds\":[\"standard\"],\"bank_account\":null,\"card\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"latest_outbound_setup_intent\":null,\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"}}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.PayoutMethods; + service.Unarchive("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/payout_methods/id_123/unarchive"); + } + + [Fact] + public void TestV2MoneyManagementPayoutMethodsBankAccountSpecGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/payout_methods_bank_account_spec", + (HttpStatusCode)200, + "{\"object\":\"v2.money_management.payout_methods_bank_account_spec\",\"countries\":{\"undefined\":{\"fields\":[{\"local_name\":\"local_name\",\"local_name_human\":\"local_name_human\",\"max_length\":1111390753,\"min_length\":711577229,\"placeholder\":\"placeholder\",\"stripe_name\":\"stripe_name\",\"validation_regex\":\"validation_regex\"}]}}}"); + var client = new StripeClient(this.Requestor); + var service = client + .V2 + .MoneyManagement + .PayoutMethodsBankAccountSpec; + service.Get(); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/payout_methods_bank_account_spec"); + } + + [Fact] + public void TestV2MoneyManagementReceivedCreditGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/received_credits", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.money_management.received_credit\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"balance_transfer\":null,\"bank_transfer\":null,\"card_spend\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":null,\"financial_account\":\"financial_account\",\"receipt_url\":null,\"status\":\"returned\",\"status_details\":null,\"status_transitions\":null,\"type\":\"card_spend\"}],\"next_page_url\":null,\"previous_page_url\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.ReceivedCredits; + Stripe.V2.StripeList receivedCredits = service + .List(); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/received_credits"); + } + + [Fact] + public void TestV2MoneyManagementReceivedCreditGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/received_credits/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.received_credit\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"balance_transfer\":null,\"bank_transfer\":null,\"card_spend\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":null,\"financial_account\":\"financial_account\",\"receipt_url\":null,\"status\":\"returned\",\"status_details\":null,\"status_transitions\":null,\"type\":\"card_spend\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.ReceivedCredits; + service.Get("id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/received_credits/id_123"); + } + + [Fact] + public void TestV2MoneyManagementReceivedDebitGet() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/received_debits", + (HttpStatusCode)200, + "{\"data\":[{\"id\":\"obj_123\",\"object\":\"v2.money_management.received_debit\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"bank_transfer\":null,\"card_spend\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":null,\"financial_account\":\"financial_account\",\"receipt_url\":null,\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":{\"canceled_at\":null,\"failed_at\":null,\"succeeded_at\":null},\"type\":\"bank_transfer\"}],\"next_page_url\":null,\"previous_page_url\":null}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.ReceivedDebits; + Stripe.V2.StripeList receivedDebits = service + .List(); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/received_debits"); + } + + [Fact] + public void TestV2MoneyManagementReceivedDebitGet2() + { + this.StubRequest( + HttpMethod.Get, + "/v2/money_management/received_debits/id_123", + (HttpStatusCode)200, + "{\"id\":\"obj_123\",\"object\":\"v2.money_management.received_debit\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"bank_transfer\":null,\"card_spend\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":null,\"financial_account\":\"financial_account\",\"receipt_url\":null,\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":{\"canceled_at\":null,\"failed_at\":null,\"succeeded_at\":null},\"type\":\"bank_transfer\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.ReceivedDebits; + service.Get("id_123"); + this.AssertRequest( + HttpMethod.Get, + "/v2/money_management/received_debits/id_123"); + } + + [Fact] + public void TestV2TestHelpersFinancialAddressPost() + { + this.StubRequest( + HttpMethod.Post, + "/v2/test_helpers/financial_addresses/id_123/credit", + (HttpStatusCode)200, + "{\"object\":\"financial_address_credit_simulation\",\"status\":\"status\"}"); + var options = new Stripe.V2.TestHelpers.FinancialAddressCreditOptions + { + Amount = new Stripe.V2.Amount { Currency = "USD", Value = 96 }, + Network = "rtp", + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.TestHelpers.FinancialAddresses; + service.Credit("id_123", options); + this.AssertRequest( + HttpMethod.Post, + "/v2/test_helpers/financial_addresses/id_123/credit"); + } + + [Fact] + public void TestV2TestHelpersFinancialAddressPost2() + { + this.StubRequest( + HttpMethod.Post, + "/v2/test_helpers/financial_addresses/id_123/generate_microdeposits", + (HttpStatusCode)200, + "{\"object\":\"financial_address_generated_microdeposits\",\"amounts\":[{\"currency\":\"USD\",\"value\":1}],\"status\":\"accepted\"}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.TestHelpers.FinancialAddresses; + service.GenerateMicrodeposits("id_123"); + this.AssertRequest( + HttpMethod.Post, + "/v2/test_helpers/financial_addresses/id_123/generate_microdeposits"); + } + + [Fact] + public void TestTemporarySessionExpiredError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/billing/meter_event_stream", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"temporary_session_expired\",\"code\":\"billing_meter_event_session_expired\"}}"); + var exception = Assert.Throws( + () => + { + var options = new Stripe.V2.Billing.MeterEventStreamCreateOptions + { + Events = new List + { + new Stripe.V2.Billing.MeterEventStreamCreateEventOptions + { + EventName = "event_name", + Payload = new Dictionary + { + { "undefined", "payload" }, + }, + }, + }, + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.Billing.MeterEventStream; + service.Create(options); + }); + this.AssertRequest( + HttpMethod.Post, + "/v2/billing/meter_event_stream"); + } + + [Fact] + public void TestFinancialAccountNotOpenError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/financial_addresses", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"financial_account_not_open\",\"code\":\"financial_account_not_in_open_status\"}}"); + var exception = Assert.Throws( + () => + { + var options = new Stripe.V2.MoneyManagement.FinancialAddressCreateOptions + { + Currency = "gip", + FinancialAccount = "financial_account", + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.FinancialAddresses; + service.Create(options); + }); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/financial_addresses"); + } + + [Fact] + public void TestBlockedByStripeError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"blocked_by_stripe\",\"code\":\"inbound_transfer_not_allowed\"}}"); + var exception = Assert.Throws( + () => + { + var options = new Stripe.V2.Core.Vault.UsBankAccountCreateOptions + { + AccountNumber = "account_number", + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.UsBankAccounts; + service.Create(options); + }); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts"); + } + + [Fact] + public void TestAlreadyCanceledError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments/id_123/cancel", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"already_canceled\",\"code\":\"outbound_payment_already_canceled\"}}"); + var exception = Assert.Throws( + () => + { + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundPayments; + service.Cancel("id_123"); + }); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments/id_123/cancel"); + } + + [Fact] + public void TestNotCancelableError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments/id_123/cancel", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"not_cancelable\",\"code\":\"outbound_payment_not_cancelable\"}}"); + var exception = Assert.Throws( + () => + { + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundPayments; + service.Cancel("id_123"); + }); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments/id_123/cancel"); + } + + [Fact] + public void TestInsufficientFundsError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"insufficient_funds\",\"code\":\"outbound_payment_insufficient_funds\"}}"); + var exception = Assert.Throws( + () => + { + var options = new Stripe.V2.MoneyManagement.OutboundPaymentCreateOptions + { + Amount = new Stripe.V2.Amount { Currency = "USD", Value = 96 }, + From = new Stripe.V2.MoneyManagement.OutboundPaymentCreateFromOptions + { + Currency = "currency", + FinancialAccount = "financial_account", + }, + To = new Stripe.V2.MoneyManagement.OutboundPaymentCreateToOptions + { + Recipient = "recipient", + }, + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundPayments; + service.Create(options); + }); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments"); + } + + [Fact] + public void TestQuotaExceededError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"quota_exceeded\",\"code\":\"outbound_payment_recipient_amount_limit_exceeded\"}}"); + var exception = Assert.Throws( + () => + { + var options = new Stripe.V2.Core.Vault.UsBankAccountCreateOptions + { + AccountNumber = "account_number", + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.UsBankAccounts; + service.Create(options); + }); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts"); + } + + [Fact] + public void TestRecipientNotNotifiableError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"recipient_not_notifiable\",\"code\":\"outbound_payment_recipient_email_does_not_exist\"}}"); + var exception = Assert.Throws( + () => + { + var options = new Stripe.V2.MoneyManagement.OutboundPaymentCreateOptions + { + Amount = new Stripe.V2.Amount { Currency = "USD", Value = 96 }, + From = new Stripe.V2.MoneyManagement.OutboundPaymentCreateFromOptions + { + Currency = "currency", + FinancialAccount = "financial_account", + }, + To = new Stripe.V2.MoneyManagement.OutboundPaymentCreateToOptions + { + Recipient = "recipient", + }, + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundPayments; + service.Create(options); + }); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments"); + } + + [Fact] + public void TestFeatureNotEnabledError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"feature_not_enabled\",\"code\":\"outbound_payment_recipient_feature_not_active\"}}"); + var exception = Assert.Throws( + () => + { + var options = new Stripe.V2.MoneyManagement.OutboundPaymentCreateOptions + { + Amount = new Stripe.V2.Amount { Currency = "USD", Value = 96 }, + From = new Stripe.V2.MoneyManagement.OutboundPaymentCreateFromOptions + { + Currency = "currency", + FinancialAccount = "financial_account", + }, + To = new Stripe.V2.MoneyManagement.OutboundPaymentCreateToOptions + { + Recipient = "recipient", + }, + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundPayments; + service.Create(options); + }); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_payments"); + } + + [Fact] + public void TestInvalidPayoutMethodError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/money_management/outbound_setup_intents", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"invalid_payout_method\",\"code\":\"invalid_payout_method\"}}"); + var exception = Assert.Throws( + () => + { + var options = new Stripe.V2.MoneyManagement.OutboundSetupIntentCreateOptions(); + var client = new StripeClient(this.Requestor); + var service = client.V2.MoneyManagement.OutboundSetupIntents; + service.Create(options); + }); + this.AssertRequest( + HttpMethod.Post, + "/v2/money_management/outbound_setup_intents"); + } + + [Fact] + public void TestControlledByDashboardError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts/id_123/archive", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"controlled_by_dashboard\",\"code\":\"bank_account_cannot_be_archived\"}}"); + var exception = Assert.Throws( + () => + { + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.UsBankAccounts; + service.Archive("id_123"); + }); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts/id_123/archive"); + } + + [Fact] + public void TestInvalidPaymentMethodError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"invalid_payment_method\",\"code\":\"invalid_us_bank_account\"}}"); + var exception = Assert.Throws( + () => + { + var options = new Stripe.V2.Core.Vault.UsBankAccountCreateOptions + { + AccountNumber = "account_number", + }; + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Vault.UsBankAccounts; + service.Create(options); + }); + this.AssertRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts"); + } } }