From 5bff0b863905975d4837c050d2d7d7502371bdf3 Mon Sep 17 00:00:00 2001 From: David Brownman <109395161+xavdid-stripe@users.noreply.github.com> Date: Wed, 12 Feb 2025 16:51:48 -0800 Subject: [PATCH 01/36] add codeowners file (#3055) --- .github/CODEOWNERS | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..8844b15a88 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +# All files should be reviewed by a member of the SDKs team +* @stripe/api-library-reviewers From c908684d81a5cdf0bd0db8630e7586c1a03f855d Mon Sep 17 00:00:00 2001 From: jar-stripe Date: Thu, 20 Feb 2025 14:57:42 -0800 Subject: [PATCH 02/36] Improved examples (#3054) * changed Program to accept a command line argument with the name (relative to Examples namespace) of the example to run * updated existing examples * added usage instructions * added just recipe --- justfile | 4 + src/Examples/ExampleTemplate.cs | 9 +- src/Examples/Program.cs | 61 +++++++++-- src/Examples/V2/MeterEventStream.cs | 113 +++++++++++---------- src/Examples/V2/ThinEventWebhookHandler.cs | 99 +++++++++--------- 5 files changed, 172 insertions(+), 114 deletions(-) diff --git a/justfile b/justfile index 50a0dcbfe5..871aa51e5a 100644 --- a/justfile +++ b/justfile @@ -31,3 +31,7 @@ update-version version: echo "{{ version }}" > VERSION perl -pi -e 's|[.\-\d\w]+|{{ version }}|' src/Stripe.net/Stripe.net.csproj perl -pi -e 's|Current = "[.\-\d\w]+";|Current = "{{ version }}";|' src/Stripe.net/Constants/Version.cs + +[working-directory("src/Examples/")] +run-example example: + dotnet run --project Examples.csproj {{ example }} diff --git a/src/Examples/ExampleTemplate.cs b/src/Examples/ExampleTemplate.cs index aa38a0e08e..dd03bde9c1 100644 --- a/src/Examples/ExampleTemplate.cs +++ b/src/Examples/ExampleTemplate.cs @@ -2,6 +2,7 @@ namespace Examples { using System; using System.Threading.Tasks; + using Stripe; /// /// @@ -21,14 +22,12 @@ public class ExampleTemplate { public static async Task Run() { - var apiKey = "{{API_KEY}}"; + var apiKey = Environment.GetEnvironmentVariable("STRIPE_API_KEY"); try { - Console.WriteLine("Hello World"); - - // var client = new StripeClient(apiKey); - // client.V1... + var client = new StripeClient(apiKey); + Console.WriteLine(await client.V1.Customers.ListAsync()); } catch (Exception ex) { diff --git a/src/Examples/Program.cs b/src/Examples/Program.cs index 31579e23ce..4d0ac5f52d 100644 --- a/src/Examples/Program.cs +++ b/src/Examples/Program.cs @@ -1,6 +1,7 @@ namespace Examples { using System; + using System.Reflection; using System.Threading.Tasks; public class Program @@ -9,14 +10,62 @@ public Program() { } + /// + /// To create an example, clone ExampleTemplate.cs, implement the example + /// copy this line and replace the class name with your new class. + /// + /// To run an example from this folder, execute: + /// dotnet run --project Examples.csproj NameOfExample + /// + /// The name of the example should include any namespace parts other than "Examples" + /// which is prepended when looking up the type, for example" + /// dotnet run --project Examples.csproj + /// or + /// dotnet run --project Examples.csproj . + /// + /// Examples accept configuration via environment variables, so ensure all environment vars + /// are set before running the example. + /// + /// + /// command line args + /// public static async Task Main(string[] args) { - // To create an example, clone NewExample.cs, implement the example - // copy this line and replace the class name with your new class. - // await NewExample.Run(); - // e.g. - // await MeterEventExample.Run(); - // then build the project and run bin/Debug/net8.0/Examples + if (args.Length != 1) + { + Console.WriteLine("Usage: dotnet run --project Examples "); + Environment.Exit(1); + return; + } + + var type = Assembly.GetExecutingAssembly().GetType($"Examples.{args[0]}"); + + if (type == null) + { + Console.WriteLine($"Unable to find example class {args[0]}"); + Environment.Exit(1); + return; + } + + var runMethod = type.GetMethod( + "Run", + BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy); + if (runMethod == null) + { + Console.WriteLine($"Example class {args[0]} is missing Run method"); + Environment.Exit(1); + return; + } + + Task? result = (Task?)runMethod.Invoke(null, null); + if (result == null) + { + Console.WriteLine($"Unable to invoke Run method on {args[0]}"); + Environment.Exit(1); + return; + } + + await result; } } } diff --git a/src/Examples/V2/MeterEventStream.cs b/src/Examples/V2/MeterEventStream.cs index 4949e92671..85154b8ed8 100644 --- a/src/Examples/V2/MeterEventStream.cs +++ b/src/Examples/V2/MeterEventStream.cs @@ -1,68 +1,70 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Stripe; -using Stripe.V2.Billing; - -/// -/// Use the high-throughput MeterEventStream to report create billing meter events. -/// -/// In this example, we: -/// - create a meter event session and store the session's authentication token -/// - define an event with a payload -/// - use the meterEventStream service to create an event stream that reports this event -/// -/// This example expects a billing meter with an event_name of 'alpaca_ai_tokens'. If you have -/// a different meter event name, you can change it before running this example. -/// -public class MeterEventStream +namespace Examples.V2 { - private static MeterEventSession? meterEventSession; + using System; + using System.Collections.Generic; + using System.Threading.Tasks; + using Stripe; + using Stripe.V2.Billing; - public static async Task Run() + /// + /// Use the high-throughput MeterEventStream to report create billing meter events. + /// + /// In this example, we: + /// - create a meter event session and store the session's authentication token + /// - define an event with a payload + /// - use the meterEventStream service to create an event stream that reports this event + /// + /// This example expects a billing meter with an event_name of 'alpaca_ai_tokens'. If you have + /// a different meter event name, you can change it before running this example. + /// + public class MeterEventStream { - var apiKey = "{{API_KEY}}"; - var customerId = "{{CUSTOMER_ID}}"; // Replace with actual customer ID + private static MeterEventSession? meterEventSession; - try - { - await SendMeterEvent(apiKey, "alpaca_ai_tokens", customerId, "25"); - Console.WriteLine("Meter event sent successfully!"); - } - catch (Exception ex) + public static async Task Run() { - Console.WriteLine($"Error sending meter event: {ex.Message}"); - } - } + var apiKey = Environment.GetEnvironmentVariable("STRIPE_API_KEY"); + var customerId = Environment.GetEnvironmentVariable("CUSTOMER_ID"); - private static async Task RefreshMeterEventSession(string apiKey) - { - // Check if session is null or expired - if (meterEventSession == null || meterEventSession.ExpiresAt <= DateTime.UtcNow) - { - // Create a new meter event session in case the existing session expired - var client = new StripeClient(apiKey); - meterEventSession = await client.V2.Billing.MeterEventSession.CreateAsync(new MeterEventSessionCreateOptions()); + try + { + await SendMeterEvent(apiKey, "alpaca_ai_tokens", customerId, "25"); + Console.WriteLine("Meter event sent successfully!"); + } + catch (Exception ex) + { + Console.WriteLine($"Error sending meter event: {ex.Message}"); + } } - } - - private static async Task SendMeterEvent(string apiKey, string eventName, string stripeCustomerId, string value) - { - // Refresh the meter event session if necessary - await RefreshMeterEventSession(apiKey); - if (meterEventSession == null) + private static async Task RefreshMeterEventSession(string apiKey) { - throw new Exception("Unable to refresh meter event session"); + // Check if session is null or expired + if (meterEventSession == null || meterEventSession.ExpiresAt <= DateTime.UtcNow) + { + // Create a new meter event session in case the existing session expired + var client = new StripeClient(apiKey); + meterEventSession = await client.V2.Billing.MeterEventSession.CreateAsync(new MeterEventSessionCreateOptions()); + } } - // Create a meter event - var client = new StripeClient(meterEventSession.AuthenticationToken); - var options = new MeterEventStreamCreateOptions + private static async Task SendMeterEvent(string apiKey, string eventName, string stripeCustomerId, string value) { - Events = - [ - new MeterEventStreamCreateEventOptions + // Refresh the meter event session if necessary + await RefreshMeterEventSession(apiKey); + + if (meterEventSession == null) + { + throw new Exception("Unable to refresh meter event session"); + } + + // Create a meter event + var client = new StripeClient(meterEventSession.AuthenticationToken); + var options = new MeterEventStreamCreateOptions + { + Events = + [ + new MeterEventStreamCreateEventOptions { EventName = eventName, Payload = new Dictionary @@ -72,7 +74,8 @@ private static async Task SendMeterEvent(string apiKey, string eventName, string }, }, ], - }; - client.V2.Billing.MeterEventStream.Create(options); + }; + client.V2.Billing.MeterEventStream.Create(options); + } } } diff --git a/src/Examples/V2/ThinEventWebhookHandler.cs b/src/Examples/V2/ThinEventWebhookHandler.cs index bf717d287a..dd4e53f889 100644 --- a/src/Examples/V2/ThinEventWebhookHandler.cs +++ b/src/Examples/V2/ThinEventWebhookHandler.cs @@ -1,60 +1,63 @@ -#pragma warning disable SA1101 // Prefix local calls with this - -using System; -using System.IO; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using Stripe; -using Stripe.Events; - -/// -/// Receive and process thin events like the v1.billing.meter.error_report_triggered event. -/// -/// In this example, we: -/// - use parseThinEvent to parse the received thin event webhook body -/// - call StripeClient.v2.core.events.retrieve to retrieve the full event object -/// - if it is a V1BillingMeterErrorReportTriggeredEvent event type, call fetchRelatedObject -/// to retrieve the Billing Meter object associated with the event. -/// -[Route("api/[controller]")] -[ApiController] -public class ThinEventWebhookHandler : ControllerBase +namespace Examples.V2 { - private readonly StripeClient _client; - private readonly string _webhookSecret; +#pragma warning disable SA1101 // Prefix local calls with this - public ThinEventWebhookHandler() + using System; + using System.IO; + using System.Threading.Tasks; + using Microsoft.AspNetCore.Mvc; + using Stripe; + using Stripe.Events; + + /// + /// Receive and process thin events like the v1.billing.meter.error_report_triggered event. + /// + /// In this example, we: + /// - use parseThinEvent to parse the received thin event webhook body + /// - call StripeClient.v2.core.events.retrieve to retrieve the full event object + /// - if it is a V1BillingMeterErrorReportTriggeredEvent event type, call fetchRelatedObject + /// to retrieve the Billing Meter object associated with the event. + /// + [Route("api/[controller]")] + [ApiController] + public class ThinEventWebhookHandler : ControllerBase { - var apiKey = Environment.GetEnvironmentVariable("STRIPE_API_KEY"); - _client = new StripeClient(apiKey); - - _webhookSecret = Environment.GetEnvironmentVariable("WEBHOOK_SECRET"); - } + private readonly StripeClient _client; + private readonly string _webhookSecret; - [HttpPost] - public async Task Index() - { - var json = await new StreamReader(HttpContext.Request.Body).ReadToEndAsync(); - try + public ThinEventWebhookHandler() { - var thinEvent = _client.ParseThinEvent(json, Request.Headers["Stripe-Signature"], _webhookSecret); + var apiKey = Environment.GetEnvironmentVariable("STRIPE_API_KEY"); + _client = new StripeClient(apiKey); + + _webhookSecret = Environment.GetEnvironmentVariable("WEBHOOK_SECRET"); + } - // Fetch the event data to understand the failure - var baseEvent = await _client.V2.Core.Events.GetAsync(thinEvent.Id); - if (baseEvent is V1BillingMeterErrorReportTriggeredEvent fullEvent) + [HttpPost] + public async Task Index() + { + var json = await new StreamReader(HttpContext.Request.Body).ReadToEndAsync(); + try { - var meter = await fullEvent.FetchRelatedObjectAsync(); - var meterId = meter.Id; + var thinEvent = _client.ParseThinEvent(json, Request.Headers["Stripe-Signature"], _webhookSecret); - // Record the failures and alert your team - // Add your logic here - } + // Fetch the event data to understand the failure + var baseEvent = await _client.V2.Core.Events.GetAsync(thinEvent.Id); + if (baseEvent is V1BillingMeterErrorReportTriggeredEvent fullEvent) + { + var meter = await fullEvent.FetchRelatedObjectAsync(); + var meterId = meter.Id; - return Ok(); - } - catch (StripeException e) - { - return BadRequest(e.Message); + // Record the failures and alert your team + // Add your logic here + } + + return Ok(); + } + catch (StripeException e) + { + return BadRequest(e.Message); + } } } } From c6e0fffac54cba02bc818463c598508d01994a86 Mon Sep 17 00:00:00 2001 From: "stripe-openapi[bot]" <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Mon, 24 Feb 2025 22:32:11 +0000 Subject: [PATCH 03/36] Update generated code (#3050) * Update generated code for v1463 * Update generated code for v1494 * Update generated code for v1495 * Update generated code for v1501 * Update generated code for v1505 --------- Co-authored-by: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Co-authored-by: prathmesh-stripe <165320323+prathmesh-stripe@users.noreply.github.com> --- CONTRIBUTING.md | 25 ------------- OPENAPI_VERSION | 2 +- src/Stripe.net/Constants/ApiVersion.cs | 2 +- ...InstantAvailableNetAvailableSourceTypes.cs | 9 +++-- .../BalanceInstantAvailableSourceTypes.cs | 9 +++-- .../Billing/CreditGrants/CreditGrant.cs | 7 ++++ .../CreditGrantApplicabilityConfigScope.cs | 9 +++++ ...reditGrantApplicabilityConfigScopePrice.cs | 14 +++++++ .../MeterEventSummaries/MeterEventSummary.cs | 3 ++ .../Charges/ChargePaymentMethodDetails.cs | 13 +++---- .../Charges/ChargePaymentMethodDetailsCard.cs | 6 +-- .../ChargePaymentMethodDetailsCardPresent.cs | 6 +-- ...hargePaymentMethodDetailsInteracPresent.cs | 6 +-- .../Entities/Checkout/Sessions/Session.cs | 6 +++ .../Sessions/SessionCollectedInformation.cs | 14 +++++++ ...sionCollectedInformationShippingDetails.cs | 37 +++++++++++++++++++ .../SessionPaymentMethodOptionsAcssDebit.cs | 8 ++++ .../SessionPaymentMethodOptionsAuBecsDebit.cs | 8 ++++ .../SessionPaymentMethodOptionsBacsDebit.cs | 8 ++++ .../SessionPaymentMethodOptionsCard.cs | 3 ++ ...ionPaymentMethodOptionsCardRestrictions.cs | 18 +++++++++ .../SessionPaymentMethodOptionsSepaDebit.cs | 8 ++++ ...essionPaymentMethodOptionsUsBankAccount.cs | 8 ++++ .../Sessions/SessionShippingCostTax.cs | 10 ++--- .../SessionTotalDetailsBreakdownTax.cs | 10 ++--- ...atedFromPaymentMethodDetailsCardPresent.cs | 6 +-- ...onTokenPaymentMethodPreviewCardNetworks.cs | 3 +- ...PaymentMethodPreviewCardPresentNetworks.cs | 3 +- ...mentMethodPreviewInteracPresentNetworks.cs | 3 +- .../CreditNotes/CreditNoteShippingCostTax.cs | 10 ++--- .../Invoices/InvoiceShippingCostTax.cs | 10 ++--- .../Entities/LineItems/LineItemTax.cs | 10 ++--- ...mentIntentPaymentMethodOptionsAcssDebit.cs | 8 ++++ ...ntIntentPaymentMethodOptionsAuBecsDebit.cs | 8 ++++ ...mentIntentPaymentMethodOptionsBacsDebit.cs | 8 ++++ ...mentIntentPaymentMethodOptionsSepaDebit.cs | 8 ++++ ...IntentPaymentMethodOptionsUsBankAccount.cs | 8 ++++ .../PaymentIntentTransferData.cs | 15 ++++---- ...atedFromPaymentMethodDetailsCardPresent.cs | 6 +-- .../PaymentMethodCardNetworks.cs | 3 +- .../PaymentMethodCardPresentNetworks.cs | 3 +- .../PaymentMethodInteracPresentNetworks.cs | 3 +- ...mputedRecurringTotalDetailsBreakdownTax.cs | 10 ++--- ...ComputedUpfrontTotalDetailsBreakdownTax.cs | 10 ++--- .../Quotes/QuoteTotalDetailsBreakdownTax.cs | 10 ++--- ...ulationLineItemTaxBreakdownJurisdiction.cs | 2 +- ...ionShippingCostTaxBreakdownJurisdiction.cs | 2 +- ...ionShippingCostTaxBreakdownJurisdiction.cs | 2 +- src/Stripe.net/Entities/TaxRates/TaxRate.cs | 12 +++--- ...eSummaryFilterApplicabilityScopeOptions.cs | 8 ++++ ...aryFilterApplicabilityScopePriceOptions.cs | 14 +++++++ ...ditGrantApplicabilityConfigScopeOptions.cs | 8 ++++ ...antApplicabilityConfigScopePriceOptions.cs | 14 +++++++ .../CreditGrants/CreditGrantCreateOptions.cs | 11 +++++- .../SessionCollectedInformationOptions.cs | 14 +++++++ ...lectedInformationShippingDetailsOptions.cs | 20 ++++++++++ ...ionPaymentMethodOptionsAcssDebitOptions.cs | 8 ++++ ...nPaymentMethodOptionsAuBecsDebitOptions.cs | 8 ++++ ...ionPaymentMethodOptionsBacsDebitOptions.cs | 8 ++++ .../SessionPaymentMethodOptionsCardOptions.cs | 7 ++++ ...entMethodOptionsCardRestrictionsOptions.cs | 18 +++++++++ ...ionPaymentMethodOptionsSepaDebitOptions.cs | 8 ++++ ...aymentMethodOptionsUsBankAccountOptions.cs | 8 ++++ .../Checkout/Sessions/SessionUpdateOptions.cs | 6 +++ ...entPaymentMethodOptionsAcssDebitOptions.cs | 8 ++++ ...tPaymentMethodOptionsAuBecsDebitOptions.cs | 8 ++++ ...entPaymentMethodOptionsBacsDebitOptions.cs | 8 ++++ ...entPaymentMethodOptionsSepaDebitOptions.cs | 8 ++++ ...aymentMethodOptionsUsBankAccountOptions.cs | 8 ++++ .../ProductDefaultPriceDataOptions.cs | 11 +++++- .../Services/TaxRates/TaxRateCreateOptions.cs | 2 +- .../Services/TaxRates/TaxRateUpdateOptions.cs | 2 +- .../WebhookEndpointCreateOptions.cs | 4 +- 73 files changed, 502 insertions(+), 129 deletions(-) delete mode 100644 CONTRIBUTING.md create mode 100644 src/Stripe.net/Entities/Billing/CreditGrants/CreditGrantApplicabilityConfigScopePrice.cs create mode 100644 src/Stripe.net/Entities/Checkout/Sessions/SessionCollectedInformation.cs create mode 100644 src/Stripe.net/Entities/Checkout/Sessions/SessionCollectedInformationShippingDetails.cs create mode 100644 src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsCardRestrictions.cs create mode 100644 src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryFilterApplicabilityScopePriceOptions.cs create mode 100644 src/Stripe.net/Services/Billing/CreditGrants/CreditGrantApplicabilityConfigScopePriceOptions.cs create mode 100644 src/Stripe.net/Services/Checkout/Sessions/SessionCollectedInformationOptions.cs create mode 100644 src/Stripe.net/Services/Checkout/Sessions/SessionCollectedInformationShippingDetailsOptions.cs create mode 100644 src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsCardRestrictionsOptions.cs diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index a981948cb7..0000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,25 +0,0 @@ - -# Contributing - -We welcome bug reports, feature requests, and code contributions in a pull request. - -For most pull requests, we request that you identify or create an associated issue that has the necessary context. We use these issues to reach agreement on an approach and save the PR author from having to redo work. Fixing typos or documentation issues likely do not need an issue; for any issue that introduces substantial code changes, changes the public interface, or if you aren't sure, please find or [create an issue](https://www.github.com/stripe/stripe-dotnet/issues/new/choose). - -## Contributor License Agreement - -All contributors must sign the Contributor License Agreement (CLA) before we can accept their contribution. If you have not yet signed the agreement, you will be given an option to do so when you open a pull request. You can then sign by clicking on the badge in the comment from @CLAassistant. - -## Generated code - -This project has a combination of manually maintained code and code generated from our private code generator. If your contribution involves changes to generated code, please call this out in the issue or pull request as we will likely need to make a change to our code generator before accepting the contribution. - -To identify files with purely generated code, look for the comment `File generated from our OpenAPI spec.` at the start of the file. Generated blocks of code within hand-written files will be between comments that say `The beginning of the section generated from our OpenAPI spec` and `The end of the section generated from our OpenAPI spec`. - -## Compatibility with supported language and runtime versions - -This project supports [many different langauge and runtime versions](README.md#requirements) and we are unable to accept any contribution that does not work on _all_ supported versions. If, after discussing the approach in the associated issue, your change must use an API / feature that isn't available in all supported versions, please call this out explicitly in the issue or pull request so we can help figure out the best way forward. - -## Set up your dev environment - -Please refer to this project's [README.md](README.md#development) for instructions on how to set up your development environment. - diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 217ac84ad0..ddf5ac5449 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1455 \ No newline at end of file +v1505 \ No newline at end of file diff --git a/src/Stripe.net/Constants/ApiVersion.cs b/src/Stripe.net/Constants/ApiVersion.cs index 93384759fa..aac2243ecb 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-01-27.acacia"; + public const string Current = "2025-02-24.acacia"; } } \ No newline at end of file diff --git a/src/Stripe.net/Entities/Balances/BalanceInstantAvailableNetAvailableSourceTypes.cs b/src/Stripe.net/Entities/Balances/BalanceInstantAvailableNetAvailableSourceTypes.cs index 6e2af3976d..e0c53b7d05 100644 --- a/src/Stripe.net/Entities/Balances/BalanceInstantAvailableNetAvailableSourceTypes.cs +++ b/src/Stripe.net/Entities/Balances/BalanceInstantAvailableNetAvailableSourceTypes.cs @@ -6,19 +6,22 @@ namespace Stripe public class BalanceInstantAvailableNetAvailableSourceTypes : StripeEntity { /// - /// Amount for bank account. + /// Amount coming from legacy US ACH + /// payments. /// [JsonProperty("bank_account")] public long BankAccount { get; set; } /// - /// Amount for card. + /// Amount coming from most payment methods, including cards as well as non-legacy bank debits. /// [JsonProperty("card")] public long Card { get; set; } /// - /// Amount for FPX. + /// Amount coming from FPX, a Malaysian + /// payment method. /// [JsonProperty("fpx")] public long Fpx { get; set; } diff --git a/src/Stripe.net/Entities/Balances/BalanceInstantAvailableSourceTypes.cs b/src/Stripe.net/Entities/Balances/BalanceInstantAvailableSourceTypes.cs index 2bda26a314..84da3de041 100644 --- a/src/Stripe.net/Entities/Balances/BalanceInstantAvailableSourceTypes.cs +++ b/src/Stripe.net/Entities/Balances/BalanceInstantAvailableSourceTypes.cs @@ -6,19 +6,22 @@ namespace Stripe public class BalanceInstantAvailableSourceTypes : StripeEntity { /// - /// Amount for bank account. + /// Amount coming from legacy US ACH + /// payments. /// [JsonProperty("bank_account")] public long BankAccount { get; set; } /// - /// Amount for card. + /// Amount coming from most payment methods, including cards as well as non-legacy bank debits. /// [JsonProperty("card")] public long Card { get; set; } /// - /// Amount for FPX. + /// Amount coming from FPX, a Malaysian + /// payment method. /// [JsonProperty("fpx")] public long Fpx { get; set; } diff --git a/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrant.cs b/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrant.cs index ce69485656..ff4500875f 100644 --- a/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrant.cs +++ b/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrant.cs @@ -116,6 +116,13 @@ public Customer Customer [JsonProperty("name")] public string Name { get; set; } + /// + /// The priority for applying this credit grant. The highest priority is 0 and the lowest is + /// 100. + /// + [JsonProperty("priority")] + public long? Priority { get; set; } + #region Expandable TestClock /// diff --git a/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrantApplicabilityConfigScope.cs b/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrantApplicabilityConfigScope.cs index ddc44baa6c..3cb2fd07d3 100644 --- a/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrantApplicabilityConfigScope.cs +++ b/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrantApplicabilityConfigScope.cs @@ -1,6 +1,7 @@ // File generated from our OpenAPI spec namespace Stripe.Billing { + using System.Collections.Generic; using Newtonsoft.Json; public class CreditGrantApplicabilityConfigScope : StripeEntity @@ -12,5 +13,13 @@ public class CreditGrantApplicabilityConfigScope : StripeEntity [JsonProperty("price_type")] public string PriceType { get; set; } + + /// + /// The prices that credit grants can apply to. We currently only support metered + /// prices. This refers to prices that have a Billing Meter attached to them. + /// + [JsonProperty("prices")] + public List Prices { get; set; } } } diff --git a/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrantApplicabilityConfigScopePrice.cs b/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrantApplicabilityConfigScopePrice.cs new file mode 100644 index 0000000000..d41b5b77cb --- /dev/null +++ b/src/Stripe.net/Entities/Billing/CreditGrants/CreditGrantApplicabilityConfigScopePrice.cs @@ -0,0 +1,14 @@ +// File generated from our OpenAPI spec +namespace Stripe.Billing +{ + using Newtonsoft.Json; + + public class CreditGrantApplicabilityConfigScopePrice : StripeEntity, IHasId + { + /// + /// Unique identifier for the object. + /// + [JsonProperty("id")] + public string Id { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Billing/MeterEventSummaries/MeterEventSummary.cs b/src/Stripe.net/Entities/Billing/MeterEventSummaries/MeterEventSummary.cs index 01b98f39e9..754483419a 100644 --- a/src/Stripe.net/Entities/Billing/MeterEventSummaries/MeterEventSummary.cs +++ b/src/Stripe.net/Entities/Billing/MeterEventSummaries/MeterEventSummary.cs @@ -9,6 +9,9 @@ namespace Stripe.Billing /// A billing meter event summary represents an aggregated view of a customer's billing /// meter events within a specified timeframe. It indicates how much usage was accrued by a /// customer for that period. + /// + /// Note: Meters events are aggregated asynchronously so the meter event summaries provide + /// an eventually consistent view of the reported usage. /// public class MeterEventSummary : StripeEntity, IHasId, IHasObject { diff --git a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetails.cs b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetails.cs index 31db3eb9d1..cda6875333 100644 --- a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetails.cs +++ b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetails.cs @@ -144,13 +144,12 @@ public class ChargePaymentMethodDetails : StripeEntity - /// The type of transaction-specific details of the payment method used in the payment, one - /// of ach_credit_transfer, ach_debit, acss_debit, alipay, - /// au_becs_debit, bancontact, card, card_present, eps, - /// giropay, ideal, klarna, multibanco, p24, - /// sepa_debit, sofort, stripe_account, or wechat. An additional - /// hash is included on payment_method_details with a name matching this value. It - /// contains information specific to the payment method. + /// 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")] public string Type { get; set; } diff --git a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsCard.cs b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsCard.cs index e58a8b3c15..2d01e87b4a 100644 --- a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsCard.cs +++ b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsCard.cs @@ -155,10 +155,8 @@ public class ChargePaymentMethodDetailsCard : StripeEntity /// 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. The first three digits of the Trace ID is the Financial Network - /// Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent - /// the date (MM/DD). This field will be available for successful Visa, Mastercard, or - /// American Express transactions and always null for other card brands. + /// 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")] public string NetworkTransactionId { get; set; } diff --git a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsCardPresent.cs b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsCardPresent.cs index 815df4b697..72849e785c 100644 --- a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsCardPresent.cs +++ b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsCardPresent.cs @@ -147,10 +147,8 @@ public class ChargePaymentMethodDetailsCardPresent : StripeEntity /// 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. The first three digits of the Trace ID is the Financial Network - /// Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent - /// the date (MM/DD). This field will be available for successful Visa, Mastercard, or - /// American Express transactions and always null for other card brands. + /// 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")] public string NetworkTransactionId { get; set; } diff --git a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsInteracPresent.cs b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsInteracPresent.cs index 5a0d58c86c..ec8f94e892 100644 --- a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsInteracPresent.cs +++ b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsInteracPresent.cs @@ -114,10 +114,8 @@ public class ChargePaymentMethodDetailsInteracPresent : StripeEntity /// 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. The first three digits of the Trace ID is the Financial Network - /// Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent - /// the date (MM/DD). This field will be available for successful Visa, Mastercard, or - /// American Express transactions and always null for other card brands. + /// 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")] public string NetworkTransactionId { get; set; } diff --git a/src/Stripe.net/Entities/Checkout/Sessions/Session.cs b/src/Stripe.net/Entities/Checkout/Sessions/Session.cs index c0c5be6ffc..359a1beb49 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/Session.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/Session.cs @@ -100,6 +100,12 @@ public class Session : StripeEntity, IHasId, IHasMetadata, IHasObject [JsonProperty("client_secret")] public string ClientSecret { get; set; } + /// + /// Information about the customer collected within the Checkout Session. + /// + [JsonProperty("collected_information")] + public SessionCollectedInformation CollectedInformation { get; set; } + /// /// Results of consent_collection for this session. /// diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionCollectedInformation.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionCollectedInformation.cs new file mode 100644 index 0000000000..e6acd937da --- /dev/null +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionCollectedInformation.cs @@ -0,0 +1,14 @@ +// File generated from our OpenAPI spec +namespace Stripe.Checkout +{ + using Newtonsoft.Json; + + public class SessionCollectedInformation : StripeEntity + { + /// + /// Shipping information for this Checkout Session. + /// + [JsonProperty("shipping_details")] + public SessionCollectedInformationShippingDetails ShippingDetails { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionCollectedInformationShippingDetails.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionCollectedInformationShippingDetails.cs new file mode 100644 index 0000000000..845b89761c --- /dev/null +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionCollectedInformationShippingDetails.cs @@ -0,0 +1,37 @@ +// File generated from our OpenAPI spec +namespace Stripe.Checkout +{ + using Newtonsoft.Json; + + public class SessionCollectedInformationShippingDetails : StripeEntity + { + [JsonProperty("address")] + public Address Address { get; set; } + + /// + /// The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. + /// + [JsonProperty("carrier")] + public string Carrier { get; set; } + + /// + /// Recipient name. + /// + [JsonProperty("name")] + public string Name { get; set; } + + /// + /// Recipient phone (including extension). + /// + [JsonProperty("phone")] + 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")] + public string TrackingNumber { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsAcssDebit.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsAcssDebit.cs index 2aa9385476..5b7464ac0d 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsAcssDebit.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsAcssDebit.cs @@ -40,6 +40,14 @@ public class SessionPaymentMethodOptionsAcssDebit : StripeEntity + /// 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")] + public string TargetDate { get; set; } + /// /// Bank account verification method. /// One of: automatic, instant, or microdeposits. diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsAuBecsDebit.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsAuBecsDebit.cs index 94fc8dc229..c595530f90 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsAuBecsDebit.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsAuBecsDebit.cs @@ -27,5 +27,13 @@ public class SessionPaymentMethodOptionsAuBecsDebit : StripeEntity [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } } } diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsBacsDebit.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsBacsDebit.cs index 2aee84f61c..3f24084011 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsBacsDebit.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsBacsDebit.cs @@ -31,5 +31,13 @@ public class SessionPaymentMethodOptionsBacsDebit : StripeEntity [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } } } diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsCard.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsCard.cs index 9f87dc7523..32f1e3c655 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsCard.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsCard.cs @@ -56,6 +56,9 @@ public class SessionPaymentMethodOptionsCard : StripeEntity /// Indicates that you intend to make future payments with this PaymentIntent's payment /// method. diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsCardRestrictions.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsCardRestrictions.cs new file mode 100644 index 0000000000..7a104e8800 --- /dev/null +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsCardRestrictions.cs @@ -0,0 +1,18 @@ +// File generated from our OpenAPI spec +namespace Stripe.Checkout +{ + using System.Collections.Generic; + using Newtonsoft.Json; + + public class SessionPaymentMethodOptionsCardRestrictions : StripeEntity + { + /// + /// Specify the card brands to block in the Checkout Session. If a customer enters or + /// selects a card belonging to a blocked brand, they can't complete the Session. + /// One of: american_express, discover_global_network, mastercard, or + /// visa. + /// + [JsonProperty("brands_blocked")] + public List BrandsBlocked { get; set; } + } +} diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsSepaDebit.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsSepaDebit.cs index 35915d8b1b..962998ab8a 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsSepaDebit.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsSepaDebit.cs @@ -31,5 +31,13 @@ public class SessionPaymentMethodOptionsSepaDebit : StripeEntity [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } } } diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsUsBankAccount.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsUsBankAccount.cs index c2cefc41a5..709ff02e1c 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsUsBankAccount.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionPaymentMethodOptionsUsBankAccount.cs @@ -32,6 +32,14 @@ public class SessionPaymentMethodOptionsUsBankAccount : StripeEntity + /// 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")] + public string TargetDate { get; set; } + /// /// Bank account verification method. /// One of: automatic, or instant. diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionShippingCostTax.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionShippingCostTax.cs index 8e1540eda2..bf3fc45c94 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/SessionShippingCostTax.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionShippingCostTax.cs @@ -13,12 +13,12 @@ public class SessionShippingCostTax : StripeEntity /// /// Tax rates can be applied to invoices, subscriptions and Checkout - /// Sessions to collect tax. + /// href="https://stripe.com/invoicing/taxes/tax-rates">invoices, subscriptions and Checkout Sessions + /// to collect tax. /// - /// Related guide: Tax rates. + /// Related guide: Tax rates. /// [JsonProperty("rate")] public TaxRate Rate { get; set; } diff --git a/src/Stripe.net/Entities/Checkout/Sessions/SessionTotalDetailsBreakdownTax.cs b/src/Stripe.net/Entities/Checkout/Sessions/SessionTotalDetailsBreakdownTax.cs index 37e77707ca..b71a33d137 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/SessionTotalDetailsBreakdownTax.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/SessionTotalDetailsBreakdownTax.cs @@ -13,12 +13,12 @@ public class SessionTotalDetailsBreakdownTax : StripeEntity /// Tax rates can be applied to invoices, subscriptions and Checkout - /// Sessions to collect tax. + /// href="https://stripe.com/invoicing/taxes/tax-rates">invoices, subscriptions and Checkout Sessions + /// to collect tax. /// - /// Related guide: Tax rates. + /// Related guide: Tax rates. /// [JsonProperty("rate")] public TaxRate Rate { get; set; } diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewCardGeneratedFromPaymentMethodDetailsCardPresent.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewCardGeneratedFromPaymentMethodDetailsCardPresent.cs index d312e2c52a..14505dfa74 100644 --- a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewCardGeneratedFromPaymentMethodDetailsCardPresent.cs +++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewCardGeneratedFromPaymentMethodDetailsCardPresent.cs @@ -147,10 +147,8 @@ public class ConfirmationTokenPaymentMethodPreviewCardGeneratedFromPaymentMethod /// /// 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. The first three digits of the Trace ID is the Financial Network - /// Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent - /// the date (MM/DD). This field will be available for successful Visa, Mastercard, or - /// American Express transactions and always null for other card brands. + /// 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")] public string NetworkTransactionId { get; set; } diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewCardNetworks.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewCardNetworks.cs index 6afa331a4a..1db1b74427 100644 --- a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewCardNetworks.cs +++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewCardNetworks.cs @@ -7,7 +7,8 @@ namespace Stripe public class ConfirmationTokenPaymentMethodPreviewCardNetworks : StripeEntity { /// - /// All available networks for the card. + /// All networks available for selection via payment_method_options.card.network. /// [JsonProperty("available")] public List Available { get; set; } diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewCardPresentNetworks.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewCardPresentNetworks.cs index 695e2be340..2b88223456 100644 --- a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewCardPresentNetworks.cs +++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewCardPresentNetworks.cs @@ -7,7 +7,8 @@ namespace Stripe public class ConfirmationTokenPaymentMethodPreviewCardPresentNetworks : StripeEntity { /// - /// All available networks for the card. + /// All networks available for selection via payment_method_options.card.network. /// [JsonProperty("available")] public List Available { get; set; } diff --git a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewInteracPresentNetworks.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewInteracPresentNetworks.cs index 52e869d173..6996b2d493 100644 --- a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewInteracPresentNetworks.cs +++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewInteracPresentNetworks.cs @@ -7,7 +7,8 @@ namespace Stripe public class ConfirmationTokenPaymentMethodPreviewInteracPresentNetworks : StripeEntity { /// - /// All available networks for the card. + /// All networks available for selection via payment_method_options.card.network. /// [JsonProperty("available")] public List Available { get; set; } diff --git a/src/Stripe.net/Entities/CreditNotes/CreditNoteShippingCostTax.cs b/src/Stripe.net/Entities/CreditNotes/CreditNoteShippingCostTax.cs index dcd0031fd1..fe23aebc7e 100644 --- a/src/Stripe.net/Entities/CreditNotes/CreditNoteShippingCostTax.cs +++ b/src/Stripe.net/Entities/CreditNotes/CreditNoteShippingCostTax.cs @@ -13,12 +13,12 @@ public class CreditNoteShippingCostTax : StripeEntity /// /// Tax rates can be applied to invoices, subscriptions and Checkout - /// Sessions to collect tax. + /// href="https://stripe.com/invoicing/taxes/tax-rates">invoices, subscriptions and Checkout Sessions + /// to collect tax. /// - /// Related guide: Tax rates. + /// Related guide: Tax rates. /// [JsonProperty("rate")] public TaxRate Rate { get; set; } diff --git a/src/Stripe.net/Entities/Invoices/InvoiceShippingCostTax.cs b/src/Stripe.net/Entities/Invoices/InvoiceShippingCostTax.cs index 50aaf61694..9f6d52575f 100644 --- a/src/Stripe.net/Entities/Invoices/InvoiceShippingCostTax.cs +++ b/src/Stripe.net/Entities/Invoices/InvoiceShippingCostTax.cs @@ -13,12 +13,12 @@ public class InvoiceShippingCostTax : StripeEntity /// /// Tax rates can be applied to invoices, subscriptions and Checkout - /// Sessions to collect tax. + /// href="https://stripe.com/invoicing/taxes/tax-rates">invoices, subscriptions and Checkout Sessions + /// to collect tax. /// - /// Related guide: Tax rates. + /// Related guide: Tax rates. /// [JsonProperty("rate")] public TaxRate Rate { get; set; } diff --git a/src/Stripe.net/Entities/LineItems/LineItemTax.cs b/src/Stripe.net/Entities/LineItems/LineItemTax.cs index 49a29f2180..99dd7edc9a 100644 --- a/src/Stripe.net/Entities/LineItems/LineItemTax.cs +++ b/src/Stripe.net/Entities/LineItems/LineItemTax.cs @@ -13,12 +13,12 @@ public class LineItemTax : StripeEntity /// /// Tax rates can be applied to invoices, subscriptions and Checkout - /// Sessions to collect tax. + /// href="https://stripe.com/invoicing/taxes/tax-rates">invoices, subscriptions and Checkout Sessions + /// to collect tax. /// - /// Related guide: Tax rates. + /// Related guide: Tax rates. /// [JsonProperty("rate")] public TaxRate Rate { get; set; } diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsAcssDebit.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsAcssDebit.cs index 90ae84a25b..ceb6539fc9 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsAcssDebit.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsAcssDebit.cs @@ -32,6 +32,14 @@ public class PaymentIntentPaymentMethodOptionsAcssDebit : StripeEntity + /// 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")] + public string TargetDate { get; set; } + /// /// Bank account verification method. /// One of: automatic, instant, or microdeposits. diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsAuBecsDebit.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsAuBecsDebit.cs index a61644b1a7..aa5c65953b 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsAuBecsDebit.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsAuBecsDebit.cs @@ -28,5 +28,13 @@ public class PaymentIntentPaymentMethodOptionsAuBecsDebit : StripeEntity [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } } } diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsBacsDebit.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsBacsDebit.cs index 9b9238b029..cf48b033de 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsBacsDebit.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsBacsDebit.cs @@ -31,5 +31,13 @@ public class PaymentIntentPaymentMethodOptionsBacsDebit : StripeEntity [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } } } diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsSepaDebit.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsSepaDebit.cs index d55f987e52..65428ae5d1 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsSepaDebit.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsSepaDebit.cs @@ -31,5 +31,13 @@ public class PaymentIntentPaymentMethodOptionsSepaDebit : StripeEntity [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } } } diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsUsBankAccount.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsUsBankAccount.cs index 210aaed8f1..f2684106c6 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsUsBankAccount.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsUsBankAccount.cs @@ -42,6 +42,14 @@ public class PaymentIntentPaymentMethodOptionsUsBankAccount : StripeEntity + /// 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")] + public string TargetDate { get; set; } + /// /// Bank account verification method. /// One of: automatic, instant, or microdeposits. diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentTransferData.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentTransferData.cs index 892775bc6d..8083dd5b0d 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntentTransferData.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntentTransferData.cs @@ -7,14 +7,13 @@ namespace Stripe public class PaymentIntentTransferData : StripeEntity { /// - /// Amount intended to be collected by this PaymentIntent. A positive integer representing - /// how much to charge in the smallest currency unit (e.g., - /// 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum - /// amount is $0.50 US or equivalent - /// in charge currency. The amount value supports up to eight digits (e.g., a value of - /// 99999999 for a USD charge of $999,999.99). + /// The amount transferred to the destination account. This transfer will occur + /// automatically after the payment succeeds. If no amount is specified, by default the + /// entire payment amount is transferred to the destination account. The amount must be less + /// than or equal to the amount, + /// and must be a positive integer representing how much to transfer in the smallest + /// currency unit (e.g., 100 cents to charge $1.00). /// [JsonProperty("amount")] public long Amount { get; set; } diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent.cs index 08d05b23f1..2599429db6 100644 --- a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent.cs +++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent.cs @@ -147,10 +147,8 @@ public class PaymentMethodCardGeneratedFromPaymentMethodDetailsCardPresent : Str /// /// 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. The first three digits of the Trace ID is the Financial Network - /// Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent - /// the date (MM/DD). This field will be available for successful Visa, Mastercard, or - /// American Express transactions and always null for other card brands. + /// 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")] public string NetworkTransactionId { get; set; } diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodCardNetworks.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodCardNetworks.cs index 67e9f89510..c3c00f9ef2 100644 --- a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodCardNetworks.cs +++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodCardNetworks.cs @@ -7,7 +7,8 @@ namespace Stripe public class PaymentMethodCardNetworks : StripeEntity { /// - /// All available networks for the card. + /// All networks available for selection via payment_method_options.card.network. /// [JsonProperty("available")] public List Available { get; set; } diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodCardPresentNetworks.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodCardPresentNetworks.cs index c74050c21d..e87f226c11 100644 --- a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodCardPresentNetworks.cs +++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodCardPresentNetworks.cs @@ -7,7 +7,8 @@ namespace Stripe public class PaymentMethodCardPresentNetworks : StripeEntity { /// - /// All available networks for the card. + /// All networks available for selection via payment_method_options.card.network. /// [JsonProperty("available")] public List Available { get; set; } diff --git a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodInteracPresentNetworks.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodInteracPresentNetworks.cs index a5b4795634..4e7aa500b6 100644 --- a/src/Stripe.net/Entities/PaymentMethods/PaymentMethodInteracPresentNetworks.cs +++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethodInteracPresentNetworks.cs @@ -7,7 +7,8 @@ namespace Stripe public class PaymentMethodInteracPresentNetworks : StripeEntity { /// - /// All available networks for the card. + /// All networks available for selection via payment_method_options.card.network. /// [JsonProperty("available")] public List Available { get; set; } diff --git a/src/Stripe.net/Entities/Quotes/QuoteComputedRecurringTotalDetailsBreakdownTax.cs b/src/Stripe.net/Entities/Quotes/QuoteComputedRecurringTotalDetailsBreakdownTax.cs index 972710cee9..d105eac201 100644 --- a/src/Stripe.net/Entities/Quotes/QuoteComputedRecurringTotalDetailsBreakdownTax.cs +++ b/src/Stripe.net/Entities/Quotes/QuoteComputedRecurringTotalDetailsBreakdownTax.cs @@ -13,12 +13,12 @@ public class QuoteComputedRecurringTotalDetailsBreakdownTax : StripeEntity /// Tax rates can be applied to invoices, subscriptions and Checkout - /// Sessions to collect tax. + /// href="https://stripe.com/invoicing/taxes/tax-rates">invoices, subscriptions and Checkout Sessions + /// to collect tax. /// - /// Related guide: Tax rates. + /// Related guide: Tax rates. /// [JsonProperty("rate")] public TaxRate Rate { get; set; } diff --git a/src/Stripe.net/Entities/Quotes/QuoteComputedUpfrontTotalDetailsBreakdownTax.cs b/src/Stripe.net/Entities/Quotes/QuoteComputedUpfrontTotalDetailsBreakdownTax.cs index 547c4881ed..1a9d069cbd 100644 --- a/src/Stripe.net/Entities/Quotes/QuoteComputedUpfrontTotalDetailsBreakdownTax.cs +++ b/src/Stripe.net/Entities/Quotes/QuoteComputedUpfrontTotalDetailsBreakdownTax.cs @@ -13,12 +13,12 @@ public class QuoteComputedUpfrontTotalDetailsBreakdownTax : StripeEntity /// Tax rates can be applied to invoices, subscriptions and Checkout - /// Sessions to collect tax. + /// href="https://stripe.com/invoicing/taxes/tax-rates">invoices, subscriptions and Checkout Sessions + /// to collect tax. /// - /// Related guide: Tax rates. + /// Related guide: Tax rates. /// [JsonProperty("rate")] public TaxRate Rate { get; set; } diff --git a/src/Stripe.net/Entities/Quotes/QuoteTotalDetailsBreakdownTax.cs b/src/Stripe.net/Entities/Quotes/QuoteTotalDetailsBreakdownTax.cs index fc3107563d..46155e5693 100644 --- a/src/Stripe.net/Entities/Quotes/QuoteTotalDetailsBreakdownTax.cs +++ b/src/Stripe.net/Entities/Quotes/QuoteTotalDetailsBreakdownTax.cs @@ -13,12 +13,12 @@ public class QuoteTotalDetailsBreakdownTax : StripeEntity /// Tax rates can be applied to invoices, subscriptions and Checkout - /// Sessions to collect tax. + /// href="https://stripe.com/invoicing/taxes/tax-rates">invoices, subscriptions and Checkout Sessions + /// to collect tax. /// - /// Related guide: Tax rates. + /// Related guide: Tax rates. /// [JsonProperty("rate")] public TaxRate Rate { get; set; } diff --git a/src/Stripe.net/Entities/Tax/CalculationLineItems/CalculationLineItemTaxBreakdownJurisdiction.cs b/src/Stripe.net/Entities/Tax/CalculationLineItems/CalculationLineItemTaxBreakdownJurisdiction.cs index 6f1acc4312..31e0151ee3 100644 --- a/src/Stripe.net/Entities/Tax/CalculationLineItems/CalculationLineItemTaxBreakdownJurisdiction.cs +++ b/src/Stripe.net/Entities/Tax/CalculationLineItems/CalculationLineItemTaxBreakdownJurisdiction.cs @@ -26,7 +26,7 @@ public class CalculationLineItemTaxBreakdownJurisdiction : StripeEntity - /// ISO 3166-2 subdivision code, + /// ISO 3166-2 subdivision code, /// without country prefix. For example, "NY" for New York, United States. /// [JsonProperty("state")] diff --git a/src/Stripe.net/Entities/Tax/Calculations/CalculationShippingCostTaxBreakdownJurisdiction.cs b/src/Stripe.net/Entities/Tax/Calculations/CalculationShippingCostTaxBreakdownJurisdiction.cs index 99a4bbab9c..b02b4fea62 100644 --- a/src/Stripe.net/Entities/Tax/Calculations/CalculationShippingCostTaxBreakdownJurisdiction.cs +++ b/src/Stripe.net/Entities/Tax/Calculations/CalculationShippingCostTaxBreakdownJurisdiction.cs @@ -26,7 +26,7 @@ public class CalculationShippingCostTaxBreakdownJurisdiction : StripeEntity - /// ISO 3166-2 subdivision code, + /// ISO 3166-2 subdivision code, /// without country prefix. For example, "NY" for New York, United States. /// [JsonProperty("state")] diff --git a/src/Stripe.net/Entities/Tax/Transactions/TransactionShippingCostTaxBreakdownJurisdiction.cs b/src/Stripe.net/Entities/Tax/Transactions/TransactionShippingCostTaxBreakdownJurisdiction.cs index 4875baa7af..15f47b5f83 100644 --- a/src/Stripe.net/Entities/Tax/Transactions/TransactionShippingCostTaxBreakdownJurisdiction.cs +++ b/src/Stripe.net/Entities/Tax/Transactions/TransactionShippingCostTaxBreakdownJurisdiction.cs @@ -26,7 +26,7 @@ public class TransactionShippingCostTaxBreakdownJurisdiction : StripeEntity - /// ISO 3166-2 subdivision code, + /// ISO 3166-2 subdivision code, /// without country prefix. For example, "NY" for New York, United States. /// [JsonProperty("state")] diff --git a/src/Stripe.net/Entities/TaxRates/TaxRate.cs b/src/Stripe.net/Entities/TaxRates/TaxRate.cs index 38262c995c..d7d2020ede 100644 --- a/src/Stripe.net/Entities/TaxRates/TaxRate.cs +++ b/src/Stripe.net/Entities/TaxRates/TaxRate.cs @@ -8,12 +8,12 @@ namespace Stripe /// /// Tax rates can be applied to invoices, subscriptions and Checkout - /// Sessions to collect tax. + /// href="https://stripe.com/invoicing/taxes/tax-rates">invoices, subscriptions and Checkout Sessions + /// to collect tax. /// - /// Related guide: Tax rates. + /// Related guide: Tax rates. /// public class TaxRate : StripeEntity, IHasId, IHasMetadata, IHasObject { @@ -136,7 +136,7 @@ public class TaxRate : StripeEntity, IHasId, IHasMetadata, IHasObject public string RateType { get; set; } /// - /// ISO 3166-2 subdivision code, + /// ISO 3166-2 subdivision code, /// without country prefix. For example, "NY" for New York, United States. /// [JsonProperty("state")] diff --git a/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryFilterApplicabilityScopeOptions.cs b/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryFilterApplicabilityScopeOptions.cs index f51102dedc..89fc866fcd 100644 --- a/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryFilterApplicabilityScopeOptions.cs +++ b/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryFilterApplicabilityScopeOptions.cs @@ -1,6 +1,7 @@ // File generated from our OpenAPI spec namespace Stripe.Billing { + using System.Collections.Generic; using Newtonsoft.Json; public class CreditBalanceSummaryFilterApplicabilityScopeOptions : INestedOptions @@ -11,5 +12,12 @@ public class CreditBalanceSummaryFilterApplicabilityScopeOptions : INestedOption /// [JsonProperty("price_type")] public string PriceType { get; set; } + + /// + /// A list of prices that the credit grant can apply to. We currently only support the + /// metered prices. + /// + [JsonProperty("prices")] + public List Prices { get; set; } } } diff --git a/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryFilterApplicabilityScopePriceOptions.cs b/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryFilterApplicabilityScopePriceOptions.cs new file mode 100644 index 0000000000..66cdb248ec --- /dev/null +++ b/src/Stripe.net/Services/Billing/CreditBalanceSummaries/CreditBalanceSummaryFilterApplicabilityScopePriceOptions.cs @@ -0,0 +1,14 @@ +// File generated from our OpenAPI spec +namespace Stripe.Billing +{ + using Newtonsoft.Json; + + public class CreditBalanceSummaryFilterApplicabilityScopePriceOptions : INestedOptions, IHasId + { + /// + /// The price ID this credit grant should apply to. + /// + [JsonProperty("id")] + public string Id { get; set; } + } +} diff --git a/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantApplicabilityConfigScopeOptions.cs b/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantApplicabilityConfigScopeOptions.cs index b8db21f960..c37813d9ff 100644 --- a/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantApplicabilityConfigScopeOptions.cs +++ b/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantApplicabilityConfigScopeOptions.cs @@ -1,6 +1,7 @@ // File generated from our OpenAPI spec namespace Stripe.Billing { + using System.Collections.Generic; using Newtonsoft.Json; public class CreditGrantApplicabilityConfigScopeOptions : INestedOptions @@ -11,5 +12,12 @@ public class CreditGrantApplicabilityConfigScopeOptions : INestedOptions /// [JsonProperty("price_type")] public string PriceType { get; set; } + + /// + /// A list of prices that the credit grant can apply to. We currently only support the + /// metered prices. + /// + [JsonProperty("prices")] + public List Prices { get; set; } } } diff --git a/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantApplicabilityConfigScopePriceOptions.cs b/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantApplicabilityConfigScopePriceOptions.cs new file mode 100644 index 0000000000..bcb3d170af --- /dev/null +++ b/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantApplicabilityConfigScopePriceOptions.cs @@ -0,0 +1,14 @@ +// File generated from our OpenAPI spec +namespace Stripe.Billing +{ + using Newtonsoft.Json; + + public class CreditGrantApplicabilityConfigScopePriceOptions : INestedOptions, IHasId + { + /// + /// The price ID this credit grant should apply to. + /// + [JsonProperty("id")] + public string Id { get; set; } + } +} diff --git a/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantCreateOptions.cs b/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantCreateOptions.cs index 5c7a459d41..fb9310f036 100644 --- a/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantCreateOptions.cs +++ b/src/Stripe.net/Services/Billing/CreditGrants/CreditGrantCreateOptions.cs @@ -15,7 +15,9 @@ public class CreditGrantCreateOptions : BaseOptions, IHasMetadata public CreditGrantAmountOptions Amount { get; set; } /// - /// Configuration specifying what this credit grant applies to. + /// Configuration specifying what this credit grant applies to. We currently only support + /// metered prices that have a Billing Meter attached to them. /// [JsonProperty("applicability_config")] public CreditGrantApplicabilityConfigOptions ApplicabilityConfig { get; set; } @@ -62,5 +64,12 @@ public class CreditGrantCreateOptions : BaseOptions, IHasMetadata /// [JsonProperty("name")] public string Name { get; set; } + + /// + /// The desired priority for applying this credit grant. If not specified, it will be set to + /// the default value of 50. The highest priority is 0 and the lowest is 100. + /// + [JsonProperty("priority")] + public long? Priority { get; set; } } } diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionCollectedInformationOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionCollectedInformationOptions.cs new file mode 100644 index 0000000000..bd737ef891 --- /dev/null +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionCollectedInformationOptions.cs @@ -0,0 +1,14 @@ +// File generated from our OpenAPI spec +namespace Stripe.Checkout +{ + using Newtonsoft.Json; + + public class SessionCollectedInformationOptions : INestedOptions + { + /// + /// The shipping details to apply to this Session. + /// + [JsonProperty("shipping_details")] + public SessionCollectedInformationShippingDetailsOptions ShippingDetails { get; set; } + } +} diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionCollectedInformationShippingDetailsOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionCollectedInformationShippingDetailsOptions.cs new file mode 100644 index 0000000000..b75897a910 --- /dev/null +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionCollectedInformationShippingDetailsOptions.cs @@ -0,0 +1,20 @@ +// File generated from our OpenAPI spec +namespace Stripe.Checkout +{ + using Newtonsoft.Json; + + public class SessionCollectedInformationShippingDetailsOptions : INestedOptions + { + /// + /// The address of the customer. + /// + [JsonProperty("address")] + public AddressOptions Address { get; set; } + + /// + /// The name of customer. + /// + [JsonProperty("name")] + public string Name { get; set; } + } +} diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsAcssDebitOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsAcssDebitOptions.cs index eba64f226c..785cb47fec 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsAcssDebitOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsAcssDebitOptions.cs @@ -44,6 +44,14 @@ public class SessionPaymentMethodOptionsAcssDebitOptions : INestedOptions [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } + /// /// Verification method for the intent. /// One of: automatic, instant, or microdeposits. diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsAuBecsDebitOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsAuBecsDebitOptions.cs index 6bcf133c29..dd48f96dea 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsAuBecsDebitOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsAuBecsDebitOptions.cs @@ -27,5 +27,13 @@ public class SessionPaymentMethodOptionsAuBecsDebitOptions : INestedOptions /// [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } } } diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsBacsDebitOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsBacsDebitOptions.cs index 39632f5c30..97821c2330 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsBacsDebitOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsBacsDebitOptions.cs @@ -34,5 +34,13 @@ public class SessionPaymentMethodOptionsBacsDebitOptions : INestedOptions /// [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } } } diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsCardOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsCardOptions.cs index cd74966784..63419f3427 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsCardOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsCardOptions.cs @@ -59,6 +59,13 @@ public class SessionPaymentMethodOptionsCardOptions : INestedOptions [JsonProperty("request_three_d_secure")] public string RequestThreeDSecure { get; set; } + /// + /// Restrictions to apply to the card payment method. For example, you can block specific + /// card brands. + /// + [JsonProperty("restrictions")] + public SessionPaymentMethodOptionsCardRestrictionsOptions Restrictions { get; set; } + /// /// Indicates that you intend to make future payments with this PaymentIntent's payment /// method. diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsCardRestrictionsOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsCardRestrictionsOptions.cs new file mode 100644 index 0000000000..174a9174d4 --- /dev/null +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsCardRestrictionsOptions.cs @@ -0,0 +1,18 @@ +// File generated from our OpenAPI spec +namespace Stripe.Checkout +{ + using System.Collections.Generic; + using Newtonsoft.Json; + + public class SessionPaymentMethodOptionsCardRestrictionsOptions : INestedOptions + { + /// + /// Specify the card brands to block in the Checkout Session. If a customer enters or + /// selects a card belonging to a blocked brand, they can't complete the Session. + /// One of: american_express, discover_global_network, mastercard, or + /// visa. + /// + [JsonProperty("brands_blocked")] + public List BrandsBlocked { get; set; } + } +} diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsSepaDebitOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsSepaDebitOptions.cs index dd7c837df4..a9cb5fe5d8 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsSepaDebitOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsSepaDebitOptions.cs @@ -34,5 +34,13 @@ public class SessionPaymentMethodOptionsSepaDebitOptions : INestedOptions /// [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } } } diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsUsBankAccountOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsUsBankAccountOptions.cs index 6ee4dedd77..f883fdecad 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsUsBankAccountOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionPaymentMethodOptionsUsBankAccountOptions.cs @@ -35,6 +35,14 @@ public class SessionPaymentMethodOptionsUsBankAccountOptions : INestedOptions [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } + /// /// Verification method for the intent. /// One of: automatic, or instant. diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionUpdateOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionUpdateOptions.cs index e8e48990fd..da123270f8 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionUpdateOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionUpdateOptions.cs @@ -6,6 +6,12 @@ namespace Stripe.Checkout public class SessionUpdateOptions : BaseOptions, IHasMetadata { + /// + /// Information about the customer collected within the Checkout Session. + /// + [JsonProperty("collected_information")] + public SessionCollectedInformationOptions CollectedInformation { get; set; } + /// /// Set of key-value pairs that you can /// attach to an object. This can be useful for storing additional information about the diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsAcssDebitOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsAcssDebitOptions.cs index 29607055e8..2463e6484f 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsAcssDebitOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsAcssDebitOptions.cs @@ -39,6 +39,14 @@ public class PaymentIntentPaymentMethodOptionsAcssDebitOptions : INestedOptions [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } + /// /// Bank account verification method. /// One of: automatic, instant, or microdeposits. diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsAuBecsDebitOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsAuBecsDebitOptions.cs index 435e908399..3b68c57a4a 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsAuBecsDebitOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsAuBecsDebitOptions.cs @@ -32,5 +32,13 @@ public class PaymentIntentPaymentMethodOptionsAuBecsDebitOptions : INestedOption /// [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } } } diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsBacsDebitOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsBacsDebitOptions.cs index 53a0192314..da0e885028 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsBacsDebitOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsBacsDebitOptions.cs @@ -38,5 +38,13 @@ public class PaymentIntentPaymentMethodOptionsBacsDebitOptions : INestedOptions /// [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } } } diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsSepaDebitOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsSepaDebitOptions.cs index 856d47c19c..9363368888 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsSepaDebitOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsSepaDebitOptions.cs @@ -38,5 +38,13 @@ public class PaymentIntentPaymentMethodOptionsSepaDebitOptions : INestedOptions /// [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } } } diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsUsBankAccountOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsUsBankAccountOptions.cs index c1c6b3acf6..28a91b6c7c 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsUsBankAccountOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsUsBankAccountOptions.cs @@ -58,6 +58,14 @@ public class PaymentIntentPaymentMethodOptionsUsBankAccountOptions : INestedOpti [JsonProperty("setup_future_usage")] 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")] + public string TargetDate { get; set; } + /// /// Bank account verification method. /// One of: automatic, instant, or microdeposits. diff --git a/src/Stripe.net/Services/Products/ProductDefaultPriceDataOptions.cs b/src/Stripe.net/Services/Products/ProductDefaultPriceDataOptions.cs index 8796923589..becd4abf15 100644 --- a/src/Stripe.net/Services/Products/ProductDefaultPriceDataOptions.cs +++ b/src/Stripe.net/Services/Products/ProductDefaultPriceDataOptions.cs @@ -4,7 +4,7 @@ namespace Stripe using System.Collections.Generic; using Newtonsoft.Json; - public class ProductDefaultPriceDataOptions : INestedOptions + public class ProductDefaultPriceDataOptions : INestedOptions, IHasMetadata { /// /// Three-letter ISO currency @@ -29,6 +29,15 @@ public class ProductDefaultPriceDataOptions : INestedOptions [JsonProperty("custom_unit_amount")] public ProductDefaultPriceDataCustomUnitAmountOptions CustomUnitAmount { 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")] + public Dictionary Metadata { get; set; } + /// /// The recurring components of a price such as interval and interval_count. /// diff --git a/src/Stripe.net/Services/TaxRates/TaxRateCreateOptions.cs b/src/Stripe.net/Services/TaxRates/TaxRateCreateOptions.cs index 6fd19f5800..ada4295fc7 100644 --- a/src/Stripe.net/Services/TaxRates/TaxRateCreateOptions.cs +++ b/src/Stripe.net/Services/TaxRates/TaxRateCreateOptions.cs @@ -63,7 +63,7 @@ public class TaxRateCreateOptions : BaseOptions, IHasMetadata public decimal? Percentage { get; set; } /// - /// ISO 3166-2 subdivision code, + /// ISO 3166-2 subdivision code, /// without country prefix. For example, "NY" for New York, United States. /// [JsonProperty("state")] diff --git a/src/Stripe.net/Services/TaxRates/TaxRateUpdateOptions.cs b/src/Stripe.net/Services/TaxRates/TaxRateUpdateOptions.cs index 8629cb70d0..ec33d20aee 100644 --- a/src/Stripe.net/Services/TaxRates/TaxRateUpdateOptions.cs +++ b/src/Stripe.net/Services/TaxRates/TaxRateUpdateOptions.cs @@ -51,7 +51,7 @@ public class TaxRateUpdateOptions : BaseOptions, IHasMetadata public Dictionary Metadata { get; set; } /// - /// ISO 3166-2 subdivision code, + /// ISO 3166-2 subdivision code, /// without country prefix. For example, "NY" for New York, United States. /// [JsonProperty("state")] diff --git a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs index 828cbe23db..b2902dc5e7 100644 --- a/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs +++ b/src/Stripe.net/Services/WebhookEndpoints/WebhookEndpointCreateOptions.cs @@ -35,8 +35,8 @@ public class WebhookEndpointCreateOptions : BaseOptions, IHasMetadata /// 2019-11-05, 2019-12-03, 2020-03-02, 2020-08-27, /// 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, or - /// 2025-01-27.acacia. + /// 2024-10-28.acacia, 2024-11-20.acacia, 2024-12-18.acacia, + /// 2025-01-27.acacia, or 2025-02-24.acacia. /// [JsonProperty("api_version")] public string ApiVersion { get; set; } From 95630d8f2409b4cfae692360709bcc49793c453a Mon Sep 17 00:00:00 2001 From: Prathmesh Ranaut Date: Mon, 24 Feb 2025 17:34:29 -0500 Subject: [PATCH 04/36] Bump version to 47.4.0 --- CHANGELOG.md | 11 +++++++++++ VERSION | 2 +- src/Stripe.net/Constants/Version.cs | 2 +- src/Stripe.net/Stripe.net.csproj | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1e1397615..e3292ee304 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## 47.4.0 - 2025-02-24 +* [#3050](https://github.com/stripe/stripe-dotnet/pull/3050) Update generated code + * Add support for `Prices` on `BillingCreditBalanceSummaryFilterApplicabilityScopeOptions`, `BillingCreditGrantApplicabilityConfigScopeOptions`, and `BillingCreditGrantApplicabilityConfigScope` + * Add support for `Priority` on `Billing.CreditGrantCreateOptions` and `BillingCreditGrant` + * Add support for `TargetDate` on `CheckoutSessionPaymentMethodOptionsAcssDebitOptions`, `CheckoutSessionPaymentMethodOptionsAcssDebit`, `CheckoutSessionPaymentMethodOptionsAuBecsDebitOptions`, `CheckoutSessionPaymentMethodOptionsAuBecsDebit`, `CheckoutSessionPaymentMethodOptionsBacsDebitOptions`, `CheckoutSessionPaymentMethodOptionsBacsDebit`, `CheckoutSessionPaymentMethodOptionsSepaDebitOptions`, `CheckoutSessionPaymentMethodOptionsSepaDebit`, `CheckoutSessionPaymentMethodOptionsUsBankAccountOptions`, `CheckoutSessionPaymentMethodOptionsUsBankAccount`, `PaymentIntentPaymentMethodOptionsAcssDebitOptions`, `PaymentIntentPaymentMethodOptionsAcssDebit`, `PaymentIntentPaymentMethodOptionsAuBecsDebitOptions`, `PaymentIntentPaymentMethodOptionsAuBecsDebit`, `PaymentIntentPaymentMethodOptionsBacsDebitOptions`, `PaymentIntentPaymentMethodOptionsBacsDebit`, `PaymentIntentPaymentMethodOptionsSepaDebitOptions`, `PaymentIntentPaymentMethodOptionsSepaDebit`, `PaymentIntentPaymentMethodOptionsUsBankAccountOptions`, and `PaymentIntentPaymentMethodOptionsUsBankAccount` + * Add support for `Restrictions` on `CheckoutSessionPaymentMethodOptionsCardOptions` and `CheckoutSessionPaymentMethodOptionsCard` + * Add support for `CollectedInformation` on `Checkout.SessionUpdateOptions` and `CheckoutSession` + * Add support for `Metadata` on `ProductDefaultPriceDataOptions` +* [#3054](https://github.com/stripe/stripe-dotnet/pull/3054) Improved examples +* [#3055](https://github.com/stripe/stripe-dotnet/pull/3055) add codeowners file + ## 47.3.0 - 2025-01-27 * [#3044](https://github.com/stripe/stripe-dotnet/pull/3044) Update generated code * Add support for `Close` method on resource `Treasury.FinancialAccount` diff --git a/VERSION b/VERSION index 4d654743c2..70ce3904b2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -47.3.0 +47.4.0 diff --git a/src/Stripe.net/Constants/Version.cs b/src/Stripe.net/Constants/Version.cs index b783653d37..aaa614950c 100644 --- a/src/Stripe.net/Constants/Version.cs +++ b/src/Stripe.net/Constants/Version.cs @@ -2,6 +2,6 @@ namespace Stripe { internal class Version { - public const string Current = "47.3.0"; + public const string Current = "47.4.0"; } } \ No newline at end of file diff --git a/src/Stripe.net/Stripe.net.csproj b/src/Stripe.net/Stripe.net.csproj index ead9277367..f49fefebbd 100644 --- a/src/Stripe.net/Stripe.net.csproj +++ b/src/Stripe.net/Stripe.net.csproj @@ -2,7 +2,7 @@ Stripe.net is a sync/async client and portable class library for the Stripe API, supporting .NET Standard 2.0+, .NET Core 3.1+, and .NET Framework 4.6.1+. (Official Library) - 47.3.0 + 47.4.0 8 Stripe, Jayme Davis net5.0;net6.0;net7.0;net8.0;netcoreapp3.1;netstandard2.0;net461 From 9214022d1a5e24a234f5ff93fda3204f8d93e88f Mon Sep 17 00:00:00 2001 From: jar-stripe Date: Fri, 14 Mar 2025 14:32:19 -0700 Subject: [PATCH 05/36] Remove Upcoming Lines API from SDK (#3064) --- .../V2/EventDestinations/EventDestination.cs | 8 + ...comingLinesAutomaticTaxLiabilityOptions.cs | 21 -- ...InvoiceUpcomingLinesAutomaticTaxOptions.cs | 25 --- ...oiceUpcomingLinesCustomerDetailsOptions.cs | 40 ---- ...mingLinesCustomerDetailsShippingOptions.cs | 26 --- ...pcomingLinesCustomerDetailsTaxIdOptions.cs | 59 ----- ...eUpcomingLinesCustomerDetailsTaxOptions.cs | 17 -- .../InvoiceUpcomingLinesDiscountOptions.cs | 26 --- ...UpcomingLinesInvoiceItemDiscountOptions.cs | 26 --- .../InvoiceUpcomingLinesInvoiceItemOptions.cs | 131 ----------- ...ceUpcomingLinesInvoiceItemPeriodOptions.cs | 25 --- ...pcomingLinesInvoiceItemPriceDataOptions.cs | 49 ---- .../InvoiceUpcomingLinesIssuerOptions.cs | 21 -- ...oiceUpcomingLinesScheduleDetailsOptions.cs | 36 --- ...tailsPhaseAddInvoiceItemDiscountOptions.cs | 26 --- ...heduleDetailsPhaseAddInvoiceItemOptions.cs | 41 ---- ...ailsPhaseAddInvoiceItemPriceDataOptions.cs | 50 ----- ...etailsPhaseAutomaticTaxLiabilityOptions.cs | 21 -- ...ScheduleDetailsPhaseAutomaticTaxOptions.cs | 23 -- ...uleDetailsPhaseBillingThresholdsOptions.cs | 22 -- ...inesScheduleDetailsPhaseDiscountOptions.cs | 26 --- ...pcomingLinesScheduleDetailsPhaseEndDate.cs | 13 -- ...etailsPhaseInvoiceSettingsIssuerOptions.cs | 21 -- ...eduleDetailsPhaseInvoiceSettingsOptions.cs | 31 --- ...etailsPhaseItemBillingThresholdsOptions.cs | 17 -- ...ScheduleDetailsPhaseItemDiscountOptions.cs | 26 --- ...ingLinesScheduleDetailsPhaseItemOptions.cs | 73 ------ ...cheduleDetailsPhaseItemPriceDataOptions.cs | 55 ----- ...tailsPhaseItemPriceDataRecurringOptions.cs | 24 -- ...pcomingLinesScheduleDetailsPhaseOptions.cs | 209 ------------------ ...omingLinesScheduleDetailsPhaseStartDate.cs | 13 -- ...ScheduleDetailsPhaseTransferDataOptions.cs | 23 -- ...comingLinesScheduleDetailsPhaseTrialEnd.cs | 13 -- .../InvoiceUpcomingLinesService.cs | 66 ------ ...esSubscriptionDetailsBillingCycleAnchor.cs | 14 -- ...tionDetailsItemBillingThresholdsOptions.cs | 17 -- ...sSubscriptionDetailsItemDiscountOptions.cs | 26 --- ...mingLinesSubscriptionDetailsItemOptions.cs | 89 -------- ...SubscriptionDetailsItemPriceDataOptions.cs | 55 ----- ...ionDetailsItemPriceDataRecurringOptions.cs | 24 -- ...UpcomingLinesSubscriptionDetailsOptions.cs | 106 --------- ...pcomingLinesSubscriptionDetailsTrialEnd.cs | 13 -- ...ubscriptionItemBillingThresholdsOptions.cs | 17 -- ...ingLinesSubscriptionItemDiscountOptions.cs | 26 --- ...iceUpcomingLinesSubscriptionItemOptions.cs | 89 -------- ...ngLinesSubscriptionItemPriceDataOptions.cs | 55 ----- ...bscriptionItemPriceDataRecurringOptions.cs | 24 -- .../Services/Invoices/InvoiceService.cs | 44 +++- .../Invoices/InvoiceService.partial.cs | 44 ---- .../InvoiceUpcomingLinesOptions.cs} | 18 +- .../EventDestinationService.cs | 8 +- .../V2/Core/Events/EventListOptions.cs | 33 +++ .../Services/V2/Core/Events/EventService.cs | 8 +- .../Services/GeneratedExamplesTest.cs | 15 -- .../Services/Invoices/InvoiceServiceTest.cs | 46 ---- ...UpcomingInvoiceListLineItemsOptionsTest.cs | 63 ------ 56 files changed, 98 insertions(+), 2039 deletions(-) delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesAutomaticTaxLiabilityOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesAutomaticTaxOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsShippingOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsTaxIdOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsTaxOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesDiscountOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemDiscountOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemPeriodOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemPriceDataOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesIssuerOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemDiscountOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemPriceDataOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAutomaticTaxLiabilityOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAutomaticTaxOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseBillingThresholdsOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseDiscountOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseEndDate.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseInvoiceSettingsIssuerOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseInvoiceSettingsOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemBillingThresholdsOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemDiscountOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemPriceDataOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemPriceDataRecurringOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseStartDate.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseTransferDataOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseTrialEnd.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesService.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsBillingCycleAnchor.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemBillingThresholdsOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemDiscountOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemPriceDataOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemPriceDataRecurringOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsTrialEnd.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemBillingThresholdsOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemDiscountOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemPriceDataOptions.cs delete mode 100644 src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemPriceDataRecurringOptions.cs rename src/Stripe.net/Services/{InvoiceUpcomingLines/InvoiceUpcomingLinesListOptions.cs => Invoices/InvoiceUpcomingLinesOptions.cs} (94%) delete mode 100644 src/StripeTests/Services/Invoices/UpcomingInvoiceListLineItemsOptionsTest.cs diff --git a/src/Stripe.net/Entities/V2/EventDestinations/EventDestination.cs b/src/Stripe.net/Entities/V2/EventDestinations/EventDestination.cs index 192aba7bc0..7228fc017d 100644 --- a/src/Stripe.net/Entities/V2/EventDestinations/EventDestination.cs +++ b/src/Stripe.net/Entities/V2/EventDestinations/EventDestination.cs @@ -5,6 +5,14 @@ namespace Stripe.V2 using System.Collections.Generic; using Newtonsoft.Json; + /// + /// Set up an event destination to receive events from Stripe across multiple destination + /// types, including webhook endpoints and Amazon EventBridge. + /// Event destinations support receiving thin events and snapshot events. + /// public class EventDestination : StripeEntity, IHasId, IHasMetadata, IHasObject { /// diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesAutomaticTaxLiabilityOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesAutomaticTaxLiabilityOptions.cs deleted file mode 100644 index 55105cd4b4..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesAutomaticTaxLiabilityOptions.cs +++ /dev/null @@ -1,21 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesAutomaticTaxLiabilityOptions : INestedOptions - { - /// - /// The connected account being referenced when type is account. - /// - [JsonProperty("account")] - public string Account { get; set; } - - /// - /// Type of the account referenced in the request. - /// One of: account, or self. - /// - [JsonProperty("type")] - public string Type { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesAutomaticTaxOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesAutomaticTaxOptions.cs deleted file mode 100644 index 7484bcb972..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesAutomaticTaxOptions.cs +++ /dev/null @@ -1,25 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesAutomaticTaxOptions : INestedOptions - { - /// - /// Whether Stripe automatically computes tax on this invoice. Note that incompatible - /// invoice items (invoice items with manually specified tax rates, negative amounts, or - /// tax_behavior=unspecified) cannot be added to automatic tax invoices. - /// - [JsonProperty("enabled")] - public bool? Enabled { get; set; } - - /// - /// The account that's liable for tax. If set, the business address and tax registrations - /// required to perform the tax calculation are loaded from this account. The tax - /// transaction is returned in the report of the connected account. - /// - [JsonProperty("liability")] - public InvoiceUpcomingLinesAutomaticTaxLiabilityOptions Liability { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsOptions.cs deleted file mode 100644 index 55c7c38733..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsOptions.cs +++ /dev/null @@ -1,40 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesCustomerDetailsOptions : INestedOptions - { - /// - /// The customer's address. - /// - [JsonProperty("address")] - public AddressOptions Address { get; set; } - - /// - /// The customer's shipping information. Appears on invoices emailed to this customer. - /// - [JsonProperty("shipping")] - public InvoiceUpcomingLinesCustomerDetailsShippingOptions Shipping { get; set; } - - /// - /// Tax details about the customer. - /// - [JsonProperty("tax")] - public InvoiceUpcomingLinesCustomerDetailsTaxOptions Tax { get; set; } - - /// - /// The customer's tax exemption. One of none, exempt, or reverse. - /// One of: exempt, none, or reverse. - /// - [JsonProperty("tax_exempt")] - public string TaxExempt { get; set; } - - /// - /// The customer's tax IDs. - /// - [JsonProperty("tax_ids")] - public List TaxIds { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsShippingOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsShippingOptions.cs deleted file mode 100644 index 1652cb0039..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsShippingOptions.cs +++ /dev/null @@ -1,26 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesCustomerDetailsShippingOptions : INestedOptions - { - /// - /// Customer shipping address. - /// - [JsonProperty("address")] - public AddressOptions Address { get; set; } - - /// - /// Customer name. - /// - [JsonProperty("name")] - public string Name { get; set; } - - /// - /// Customer phone (including extension). - /// - [JsonProperty("phone")] - public string Phone { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsTaxIdOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsTaxIdOptions.cs deleted file mode 100644 index f22a1d4139..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsTaxIdOptions.cs +++ /dev/null @@ -1,59 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesCustomerDetailsTaxIdOptions : INestedOptions - { - /// - /// Type of the tax ID, one of ad_nrt, ae_trn, al_tin, am_tin, - /// ao_tin, ar_cuit, au_abn, au_arn, ba_tin, - /// bb_tin, bg_uic, bh_vat, bo_tin, br_cnpj, - /// br_cpf, bs_tin, by_tin, ca_bn, ca_gst_hst, - /// ca_pst_bc, ca_pst_mb, ca_pst_sk, ca_qst, cd_nif, - /// ch_uid, ch_vat, cl_tin, cn_tin, co_nit, - /// cr_tin, de_stn, do_rcn, ec_ruc, eg_tin, - /// es_cif, eu_oss_vat, eu_vat, gb_vat, ge_vat, - /// gn_nif, hk_br, hr_oib, hu_tin, id_npwp, - /// il_vat, in_gst, is_vat, jp_cn, jp_rn, jp_trn, - /// ke_pin, kh_tin, kr_brn, kz_bin, li_uid, - /// li_vat, ma_vat, md_vat, me_pib, mk_vat, - /// mr_nif, mx_rfc, my_frp, my_itn, my_sst, - /// ng_tin, no_vat, no_voec, np_pan, nz_gst, - /// om_vat, pe_ruc, ph_tin, ro_tin, rs_pib, - /// ru_inn, ru_kpp, sa_vat, sg_gst, sg_uen, - /// si_tin, sn_ninea, sr_fin, sv_nit, th_vat, - /// tj_tin, tr_tin, tw_vat, tz_vat, ua_vat, - /// ug_tin, us_ein, uy_ruc, uz_tin, uz_vat, - /// ve_rif, vn_tin, za_vat, zm_tin, or zw_tin. - /// One of: ad_nrt, ae_trn, al_tin, am_tin, ao_tin, - /// ar_cuit, au_abn, au_arn, ba_tin, bb_tin, - /// bg_uic, bh_vat, bo_tin, br_cnpj, br_cpf, - /// bs_tin, by_tin, ca_bn, ca_gst_hst, ca_pst_bc, - /// ca_pst_mb, ca_pst_sk, ca_qst, cd_nif, ch_uid, - /// ch_vat, cl_tin, cn_tin, co_nit, cr_tin, - /// de_stn, do_rcn, ec_ruc, eg_tin, es_cif, - /// eu_oss_vat, eu_vat, gb_vat, ge_vat, gn_nif, - /// hk_br, hr_oib, hu_tin, id_npwp, il_vat, - /// in_gst, is_vat, jp_cn, jp_rn, jp_trn, ke_pin, - /// kh_tin, kr_brn, kz_bin, li_uid, li_vat, - /// ma_vat, md_vat, me_pib, mk_vat, mr_nif, - /// mx_rfc, my_frp, my_itn, my_sst, ng_tin, - /// no_vat, no_voec, np_pan, nz_gst, om_vat, - /// pe_ruc, ph_tin, ro_tin, rs_pib, ru_inn, - /// ru_kpp, sa_vat, sg_gst, sg_uen, si_tin, - /// sn_ninea, sr_fin, sv_nit, th_vat, tj_tin, - /// tr_tin, tw_vat, tz_vat, ua_vat, ug_tin, - /// us_ein, uy_ruc, uz_tin, uz_vat, ve_rif, - /// vn_tin, za_vat, zm_tin, or zw_tin. - /// - [JsonProperty("type")] - public string Type { get; set; } - - /// - /// Value of the tax ID. - /// - [JsonProperty("value")] - public string Value { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsTaxOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsTaxOptions.cs deleted file mode 100644 index afa7183184..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesCustomerDetailsTaxOptions.cs +++ /dev/null @@ -1,17 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesCustomerDetailsTaxOptions : INestedOptions - { - /// - /// A recent IP address of the customer used for tax reporting and tax location inference. - /// Stripe recommends updating the IP address when a new PaymentMethod is attached or the - /// address field on the customer is updated. We recommend against updating this field more - /// frequently since it could result in unexpected tax location/reporting outcomes. - /// - [JsonProperty("ip_address")] - public string IpAddress { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesDiscountOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesDiscountOptions.cs deleted file mode 100644 index 2d9e80955b..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesDiscountOptions.cs +++ /dev/null @@ -1,26 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesDiscountOptions : INestedOptions - { - /// - /// ID of the coupon to create a new discount for. - /// - [JsonProperty("coupon")] - public string Coupon { get; set; } - - /// - /// ID of an existing discount on the object (or one of its ancestors) to reuse. - /// - [JsonProperty("discount")] - public string Discount { get; set; } - - /// - /// ID of the promotion code to create a new discount for. - /// - [JsonProperty("promotion_code")] - public string PromotionCode { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemDiscountOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemDiscountOptions.cs deleted file mode 100644 index 7443e622c3..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemDiscountOptions.cs +++ /dev/null @@ -1,26 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesInvoiceItemDiscountOptions : INestedOptions - { - /// - /// ID of the coupon to create a new discount for. - /// - [JsonProperty("coupon")] - public string Coupon { get; set; } - - /// - /// ID of an existing discount on the object (or one of its ancestors) to reuse. - /// - [JsonProperty("discount")] - public string Discount { get; set; } - - /// - /// ID of the promotion code to create a new discount for. - /// - [JsonProperty("promotion_code")] - public string PromotionCode { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemOptions.cs deleted file mode 100644 index bc932a507e..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemOptions.cs +++ /dev/null @@ -1,131 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesInvoiceItemOptions : INestedOptions, IHasMetadata - { - /// - /// The integer amount in cents (or local equivalent) of previewed invoice item. - /// - [JsonProperty("amount")] - public long? Amount { get; set; } - - /// - /// Three-letter ISO currency - /// code, in lowercase. Must be a supported - /// currency. Only applicable to new invoice items. - /// - [JsonProperty("currency")] - public string Currency { get; set; } - - /// - /// An arbitrary string which you can attach to the invoice item. The description is - /// displayed in the invoice for easy tracking. - /// - [JsonProperty("description")] - public string Description { get; set; } - - /// - /// Explicitly controls whether discounts apply to this invoice item. Defaults to true, - /// except for negative invoice items. - /// - [JsonProperty("discountable")] - public bool? Discountable { get; set; } - - /// - /// The coupons to redeem into discounts for the invoice item in the preview. - /// - [JsonProperty("discounts")] - public List Discounts { get; set; } - - /// - /// The ID of the invoice item to update in preview. If not specified, a new invoice item - /// will be added to the preview of the upcoming invoice. - /// - [JsonProperty("invoiceitem")] - public string Invoiceitem { 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")] - public Dictionary Metadata { get; set; } - - /// - /// The period associated with this invoice item. When set to different values, the period - /// will be rendered on the invoice. If you have Stripe Revenue Recognition - /// enabled, the period will be used to recognize and defer revenue. See the Revenue - /// Recognition documentation for details. - /// - [JsonProperty("period")] - public InvoiceUpcomingLinesInvoiceItemPeriodOptions Period { get; set; } - - /// - /// The ID of the price object. One of price or price_data is required. - /// - [JsonProperty("price")] - 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")] - public InvoiceUpcomingLinesInvoiceItemPriceDataOptions PriceData { get; set; } - - /// - /// Non-negative integer. The quantity of units for the invoice item. - /// - [JsonProperty("quantity")] - public long? Quantity { 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")] - public string TaxBehavior { get; set; } - - /// - /// A tax code ID. - /// - [JsonProperty("tax_code")] - public string TaxCode { get; set; } - - /// - /// The tax rates that apply to the item. When set, any default_tax_rates do not - /// apply to this item. - /// - [JsonProperty("tax_rates")] - 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")] - 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")] - public decimal? UnitAmountDecimal { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemPeriodOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemPeriodOptions.cs deleted file mode 100644 index 55d0cc4bd0..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemPeriodOptions.cs +++ /dev/null @@ -1,25 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System; - using Newtonsoft.Json; - using Stripe.Infrastructure; - - public class InvoiceUpcomingLinesInvoiceItemPeriodOptions : INestedOptions - { - /// - /// The end of the period, which must be greater than or equal to the start. This value is - /// inclusive. - /// - [JsonProperty("end")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime? End { get; set; } - - /// - /// The start of the period. This value is inclusive. - /// - [JsonProperty("start")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime? Start { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemPriceDataOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemPriceDataOptions.cs deleted file mode 100644 index 07ba65fa75..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesInvoiceItemPriceDataOptions.cs +++ /dev/null @@ -1,49 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesInvoiceItemPriceDataOptions : INestedOptions - { - /// - /// Three-letter ISO currency - /// code, in lowercase. Must be a supported - /// currency. - /// - [JsonProperty("currency")] - public string Currency { get; set; } - - /// - /// The ID of the product that this price will belong to. - /// - [JsonProperty("product")] - public string Product { 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")] - 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")] - 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")] - public decimal? UnitAmountDecimal { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesIssuerOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesIssuerOptions.cs deleted file mode 100644 index d95ab18065..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesIssuerOptions.cs +++ /dev/null @@ -1,21 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesIssuerOptions : INestedOptions - { - /// - /// The connected account being referenced when type is account. - /// - [JsonProperty("account")] - public string Account { get; set; } - - /// - /// Type of the account referenced in the request. - /// One of: account, or self. - /// - [JsonProperty("type")] - public string Type { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsOptions.cs deleted file mode 100644 index ac6701d6ec..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsOptions.cs +++ /dev/null @@ -1,36 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsOptions : INestedOptions - { - /// - /// Behavior of the subscription schedule and underlying subscription when it ends. Possible - /// values are release or cancel with the default being release. - /// release will end the subscription schedule and keep the underlying subscription - /// running. cancel will end the subscription schedule and cancel the underlying - /// subscription. - /// One of: cancel, or release. - /// - [JsonProperty("end_behavior")] - public string EndBehavior { get; set; } - - /// - /// List representing phases of the subscription schedule. Each phase can be customized to - /// have different durations, plans, and coupons. If there are multiple phases, the - /// end_date of one phase will always equal the start_date of the next phase. - /// - [JsonProperty("phases")] - public List Phases { get; set; } - - /// - /// In cases where the schedule_details params update the currently active phase, - /// specifies if and how to prorate at the time of the request. - /// One of: always_invoice, create_prorations, or none. - /// - [JsonProperty("proration_behavior")] - public string ProrationBehavior { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemDiscountOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemDiscountOptions.cs deleted file mode 100644 index 63d136266f..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemDiscountOptions.cs +++ /dev/null @@ -1,26 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemDiscountOptions : INestedOptions - { - /// - /// ID of the coupon to create a new discount for. - /// - [JsonProperty("coupon")] - public string Coupon { get; set; } - - /// - /// ID of an existing discount on the object (or one of its ancestors) to reuse. - /// - [JsonProperty("discount")] - public string Discount { get; set; } - - /// - /// ID of the promotion code to create a new discount for. - /// - [JsonProperty("promotion_code")] - public string PromotionCode { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemOptions.cs deleted file mode 100644 index 7c31fa437a..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemOptions.cs +++ /dev/null @@ -1,41 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemOptions : INestedOptions - { - /// - /// The coupons to redeem into discounts for the item. - /// - [JsonProperty("discounts")] - public List Discounts { get; set; } - - /// - /// The ID of the price object. One of price or price_data is required. - /// - [JsonProperty("price")] - 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")] - public InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemPriceDataOptions PriceData { get; set; } - - /// - /// Quantity for this item. Defaults to 1. - /// - [JsonProperty("quantity")] - public long? Quantity { get; set; } - - /// - /// The tax rates which apply to the item. When set, the default_tax_rates do not - /// apply to this item. - /// - [JsonProperty("tax_rates")] - public List TaxRates { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemPriceDataOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemPriceDataOptions.cs deleted file mode 100644 index 3fed1c3cf6..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemPriceDataOptions.cs +++ /dev/null @@ -1,50 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseAddInvoiceItemPriceDataOptions : INestedOptions - { - /// - /// Three-letter ISO currency - /// code, in lowercase. Must be a supported - /// currency. - /// - [JsonProperty("currency")] - public string Currency { get; set; } - - /// - /// The ID of the product that this price will belong to. - /// - [JsonProperty("product")] - public string Product { 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")] - public string TaxBehavior { get; set; } - - /// - /// A positive integer in cents (or local equivalent) (or 0 for a free price) representing - /// how much to charge or a negative integer representing the amount to credit to the - /// customer. - /// - [JsonProperty("unit_amount")] - 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")] - public decimal? UnitAmountDecimal { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAutomaticTaxLiabilityOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAutomaticTaxLiabilityOptions.cs deleted file mode 100644 index 955bfd474e..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAutomaticTaxLiabilityOptions.cs +++ /dev/null @@ -1,21 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseAutomaticTaxLiabilityOptions : INestedOptions - { - /// - /// The connected account being referenced when type is account. - /// - [JsonProperty("account")] - public string Account { get; set; } - - /// - /// Type of the account referenced in the request. - /// One of: account, or self. - /// - [JsonProperty("type")] - public string Type { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAutomaticTaxOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAutomaticTaxOptions.cs deleted file mode 100644 index 52a14ae1dc..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseAutomaticTaxOptions.cs +++ /dev/null @@ -1,23 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseAutomaticTaxOptions : INestedOptions - { - /// - /// Enabled automatic tax calculation which will automatically compute tax rates on all - /// invoices generated by the subscription. - /// - [JsonProperty("enabled")] - public bool? Enabled { get; set; } - - /// - /// The account that's liable for tax. If set, the business address and tax registrations - /// required to perform the tax calculation are loaded from this account. The tax - /// transaction is returned in the report of the connected account. - /// - [JsonProperty("liability")] - public InvoiceUpcomingLinesScheduleDetailsPhaseAutomaticTaxLiabilityOptions Liability { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseBillingThresholdsOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseBillingThresholdsOptions.cs deleted file mode 100644 index 6383446af6..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseBillingThresholdsOptions.cs +++ /dev/null @@ -1,22 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseBillingThresholdsOptions : INestedOptions - { - /// - /// Monetary threshold that triggers the subscription to advance to a new billing period. - /// - [JsonProperty("amount_gte")] - 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")] - public bool? ResetBillingCycleAnchor { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseDiscountOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseDiscountOptions.cs deleted file mode 100644 index e993fed251..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseDiscountOptions.cs +++ /dev/null @@ -1,26 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseDiscountOptions : INestedOptions - { - /// - /// ID of the coupon to create a new discount for. - /// - [JsonProperty("coupon")] - public string Coupon { get; set; } - - /// - /// ID of an existing discount on the object (or one of its ancestors) to reuse. - /// - [JsonProperty("discount")] - public string Discount { get; set; } - - /// - /// ID of the promotion code to create a new discount for. - /// - [JsonProperty("promotion_code")] - public string PromotionCode { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseEndDate.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseEndDate.cs deleted file mode 100644 index 5200acb076..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseEndDate.cs +++ /dev/null @@ -1,13 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - public class InvoiceUpcomingLinesScheduleDetailsPhaseEndDate : StringEnum - { - public static readonly InvoiceUpcomingLinesScheduleDetailsPhaseEndDate Now = new InvoiceUpcomingLinesScheduleDetailsPhaseEndDate("now"); - - private InvoiceUpcomingLinesScheduleDetailsPhaseEndDate(string value) - : base(value) - { - } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseInvoiceSettingsIssuerOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseInvoiceSettingsIssuerOptions.cs deleted file mode 100644 index 975b6641fb..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseInvoiceSettingsIssuerOptions.cs +++ /dev/null @@ -1,21 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseInvoiceSettingsIssuerOptions : INestedOptions - { - /// - /// The connected account being referenced when type is account. - /// - [JsonProperty("account")] - public string Account { get; set; } - - /// - /// Type of the account referenced in the request. - /// One of: account, or self. - /// - [JsonProperty("type")] - public string Type { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseInvoiceSettingsOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseInvoiceSettingsOptions.cs deleted file mode 100644 index ca21f2fd60..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseInvoiceSettingsOptions.cs +++ /dev/null @@ -1,31 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseInvoiceSettingsOptions : INestedOptions - { - /// - /// The account tax IDs associated with this phase of the subscription schedule. Will be set - /// on invoices generated by this phase of the subscription schedule. - /// - [JsonProperty("account_tax_ids")] - public List AccountTaxIds { get; set; } - - /// - /// Number of days within which a customer must pay invoices generated by this subscription - /// schedule. This value will be null for subscription schedules where - /// billing=charge_automatically. - /// - [JsonProperty("days_until_due")] - public long? DaysUntilDue { 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")] - public InvoiceUpcomingLinesScheduleDetailsPhaseInvoiceSettingsIssuerOptions Issuer { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemBillingThresholdsOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemBillingThresholdsOptions.cs deleted file mode 100644 index cc63834f84..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemBillingThresholdsOptions.cs +++ /dev/null @@ -1,17 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseItemBillingThresholdsOptions : 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")] - public long? UsageGte { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemDiscountOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemDiscountOptions.cs deleted file mode 100644 index 155a669adc..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemDiscountOptions.cs +++ /dev/null @@ -1,26 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseItemDiscountOptions : INestedOptions - { - /// - /// ID of the coupon to create a new discount for. - /// - [JsonProperty("coupon")] - public string Coupon { get; set; } - - /// - /// ID of an existing discount on the object (or one of its ancestors) to reuse. - /// - [JsonProperty("discount")] - public string Discount { get; set; } - - /// - /// ID of the promotion code to create a new discount for. - /// - [JsonProperty("promotion_code")] - public string PromotionCode { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemOptions.cs deleted file mode 100644 index 8b3d977258..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemOptions.cs +++ /dev/null @@ -1,73 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseItemOptions : 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")] - public InvoiceUpcomingLinesScheduleDetailsPhaseItemBillingThresholdsOptions BillingThresholds { get; set; } - - /// - /// The coupons to redeem into discounts for the subscription item. - /// - [JsonProperty("discounts")] - public List Discounts { get; set; } - - /// - /// Set of key-value pairs that you can - /// attach to a configuration item. Metadata on a configuration item will update the - /// underlying subscription item's metadata when the phase is entered, adding new - /// keys and replacing existing keys. Individual keys in the subscription item's - /// metadata can be unset by posting an empty value to them in the configuration - /// item's metadata. To unset all keys in the subscription item's metadata, - /// update the subscription item directly or unset every key individually from the - /// configuration item's metadata. - /// - [JsonProperty("metadata")] - public Dictionary Metadata { get; set; } - - /// - /// The plan ID to subscribe to. You may specify the same ID in plan and - /// price. - /// - [JsonProperty("plan")] - public string Plan { get; set; } - - /// - /// The ID of the price object. - /// - [JsonProperty("price")] - public string Price { get; set; } - - /// - /// Data used to generate a new Price - /// object inline. - /// - [JsonProperty("price_data")] - public InvoiceUpcomingLinesScheduleDetailsPhaseItemPriceDataOptions PriceData { get; set; } - - /// - /// Quantity for the given price. Can be set only if the price's usage_type is - /// licensed and not metered. - /// - [JsonProperty("quantity")] - 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")] - public List TaxRates { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemPriceDataOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemPriceDataOptions.cs deleted file mode 100644 index fb2fab27e6..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemPriceDataOptions.cs +++ /dev/null @@ -1,55 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseItemPriceDataOptions : INestedOptions - { - /// - /// Three-letter ISO currency - /// code, in lowercase. Must be a supported - /// currency. - /// - [JsonProperty("currency")] - public string Currency { get; set; } - - /// - /// The ID of the product that this price will belong to. - /// - [JsonProperty("product")] - public string Product { get; set; } - - /// - /// The recurring components of a price such as interval and interval_count. - /// - [JsonProperty("recurring")] - public InvoiceUpcomingLinesScheduleDetailsPhaseItemPriceDataRecurringOptions 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")] - 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")] - 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")] - public decimal? UnitAmountDecimal { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemPriceDataRecurringOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemPriceDataRecurringOptions.cs deleted file mode 100644 index 281b6c9d8f..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseItemPriceDataRecurringOptions.cs +++ /dev/null @@ -1,24 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseItemPriceDataRecurringOptions : INestedOptions - { - /// - /// Specifies billing frequency. Either day, week, month or - /// year. - /// One of: day, month, week, or year. - /// - [JsonProperty("interval")] - 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")] - public long? IntervalCount { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseOptions.cs deleted file mode 100644 index 5ae6b5f180..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseOptions.cs +++ /dev/null @@ -1,209 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System; - using System.Collections.Generic; - using Newtonsoft.Json; - using Stripe.Infrastructure; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseOptions : INestedOptions, IHasMetadata - { - /// - /// A list of prices and quantities that will generate invoice items appended to the next - /// invoice for this phase. You may pass up to 20 items. - /// - [JsonProperty("add_invoice_items")] - public List AddInvoiceItems { get; set; } - - /// - /// A non-negative decimal between 0 and 100, with at most two decimal places. This - /// represents the percentage of the subscription invoice total that will be transferred to - /// the application owner's Stripe account. The request must be made by a platform account - /// on a connected account in order to set an application fee percentage. For more - /// information, see the application fees documentation. - /// - [JsonProperty("application_fee_percent")] - public decimal? ApplicationFeePercent { get; set; } - - /// - /// Automatic tax settings for this phase. - /// - [JsonProperty("automatic_tax")] - public InvoiceUpcomingLinesScheduleDetailsPhaseAutomaticTaxOptions AutomaticTax { get; set; } - - /// - /// Can be set to phase_start to set the anchor to the start of the phase or - /// automatic to automatically change it if needed. Cannot be set to - /// phase_start if this phase specifies a trial. For more information, see the - /// billing cycle documentation. - /// One of: automatic, or phase_start. - /// - [JsonProperty("billing_cycle_anchor")] - 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")] - public InvoiceUpcomingLinesScheduleDetailsPhaseBillingThresholdsOptions 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 - /// using the default source attached to the customer. When sending an invoice, Stripe will - /// email your customer an invoice with payment instructions and mark the subscription as - /// active. Defaults to charge_automatically on creation. - /// One of: charge_automatically, or send_invoice. - /// - [JsonProperty("collection_method")] - 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")] - public string Coupon { get; set; } - - /// - /// Three-letter ISO currency - /// code, in lowercase. Must be a supported - /// currency. - /// - [JsonProperty("currency")] - public string Currency { get; set; } - - /// - /// ID of the default payment method for the subscription schedule. It must belong to the - /// customer associated with the subscription schedule. If not set, invoices will use the - /// default payment method in the customer's invoice settings. - /// - [JsonProperty("default_payment_method")] - public string DefaultPaymentMethod { get; set; } - - /// - /// A list of Tax Rate ids. These Tax - /// Rates will set the Subscription's default_tax_rates, - /// which means they will be the Invoice's default_tax_rates - /// for any Invoices issued by the Subscription during this Phase. - /// - [JsonProperty("default_tax_rates")] - public List DefaultTaxRates { get; set; } - - /// - /// Subscription description, meant to be displayable to the customer. Use this field to - /// optionally store an explanation of the subscription for rendering in Stripe surfaces and - /// certain local payment methods UIs. - /// - [JsonProperty("description")] - public string Description { get; set; } - - /// - /// The coupons to redeem into discounts for the schedule phase. If not specified, inherits - /// the discount from the subscription's customer. Pass an empty string to avoid inheriting - /// any discounts. - /// - [JsonProperty("discounts")] - public List Discounts { get; set; } - - /// - /// The date at which this phase of the subscription schedule ends. If set, - /// iterations must not be set. - /// - [JsonProperty("end_date")] - [JsonConverter(typeof(AnyOfConverter))] - public AnyOf EndDate { get; set; } - - /// - /// All invoices will be billed using the specified settings. - /// - [JsonProperty("invoice_settings")] - public InvoiceUpcomingLinesScheduleDetailsPhaseInvoiceSettingsOptions InvoiceSettings { get; set; } - - /// - /// List of configuration items, each with an attached price, to apply during this phase of - /// the subscription schedule. - /// - [JsonProperty("items")] - public List Items { get; set; } - - /// - /// Integer representing the multiplier applied to the price interval. For example, - /// iterations=2 applied to a price with interval=month and - /// interval_count=3 results in a phase of duration 2 * 3 months = 6 months. - /// If set, end_date must not be set. - /// - [JsonProperty("iterations")] - public long? Iterations { get; set; } - - /// - /// Set of key-value pairs that you can - /// attach to a phase. Metadata on a schedule's phase will update the underlying - /// subscription's metadata when the phase is entered, adding new keys and replacing - /// existing keys in the subscription's metadata. Individual keys in the - /// subscription's metadata can be unset by posting an empty value to them in the - /// phase's metadata. To unset all keys in the subscription's metadata, update - /// the subscription directly or unset every key individually from the phase's - /// metadata. - /// - [JsonProperty("metadata")] - public Dictionary Metadata { get; set; } - - /// - /// The account on behalf of which to charge, for each of the associated subscription's - /// invoices. - /// - [JsonProperty("on_behalf_of")] - public string OnBehalfOf { get; set; } - - /// - /// Whether the subscription schedule will create prorations when - /// transitioning to this phase. The default value is create_prorations. This setting - /// controls prorations when a phase is started asynchronously and it is persisted as a - /// field on the phase. It's different from the request-level proration_behavior - /// parameter which controls what happens if the update request affects the billing - /// configuration of the current phase. - /// One of: always_invoice, create_prorations, or none. - /// - [JsonProperty("proration_behavior")] - public string ProrationBehavior { get; set; } - - /// - /// The date at which this phase of the subscription schedule starts or now. Must be - /// set on the first phase. - /// - [JsonProperty("start_date")] - [JsonConverter(typeof(AnyOfConverter))] - public AnyOf StartDate { get; set; } - - /// - /// The data with which to automatically create a Transfer for each of the associated - /// subscription's invoices. - /// - [JsonProperty("transfer_data")] - public InvoiceUpcomingLinesScheduleDetailsPhaseTransferDataOptions TransferData { get; set; } - - /// - /// If set to true the entire phase is counted as a trial and the customer will not be - /// charged for any fees. - /// - [JsonProperty("trial")] - public bool? Trial { get; set; } - - /// - /// Sets the phase to trialing from the start date to this date. Must be before the phase - /// end date, can not be combined with trial. - /// - [JsonProperty("trial_end")] - [JsonConverter(typeof(AnyOfConverter))] - public AnyOf TrialEnd { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseStartDate.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseStartDate.cs deleted file mode 100644 index 4e45e85f5e..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseStartDate.cs +++ /dev/null @@ -1,13 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - public class InvoiceUpcomingLinesScheduleDetailsPhaseStartDate : StringEnum - { - public static readonly InvoiceUpcomingLinesScheduleDetailsPhaseStartDate Now = new InvoiceUpcomingLinesScheduleDetailsPhaseStartDate("now"); - - private InvoiceUpcomingLinesScheduleDetailsPhaseStartDate(string value) - : base(value) - { - } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseTransferDataOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseTransferDataOptions.cs deleted file mode 100644 index 40171ec724..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseTransferDataOptions.cs +++ /dev/null @@ -1,23 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesScheduleDetailsPhaseTransferDataOptions : INestedOptions - { - /// - /// A non-negative decimal between 0 and 100, with at most two decimal places. This - /// represents the percentage of the subscription invoice total that will be transferred to - /// the destination account. By default, the entire amount is transferred to the - /// destination. - /// - [JsonProperty("amount_percent")] - public decimal? AmountPercent { get; set; } - - /// - /// ID of an existing, connected Stripe account. - /// - [JsonProperty("destination")] - public string Destination { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseTrialEnd.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseTrialEnd.cs deleted file mode 100644 index 0d17cbeb9d..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesScheduleDetailsPhaseTrialEnd.cs +++ /dev/null @@ -1,13 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - public class InvoiceUpcomingLinesScheduleDetailsPhaseTrialEnd : StringEnum - { - public static readonly InvoiceUpcomingLinesScheduleDetailsPhaseTrialEnd Now = new InvoiceUpcomingLinesScheduleDetailsPhaseTrialEnd("now"); - - private InvoiceUpcomingLinesScheduleDetailsPhaseTrialEnd(string value) - : base(value) - { - } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesService.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesService.cs deleted file mode 100644 index 59e078821c..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesService.cs +++ /dev/null @@ -1,66 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System; - using System.Collections.Generic; - using System.Net.Http; - using System.Threading; - using System.Threading.Tasks; - - public class InvoiceUpcomingLinesService : ServiceNested - { - public InvoiceUpcomingLinesService() - { - } - - internal InvoiceUpcomingLinesService(ApiRequestor requestor) - : base(requestor) - { - } - - public InvoiceUpcomingLinesService(IStripeClient client) - : base(client) - { - } - - /// - ///

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 List(InvoiceUpcomingLinesListOptions 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> ListAsync(InvoiceUpcomingLinesListOptions 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 ListAutoPaging(InvoiceUpcomingLinesListOptions 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 ListAutoPagingAsync(InvoiceUpcomingLinesListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.ListRequestAutoPagingAsync($"/v1/invoices/upcoming/lines", options, requestOptions, cancellationToken); - } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsBillingCycleAnchor.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsBillingCycleAnchor.cs deleted file mode 100644 index 8cc0bd65e4..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsBillingCycleAnchor.cs +++ /dev/null @@ -1,14 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - public class InvoiceUpcomingLinesSubscriptionDetailsBillingCycleAnchor : StringEnum - { - public static readonly InvoiceUpcomingLinesSubscriptionDetailsBillingCycleAnchor Now = new InvoiceUpcomingLinesSubscriptionDetailsBillingCycleAnchor("now"); - public static readonly InvoiceUpcomingLinesSubscriptionDetailsBillingCycleAnchor Unchanged = new InvoiceUpcomingLinesSubscriptionDetailsBillingCycleAnchor("unchanged"); - - private InvoiceUpcomingLinesSubscriptionDetailsBillingCycleAnchor(string value) - : base(value) - { - } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemBillingThresholdsOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemBillingThresholdsOptions.cs deleted file mode 100644 index 0952d08104..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemBillingThresholdsOptions.cs +++ /dev/null @@ -1,17 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesSubscriptionDetailsItemBillingThresholdsOptions : 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")] - public long? UsageGte { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemDiscountOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemDiscountOptions.cs deleted file mode 100644 index 46dade2e0d..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemDiscountOptions.cs +++ /dev/null @@ -1,26 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesSubscriptionDetailsItemDiscountOptions : INestedOptions - { - /// - /// ID of the coupon to create a new discount for. - /// - [JsonProperty("coupon")] - public string Coupon { get; set; } - - /// - /// ID of an existing discount on the object (or one of its ancestors) to reuse. - /// - [JsonProperty("discount")] - public string Discount { get; set; } - - /// - /// ID of the promotion code to create a new discount for. - /// - [JsonProperty("promotion_code")] - public string PromotionCode { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemOptions.cs deleted file mode 100644 index 6a8edcfe40..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemOptions.cs +++ /dev/null @@ -1,89 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesSubscriptionDetailsItemOptions : 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")] - public InvoiceUpcomingLinesSubscriptionDetailsItemBillingThresholdsOptions 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")] - public bool? ClearUsage { get; set; } - - /// - /// A flag that, if set to true, will delete the specified item. - /// - [JsonProperty("deleted")] - public bool? Deleted { get; set; } - - /// - /// The coupons to redeem into discounts for the subscription item. - /// - [JsonProperty("discounts")] - public List Discounts { get; set; } - - /// - /// Subscription item to update. - /// - [JsonProperty("id")] - 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")] - public Dictionary Metadata { get; set; } - - /// - /// Plan ID for this item, as a string. - /// - [JsonProperty("plan")] - 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")] - 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")] - public InvoiceUpcomingLinesSubscriptionDetailsItemPriceDataOptions PriceData { get; set; } - - /// - /// Quantity for this item. - /// - [JsonProperty("quantity")] - 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")] - public List TaxRates { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemPriceDataOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemPriceDataOptions.cs deleted file mode 100644 index e523ef7afd..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemPriceDataOptions.cs +++ /dev/null @@ -1,55 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesSubscriptionDetailsItemPriceDataOptions : INestedOptions - { - /// - /// Three-letter ISO currency - /// code, in lowercase. Must be a supported - /// currency. - /// - [JsonProperty("currency")] - public string Currency { get; set; } - - /// - /// The ID of the product that this price will belong to. - /// - [JsonProperty("product")] - public string Product { get; set; } - - /// - /// The recurring components of a price such as interval and interval_count. - /// - [JsonProperty("recurring")] - public InvoiceUpcomingLinesSubscriptionDetailsItemPriceDataRecurringOptions 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")] - 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")] - 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")] - public decimal? UnitAmountDecimal { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemPriceDataRecurringOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemPriceDataRecurringOptions.cs deleted file mode 100644 index 1753cab590..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsItemPriceDataRecurringOptions.cs +++ /dev/null @@ -1,24 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesSubscriptionDetailsItemPriceDataRecurringOptions : INestedOptions - { - /// - /// Specifies billing frequency. Either day, week, month or - /// year. - /// One of: day, month, week, or year. - /// - [JsonProperty("interval")] - 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")] - public long? IntervalCount { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsOptions.cs deleted file mode 100644 index 564207becf..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsOptions.cs +++ /dev/null @@ -1,106 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System; - using System.Collections.Generic; - using Newtonsoft.Json; - using Stripe.Infrastructure; - - public class InvoiceUpcomingLinesSubscriptionDetailsOptions : INestedOptions - { - /// - /// 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. - /// - [JsonProperty("billing_cycle_anchor")] - [JsonConverter(typeof(AnyOfConverter))] - public AnyOf BillingCycleAnchor { 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. - /// - [JsonProperty("cancel_at")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime? CancelAt { get; set; } - - /// - /// Indicate whether this subscription should cancel at the end of the current period - /// (current_period_end). Defaults to false. - /// - [JsonProperty("cancel_at_period_end")] - public bool? CancelAtPeriodEnd { get; set; } - - /// - /// This simulates the subscription being canceled or expired immediately. - /// - [JsonProperty("cancel_now")] - public bool? CancelNow { 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. - /// - [JsonProperty("default_tax_rates")] - public List DefaultTaxRates { get; set; } - - /// - /// A list of up to 20 subscription items, each with an attached price. - /// - [JsonProperty("items")] - public List Items { 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. - /// One of: always_invoice, create_prorations, or none. - /// - [JsonProperty("proration_behavior")] - public string ProrationBehavior { get; set; } - - /// - /// If previewing an update to a subscription, and doing proration, - /// subscription_details.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_details.items, or subscription_details.trial_end are - /// required. Also, subscription_details.proration_behavior cannot be set to 'none'. - /// - [JsonProperty("proration_date")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime? ProrationDate { get; set; } - - /// - /// For paused subscriptions, setting subscription_details.resume_at to now - /// will preview the invoice that will be generated if the subscription is resumed. - /// - [JsonProperty("resume_at")] - public string ResumeAt { get; set; } - - /// - /// Date a subscription is intended to start (can be future or past). - /// - [JsonProperty("start_date")] - [JsonConverter(typeof(UnixDateTimeConverter))] - public DateTime? StartDate { get; set; } - - /// - /// If provided, the invoice returned will preview updating or creating a subscription with - /// that trial end. If set, one of subscription_details.items or subscription - /// is required. - /// - [JsonProperty("trial_end")] - [JsonConverter(typeof(AnyOfConverter))] - public AnyOf TrialEnd { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsTrialEnd.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsTrialEnd.cs deleted file mode 100644 index c67472eb13..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionDetailsTrialEnd.cs +++ /dev/null @@ -1,13 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - public class InvoiceUpcomingLinesSubscriptionDetailsTrialEnd : StringEnum - { - public static readonly InvoiceUpcomingLinesSubscriptionDetailsTrialEnd Now = new InvoiceUpcomingLinesSubscriptionDetailsTrialEnd("now"); - - private InvoiceUpcomingLinesSubscriptionDetailsTrialEnd(string value) - : base(value) - { - } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemBillingThresholdsOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemBillingThresholdsOptions.cs deleted file mode 100644 index 5e4f99f56c..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemBillingThresholdsOptions.cs +++ /dev/null @@ -1,17 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesSubscriptionItemBillingThresholdsOptions : 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")] - public long? UsageGte { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemDiscountOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemDiscountOptions.cs deleted file mode 100644 index 1a0845005d..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemDiscountOptions.cs +++ /dev/null @@ -1,26 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesSubscriptionItemDiscountOptions : INestedOptions - { - /// - /// ID of the coupon to create a new discount for. - /// - [JsonProperty("coupon")] - public string Coupon { get; set; } - - /// - /// ID of an existing discount on the object (or one of its ancestors) to reuse. - /// - [JsonProperty("discount")] - public string Discount { get; set; } - - /// - /// ID of the promotion code to create a new discount for. - /// - [JsonProperty("promotion_code")] - public string PromotionCode { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemOptions.cs deleted file mode 100644 index 9ec6b7760e..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemOptions.cs +++ /dev/null @@ -1,89 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using System.Collections.Generic; - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesSubscriptionItemOptions : 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")] - public InvoiceUpcomingLinesSubscriptionItemBillingThresholdsOptions 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")] - public bool? ClearUsage { get; set; } - - /// - /// A flag that, if set to true, will delete the specified item. - /// - [JsonProperty("deleted")] - public bool? Deleted { get; set; } - - /// - /// The coupons to redeem into discounts for the subscription item. - /// - [JsonProperty("discounts")] - public List Discounts { get; set; } - - /// - /// Subscription item to update. - /// - [JsonProperty("id")] - 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")] - public Dictionary Metadata { get; set; } - - /// - /// Plan ID for this item, as a string. - /// - [JsonProperty("plan")] - 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")] - 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")] - public InvoiceUpcomingLinesSubscriptionItemPriceDataOptions PriceData { get; set; } - - /// - /// Quantity for this item. - /// - [JsonProperty("quantity")] - 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")] - public List TaxRates { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemPriceDataOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemPriceDataOptions.cs deleted file mode 100644 index 07c863eded..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemPriceDataOptions.cs +++ /dev/null @@ -1,55 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesSubscriptionItemPriceDataOptions : INestedOptions - { - /// - /// Three-letter ISO currency - /// code, in lowercase. Must be a supported - /// currency. - /// - [JsonProperty("currency")] - public string Currency { get; set; } - - /// - /// The ID of the product that this price will belong to. - /// - [JsonProperty("product")] - public string Product { get; set; } - - /// - /// The recurring components of a price such as interval and interval_count. - /// - [JsonProperty("recurring")] - public InvoiceUpcomingLinesSubscriptionItemPriceDataRecurringOptions 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")] - 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")] - 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")] - public decimal? UnitAmountDecimal { get; set; } - } -} diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemPriceDataRecurringOptions.cs b/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemPriceDataRecurringOptions.cs deleted file mode 100644 index 6809a7194f..0000000000 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesSubscriptionItemPriceDataRecurringOptions.cs +++ /dev/null @@ -1,24 +0,0 @@ -// File generated from our OpenAPI spec -namespace Stripe -{ - using Newtonsoft.Json; - - public class InvoiceUpcomingLinesSubscriptionItemPriceDataRecurringOptions : INestedOptions - { - /// - /// Specifies billing frequency. Either day, week, month or - /// year. - /// One of: day, month, week, or year. - /// - [JsonProperty("interval")] - 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")] - public long? IntervalCount { get; set; } - } -} diff --git a/src/Stripe.net/Services/Invoices/InvoiceService.cs b/src/Stripe.net/Services/Invoices/InvoiceService.cs index 76bd4911dc..05943f1731 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceService.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceService.cs @@ -17,7 +17,6 @@ public partial class InvoiceService : Service, IUpdatable { private InvoiceLineItemService lineItems; - private InvoiceUpcomingLinesService upcomingLines; public InvoiceService() { @@ -36,9 +35,6 @@ public InvoiceService(IStripeClient client) public virtual InvoiceLineItemService LineItems => this.lineItems ??= new InvoiceLineItemService( this.Requestor); - public virtual InvoiceUpcomingLinesService UpcomingLines => this.upcomingLines ??= new InvoiceUpcomingLinesService( - this.Requestor); - /// ///

Adds multiple line items to an invoice. This is only possible when an invoice is /// still a draft.

. @@ -437,6 +433,46 @@ public virtual Task UpcomingAsync(UpcomingInvoiceOptions options = null 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/InvoiceService.partial.cs b/src/Stripe.net/Services/Invoices/InvoiceService.partial.cs index dd46c7903a..c6237576e2 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceService.partial.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceService.partial.cs @@ -53,50 +53,6 @@ public virtual IAsyncEnumerable ListLineItemsAutoPagingAsync(st return this.ListRequestAutoPagingAsync($"/v1/invoices/{WebUtility.UrlEncode(id)}/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.

. - ///
- [Obsolete("Use InvoiceUpcomingLinesService.List instead.")] - public virtual StripeList ListUpcomingLineItems(InvoiceUpcomingLinesListOptions 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.

. - ///
- [Obsolete("Use InvoiceUpcomingLinesService.ListAsync instead.")] - public virtual Task> ListUpcomingLineItemsAsync(InvoiceUpcomingLinesListOptions 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.

. - ///
- [Obsolete("Use InvoiceUpcomingLinesService.ListAutoPaging instead.")] - public virtual IEnumerable ListUpcomingLineItemsAutoPaging(InvoiceUpcomingLinesListOptions 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.

. - ///
- [Obsolete("Use InvoiceUpcomingLinesService.ListAutoPagingAsync instead.")] - public virtual IAsyncEnumerable ListUpcomingLineItemsAutoPagingAsync(InvoiceUpcomingLinesListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) - { - return this.ListRequestAutoPagingAsync($"/v1/invoices/upcoming/lines", options, requestOptions, cancellationToken); - } - /// ///

Updates an invoice’s line item. Some fields, such as tax_amounts, only live on /// the invoice line item, so they can only be updated through this endpoint. Other fields, diff --git a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesListOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceUpcomingLinesOptions.cs similarity index 94% rename from src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesListOptions.cs rename to src/Stripe.net/Services/Invoices/InvoiceUpcomingLinesOptions.cs index 4f4a89fc8a..e50e5f1735 100644 --- a/src/Stripe.net/Services/InvoiceUpcomingLines/InvoiceUpcomingLinesListOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceUpcomingLinesOptions.cs @@ -6,13 +6,13 @@ namespace Stripe using Newtonsoft.Json; using Stripe.Infrastructure; - public class InvoiceUpcomingLinesListOptions : ListOptions + public class InvoiceUpcomingLinesOptions : ListOptions { ///

/// Settings for automatic tax lookup for this invoice preview. /// [JsonProperty("automatic_tax")] - public InvoiceUpcomingLinesAutomaticTaxOptions AutomaticTax { get; set; } + public InvoiceAutomaticTaxOptions AutomaticTax { get; set; } /// /// The ID of the coupon to apply to this phase of the subscription schedule. This field has @@ -43,7 +43,7 @@ public class InvoiceUpcomingLinesListOptions : ListOptions /// subscription, or schedule must be set. /// [JsonProperty("customer_details")] - public InvoiceUpcomingLinesCustomerDetailsOptions CustomerDetails { get; set; } + public InvoiceCustomerDetailsOptions CustomerDetails { get; set; } /// /// The coupons to redeem into discounts for the invoice preview. If not specified, inherits @@ -52,20 +52,20 @@ public class InvoiceUpcomingLinesListOptions : ListOptions /// avoid inheriting any discounts. /// [JsonProperty("discounts")] - public List Discounts { get; set; } + public List Discounts { get; set; } /// /// List of invoice items to add or update in the upcoming invoice preview (up to 250). /// [JsonProperty("invoice_items")] - public List InvoiceItems { get; set; } + 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")] - public InvoiceUpcomingLinesIssuerOptions Issuer { get; set; } + public InvoiceIssuerOptions Issuer { get; set; } /// /// The account (if any) for which the funds of the invoice payment are intended. If set, @@ -96,7 +96,7 @@ public class InvoiceUpcomingLinesListOptions : ListOptions /// subscription or subscription_ prefixed fields. /// [JsonProperty("schedule_details")] - public InvoiceUpcomingLinesScheduleDetailsOptions ScheduleDetails { get; set; } + public InvoiceScheduleDetailsOptions ScheduleDetails { get; set; } /// /// The identifier of the subscription for which you'd like to retrieve the upcoming @@ -163,7 +163,7 @@ public class InvoiceUpcomingLinesListOptions : ListOptions /// with schedule or schedule_details fields. /// [JsonProperty("subscription_details")] - public InvoiceUpcomingLinesSubscriptionDetailsOptions SubscriptionDetails { get; set; } + public InvoiceSubscriptionDetailsOptions SubscriptionDetails { get; set; } /// /// A list of up to 20 subscription items, each with an attached price. This field has been @@ -171,7 +171,7 @@ public class InvoiceUpcomingLinesListOptions : ListOptions /// subscription_details.items instead. /// [JsonProperty("subscription_items")] - public List SubscriptionItems { get; set; } + public List SubscriptionItems { get; set; } /// /// Determines how to handle /// Lists all event destinations. /// - public virtual StripeList List(EventDestinationListOptions options = null, RequestOptions requestOptions = null) + public virtual V2.StripeList List(EventDestinationListOptions options = null, RequestOptions requestOptions = null) { - return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/core/event_destinations", options, requestOptions); + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/core/event_destinations", options, requestOptions); } /// /// Lists all event destinations. /// - public virtual Task> ListAsync(EventDestinationListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + public virtual Task> ListAsync(EventDestinationListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { - return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/core/event_destinations", options, requestOptions, cancellationToken); + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/core/event_destinations", options, requestOptions, cancellationToken); } /// diff --git a/src/Stripe.net/Services/V2/Core/Events/EventListOptions.cs b/src/Stripe.net/Services/V2/Core/Events/EventListOptions.cs index fb44221797..6ab511a60b 100644 --- a/src/Stripe.net/Services/V2/Core/Events/EventListOptions.cs +++ b/src/Stripe.net/Services/V2/Core/Events/EventListOptions.cs @@ -1,10 +1,43 @@ // File generated from our OpenAPI spec namespace Stripe.V2.Core { + using System; using Newtonsoft.Json; public class EventListOptions : V2.ListOptions { + /// + /// Filter for events created after the specified timestamp. + /// + [JsonProperty("created_gt")] + public DateTime? CreatedGt { get; set; } + + /// + /// Filter for events created at or after the specified timestamp. + /// + [JsonProperty("created_gte")] + public DateTime? CreatedGte { get; set; } + + /// + /// Filter for events created before the specified timestamp. + /// + [JsonProperty("created_lt")] + public DateTime? CreatedLt { get; set; } + + /// + /// Filter for events created at or before the specified timestamp. + /// + [JsonProperty("created_lte")] + public DateTime? CreatedLte { get; set; } + + /// + /// Filter events based on whether they were successfully delivered to all subscribed event + /// destinations. If false, events which are still pending or have failed all delivery + /// attempts to a event destination will be returned. + /// + [JsonProperty("delivery_success")] + public bool? DeliverySuccess { get; set; } + /// /// Primary object ID used to retrieve related events. /// diff --git a/src/Stripe.net/Services/V2/Core/Events/EventService.cs b/src/Stripe.net/Services/V2/Core/Events/EventService.cs index ac5d439f25..e39553225f 100644 --- a/src/Stripe.net/Services/V2/Core/Events/EventService.cs +++ b/src/Stripe.net/Services/V2/Core/Events/EventService.cs @@ -39,17 +39,17 @@ public virtual V2.Event Get(string id, EventGetOptions options = null, RequestOp /// /// List events, going back up to 30 days. /// - public virtual StripeList List(EventListOptions options = null, RequestOptions requestOptions = null) + public virtual V2.StripeList List(EventListOptions options = null, RequestOptions requestOptions = null) { - return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/core/events", options, requestOptions); + return this.Request>(BaseAddress.Api, HttpMethod.Get, $"/v2/core/events", options, requestOptions); } /// /// List events, going back up to 30 days. /// - public virtual Task> ListAsync(EventListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) + public virtual Task> ListAsync(EventListOptions options = null, RequestOptions requestOptions = null, CancellationToken cancellationToken = default) { - return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/core/events", options, requestOptions, cancellationToken); + return this.RequestAsync>(BaseAddress.Api, HttpMethod.Get, $"/v2/core/events", options, requestOptions, cancellationToken); } /// diff --git a/src/StripeTests/Services/GeneratedExamplesTest.cs b/src/StripeTests/Services/GeneratedExamplesTest.cs index 1e4eff99a1..37349d2df3 100644 --- a/src/StripeTests/Services/GeneratedExamplesTest.cs +++ b/src/StripeTests/Services/GeneratedExamplesTest.cs @@ -1852,21 +1852,6 @@ public void TestInvoicesSendPost() "/v1/invoices/in_xxxxxxxxxxxxx/send"); } - [Fact] - public void TestInvoicesUpcomingGet() - { - var options = new UpcomingInvoiceOptions - { - Customer = "cus_9utnxg47pWjV1e", - }; - var service = new InvoiceService(this.StripeClient); - service.Upcoming(options); - this.AssertRequest( - HttpMethod.Get, - "/v1/invoices/upcoming", - "customer=cus_9utnxg47pWjV1e"); - } - [Fact] public void TestInvoicesVoidPost() { diff --git a/src/StripeTests/Services/Invoices/InvoiceServiceTest.cs b/src/StripeTests/Services/Invoices/InvoiceServiceTest.cs index cc939ae16d..2943bc5fc7 100644 --- a/src/StripeTests/Services/Invoices/InvoiceServiceTest.cs +++ b/src/StripeTests/Services/Invoices/InvoiceServiceTest.cs @@ -19,7 +19,6 @@ public class InvoiceServiceTest : BaseStripeTest private readonly InvoiceListOptions listOptions; private readonly InvoiceLineItemListOptions lineItemListOptions; private readonly UpcomingInvoiceOptions upcomingOptions; - private readonly InvoiceUpcomingLinesListOptions upcomingListLineItemsOptions; private readonly InvoiceFinalizeOptions finalizeOptions; private readonly InvoiceMarkUncollectibleOptions markUncollectibleOptions; private readonly InvoiceSendOptions sendOptions; @@ -67,13 +66,6 @@ public InvoiceServiceTest( Subscription = "sub_123", }; - this.upcomingListLineItemsOptions = new InvoiceUpcomingLinesListOptions() - { - Limit = 1, - Customer = "cus_123", - Subscription = "sub_123", - }; - this.finalizeOptions = new InvoiceFinalizeOptions { }; @@ -239,44 +231,6 @@ public async Task ListLineItemsAutoPagingAsync() Assert.Equal("line_item", lineItem.Object); } - [Fact] - public void ListUpcomingLineItems() - { - var lineItems = this.service.UpcomingLines.List(this.upcomingListLineItemsOptions); - this.AssertRequest(HttpMethod.Get, "/v1/invoices/upcoming/lines"); - Assert.NotNull(lineItems); - Assert.Equal("list", lineItems.Object); - Assert.Single(lineItems.Data); - Assert.Equal("line_item", lineItems.Data[0].Object); - } - - [Fact] - public async Task ListUpcomingLineItemsAsync() - { - var lineItems = await this.service.UpcomingLines.ListAsync(this.upcomingListLineItemsOptions); - this.AssertRequest(HttpMethod.Get, "/v1/invoices/upcoming/lines"); - Assert.NotNull(lineItems); - Assert.Equal("list", lineItems.Object); - Assert.Single(lineItems.Data); - Assert.Equal("line_item", lineItems.Data[0].Object); - } - - [Fact] - public void ListUpcomingLineItemsAutoPaging() - { - var lineItem = this.service.UpcomingLines.ListAutoPaging(this.upcomingListLineItemsOptions).First(); - Assert.NotNull(lineItem); - Assert.Equal("line_item", lineItem.Object); - } - - [Fact] - public async Task ListUpcomingLineItemsAutoPagingAsync() - { - var lineItem = await this.service.UpcomingLines.ListAutoPagingAsync(this.upcomingListLineItemsOptions).FirstAsync(); - Assert.NotNull(lineItem); - Assert.Equal("line_item", lineItem.Object); - } - [Fact] public void MarkUncollectible() { diff --git a/src/StripeTests/Services/Invoices/UpcomingInvoiceListLineItemsOptionsTest.cs b/src/StripeTests/Services/Invoices/UpcomingInvoiceListLineItemsOptionsTest.cs deleted file mode 100644 index c56111360c..0000000000 --- a/src/StripeTests/Services/Invoices/UpcomingInvoiceListLineItemsOptionsTest.cs +++ /dev/null @@ -1,63 +0,0 @@ -namespace StripeTests -{ - using System; - using Stripe; - using Stripe.Infrastructure.FormEncoding; - using Xunit; - - public class UpcomingInvoiceListLineItemsOptionsTest : BaseStripeTest - { - [Fact] - public void SerializeSubscriptionBillingCycleAnchor() - { - var testCases = new[] - { - new - { - options = new InvoiceUpcomingLinesListOptions() - { - SubscriptionBillingCycleAnchor = DateTime.Parse("Fri, 13 Feb 2009 23:31:30Z"), - }, - want = "subscription_billing_cycle_anchor=1234567890", - }, - new - { - options = new InvoiceUpcomingLinesListOptions - { - SubscriptionBillingCycleAnchor = SubscriptionBillingCycleAnchor.Now, - }, - want = "subscription_billing_cycle_anchor=now", - }, - new - { - options = new InvoiceUpcomingLinesListOptions - { - SubscriptionBillingCycleAnchor = SubscriptionBillingCycleAnchor.Unchanged, - }, - want = "subscription_billing_cycle_anchor=unchanged", - }, - new - { - options = new InvoiceUpcomingLinesListOptions - { - SubscriptionTrialEnd = DateTime.Parse("Fri, 13 Feb 2009 23:31:30Z"), - }, - want = "subscription_trial_end=1234567890", - }, - new - { - options = new InvoiceUpcomingLinesListOptions - { - SubscriptionTrialEnd = SubscriptionTrialEnd.Now, - }, - want = "subscription_trial_end=now", - }, - }; - - foreach (var testCase in testCases) - { - Assert.Equal(testCase.want, ContentEncoder.CreateQueryString(testCase.options)); - } - } - } -} From e1f7fc271e8c9ec298ec2a0de4465c83e38b06bd Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Wed, 19 Mar 2025 23:06:11 +0000 Subject: [PATCH 06/36] Update generated code for v1585 --- OPENAPI_VERSION | 2 +- .../Checkout/Sessions/SessionPermissions.cs | 18 ++++++++++++++++++ .../Entities/Customers/CustomerTax.cs | 2 +- .../Entities/Customers/CustomerTaxLocation.cs | 4 ++-- .../Sessions/SessionPermissionsOptions.cs | 18 ++++++++++++++++++ 5 files changed, 40 insertions(+), 4 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 53cd6c6ce1..2ebed9b640 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1583 \ No newline at end of file +v1585 \ No newline at end of file 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/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/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; } } } From 232713331caecb03558fe1c08c5520541c9b6c4d Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 00:24:58 +0000 Subject: [PATCH 07/36] Update generated code for v1586 --- OPENAPI_VERSION | 2 +- src/Stripe.net/Entities/Invoices/Invoice.cs | 6 +++ .../Entities/Invoices/InvoiceParent.cs | 32 +++++++++++++++ .../Invoices/InvoiceParentQuoteDetails.cs | 17 ++++++++ .../InvoiceParentSubscriptionDetails.cs | 40 +++++++++++++++++++ ...arentSubscriptionDetailsPauseCollection.cs | 27 +++++++++++++ src/Stripe.net/Entities/Plans/Plan.cs | 15 ------- .../Entities/Prices/PriceRecurring.cs | 11 ----- .../QuotePreviewInvoice.cs | 6 +++ .../QuotePreviewInvoiceParent.cs | 32 +++++++++++++++ .../QuotePreviewInvoiceParentQuoteDetails.cs | 17 ++++++++ ...PreviewInvoiceParentSubscriptionDetails.cs | 40 +++++++++++++++++++ ...arentSubscriptionDetailsPauseCollection.cs | 27 +++++++++++++ ...viewSubscriptionScheduleDefaultSettings.cs | 10 ----- ...cheduleDefaultSettingsBillingThresholds.cs | 33 --------------- .../QuotePreviewSubscriptionSchedulePhase.cs | 10 ----- ...scriptionSchedulePhaseBillingThresholds.cs | 33 --------------- ...otePreviewSubscriptionSchedulePhaseItem.cs | 10 ----- ...ptionSchedulePhaseItemBillingThresholds.cs | 20 ---------- .../SubscriptionItems/SubscriptionItem.cs | 10 ----- .../SubscriptionItemBillingThresholds.cs | 20 ---------- .../SubscriptionScheduleDefaultSettings.cs | 10 ----- ...cheduleDefaultSettingsBillingThresholds.cs | 33 --------------- .../SubscriptionSchedulePhase.cs | 10 ----- ...scriptionSchedulePhaseBillingThresholds.cs | 33 --------------- .../SubscriptionSchedulePhaseItem.cs | 10 ----- ...ptionSchedulePhaseItemBillingThresholds.cs | 20 ---------- .../Entities/Subscriptions/Subscription.cs | 10 ----- .../SubscriptionBillingThresholds.cs | 33 --------------- ...uleDetailsPhaseBillingThresholdsOptions.cs | 31 -------------- ...etailsPhaseItemBillingThresholdsOptions.cs | 23 ----------- .../InvoiceScheduleDetailsPhaseItemOptions.cs | 11 ----- .../InvoiceScheduleDetailsPhaseOptions.cs | 10 ----- ...tionDetailsItemBillingThresholdsOptions.cs | 23 ----------- .../InvoiceSubscriptionDetailsItemOptions.cs | 11 ----- .../Services/Plans/PlanCreateOptions.cs | 15 ------- .../Services/Prices/PriceRecurringOptions.cs | 11 ----- .../SubscriptionItemCreateOptions.cs | 11 ----- .../SubscriptionItemUpdateOptions.cs | 11 ----- ...DefaultSettingsBillingThresholdsOptions.cs | 31 -------------- ...scriptionScheduleDefaultSettingsOptions.cs | 10 ----- ...onSchedulePhaseBillingThresholdsOptions.cs | 31 -------------- ...hedulePhaseItemBillingThresholdsOptions.cs | 23 ----------- .../SubscriptionSchedulePhaseItemOptions.cs | 11 ----- .../SubscriptionSchedulePhaseOptions.cs | 10 ----- .../SubscriptionBillingThresholdsOptions.cs | 31 -------------- .../SubscriptionCreateOptions.cs | 10 ----- ...ubscriptionItemBillingThresholdsOptions.cs | 23 ----------- .../Subscriptions/SubscriptionItemOptions.cs | 11 ----- .../SubscriptionUpdateOptions.cs | 10 ----- 50 files changed, 245 insertions(+), 690 deletions(-) create mode 100644 src/Stripe.net/Entities/Invoices/InvoiceParent.cs create mode 100644 src/Stripe.net/Entities/Invoices/InvoiceParentQuoteDetails.cs create mode 100644 src/Stripe.net/Entities/Invoices/InvoiceParentSubscriptionDetails.cs create mode 100644 src/Stripe.net/Entities/Invoices/InvoiceParentSubscriptionDetailsPauseCollection.cs create mode 100644 src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParent.cs create mode 100644 src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentQuoteDetails.cs create mode 100644 src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentSubscriptionDetails.cs create mode 100644 src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentSubscriptionDetailsPauseCollection.cs delete mode 100644 src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionScheduleDefaultSettingsBillingThresholds.cs delete mode 100644 src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhaseBillingThresholds.cs delete mode 100644 src/Stripe.net/Entities/QuotePreviewSubscriptionSchedules/QuotePreviewSubscriptionSchedulePhaseItemBillingThresholds.cs delete mode 100644 src/Stripe.net/Entities/SubscriptionItems/SubscriptionItemBillingThresholds.cs delete mode 100644 src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsBillingThresholds.cs delete mode 100644 src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhaseBillingThresholds.cs delete mode 100644 src/Stripe.net/Entities/SubscriptionSchedules/SubscriptionSchedulePhaseItemBillingThresholds.cs delete mode 100644 src/Stripe.net/Entities/Subscriptions/SubscriptionBillingThresholds.cs delete mode 100644 src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseBillingThresholdsOptions.cs delete mode 100644 src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseItemBillingThresholdsOptions.cs delete mode 100644 src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsItemBillingThresholdsOptions.cs delete mode 100644 src/Stripe.net/Services/SubscriptionSchedules/SubscriptionScheduleDefaultSettingsBillingThresholdsOptions.cs delete mode 100644 src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseBillingThresholdsOptions.cs delete mode 100644 src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseItemBillingThresholdsOptions.cs delete mode 100644 src/Stripe.net/Services/Subscriptions/SubscriptionBillingThresholdsOptions.cs delete mode 100644 src/Stripe.net/Services/Subscriptions/SubscriptionItemBillingThresholdsOptions.cs diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 2ebed9b640..e1ee17a9b6 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1585 \ No newline at end of file +v1586 \ No newline at end of file diff --git a/src/Stripe.net/Entities/Invoices/Invoice.cs b/src/Stripe.net/Entities/Invoices/Invoice.cs index 13c25916c7..4ea52c497b 100644 --- a/src/Stripe.net/Entities/Invoices/Invoice.cs +++ b/src/Stripe.net/Entities/Invoices/Invoice.cs @@ -944,6 +944,12 @@ public Account OnBehalfOf #endif public bool PaidOutOfBand { get; set; } + [JsonProperty("parent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("parent")] +#endif + public InvoiceParent Parent { get; set; } + [JsonProperty("payment_settings")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("payment_settings")] 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/InvoiceParentSubscriptionDetailsPauseCollection.cs b/src/Stripe.net/Entities/Invoices/InvoiceParentSubscriptionDetailsPauseCollection.cs new file mode 100644 index 0000000000..a0291f079e --- /dev/null +++ b/src/Stripe.net/Entities/Invoices/InvoiceParentSubscriptionDetailsPauseCollection.cs @@ -0,0 +1,27 @@ +// 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 InvoiceParentSubscriptionDetailsPauseCollection : StripeEntity + { + [JsonProperty("behavior")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("behavior")] +#endif + public string Behavior { get; set; } + + [JsonProperty("resumes_at")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resumes_at")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime? ResumesAt { get; set; } + } +} 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 8b08318d73..cb701b26c2 100644 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs @@ -867,6 +867,12 @@ public Account OnBehalfOf #endif public bool PaidOutOfBand { get; set; } + [JsonProperty("parent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("parent")] +#endif + public QuotePreviewInvoiceParent Parent { get; set; } + [JsonProperty("payment_settings")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("payment_settings")] 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/QuotePreviewInvoiceParentSubscriptionDetailsPauseCollection.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentSubscriptionDetailsPauseCollection.cs new file mode 100644 index 0000000000..1eed079be8 --- /dev/null +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceParentSubscriptionDetailsPauseCollection.cs @@ -0,0 +1,27 @@ +// 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 QuotePreviewInvoiceParentSubscriptionDetailsPauseCollection : StripeEntity + { + [JsonProperty("behavior")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("behavior")] +#endif + public string Behavior { get; set; } + + [JsonProperty("resumes_at")] + [JsonConverter(typeof(UnixDateTimeConverter))] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("resumes_at")] + [STJS.JsonConverter(typeof(STJUnixDateTimeConverter))] +#endif + public DateTime? ResumesAt { get; set; } + } +} 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 d2904fd592..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 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/SubscriptionItems/SubscriptionItem.cs b/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItem.cs index d6c8893274..0594c13016 100644 --- a/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItem.cs +++ b/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItem.cs @@ -37,16 +37,6 @@ public class SubscriptionItem : StripeEntity, IHasId, IHasMeta #endif public string Object { get; set; } - /// - /// 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 SubscriptionItemBillingThresholds BillingThresholds { get; set; } - /// /// Time at which the object was created. Measured in seconds since the Unix epoch. /// 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 6888f13cb2..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 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 eb129f4daa..d38e56f715 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. /// 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/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/InvoiceScheduleDetailsPhaseOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceScheduleDetailsPhaseOptions.cs index 1a25030d36..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 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/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/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/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/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/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/SubscriptionSchedulePhaseOptions.cs b/src/Stripe.net/Services/SubscriptionSchedules/SubscriptionSchedulePhaseOptions.cs index 6c46462619..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 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/SubscriptionCreateOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionCreateOptions.cs index 2362ad2531..090c0f31cc 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 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/SubscriptionUpdateOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionUpdateOptions.cs index 92f883d51e..4899fc221a 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 From d3fa803a1f4e6e69efd74c3d519a9ceb083af509 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 01:42:47 +0000 Subject: [PATCH 08/36] Update generated code for v1587 --- OPENAPI_VERSION | 2 +- .../Entities/InvoiceItems/InvoiceItemParent.cs | 9 --------- ...oiceItemParentRateCardSubscriptionDetails.cs | 17 ----------------- 3 files changed, 1 insertion(+), 27 deletions(-) delete mode 100644 src/Stripe.net/Entities/InvoiceItems/InvoiceItemParentRateCardSubscriptionDetails.cs diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index e1ee17a9b6..f0140f6738 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1586 \ No newline at end of file +v1587 \ No newline at end of file diff --git a/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParent.cs b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParent.cs index 17216b5880..20d2a351e8 100644 --- a/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParent.cs +++ b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParent.cs @@ -8,21 +8,12 @@ namespace Stripe public class InvoiceItemParent : StripeEntity { - [JsonProperty("rate_card_subscription_details")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("rate_card_subscription_details")] -#endif - public InvoiceItemParentRateCardSubscriptionDetails RateCardSubscriptionDetails { get; set; } - [JsonProperty("subscription_details")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("subscription_details")] #endif public InvoiceItemParentSubscriptionDetails SubscriptionDetails { get; set; } - /// - /// One of: rate_card_subscription_details, or subscription_details. - /// [JsonProperty("type")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("type")] diff --git a/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParentRateCardSubscriptionDetails.cs b/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParentRateCardSubscriptionDetails.cs deleted file mode 100644 index 72570ed23f..0000000000 --- a/src/Stripe.net/Entities/InvoiceItems/InvoiceItemParentRateCardSubscriptionDetails.cs +++ /dev/null @@ -1,17 +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 InvoiceItemParentRateCardSubscriptionDetails : StripeEntity - { - [JsonProperty("rate_card_subscription")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("rate_card_subscription")] -#endif - public string RateCardSubscription { get; set; } - } -} From 0a33ef17d0a22f3557a2bbb7736579d4ffe5d1a1 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 02:41:20 +0000 Subject: [PATCH 09/36] Update generated code for v1588 --- OPENAPI_VERSION | 2 +- src/Stripe.net/Entities/Invoices/Invoice.cs | 10 ---------- .../QuotePreviewInvoices/QuotePreviewInvoice.cs | 10 ---------- 3 files changed, 1 insertion(+), 21 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index f0140f6738..346c09755e 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1587 \ No newline at end of file +v1588 \ No newline at end of file diff --git a/src/Stripe.net/Entities/Invoices/Invoice.cs b/src/Stripe.net/Entities/Invoices/Invoice.cs index 4ea52c497b..6565c83e8e 100644 --- a/src/Stripe.net/Entities/Invoices/Invoice.cs +++ b/src/Stripe.net/Entities/Invoices/Invoice.cs @@ -924,16 +924,6 @@ 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. diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs index cb701b26c2..51cc747637 100644 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs @@ -847,16 +847,6 @@ 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. From d374300869024b4db409012060225bd10bca1923 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 04:21:30 +0000 Subject: [PATCH 10/36] Update generated code for v1590 --- OPENAPI_VERSION | 2 +- .../Entities/InvoicePayments/InvoicePayment.cs | 13 ------------- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 346c09755e..891288967b 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1588 \ No newline at end of file +v1590 \ No newline at end of file diff --git a/src/Stripe.net/Entities/InvoicePayments/InvoicePayment.cs b/src/Stripe.net/Entities/InvoicePayments/InvoicePayment.cs index e614c097c1..4fc6170217 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 From 16187292fac2071a8da797f3ba629282e735acac Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 16:57:52 +0000 Subject: [PATCH 11/36] Update generated code for v1591 --- OPENAPI_VERSION | 2 +- .../CreditNotePreviewLinesListOptions.cs | 9 --------- .../Services/CreditNotes/CreditNoteCreateOptions.cs | 9 --------- .../Services/CreditNotes/CreditNotePreviewOptions.cs | 9 --------- 4 files changed, 1 insertion(+), 28 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 891288967b..518f0ed4f4 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1590 \ No newline at end of file +v1591 \ No newline at end of file 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/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. From d8af53c8f94c72fe2fd4bcae40278ad6cc49bcad Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 17:24:24 +0000 Subject: [PATCH 12/36] Update generated code for v1593 --- OPENAPI_VERSION | 2 +- .../SubscriptionItems/SubscriptionItem.cs | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 518f0ed4f4..d7ff3a82cb 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1591 \ No newline at end of file +v1593 \ No newline at end of file diff --git a/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItem.cs b/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItem.cs index 0594c13016..1c996ff0e8 100644 --- a/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItem.cs +++ b/src/Stripe.net/Entities/SubscriptionItems/SubscriptionItem.cs @@ -48,6 +48,28 @@ public class SubscriptionItem : StripeEntity, IHasId, IHasMeta #endif public DateTime Created { get; set; } = Stripe.Infrastructure.DateTimeUtils.UnixEpoch; + /// + /// The end time of this subscription item's current billing period. + /// + [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; + + /// + /// 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. /// From 18bb72b547d4161a792b901876cb7748d1abd5fd Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 17:56:42 +0000 Subject: [PATCH 13/36] Update generated code for v1594 --- OPENAPI_VERSION | 2 +- src/Stripe.net/Entities/Invoices/Invoice.cs | 10 ---------- .../QuotePreviewInvoices/QuotePreviewInvoice.cs | 10 ---------- 3 files changed, 1 insertion(+), 21 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index d7ff3a82cb..e4a7be89d6 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1593 \ No newline at end of file +v1594 \ No newline at end of file diff --git a/src/Stripe.net/Entities/Invoices/Invoice.cs b/src/Stripe.net/Entities/Invoices/Invoice.cs index 6565c83e8e..7cd981eabb 100644 --- a/src/Stripe.net/Entities/Invoices/Invoice.cs +++ b/src/Stripe.net/Entities/Invoices/Invoice.cs @@ -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 diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs index 51cc747637..cc3767acc7 100644 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs @@ -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")] From a882b0f154663540fef066ce86f11eb354f56cf4 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 18:06:59 +0000 Subject: [PATCH 14/36] Update generated code for v1595 --- OPENAPI_VERSION | 2 +- .../InvoiceLineItems/InvoiceLineItem.cs | 6 +++ .../InvoiceLineItems/InvoiceLineItemParent.cs | 32 +++++++++++++ ...InvoiceLineItemParentInvoiceItemDetails.cs | 17 +++++++ ...ceLineItemParentSubscriptionItemDetails.cs | 47 +++++++++++++++++++ ...SubscriptionItemDetailsProrationDetails.cs | 21 +++++++++ ...temDetailsProrationDetailsCreditedItems.cs | 30 ++++++++++++ 7 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParent.cs create mode 100644 src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.cs create mode 100644 src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentSubscriptionItemDetails.cs create mode 100644 src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentSubscriptionItemDetailsProrationDetails.cs create mode 100644 src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentSubscriptionItemDetailsProrationDetailsCreditedItems.cs diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index e4a7be89d6..f8dee901ce 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1594 \ No newline at end of file +v1595 \ No newline at end of file diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs index 25b32f3629..8421b7a627 100644 --- a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs @@ -214,6 +214,12 @@ public List Margins #endif public Dictionary Metadata { get; set; } + [JsonProperty("parent")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("parent")] +#endif + public InvoiceLineItemParent Parent { get; set; } + [JsonProperty("period")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("period")] 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..7b8b291f3f --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.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 InvoiceLineItemParentInvoiceItemDetails : StripeEntity + { + [JsonProperty("invoice_item")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("invoice_item")] +#endif + public string InvoiceItem { get; set; } + } +} 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; } + } +} From a5b3feca4271d65f8a1cd529e76c0871bc910a1e Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 18:27:30 +0000 Subject: [PATCH 15/36] Update generated code for v1596 --- OPENAPI_VERSION | 2 +- .../Entities/Accounts/AccountFutureRequirementsError.cs | 6 ++++-- .../Entities/Accounts/AccountRequirementsError.cs | 6 ++++-- .../BankAccounts/BankAccountFutureRequirementsError.cs | 6 ++++-- .../Entities/BankAccounts/BankAccountRequirementsError.cs | 6 ++++-- .../Capabilities/CapabilityFutureRequirementsError.cs | 6 ++++-- .../Entities/Persons/PersonFutureRequirementsError.cs | 6 ++++-- src/Stripe.net/Entities/Persons/PersonRequirementsError.cs | 6 ++++-- 8 files changed, 29 insertions(+), 15 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index f8dee901ce..7fc7ab32b1 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1595 \ No newline at end of file +v1596 \ No newline at end of file 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/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/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/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. From 92d6a503c4ac6d65e2d724c940e4ac28ec2a78c6 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 18:37:42 +0000 Subject: [PATCH 16/36] Update generated code for v1597 --- OPENAPI_VERSION | 2 +- .../Entities/Checkout/Sessions/Session.cs | 9 ++++ .../Checkout/Sessions/SessionOptionalItem.cs | 29 +++++++++++++ .../SessionOptionalItemAdjustableQuantity.cs | 42 +++++++++++++++++++ .../Entities/PaymentLinks/PaymentLink.cs | 9 ++++ .../PaymentLinks/PaymentLinkOptionalItem.cs | 29 +++++++++++++ ...ymentLinkOptionalItemAdjustableQuantity.cs | 42 +++++++++++++++++++ .../Checkout/Sessions/SessionCreateOptions.cs | 22 ++++++++++ ...onOptionalItemAdjustableQuantityOptions.cs | 42 +++++++++++++++++++ .../Sessions/SessionOptionalItemOptions.cs | 41 ++++++++++++++++++ .../PaymentLinks/PaymentLinkCreateOptions.cs | 14 +++++++ ...nkOptionalItemAdjustableQuantityOptions.cs | 42 +++++++++++++++++++ .../PaymentLinkOptionalItemOptions.cs | 41 ++++++++++++++++++ 13 files changed, 363 insertions(+), 1 deletion(-) create mode 100644 src/Stripe.net/Entities/Checkout/Sessions/SessionOptionalItem.cs create mode 100644 src/Stripe.net/Entities/Checkout/Sessions/SessionOptionalItemAdjustableQuantity.cs create mode 100644 src/Stripe.net/Entities/PaymentLinks/PaymentLinkOptionalItem.cs create mode 100644 src/Stripe.net/Entities/PaymentLinks/PaymentLinkOptionalItemAdjustableQuantity.cs create mode 100644 src/Stripe.net/Services/Checkout/Sessions/SessionOptionalItemAdjustableQuantityOptions.cs create mode 100644 src/Stripe.net/Services/Checkout/Sessions/SessionOptionalItemOptions.cs create mode 100644 src/Stripe.net/Services/PaymentLinks/PaymentLinkOptionalItemAdjustableQuantityOptions.cs create mode 100644 src/Stripe.net/Services/PaymentLinks/PaymentLinkOptionalItemOptions.cs diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 7fc7ab32b1..fa1f46ed73 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1596 \ No newline at end of file +v1597 \ No newline at end of file diff --git a/src/Stripe.net/Entities/Checkout/Sessions/Session.cs b/src/Stripe.net/Entities/Checkout/Sessions/Session.cs index 894d657bfe..e1a4e4eb25 100644 --- a/src/Stripe.net/Entities/Checkout/Sessions/Session.cs +++ b/src/Stripe.net/Entities/Checkout/Sessions/Session.cs @@ -432,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 /// 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/PaymentLinks/PaymentLink.cs b/src/Stripe.net/Entities/PaymentLinks/PaymentLink.cs index 2d61c6de60..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. /// 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/Services/Checkout/Sessions/SessionCreateOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionCreateOptions.cs index 8d348de3d9..a3f737d7f3 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. 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/PaymentLinks/PaymentLinkCreateOptions.cs b/src/Stripe.net/Services/PaymentLinks/PaymentLinkCreateOptions.cs index 2b0835cb7e..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. 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; } + } +} From bc0369827bbdf71e8afb14e9103550c23bbdadeb Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 19:16:43 +0000 Subject: [PATCH 17/36] Update generated code for v1598 --- OPENAPI_VERSION | 2 +- src/Stripe.net/Entities/InvoicePayments/InvoicePayment.cs | 2 +- .../Entities/InvoicePayments/InvoicePaymentPayment.cs | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index fa1f46ed73..5fb86ea2e5 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1597 \ No newline at end of file +v1598 \ No newline at end of file diff --git a/src/Stripe.net/Entities/InvoicePayments/InvoicePayment.cs b/src/Stripe.net/Entities/InvoicePayments/InvoicePayment.cs index 4fc6170217..d7a96912c2 100644 --- a/src/Stripe.net/Entities/InvoicePayments/InvoicePayment.cs +++ b/src/Stripe.net/Entities/InvoicePayments/InvoicePayment.cs @@ -127,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 From a31c3fcadbef08ecd7a706a4153c5bbf061b8a03 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 20:56:26 +0000 Subject: [PATCH 18/36] Update generated code for v1599 --- OPENAPI_VERSION | 2 +- .../Entities/Billing/Meters/MeterDefaultAggregation.cs | 2 +- .../Billing/Meters/MeterDefaultAggregationOptions.cs | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 5fb86ea2e5..4aeccee09c 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1598 \ No newline at end of file +v1599 \ No newline at end of file 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/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 From 2dda2034a29af20a1b7e027a5842f737f1b0d042 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 23:18:23 +0000 Subject: [PATCH 19/36] Update generated code for v1602 --- OPENAPI_VERSION | 2 +- .../Entities/PaymentIntents/PaymentIntent.cs | 41 ------------------- 2 files changed, 1 insertion(+), 42 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 4aeccee09c..929fabac4b 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1599 \ No newline at end of file +v1602 \ No newline at end of file diff --git a/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs b/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs index aae79701e9..22c0fdeab7 100644 --- a/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs +++ b/src/Stripe.net/Entities/PaymentIntents/PaymentIntent.cs @@ -317,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. From 32cb04a8a696ded7fe9c0c5547ea9146a3702b23 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Fri, 21 Mar 2025 01:18:03 +0000 Subject: [PATCH 20/36] Update generated code for v1604 --- OPENAPI_VERSION | 2 +- .../InvoiceLineItemParentInvoiceItemDetails.cs | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 929fabac4b..81fde58dd9 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1602 \ No newline at end of file +v1604 \ No newline at end of file diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.cs index 7b8b291f3f..0779052f99 100644 --- a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.cs +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.cs @@ -13,5 +13,11 @@ public class InvoiceLineItemParentInvoiceItemDetails : StripeEntity Date: Fri, 21 Mar 2025 03:02:33 +0000 Subject: [PATCH 21/36] Update generated code for v1605 --- OPENAPI_VERSION | 2 +- .../Checkout/Sessions/SessionCreateOptions.cs | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 81fde58dd9..4ba5dbf2b0 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1604 \ No newline at end of file +v1605 \ No newline at end of file diff --git a/src/Stripe.net/Services/Checkout/Sessions/SessionCreateOptions.cs b/src/Stripe.net/Services/Checkout/Sessions/SessionCreateOptions.cs index a3f737d7f3..bf9b1473b4 100644 --- a/src/Stripe.net/Services/Checkout/Sessions/SessionCreateOptions.cs +++ b/src/Stripe.net/Services/Checkout/Sessions/SessionCreateOptions.cs @@ -63,7 +63,7 @@ public class SessionCreateOptions : BaseOptions, IHasMetadata /// /// If set, Checkout displays a back button and customers will be directed to this URL if /// they decide to cancel payment and return to your website. This parameter is not allowed - /// if ui_mode is embedded or custom. + /// if ui_mode is embedded or custom. /// [JsonProperty("cancel_url")] #if NET6_0_OR_GREATER @@ -441,7 +441,7 @@ public class SessionCreateOptions : BaseOptions, IHasMetadata /// The URL to redirect your customer back to after they authenticate or cancel their /// payment on the payment method's app or site. This parameter is required if /// ui_mode is embedded or custom and redirect-based payment methods - /// are enabled on the Checkout Session. + /// are enabled on the session. /// [JsonProperty("return_url")] #if NET6_0_OR_GREATER @@ -513,10 +513,9 @@ public class SessionCreateOptions : BaseOptions, IHasMetadata /// /// The URL to which Stripe should send customers when payment or setup is complete. This - /// parameter is not allowed if ui_mode is embedded or custom. If you'd - /// like to use information from the successful Checkout Session on your page, read the - /// guide on customizing your + /// parameter is not allowed if ui_mode is embedded or custom. If you'd like + /// to use information from the successful Checkout Session on your page, read the guide on + /// customizing your /// success page. /// [JsonProperty("success_url")] From ad61c5a607c6bc0ea7a011193a23a98e43f242f8 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Fri, 21 Mar 2025 04:11:12 +0000 Subject: [PATCH 22/36] Update generated code for v1606 --- OPENAPI_VERSION | 2 +- src/Stripe.net/Entities/Accounts/Account.cs | 9 +---- .../Entities/Accounts/AccountCompany.cs | 19 +++++++-- src/Stripe.net/Entities/Persons/Person.cs | 39 ++++++++++++++----- 4 files changed, 48 insertions(+), 21 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 4ba5dbf2b0..cb9533200b 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1605 \ No newline at end of file +v1606 \ No newline at end of file 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/AccountCompany.cs b/src/Stripe.net/Entities/Accounts/AccountCompany.cs index 38daa79dbd..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 @@ -164,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/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 From c1368cfbca5f395c2bf563015d41513a13d35db5 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Fri, 21 Mar 2025 05:09:50 +0000 Subject: [PATCH 23/36] Update generated code for v1607 --- OPENAPI_VERSION | 2 +- src/Stripe.net/Entities/Invoices/Invoice.cs | 10 ---------- .../QuotePreviewInvoices/QuotePreviewInvoice.cs | 10 ---------- 3 files changed, 1 insertion(+), 21 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index cb9533200b..aa6c88ff0e 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1606 \ No newline at end of file +v1607 \ No newline at end of file diff --git a/src/Stripe.net/Entities/Invoices/Invoice.cs b/src/Stripe.net/Entities/Invoices/Invoice.cs index 7cd981eabb..cb971247d7 100644 --- a/src/Stripe.net/Entities/Invoices/Invoice.cs +++ b/src/Stripe.net/Entities/Invoices/Invoice.cs @@ -914,16 +914,6 @@ public Account OnBehalfOf internal ExpandableField InternalOnBehalfOf { get; set; } #endregion - /// - /// 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; } - [JsonProperty("parent")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("parent")] diff --git a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs index cc3767acc7..15fad96dab 100644 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs @@ -837,16 +837,6 @@ public Account OnBehalfOf internal ExpandableField InternalOnBehalfOf { get; set; } #endregion - /// - /// 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; } - [JsonProperty("parent")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("parent")] From b2cb26b18e7897544169c529f05c84f6f9f42499 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Fri, 21 Mar 2025 17:14:49 +0000 Subject: [PATCH 24/36] Update generated code for v1608 --- OPENAPI_VERSION | 2 +- src/Stripe.net/Constants/EventTypes.cs | 20 ++++++ .../Charges/ChargePaymentMethodDetails.cs | 6 ++ ...ChargePaymentMethodDetailsNzBankAccount.cs | 66 +++++++++++++++++++ .../ConfirmationTokenPaymentMethodPreview.cs | 16 +++-- ...nTokenPaymentMethodPreviewNzBankAccount.cs | 66 +++++++++++++++++++ .../Invoices/InvoicePaymentSettings.cs | 6 +- .../Mandates/MandatePaymentMethodDetails.cs | 6 ++ ...andatePaymentMethodDetailsNzBankAccount.cs | 7 ++ ...aymentAttemptRecordPaymentMethodDetails.cs | 6 ++ ...RecordPaymentMethodDetailsNzBankAccount.cs | 66 +++++++++++++++++++ .../PaymentIntentPaymentMethodOptions.cs | 6 ++ ...IntentPaymentMethodOptionsNzBankAccount.cs | 49 ++++++++++++++ .../PaymentMethodConfiguration.cs | 6 ++ ...PaymentMethodConfigurationNzBankAccount.cs | 27 ++++++++ ...igurationNzBankAccountDisplayPreference.cs | 41 ++++++++++++ .../Entities/PaymentMethods/PaymentMethod.cs | 16 +++-- .../PaymentMethodNzBankAccount.cs | 66 +++++++++++++++++++ .../PaymentRecordPaymentMethodDetails.cs | 6 ++ ...RecordPaymentMethodDetailsNzBankAccount.cs | 66 +++++++++++++++++++ .../QuotePreviewInvoicePaymentSettings.cs | 6 +- .../Refunds/RefundDestinationDetails.cs | 6 ++ .../RefundDestinationDetailsNzBankTransfer.cs | 7 ++ .../SetupAttemptPaymentMethodDetails.cs | 6 ++ ...ttemptPaymentMethodDetailsNzBankAccount.cs | 7 ++ .../SubscriptionPaymentSettings.cs | 6 +- .../CustomerPaymentMethodListOptions.cs | 11 ++-- .../Invoices/InvoicePaymentSettingsOptions.cs | 6 +- ...ntPaymentMethodDataNzBankAccountOptions.cs | 63 ++++++++++++++++++ .../PaymentIntentPaymentMethodDataOptions.cs | 20 ++++-- ...aymentMethodOptionsNzBankAccountOptions.cs | 53 +++++++++++++++ ...aymentIntentPaymentMethodOptionsOptions.cs | 10 +++ ...PaymentMethodConfigurationCreateOptions.cs | 11 ++++ ...onNzBankAccountDisplayPreferenceOptions.cs | 21 ++++++ ...MethodConfigurationNzBankAccountOptions.cs | 20 ++++++ ...PaymentMethodConfigurationUpdateOptions.cs | 11 ++++ .../PaymentMethodCreateOptions.cs | 21 ++++-- .../PaymentMethodListOptions.cs | 11 ++-- .../PaymentMethodNzBankAccountOptions.cs | 63 ++++++++++++++++++ ...ntPaymentMethodDataNzBankAccountOptions.cs | 63 ++++++++++++++++++ .../SetupIntentPaymentMethodDataOptions.cs | 20 ++++-- .../SubscriptionPaymentSettingsOptions.cs | 6 +- ...enPaymentMethodDataNzBankAccountOptions.cs | 63 ++++++++++++++++++ ...nfirmationTokenPaymentMethodDataOptions.cs | 20 ++++-- 44 files changed, 1025 insertions(+), 56 deletions(-) create mode 100644 src/Stripe.net/Entities/Charges/ChargePaymentMethodDetailsNzBankAccount.cs create mode 100644 src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreviewNzBankAccount.cs create mode 100644 src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetailsNzBankAccount.cs create mode 100644 src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetailsNzBankAccount.cs create mode 100644 src/Stripe.net/Entities/PaymentIntents/PaymentIntentPaymentMethodOptionsNzBankAccount.cs create mode 100644 src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccount.cs create mode 100644 src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccountDisplayPreference.cs create mode 100644 src/Stripe.net/Entities/PaymentMethods/PaymentMethodNzBankAccount.cs create mode 100644 src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetailsNzBankAccount.cs create mode 100644 src/Stripe.net/Entities/Refunds/RefundDestinationDetailsNzBankTransfer.cs create mode 100644 src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetailsNzBankAccount.cs create mode 100644 src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataNzBankAccountOptions.cs create mode 100644 src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodOptionsNzBankAccountOptions.cs create mode 100644 src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccountDisplayPreferenceOptions.cs create mode 100644 src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationNzBankAccountOptions.cs create mode 100644 src/Stripe.net/Services/PaymentMethods/PaymentMethodNzBankAccountOptions.cs create mode 100644 src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataNzBankAccountOptions.cs create mode 100644 src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataNzBankAccountOptions.cs diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index aa6c88ff0e..3a9a6fdaaf 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1607 \ No newline at end of file +v1608 \ No newline at end of file diff --git a/src/Stripe.net/Constants/EventTypes.cs b/src/Stripe.net/Constants/EventTypes.cs index becf0c45f4..12b22e3646 100644 --- a/src/Stripe.net/Constants/EventTypes.cs +++ b/src/Stripe.net/Constants/EventTypes.cs @@ -111,6 +111,26 @@ public static class EventTypes /// 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. /// diff --git a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetails.cs b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetails.cs index 845d723c29..0c493a16cf 100644 --- a/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetails.cs +++ b/src/Stripe.net/Entities/Charges/ChargePaymentMethodDetails.cs @@ -218,6 +218,12 @@ public class ChargePaymentMethodDetails : 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/ConfirmationTokenPaymentMethodPreview.cs b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreview.cs index 1aef2a5728..8799628678 100644 --- a/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreview.cs +++ b/src/Stripe.net/Entities/ConfirmationTokens/ConfirmationTokenPaymentMethodPreview.cs @@ -272,6 +272,12 @@ public Customer Customer #endif public ConfirmationTokenPaymentMethodPreviewNaverPay NaverPay { get; set; } + [JsonProperty("nz_bank_account")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("nz_bank_account")] +#endif + public ConfirmationTokenPaymentMethodPreviewNzBankAccount NzBankAccount { get; set; } + [JsonProperty("oxxo")] #if NET6_0_OR_GREATER [STJS.JsonPropertyName("oxxo")] @@ -397,11 +403,11 @@ public Customer Customer /// 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, satispay, 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/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/Invoices/InvoicePaymentSettings.cs b/src/Stripe.net/Entities/Invoices/InvoicePaymentSettings.cs index ae28ec43de..a88d1181ce 100644 --- a/src/Stripe.net/Entities/Invoices/InvoicePaymentSettings.cs +++ b/src/Stripe.net/Entities/Invoices/InvoicePaymentSettings.cs @@ -42,9 +42,9 @@ public class InvoicePaymentSettings : StripeEntity /// eps, fpx, giropay, grabpay, id_bank_transfer, /// ideal, jp_credit_transfer, kakao_pay, klarna, /// 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. + /// 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/Mandates/MandatePaymentMethodDetails.cs b/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetails.cs index a4451abdde..96ecb7c17e 100644 --- a/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetails.cs +++ b/src/Stripe.net/Entities/Mandates/MandatePaymentMethodDetails.cs @@ -68,6 +68,12 @@ public class MandatePaymentMethodDetails : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs index ffabc55f79..e765e4c2d1 100644 --- a/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs +++ b/src/Stripe.net/Entities/PaymentAttemptRecords/PaymentAttemptRecordPaymentMethodDetails.cs @@ -241,6 +241,12 @@ public class PaymentAttemptRecordPaymentMethodDetails : 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/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, 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/PaymentMethodConfigurations/PaymentMethodConfiguration.cs b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfiguration.cs index c93ff68f56..5ecd7369da 100644 --- a/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfiguration.cs +++ b/src/Stripe.net/Entities/PaymentMethodConfigurations/PaymentMethodConfiguration.cs @@ -289,6 +289,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 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/PaymentMethods/PaymentMethod.cs b/src/Stripe.net/Entities/PaymentMethods/PaymentMethod.cs index cbae9af375..728e899967 100644 --- a/src/Stripe.net/Entities/PaymentMethods/PaymentMethod.cs +++ b/src/Stripe.net/Entities/PaymentMethods/PaymentMethod.cs @@ -334,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")] @@ -470,11 +476,11 @@ public Customer Customer /// 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, satispay, 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/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/PaymentRecords/PaymentRecordPaymentMethodDetails.cs b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs index d63e61ec53..e870761892 100644 --- a/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs +++ b/src/Stripe.net/Entities/PaymentRecords/PaymentRecordPaymentMethodDetails.cs @@ -241,6 +241,12 @@ public class PaymentRecordPaymentMethodDetails : 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/QuotePreviewInvoices/QuotePreviewInvoicePaymentSettings.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoicePaymentSettings.cs index c422dd2e86..c1ab7da081 100644 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoicePaymentSettings.cs +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoicePaymentSettings.cs @@ -42,9 +42,9 @@ public class QuotePreviewInvoicePaymentSettings : StripeEntityeps, fpx, giropay, grabpay, id_bank_transfer, /// ideal, jp_credit_transfer, kakao_pay, klarna, /// 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. + /// 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/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/SetupAttempts/SetupAttemptPaymentMethodDetails.cs b/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetails.cs index 111a446715..e4c2d20be2 100644 --- a/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetails.cs +++ b/src/Stripe.net/Entities/SetupAttempts/SetupAttemptPaymentMethodDetails.cs @@ -104,6 +104,12 @@ public class SetupAttemptPaymentMethodDetails : StripeEntity + { + } +} diff --git a/src/Stripe.net/Entities/Subscriptions/SubscriptionPaymentSettings.cs b/src/Stripe.net/Entities/Subscriptions/SubscriptionPaymentSettings.cs index 9eb07499fb..01ef7759d9 100644 --- a/src/Stripe.net/Entities/Subscriptions/SubscriptionPaymentSettings.cs +++ b/src/Stripe.net/Entities/Subscriptions/SubscriptionPaymentSettings.cs @@ -32,9 +32,9 @@ public class SubscriptionPaymentSettings : StripeEntityeps, fpx, giropay, grabpay, id_bank_transfer, /// ideal, jp_credit_transfer, kakao_pay, klarna, /// 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. + /// 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/CustomerPaymentMethods/CustomerPaymentMethodListOptions.cs b/src/Stripe.net/Services/CustomerPaymentMethods/CustomerPaymentMethodListOptions.cs index c61b0e9ad6..c2396b4a44 100644 --- a/src/Stripe.net/Services/CustomerPaymentMethods/CustomerPaymentMethodListOptions.cs +++ b/src/Stripe.net/Services/CustomerPaymentMethods/CustomerPaymentMethodListOptions.cs @@ -32,11 +32,12 @@ public class CustomerPaymentMethodListOptions : ListOptions /// 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, satispay, sepa_debit, shopeepay, sofort, - /// swish, twint, us_bank_account, wechat_pay, or zip. + /// 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/Invoices/InvoicePaymentSettingsOptions.cs b/src/Stripe.net/Services/Invoices/InvoicePaymentSettingsOptions.cs index d0603b3e5c..acd73bf694 100644 --- a/src/Stripe.net/Services/Invoices/InvoicePaymentSettingsOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoicePaymentSettingsOptions.cs @@ -42,9 +42,9 @@ public class InvoicePaymentSettingsOptions : INestedOptions /// eps, fpx, giropay, grabpay, id_bank_transfer, /// ideal, jp_credit_transfer, kakao_pay, klarna, /// 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. + /// 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/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 571acf900e..096e325903 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataOptions.cs @@ -354,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. @@ -565,11 +575,11 @@ public class PaymentIntentPaymentMethodDataOptions : INestedOptions, IHasMetadat /// 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, satispay, - /// sepa_debit, shopeepay, sofort, swish, twint, - /// us_bank_account, wechat_pay, or zip. + /// 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/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/PaymentMethodConfigurations/PaymentMethodConfigurationCreateOptions.cs b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationCreateOptions.cs index 34b9789fe6..9dac43cfcf 100644 --- a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationCreateOptions.cs +++ b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationCreateOptions.cs @@ -406,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 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/PaymentMethodConfigurationUpdateOptions.cs b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationUpdateOptions.cs index fdc20eb82c..5ba730c955 100644 --- a/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationUpdateOptions.cs +++ b/src/Stripe.net/Services/PaymentMethodConfigurations/PaymentMethodConfigurationUpdateOptions.cs @@ -415,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 diff --git a/src/Stripe.net/Services/PaymentMethods/PaymentMethodCreateOptions.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodCreateOptions.cs index 453d8aa9d3..3fa257e8d7 100644 --- a/src/Stripe.net/Services/PaymentMethods/PaymentMethodCreateOptions.cs +++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodCreateOptions.cs @@ -378,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. @@ -598,11 +608,12 @@ public class PaymentMethodCreateOptions : BaseOptions, IHasMetadata /// 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, satispay, sepa_debit, shopeepay, sofort, - /// swish, twint, us_bank_account, wechat_pay, or zip. + /// 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/PaymentMethods/PaymentMethodListOptions.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodListOptions.cs index 2f649b327e..9008414698 100644 --- a/src/Stripe.net/Services/PaymentMethods/PaymentMethodListOptions.cs +++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodListOptions.cs @@ -28,11 +28,12 @@ public class PaymentMethodListOptions : ListOptions /// 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, satispay, sepa_debit, shopeepay, sofort, - /// swish, twint, us_bank_account, wechat_pay, or zip. + /// 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/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/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 5c9a34f1ff..09f78ed285 100644 --- a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataOptions.cs +++ b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataOptions.cs @@ -354,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. @@ -565,11 +575,11 @@ public class SetupIntentPaymentMethodDataOptions : INestedOptions, IHasMetadata /// 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, satispay, - /// sepa_debit, shopeepay, sofort, swish, twint, - /// us_bank_account, wechat_pay, or zip. + /// 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/Subscriptions/SubscriptionPaymentSettingsOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionPaymentSettingsOptions.cs index 80b394e050..c9158e2485 100644 --- a/src/Stripe.net/Services/Subscriptions/SubscriptionPaymentSettingsOptions.cs +++ b/src/Stripe.net/Services/Subscriptions/SubscriptionPaymentSettingsOptions.cs @@ -32,9 +32,9 @@ public class SubscriptionPaymentSettingsOptions : INestedOptions /// eps, fpx, giropay, grabpay, id_bank_transfer, /// ideal, jp_credit_transfer, kakao_pay, klarna, /// 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. + /// 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/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 f66ee1bd7d..ad587a71df 100644 --- a/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataOptions.cs +++ b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataOptions.cs @@ -354,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. @@ -565,11 +575,11 @@ public class ConfirmationTokenPaymentMethodDataOptions : INestedOptions, IHasMet /// 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, satispay, - /// sepa_debit, shopeepay, sofort, swish, twint, - /// us_bank_account, wechat_pay, or zip. + /// 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 From ec99365fb21c4c08f72802877c4093980b0a294d Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Fri, 21 Mar 2025 17:40:58 +0000 Subject: [PATCH 25/36] Update generated code for v1609 --- OPENAPI_VERSION | 2 +- src/Stripe.net/Entities/Payouts/Payout.cs | 9 +++++++++ src/Stripe.net/Services/Payouts/PayoutCreateOptions.cs | 9 +++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 3a9a6fdaaf..355111df7f 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1608 \ No newline at end of file +v1609 \ No newline at end of file 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/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 From a2a748a9ac9bb7835c3061c2deb4e4c55a9b91c0 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Fri, 21 Mar 2025 19:36:25 +0000 Subject: [PATCH 26/36] Update generated code for v1610 --- OPENAPI_VERSION | 2 +- ...InvoiceLineItemParentInvoiceItemDetails.cs | 18 +++++++++++ ...arentInvoiceItemDetailsProrationDetails.cs | 21 +++++++++++++ ...temDetailsProrationDetailsCreditedItems.cs | 30 +++++++++++++++++++ 4 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetailsProrationDetails.cs create mode 100644 src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetailsProrationDetailsCreditedItems.cs diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 355111df7f..f06fdcab8d 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1609 \ No newline at end of file +v1610 \ No newline at end of file diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.cs index 0779052f99..2cfa650349 100644 --- a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.cs +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetails.cs @@ -14,6 +14,24 @@ public class InvoiceLineItemParentInvoiceItemDetails : StripeEntity + /// 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")] diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetailsProrationDetails.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetailsProrationDetails.cs new file mode 100644 index 0000000000..4812017109 --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetailsProrationDetails.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 InvoiceLineItemParentInvoiceItemDetailsProrationDetails : 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 InvoiceLineItemParentInvoiceItemDetailsProrationDetailsCreditedItems CreditedItems { get; set; } + } +} diff --git a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetailsProrationDetailsCreditedItems.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetailsProrationDetailsCreditedItems.cs new file mode 100644 index 0000000000..f55d553844 --- /dev/null +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemParentInvoiceItemDetailsProrationDetailsCreditedItems.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 InvoiceLineItemParentInvoiceItemDetailsProrationDetailsCreditedItems : 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; } + } +} From b32c3ed39d82293ff4f4570b1f2196e19dbddf87 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Fri, 21 Mar 2025 19:47:15 +0000 Subject: [PATCH 27/36] Update generated code for v1611 --- OPENAPI_VERSION | 2 +- .../Entities/InvoiceItems/InvoiceItem.cs | 9 +++++ .../InvoiceItems/InvoiceItemPricing.cs | 36 +++++++++++++++++++ .../InvoiceItemPricingPriceDetails.cs | 29 +++++++++++++++ .../InvoiceLineItems/InvoiceLineItem.cs | 9 +++++ .../InvoiceLineItemPricing.cs | 36 +++++++++++++++++++ .../InvoiceLineItemPricingPriceDetails.cs | 29 +++++++++++++++ 7 files changed, 149 insertions(+), 1 deletion(-) create mode 100644 src/Stripe.net/Entities/InvoiceItems/InvoiceItemPricing.cs create mode 100644 src/Stripe.net/Entities/InvoiceItems/InvoiceItemPricingPriceDetails.cs create mode 100644 src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemPricing.cs create mode 100644 src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemPricingPriceDetails.cs diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index f06fdcab8d..fb5f814ce7 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1610 \ No newline at end of file +v1611 \ No newline at end of file diff --git a/src/Stripe.net/Entities/InvoiceItems/InvoiceItem.cs b/src/Stripe.net/Entities/InvoiceItems/InvoiceItem.cs index 144a407958..7a8ce401ed 100644 --- a/src/Stripe.net/Entities/InvoiceItems/InvoiceItem.cs +++ b/src/Stripe.net/Entities/InvoiceItems/InvoiceItem.cs @@ -311,6 +311,15 @@ public List Margins #endif public InvoiceItemPeriod Period { get; set; } + /// + /// The pricing information of the invoice item. + /// + [JsonProperty("pricing")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("pricing")] +#endif + public InvoiceItemPricing Pricing { get; set; } + /// /// Whether the invoice item was created automatically as a proration adjustment when the /// customer switched plans. 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 8421b7a627..97903b9641 100644 --- a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs @@ -236,6 +236,15 @@ public List Margins #endif public List PretaxCreditAmounts { get; set; } + /// + /// The pricing information of the line item. + /// + [JsonProperty("pricing")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("pricing")] +#endif + public InvoiceLineItemPricing Pricing { get; set; } + /// /// The quantity of the subscription, if the line item is a subscription or a proration. /// 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; } + } +} From 43b2326a59ddcafd9b43c863dce5d9120cfa12db Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Fri, 21 Mar 2025 20:22:13 +0000 Subject: [PATCH 28/36] Update generated code for v1612 --- OPENAPI_VERSION | 2 +- src/Stripe.net/Entities/Charges/Charge.cs | 41 ------------------- .../CustomerBalanceTransaction.cs | 41 +++++++++++++++++++ 3 files changed, 42 insertions(+), 42 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index fb5f814ce7..8eba59af8a 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1611 \ No newline at end of file +v1612 \ No newline at end of file diff --git a/src/Stripe.net/Entities/Charges/Charge.cs b/src/Stripe.net/Entities/Charges/Charge.cs index ea532ff56b..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")] diff --git a/src/Stripe.net/Entities/CustomerBalanceTransactions/CustomerBalanceTransaction.cs b/src/Stripe.net/Entities/CustomerBalanceTransactions/CustomerBalanceTransaction.cs index 4ad5e19e7c..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. /// From f56dd9038ea50e84c4d9b8a791c6fe8b2711ca99 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Mon, 24 Mar 2025 16:23:08 +0000 Subject: [PATCH 29/36] Update generated code for v1613 --- OPENAPI_VERSION | 2 +- src/Stripe.net/Entities/Subscriptions/Subscription.cs | 10 ++++++++++ .../Invoices/InvoiceSubscriptionDetailsOptions.cs | 10 ++++++++++ .../Subscriptions/SubscriptionCreateOptions.cs | 10 ++++++++++ .../Subscriptions/SubscriptionUpdateOptions.cs | 10 ++++++++++ 5 files changed, 41 insertions(+), 1 deletion(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 8eba59af8a..fbcec826e3 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1612 \ No newline at end of file +v1613 \ No newline at end of file diff --git a/src/Stripe.net/Entities/Subscriptions/Subscription.cs b/src/Stripe.net/Entities/Subscriptions/Subscription.cs index d38e56f715..801a6d2b1a 100644 --- a/src/Stripe.net/Entities/Subscriptions/Subscription.cs +++ b/src/Stripe.net/Entities/Subscriptions/Subscription.cs @@ -132,6 +132,16 @@ public Application Application #endif public DateTime? CancelAt { get; set; } + /// + /// Whether this subscription will (if status=active) or did (if + /// status=canceled) cancel at the end of the current billing period. + /// + [JsonProperty("cancel_at_period_end")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cancel_at_period_end")] +#endif + public bool? CancelAtPeriodEnd { get; set; } + /// /// If the subscription has been canceled, the date of that cancellation. If the /// subscription was canceled with cancel_at_period_end, canceled_at will diff --git a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsOptions.cs b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsOptions.cs index 51f725bfd1..309b35621d 100644 --- a/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsOptions.cs +++ b/src/Stripe.net/Services/Invoices/InvoiceSubscriptionDetailsOptions.cs @@ -40,6 +40,16 @@ public class InvoiceSubscriptionDetailsOptions : INestedOptions #endif public AnyOf CancelAt { get; set; } + /// + /// Indicate whether this subscription should cancel at the end of the current period + /// (current_period_end). Defaults to false. + /// + [JsonProperty("cancel_at_period_end")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cancel_at_period_end")] +#endif + public bool? CancelAtPeriodEnd { get; set; } + /// /// This simulates the subscription being canceled or expired immediately. /// diff --git a/src/Stripe.net/Services/Subscriptions/SubscriptionCreateOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionCreateOptions.cs index 090c0f31cc..fb1ce13b3b 100644 --- a/src/Stripe.net/Services/Subscriptions/SubscriptionCreateOptions.cs +++ b/src/Stripe.net/Services/Subscriptions/SubscriptionCreateOptions.cs @@ -98,6 +98,16 @@ public class SubscriptionCreateOptions : BaseOptions, IHasMetadata #endif public AnyOf CancelAt { get; set; } + /// + /// Indicate whether this subscription should cancel at the end of the current period + /// (current_period_end). Defaults to false. + /// + [JsonProperty("cancel_at_period_end")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cancel_at_period_end")] +#endif + public bool? CancelAtPeriodEnd { get; set; } + /// /// Either charge_automatically, or send_invoice. When charging automatically, /// Stripe will attempt to pay this subscription at the end of the cycle using the default diff --git a/src/Stripe.net/Services/Subscriptions/SubscriptionUpdateOptions.cs b/src/Stripe.net/Services/Subscriptions/SubscriptionUpdateOptions.cs index 4899fc221a..47ed48438b 100644 --- a/src/Stripe.net/Services/Subscriptions/SubscriptionUpdateOptions.cs +++ b/src/Stripe.net/Services/Subscriptions/SubscriptionUpdateOptions.cs @@ -72,6 +72,16 @@ public class SubscriptionUpdateOptions : BaseOptions, IHasMetadata #endif public AnyOf CancelAt { get; set; } + /// + /// Indicate whether this subscription should cancel at the end of the current period + /// (current_period_end). Defaults to false. + /// + [JsonProperty("cancel_at_period_end")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("cancel_at_period_end")] +#endif + public bool? CancelAtPeriodEnd { get; set; } + /// /// Details about why this subscription was cancelled. /// From 526f0cfcaa7d4b354b87a59592cbf505790409ce Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Mon, 24 Mar 2025 18:09:51 +0000 Subject: [PATCH 30/36] Update generated code for v1615 --- OPENAPI_VERSION | 2 +- src/Stripe.net/Entities/Invoices/Invoice.cs | 10 +++++++ .../Invoices/InvoiceConfirmationSecret.cs | 30 +++++++++++++++++++ .../QuotePreviewInvoice.cs | 10 +++++++ .../QuotePreviewInvoiceConfirmationSecret.cs | 30 +++++++++++++++++++ 5 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 src/Stripe.net/Entities/Invoices/InvoiceConfirmationSecret.cs create mode 100644 src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoiceConfirmationSecret.cs diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index fbcec826e3..904cb8762f 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1613 \ No newline at end of file +v1615 \ No newline at end of file diff --git a/src/Stripe.net/Entities/Invoices/Invoice.cs b/src/Stripe.net/Entities/Invoices/Invoice.cs index cb971247d7..8316f687da 100644 --- a/src/Stripe.net/Entities/Invoices/Invoice.cs +++ b/src/Stripe.net/Entities/Invoices/Invoice.cs @@ -328,6 +328,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 InvoiceConfirmationSecret ConfirmationSecret { get; set; } + /// /// Time at which the object was created. Measured in seconds since the Unix epoch. /// 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/QuotePreviewInvoices/QuotePreviewInvoice.cs b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs index 15fad96dab..b5a6c07137 100644 --- a/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs +++ b/src/Stripe.net/Entities/QuotePreviewInvoices/QuotePreviewInvoice.cs @@ -322,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. /// 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; } + } +} From 74eb1ea150db4523822d32ec5b42c99dcdaa6600 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 13:40:26 +0000 Subject: [PATCH 31/36] Update generated code for v1618 --- OPENAPI_VERSION | 2 +- .../Services/GeneratedExamplesTest.cs | 293 ++++++++++++++++++ 2 files changed, 294 insertions(+), 1 deletion(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 904cb8762f..bf84e2a3d8 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1615 \ No newline at end of file +v1618 \ No newline at end of file diff --git a/src/StripeTests/Services/GeneratedExamplesTest.cs b/src/StripeTests/Services/GeneratedExamplesTest.cs index f3d1ce82df..59e6d194d5 100644 --- a/src/StripeTests/Services/GeneratedExamplesTest.cs +++ b/src/StripeTests/Services/GeneratedExamplesTest.cs @@ -5962,5 +5962,298 @@ public void TestWebhookEndpointsPost2() HttpMethod.Post, "/v1/webhook_endpoints/we_xxxxxxxxxxxxx"); } + + [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 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}"); + var client = new StripeClient(this.Requestor); + var service = client.V2.Core.Events; + Stripe.V2.StripeList events = service.List(); + this.AssertRequest(HttpMethod.Get, "/v2/core/events"); + } + + [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 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"); + } } } From 8ae1031acae898f656ebc45fa0abaf2013f1cd98 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 18:59:28 +0000 Subject: [PATCH 32/36] Update generated code for v1620 --- OPENAPI_VERSION | 2 +- .../Vault/GbBankAccounts/GbBankAccount.cs | 103 +++++ .../GbBankAccountConfirmationOfPayee.cs | 31 ++ .../GbBankAccountConfirmationOfPayeeResult.cs | 60 +++ ...AccountConfirmationOfPayeeResultMatched.cs | 31 ++ ...ccountConfirmationOfPayeeResultProvided.cs | 31 ++ .../Vault/UsBankAccounts/UsBankAccount.cs | 100 ++++ .../OutboundSetupIntent.cs | 84 ++++ .../OutboundSetupIntentNextAction.cs | 29 ++ ...etupIntentNextActionConfirmationOfPayee.cs | 30 ++ .../PayoutMethods/PayoutMethod.cs | 101 ++++ .../PayoutMethods/PayoutMethodBankAccount.cs | 79 ++++ .../PayoutMethods/PayoutMethodCard.cs | 50 ++ .../PayoutMethods/PayoutMethodUsageStatus.cs | 31 ++ .../PayoutMethodsBankAccountSpec.cs | 34 ++ .../PayoutMethodsBankAccountSpecCountries.cs | 21 + ...outMethodsBankAccountSpecCountriesField.cs | 74 +++ .../Exceptions/V2/BlockedByStripeException.cs | 25 + .../V2/ControlledByDashboardException.cs | 25 + .../V2/InvalidPaymentMethodError.cs | 20 + .../V2/InvalidPaymentMethodException.cs | 41 ++ .../V2/InvalidPayoutMethodException.cs | 25 + .../Exceptions/V2/QuotaExceededException.cs | 25 + .../Infrastructure/Public/StripeException.cs | 20 + .../Public/StripeTypeRegistry.cs | 11 + ...ntAcknowledgeConfirmationOfPayeeOptions.cs | 7 + .../GbBankAccountArchiveOptions.cs | 7 + ...AccountCreateConfirmationOfPayeeOptions.cs | 41 ++ .../GbBankAccountCreateOptions.cs | 50 ++ .../GbBankAccounts/GbBankAccountGetOptions.cs | 7 + ...countInitiateConfirmationOfPayeeOptions.cs | 32 ++ .../GbBankAccounts/GbBankAccountService.cs | 118 +++++ .../UsBankAccountArchiveOptions.cs | 7 + .../UsBankAccountCreateOptions.cs | 50 ++ .../UsBankAccounts/UsBankAccountGetOptions.cs | 7 + .../UsBankAccounts/UsBankAccountService.cs | 92 ++++ .../UsBankAccountUpdateOptions.cs | 31 ++ .../Services/V2/Core/VaultService.cs | 29 ++ src/Stripe.net/Services/V2/CoreService.cs | 4 + .../OutboundSetupIntentCancelOptions.cs | 7 + .../OutboundSetupIntentCreateOptions.cs | 44 ++ ...reatePayoutMethodDataBankAccountOptions.cs | 66 +++ ...IntentCreatePayoutMethodDataCardOptions.cs | 38 ++ ...etupIntentCreatePayoutMethodDataOptions.cs | 39 ++ .../OutboundSetupIntentGetOptions.cs | 7 + .../OutboundSetupIntentListOptions.cs | 7 + .../OutboundSetupIntentService.cs | 119 +++++ .../OutboundSetupIntentUpdateOptions.cs | 31 ++ ...pdatePayoutMethodDataBankAccountOptions.cs | 66 +++ ...IntentUpdatePayoutMethodDataCardOptions.cs | 39 ++ ...etupIntentUpdatePayoutMethodDataOptions.cs | 39 ++ .../PayoutMethodArchiveOptions.cs | 7 + .../PayoutMethods/PayoutMethodGetOptions.cs | 7 + .../PayoutMethods/PayoutMethodListOptions.cs | 20 + .../PayoutMethodListUsageStatusOptions.cs | 32 ++ .../PayoutMethods/PayoutMethodService.cs | 105 +++++ .../PayoutMethodUnarchiveOptions.cs | 7 + .../PayoutMethodsBankAccountSpecGetOptions.cs | 21 + .../PayoutMethodsBankAccountSpecService.cs | 41 ++ .../Services/V2/MoneyManagementService.cs | 33 ++ src/Stripe.net/Services/V2Services.cs | 4 + .../Services/GeneratedExamplesTest.cs | 434 ++++++++++++++++++ 62 files changed, 2777 insertions(+), 1 deletion(-) create mode 100644 src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccount.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayee.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayeeResult.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayeeResultMatched.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Vault/GbBankAccounts/GbBankAccountConfirmationOfPayeeResultProvided.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Vault/UsBankAccounts/UsBankAccount.cs create mode 100644 src/Stripe.net/Entities/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntent.cs create mode 100644 src/Stripe.net/Entities/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentNextAction.cs create mode 100644 src/Stripe.net/Entities/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentNextActionConfirmationOfPayee.cs create mode 100644 src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethod.cs create mode 100644 src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethodBankAccount.cs create mode 100644 src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethodCard.cs create mode 100644 src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethods/PayoutMethodUsageStatus.cs create mode 100644 src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpec.cs create mode 100644 src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecCountries.cs create mode 100644 src/Stripe.net/Entities/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecCountriesField.cs create mode 100644 src/Stripe.net/Exceptions/V2/BlockedByStripeException.cs create mode 100644 src/Stripe.net/Exceptions/V2/ControlledByDashboardException.cs create mode 100644 src/Stripe.net/Exceptions/V2/InvalidPaymentMethodError.cs create mode 100644 src/Stripe.net/Exceptions/V2/InvalidPaymentMethodException.cs create mode 100644 src/Stripe.net/Exceptions/V2/InvalidPayoutMethodException.cs create mode 100644 src/Stripe.net/Exceptions/V2/QuotaExceededException.cs create mode 100644 src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountAcknowledgeConfirmationOfPayeeOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountArchiveOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountCreateConfirmationOfPayeeOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountCreateOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountInitiateConfirmationOfPayeeOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Vault/GbBankAccounts/GbBankAccountService.cs create mode 100644 src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountArchiveOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountCreateOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountService.cs create mode 100644 src/Stripe.net/Services/V2/Core/Vault/UsBankAccounts/UsBankAccountUpdateOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/VaultService.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCancelOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreateOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreatePayoutMethodDataBankAccountOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreatePayoutMethodDataCardOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentCreatePayoutMethodDataOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentListOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentService.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdateOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdatePayoutMethodDataBankAccountOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdatePayoutMethodDataCardOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundSetupIntents/OutboundSetupIntentUpdatePayoutMethodDataOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodArchiveOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodListOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodListUsageStatusOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodService.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/PayoutMethods/PayoutMethodUnarchiveOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/PayoutMethodsBankAccountSpecs/PayoutMethodsBankAccountSpecService.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagementService.cs diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index bf84e2a3d8..def6fffbf8 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1618 \ No newline at end of file +v1620 \ No newline at end of file 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/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/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/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/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/Infrastructure/Public/StripeException.cs b/src/Stripe.net/Infrastructure/Public/StripeException.cs index 751f5cd577..a766c6fb55 100644 --- a/src/Stripe.net/Infrastructure/Public/StripeException.cs +++ b/src/Stripe.net/Infrastructure/Public/StripeException.cs @@ -51,6 +51,26 @@ internal static StripeException ParseV2Exception(string type, StripeResponse res ret = Stripe.V2.TemporarySessionExpiredException.Parse(httpStatusCode, body); break; + case "blocked_by_stripe": + ret = Stripe.V2.BlockedByStripeException.Parse(httpStatusCode, body); + break; + + case "invalid_payout_method": + ret = Stripe.V2.InvalidPayoutMethodException.Parse(httpStatusCode, body); + break; + + case "quota_exceeded": + ret = Stripe.V2.QuotaExceededException.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 625d1dc6ce..f45009276c 100644 --- a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs +++ b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs @@ -217,6 +217,17 @@ public static class StripeTypeRegistry { "v2.billing.meter_event_session", typeof(V2.Billing.MeterEventSession) }, { "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.outbound_setup_intent", typeof( + V2.MoneyManagement.OutboundSetupIntent) + }, + { "v2.money_management.payout_method", typeof(V2.MoneyManagement.PayoutMethod) }, + { + "v2.money_management.payout_methods_bank_account_spec", typeof( + V2.MoneyManagement.PayoutMethodsBankAccountSpec) + }, // V2ObjectsToTypes: The end of the section generated from our OpenAPI spec }); 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..a9b3aa8c99 100644 --- a/src/Stripe.net/Services/V2/CoreService.cs +++ b/src/Stripe.net/Services/V2/CoreService.cs @@ -9,6 +9,7 @@ public class CoreService : Service { private V2.Core.EventDestinationService eventDestinations; private V2.Core.EventService events; + private V2.Core.VaultService vault; internal CoreService(ApiRequestor requestor) : base(requestor) @@ -25,5 +26,8 @@ internal CoreService(IStripeClient client) 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/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/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/MoneyManagementService.cs b/src/Stripe.net/Services/V2/MoneyManagementService.cs new file mode 100644 index 0000000000..053a43240f --- /dev/null +++ b/src/Stripe.net/Services/V2/MoneyManagementService.cs @@ -0,0 +1,33 @@ +// 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.OutboundSetupIntentService outboundSetupIntents; + private V2.MoneyManagement.PayoutMethodService payoutMethods; + private V2.MoneyManagement.PayoutMethodsBankAccountSpecService payoutMethodsBankAccountSpec; + + internal MoneyManagementService(ApiRequestor requestor) + : base(requestor) + { + } + + internal MoneyManagementService(IStripeClient client) + : base(client) + { + } + + 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); + } +} diff --git a/src/Stripe.net/Services/V2Services.cs b/src/Stripe.net/Services/V2Services.cs index 0a6ba0365d..d1388ebb3a 100644 --- a/src/Stripe.net/Services/V2Services.cs +++ b/src/Stripe.net/Services/V2Services.cs @@ -9,6 +9,7 @@ public class V2Services : Service { private V2.BillingService billing; private V2.CoreService core; + private V2.MoneyManagementService moneyManagement; internal V2Services(ApiRequestor requestor) : base(requestor) @@ -25,5 +26,8 @@ internal V2Services(IStripeClient client) public virtual V2.CoreService Core => this.core ??= new V2.CoreService( this.Requestor); + + public virtual V2.MoneyManagementService MoneyManagement => this.moneyManagement ??= new V2.MoneyManagementService( + this.Requestor); } } diff --git a/src/StripeTests/Services/GeneratedExamplesTest.cs b/src/StripeTests/Services/GeneratedExamplesTest.cs index 59e6d194d5..249f649f89 100644 --- a/src/StripeTests/Services/GeneratedExamplesTest.cs +++ b/src/StripeTests/Services/GeneratedExamplesTest.cs @@ -6222,6 +6222,327 @@ public void TestV2CoreEventGet2() 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 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 TestTemporarySessionExpiredError() { @@ -6255,5 +6576,118 @@ public void TestTemporarySessionExpiredError() HttpMethod.Post, "/v2/billing/meter_event_stream"); } + + [Fact] + public void TestBlockedByStripeError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"blocked_by_stripe\",\"code\":\"blocked_payout_method_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"); + } + + [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 TestQuotaExceededError() + { + this.StubRequest( + HttpMethod.Post, + "/v2/core/vault/us_bank_accounts", + (HttpStatusCode)400, + "{\"error\":{\"type\":\"quota_exceeded\",\"code\":\"limit_payout_method_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"); + } + + [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"); + } } } From 1c449da026aa199cd0f5b2e1255fd11d2d90d85c Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 19:05:56 +0000 Subject: [PATCH 33/36] Update generated code for v1621 --- OPENAPI_VERSION | 2 +- .../Checkout/Sessions/SessionAutomaticTax.cs | 9 ++++++ .../CreditNoteLineItems/CreditNoteLineItem.cs | 9 ++++++ ...editNoteLineItemTaxCalculationReference.cs | 29 +++++++++++++++++++ .../InvoiceLineItems/InvoiceLineItem.cs | 9 ++++++ .../InvoiceLineItemTaxCalculationReference.cs | 29 +++++++++++++++++++ .../Entities/Invoices/InvoiceAutomaticTax.cs | 9 ++++++ src/Stripe.net/Entities/LineItems/LineItem.cs | 9 ++++++ .../LineItemTaxCalculationReference.cs | 29 +++++++++++++++++++ .../QuotePreviewInvoiceAutomaticTax.cs | 9 ++++++ .../Entities/Quotes/QuoteAutomaticTax.cs | 9 ++++++ 11 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItemTaxCalculationReference.cs create mode 100644 src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItemTaxCalculationReference.cs create mode 100644 src/Stripe.net/Entities/LineItems/LineItemTaxCalculationReference.cs diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index def6fffbf8..9c9ad9e527 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1620 \ No newline at end of file +v1621 \ No newline at end of file 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/CreditNoteLineItems/CreditNoteLineItem.cs b/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItem.cs index 4cb8ac45a8..8c6052877e 100644 --- a/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItem.cs +++ b/src/Stripe.net/Entities/CreditNoteLineItems/CreditNoteLineItem.cs @@ -105,6 +105,15 @@ public class CreditNoteLineItem : StripeEntity, IHasId, IHas #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 CreditNoteLineItemTaxCalculationReference TaxCalculationReference { get; set; } + /// /// The tax rates which apply to the line item. /// 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/InvoiceLineItems/InvoiceLineItem.cs b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs index 97903b9641..4c8bef6e69 100644 --- a/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs +++ b/src/Stripe.net/Entities/InvoiceLineItems/InvoiceLineItem.cs @@ -285,6 +285,15 @@ public Subscription Subscription internal ExpandableField InternalSubscription { get; set; } #endregion + /// + /// The tax calculation identifiers of the line item. + /// + [JsonProperty("tax_calculation_reference")] +#if NET6_0_OR_GREATER + [STJS.JsonPropertyName("tax_calculation_reference")] +#endif + public InvoiceLineItemTaxCalculationReference TaxCalculationReference { get; set; } + /// /// The tax information of the line item. /// 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/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/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/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/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. From 38aa218874b70e5c7deee8d36157a77a55fc3010 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 19:47:54 +0000 Subject: [PATCH 34/36] Update generated code for v1622 --- OPENAPI_VERSION | 2 +- src/Stripe.net/Entities/Events/Event.cs | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 9c9ad9e527..178dae39fc 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1621 \ No newline at end of file +v1622 \ No newline at end of file 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. /// From 2fe73a2fb5aa5f9e1a53df240b7d62402e83c3bf Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 23:00:46 +0000 Subject: [PATCH 35/36] Update generated code for v1625 --- OPENAPI_VERSION | 2 +- .../Entities/V2/Core/Accounts/Account.cs | 136 +++ .../V2/Core/Accounts/AccountConfiguration.cs | 38 + .../Accounts/AccountConfigurationCustomer.cs | 60 ++ ...nfigurationCustomerAutomaticIndirectTax.cs | 55 + ...ionCustomerAutomaticIndirectTaxLocation.cs | 61 ++ .../AccountConfigurationCustomerBilling.cs | 30 + ...ountConfigurationCustomerBillingInvoice.cs | 59 ++ ...rationCustomerBillingInvoiceCustomField.cs | 30 + ...gurationCustomerBillingInvoiceRendering.cs | 33 + ...ccountConfigurationCustomerCapabilities.cs | 23 + ...ustomerCapabilitiesAutomaticIndirectTax.cs | 41 + ...ilitiesAutomaticIndirectTaxStatusDetail.cs | 34 + .../AccountConfigurationCustomerShipping.cs | 38 + ...untConfigurationCustomerShippingAddress.cs | 98 ++ .../Accounts/AccountConfigurationMerchant.cs | 85 ++ ...tConfigurationMerchantBacsDebitPayments.cs | 29 + .../AccountConfigurationMerchantBranding.cs | 50 + ...ccountConfigurationMerchantCapabilities.cs | 407 +++++++ ...ionMerchantCapabilitiesAchDebitPayments.cs | 41 + ...apabilitiesAchDebitPaymentsStatusDetail.cs | 34 + ...onMerchantCapabilitiesAcssDebitPayments.cs | 41 + ...pabilitiesAcssDebitPaymentsStatusDetail.cs | 34 + ...ationMerchantCapabilitiesAffirmPayments.cs | 41 + ...tCapabilitiesAffirmPaymentsStatusDetail.cs | 34 + ...antCapabilitiesAfterpayClearpayPayments.cs | 41 + ...iesAfterpayClearpayPaymentsStatusDetail.cs | 34 + ...urationMerchantCapabilitiesAlmaPayments.cs | 41 + ...antCapabilitiesAlmaPaymentsStatusDetail.cs | 34 + ...onMerchantCapabilitiesAmazonPayPayments.cs | 41 + ...pabilitiesAmazonPayPaymentsStatusDetail.cs | 34 + ...MerchantCapabilitiesAuBecsDebitPayments.cs | 41 + ...bilitiesAuBecsDebitPaymentsStatusDetail.cs | 34 + ...onMerchantCapabilitiesBacsDebitPayments.cs | 41 + ...pabilitiesBacsDebitPaymentsStatusDetail.cs | 34 + ...nMerchantCapabilitiesBancontactPayments.cs | 41 + ...abilitiesBancontactPaymentsStatusDetail.cs | 34 + ...urationMerchantCapabilitiesBlikPayments.cs | 41 + ...antCapabilitiesBlikPaymentsStatusDetail.cs | 34 + ...ationMerchantCapabilitiesBoletoPayments.cs | 41 + ...tCapabilitiesBoletoPaymentsStatusDetail.cs | 34 + ...urationMerchantCapabilitiesCardPayments.cs | 41 + ...antCapabilitiesCardPaymentsStatusDetail.cs | 34 + ...hantCapabilitiesCartesBancairesPayments.cs | 41 + ...tiesCartesBancairesPaymentsStatusDetail.cs | 34 + ...tionMerchantCapabilitiesCashappPayments.cs | 41 + ...CapabilitiesCashappPaymentsStatusDetail.cs | 34 + ...gurationMerchantCapabilitiesEpsPayments.cs | 41 + ...hantCapabilitiesEpsPaymentsStatusDetail.cs | 34 + ...gurationMerchantCapabilitiesFpxPayments.cs | 41 + ...hantCapabilitiesFpxPaymentsStatusDetail.cs | 34 + ...chantCapabilitiesGbBankTransferPayments.cs | 41 + ...itiesGbBankTransferPaymentsStatusDetail.cs | 34 + ...tionMerchantCapabilitiesGrabpayPayments.cs | 41 + ...CapabilitiesGrabpayPaymentsStatusDetail.cs | 34 + ...rationMerchantCapabilitiesIdealPayments.cs | 41 + ...ntCapabilitiesIdealPaymentsStatusDetail.cs | 34 + ...gurationMerchantCapabilitiesJcbPayments.cs | 41 + ...hantCapabilitiesJcbPaymentsStatusDetail.cs | 34 + ...chantCapabilitiesJpBankTransferPayments.cs | 41 + ...itiesJpBankTransferPaymentsStatusDetail.cs | 34 + ...ionMerchantCapabilitiesKakaoPayPayments.cs | 41 + ...apabilitiesKakaoPayPaymentsStatusDetail.cs | 34 + ...ationMerchantCapabilitiesKlarnaPayments.cs | 41 + ...tCapabilitiesKlarnaPaymentsStatusDetail.cs | 34 + ...tionMerchantCapabilitiesKonbiniPayments.cs | 41 + ...CapabilitiesKonbiniPaymentsStatusDetail.cs | 34 + ...ationMerchantCapabilitiesKrCardPayments.cs | 41 + ...tCapabilitiesKrCardPaymentsStatusDetail.cs | 34 + ...urationMerchantCapabilitiesLinkPayments.cs | 41 + ...antCapabilitiesLinkPaymentsStatusDetail.cs | 34 + ...onMerchantCapabilitiesMobilepayPayments.cs | 41 + ...pabilitiesMobilepayPaymentsStatusDetail.cs | 34 + ...nMerchantCapabilitiesMultibancoPayments.cs | 41 + ...abilitiesMultibancoPaymentsStatusDetail.cs | 34 + ...chantCapabilitiesMxBankTransferPayments.cs | 41 + ...itiesMxBankTransferPaymentsStatusDetail.cs | 34 + ...ionMerchantCapabilitiesNaverPayPayments.cs | 41 + ...apabilitiesNaverPayPaymentsStatusDetail.cs | 34 + ...urationMerchantCapabilitiesOxxoPayments.cs | 41 + ...antCapabilitiesOxxoPaymentsStatusDetail.cs | 34 + ...gurationMerchantCapabilitiesP24Payments.cs | 41 + ...hantCapabilitiesP24PaymentsStatusDetail.cs | 34 + ...onMerchantCapabilitiesPayByBankPayments.cs | 41 + ...pabilitiesPayByBankPaymentsStatusDetail.cs | 34 + ...rationMerchantCapabilitiesPaycoPayments.cs | 41 + ...ntCapabilitiesPaycoPaymentsStatusDetail.cs | 34 + ...ationMerchantCapabilitiesPaynowPayments.cs | 41 + ...tCapabilitiesPaynowPaymentsStatusDetail.cs | 34 + ...onMerchantCapabilitiesPromptpayPayments.cs | 41 + ...pabilitiesPromptpayPaymentsStatusDetail.cs | 34 + ...nMerchantCapabilitiesRevolutPayPayments.cs | 41 + ...abilitiesRevolutPayPaymentsStatusDetail.cs | 34 + ...nMerchantCapabilitiesSamsungPayPayments.cs | 41 + ...abilitiesSamsungPayPaymentsStatusDetail.cs | 34 + ...antCapabilitiesSepaBankTransferPayments.cs | 41 + ...iesSepaBankTransferPaymentsStatusDetail.cs | 34 + ...onMerchantCapabilitiesSepaDebitPayments.cs | 41 + ...pabilitiesSepaDebitPaymentsStatusDetail.cs | 34 + ...rationMerchantCapabilitiesSwishPayments.cs | 41 + ...ntCapabilitiesSwishPaymentsStatusDetail.cs | 34 + ...rationMerchantCapabilitiesTwintPayments.cs | 41 + ...ntCapabilitiesTwintPaymentsStatusDetail.cs | 34 + ...chantCapabilitiesUsBankTransferPayments.cs | 41 + ...itiesUsBankTransferPaymentsStatusDetail.cs | 34 + ...gurationMerchantCapabilitiesZipPayments.cs | 41 + ...hantCapabilitiesZipPaymentsStatusDetail.cs | 34 + ...ccountConfigurationMerchantCardPayments.cs | 21 + ...figurationMerchantCardPaymentsDeclineOn.cs | 32 + ...tConfigurationMerchantSepaDebitPayments.cs | 20 + ...onfigurationMerchantStatementDescriptor.cs | 40 + .../AccountConfigurationMerchantSupport.cs | 47 + ...ountConfigurationMerchantSupportAddress.cs | 107 ++ .../Accounts/AccountConfigurationRecipient.cs | 30 + ...countConfigurationRecipientCapabilities.cs | 39 + ...rationRecipientCapabilitiesBankAccounts.cs | 30 + ...nRecipientCapabilitiesBankAccountsLocal.cs | 41 + ...pabilitiesBankAccountsLocalStatusDetail.cs | 34 + ...onRecipientCapabilitiesBankAccountsWire.cs | 41 + ...apabilitiesBankAccountsWireStatusDetail.cs | 34 + ...ConfigurationRecipientCapabilitiesCards.cs | 41 + ...nRecipientCapabilitiesCardsStatusDetail.cs | 34 + ...ationRecipientCapabilitiesStripeBalance.cs | 20 + ...apabilitiesStripeBalanceStripeTransfers.cs | 41 + ...tripeBalanceStripeTransfersStatusDetail.cs | 34 + ...tionRecipientDefaultOutboundDestination.cs | 40 + .../V2/Core/Accounts/AccountDefaults.cs | 80 ++ .../AccountDefaultsResponsibilities.cs | 33 + .../V2/Core/Accounts/AccountIdentity.cs | 94 ++ .../Accounts/AccountIdentityAttestations.cs | 49 + ...tityAttestationsDirectorshipDeclaration.cs | 40 + ...dentityAttestationsOwnershipDeclaration.cs | 41 + ...ountIdentityAttestationsPersonsProvided.cs | 55 + ...countIdentityAttestationsTermsOfService.cs | 22 + ...entityAttestationsTermsOfServiceAccount.cs | 42 + .../AccountIdentityBusinessDetails.cs | 149 +++ .../AccountIdentityBusinessDetailsAddress.cs | 107 ++ ...untIdentityBusinessDetailsAnnualRevenue.cs | 30 + ...AccountIdentityBusinessDetailsDocuments.cs | 97 ++ ...cumentsBankAccountOwnershipVerification.cs | 32 + ...yBusinessDetailsDocumentsCompanyLicense.cs | 32 + ...DocumentsCompanyMemorandumOfAssociation.cs | 32 + ...etailsDocumentsCompanyMinisterialDecree.cs | 32 + ...ocumentsCompanyRegistrationVerification.cs | 32 + ...etailsDocumentsCompanyTaxIdVerification.cs | 32 + ...nessDetailsDocumentsPrimaryVerification.cs | 30 + ...lsDocumentsPrimaryVerificationFrontBack.cs | 35 + ...nessDetailsDocumentsProofOfRegistration.cs | 32 + ...mentsProofOfUltimateBeneficialOwnership.cs | 32 + .../AccountIdentityBusinessDetailsIdNumber.cs | 41 + ...yBusinessDetailsMonthlyEstimatedRevenue.cs | 20 + ...tIdentityBusinessDetailsScriptAddresses.cs | 29 + ...ntityBusinessDetailsScriptAddressesKana.cs | 107 ++ ...tityBusinessDetailsScriptAddressesKanji.cs | 107 ++ ...countIdentityBusinessDetailsScriptNames.cs | 29 + ...tIdentityBusinessDetailsScriptNamesKana.cs | 20 + ...IdentityBusinessDetailsScriptNamesKanji.cs | 20 + .../Accounts/AccountIdentityIndividual.cs | 259 +++++ ...ountIdentityIndividualAdditionalAddress.cs | 116 ++ ...AccountIdentityIndividualAdditionalName.cs | 48 + ...ntityIndividualAdditionalTermsOfService.cs | 20 + ...dividualAdditionalTermsOfServiceAccount.cs | 42 + .../AccountIdentityIndividualAddress.cs | 107 ++ .../AccountIdentityIndividualDateOfBirth.cs | 38 + .../AccountIdentityIndividualDocuments.cs | 59 ++ ...IndividualDocumentsCompanyAuthorization.cs | 32 + ...ountIdentityIndividualDocumentsPassport.cs | 32 + ...yIndividualDocumentsPrimaryVerification.cs | 30 + ...alDocumentsPrimaryVerificationFrontBack.cs | 35 + ...ndividualDocumentsSecondaryVerification.cs | 30 + ...DocumentsSecondaryVerificationFrontBack.cs | 35 + .../AccountIdentityIndividualDocumentsVisa.cs | 32 + .../AccountIdentityIndividualIdNumber.cs | 24 + .../AccountIdentityIndividualRelationship.cs | 81 ++ ...ccountIdentityIndividualScriptAddresses.cs | 29 + ...ntIdentityIndividualScriptAddressesKana.cs | 107 ++ ...tIdentityIndividualScriptAddressesKanji.cs | 107 ++ .../AccountIdentityIndividualScriptNames.cs | 29 + ...ccountIdentityIndividualScriptNamesKana.cs | 29 + ...countIdentityIndividualScriptNamesKanji.cs | 29 + .../V2/Core/Accounts/AccountRequirements.cs | 40 + .../Core/Accounts/AccountRequirementsEntry.cs | 79 ++ .../Accounts/AccountRequirementsEntryError.cs | 93 ++ .../AccountRequirementsEntryImpact.cs | 32 + ...uirementsEntryImpactRestrictsCapability.cs | 57 + ...sEntryImpactRestrictsCapabilityDeadline.cs | 21 + ...RequirementsEntryImpactRestrictsPayouts.cs | 21 + ...entsEntryImpactRestrictsPayoutsDeadline.cs | 21 + ...AccountRequirementsEntryMinimumDeadline.cs | 21 + .../AccountRequirementsEntryReference.cs | 40 + ...AccountRequirementsEntryRequestedReason.cs | 22 + .../Accounts/AccountRequirementsSummary.cs | 21 + ...countRequirementsSummaryMinimumDeadline.cs | 31 + .../Entities/V2/Core/Persons/Person.cs | 262 +++++ .../Core/Persons/PersonAdditionalAddress.cs | 116 ++ .../V2/Core/Persons/PersonAdditionalName.cs | 48 + .../Persons/PersonAdditionalTermsOfService.cs | 20 + .../PersonAdditionalTermsOfServiceAccount.cs | 42 + .../Entities/V2/Core/Persons/PersonAddress.cs | 107 ++ .../V2/Core/Persons/PersonDateOfBirth.cs | 38 + .../V2/Core/Persons/PersonDocuments.cs | 59 ++ .../PersonDocumentsCompanyAuthorization.cs | 32 + .../Core/Persons/PersonDocumentsPassport.cs | 32 + .../PersonDocumentsPrimaryVerification.cs | 30 + ...onDocumentsPrimaryVerificationFrontBack.cs | 35 + .../PersonDocumentsSecondaryVerification.cs | 30 + ...DocumentsSecondaryVerificationFrontBack.cs | 35 + .../V2/Core/Persons/PersonDocumentsVisa.cs | 32 + .../V2/Core/Persons/PersonIdNumber.cs | 24 + .../V2/Core/Persons/PersonRelationship.cs | 81 ++ .../V2/Core/Persons/PersonScriptAddresses.cs | 29 + .../Core/Persons/PersonScriptAddressesKana.cs | 107 ++ .../Persons/PersonScriptAddressesKanji.cs | 107 ++ .../V2/Core/Persons/PersonScriptNames.cs | 29 + .../V2/Core/Persons/PersonScriptNamesKana.cs | 29 + .../V2/Core/Persons/PersonScriptNamesKanji.cs | 29 + .../V2/FinancialAccounts/FinancialAccount.cs | 145 +++ .../FinancialAccountBalance.cs | 39 + .../FinancialAccountOther.cs | 21 + .../FinancialAccountStorage.cs | 47 + .../FinancialAddressCreditSimulation.cs | 30 + .../FinancialAddressGeneratedMicrodeposits.cs | 40 + .../V2/FinancialAddresses/FinancialAddress.cs | 111 ++ .../FinancialAddressCredentials.cs | 41 + ...inancialAddressCredentialsGbBankAccount.cs | 49 + ...inancialAddressCredentialsUsBankAccount.cs | 58 + .../V2/InboundTransfers/InboundTransfer.cs | 101 ++ .../InboundTransfers/InboundTransferFrom.cs | 29 + .../InboundTransferFromPaymentMethod.cs | 30 + .../V2/InboundTransfers/InboundTransferTo.cs | 29 + .../InboundTransferTransferHistory.cs | 105 ++ ...dTransferTransferHistoryBankDebitFailed.cs | 23 + ...nsferTransferHistoryBankDebitProcessing.cs | 7 + ...dTransferTransferHistoryBankDebitQueued.cs | 7 + ...ransferTransferHistoryBankDebitReturned.cs | 23 + ...ansferTransferHistoryBankDebitSucceeded.cs | 7 + .../V2/OutboundPayments/OutboundPayment.cs | 196 ++++ .../OutboundPaymentDeliveryOptions.cs | 21 + .../OutboundPayments/OutboundPaymentFrom.cs | 29 + .../OutboundPaymentRecipientNotification.cs | 23 + .../OutboundPaymentStatusDetails.cs | 29 + .../OutboundPaymentStatusDetailsFailed.cs | 23 + .../OutboundPaymentStatusDetailsReturned.cs | 26 + .../OutboundPaymentStatusTransitions.cs | 56 + .../V2/OutboundPayments/OutboundPaymentTo.cs | 38 + .../OutboundPaymentTraceId.cs | 34 + .../V2/OutboundTransfers/OutboundTransfer.cs | 187 ++++ .../OutboundTransferDeliveryOptions.cs | 21 + .../OutboundTransfers/OutboundTransferFrom.cs | 29 + .../OutboundTransferStatusDetails.cs | 29 + .../OutboundTransferStatusDetailsFailed.cs | 23 + .../OutboundTransferStatusDetailsReturned.cs | 26 + .../OutboundTransferStatusTransitions.cs | 56 + .../OutboundTransfers/OutboundTransferTo.cs | 29 + .../OutboundTransferTraceId.cs | 34 + .../V2/ReceivedCredits/ReceivedCredit.cs | 153 +++ .../ReceivedCreditBalanceTransfer.cs | 29 + .../ReceivedCreditBankTransfer.cs | 59 ++ ...ReceivedCreditBankTransferGbBankAccount.cs | 56 + ...ReceivedCreditBankTransferUsBankAccount.cs | 48 + .../ReceivedCreditCardSpend.cs | 38 + .../ReceivedCreditCardSpendDispute.cs | 20 + .../ReceivedCreditCardSpendRefund.cs | 20 + .../ReceivedCreditStatusDetails.cs | 33 + .../ReceivedCreditStatusDetailsFailed.cs | 22 + .../ReceivedCreditStatusDetailsReturned.cs | 20 + .../ReceivedCreditStatusTransitions.cs | 45 + .../V2/ReceivedDebits/ReceivedDebit.cs | 139 +++ .../ReceivedDebitBankTransfer.cs | 47 + .../ReceivedDebitBankTransferUsBankAccount.cs | 38 + .../ReceivedDebits/ReceivedDebitCardSpend.cs | 40 + .../ReceivedDebitCardSpendAuthorization.cs | 29 + .../ReceivedDebitCardSpendCardTransaction.cs | 29 + .../ReceivedDebitStatusDetails.cs | 21 + .../ReceivedDebitStatusDetailsFailed.cs | 22 + .../ReceivedDebitStatusTransitions.cs | 45 + ...anagementFinancialAddressActivatedEvent.cs | 43 + ...eyManagementFinancialAddressFailedEvent.cs | 42 + ...ManagementInboundTransferAvailableEvent.cs | 52 + ...gementInboundTransferAvailableEventData.cs | 21 + ...mentInboundTransferBankDebitFailedEvent.cs | 42 + ...InboundTransferBankDebitProcessingEvent.cs | 42 + ...mentInboundTransferBankDebitQueuedEvent.cs | 42 + ...ntInboundTransferBankDebitReturnedEvent.cs | 42 + ...tInboundTransferBankDebitSucceededEvent.cs | 42 + ...yManagementReceivedCreditAvailableEvent.cs | 52 + ...agementReceivedCreditAvailableEventData.cs | 21 + ...oneyManagementReceivedCreditFailedEvent.cs | 43 + ...eyManagementReceivedCreditReturnedEvent.cs | 43 + ...yManagementReceivedCreditSucceededEvent.cs | 42 + ...neyManagementReceivedDebitCanceledEvent.cs | 42 + ...MoneyManagementReceivedDebitFailedEvent.cs | 42 + ...oneyManagementReceivedDebitPendingEvent.cs | 42 + ...eyManagementReceivedDebitSucceededEvent.cs | 42 + ...oneyManagementReceivedDebitUpdatedEvent.cs | 42 + .../Exceptions/V2/AlreadyCanceledException.cs | 25 + .../V2/FeatureNotEnabledException.cs | 25 + .../V2/FinancialAccountNotOpenException.cs | 25 + .../V2/InsufficientFundsException.cs | 25 + .../Exceptions/V2/NotCancelableException.cs | 25 + .../V2/RecipientNotNotifiableException.cs | 25 + .../Infrastructure/Public/StripeException.cs | 28 +- .../Public/StripeTypeRegistry.cs | 85 ++ .../V2/Core/Accounts/AccountCloseOptions.cs | 23 + ...tionCustomerAutomaticIndirectTaxOptions.cs | 44 + ...ustomerBillingInvoiceCustomFieldOptions.cs | 30 + ...figurationCustomerBillingInvoiceOptions.cs | 58 + ...nCustomerBillingInvoiceRenderingOptions.cs | 33 + ...eateConfigurationCustomerBillingOptions.cs | 20 + ...CapabilitiesAutomaticIndirectTaxOptions.cs | 21 + ...onfigurationCustomerCapabilitiesOptions.cs | 23 + ...countCreateConfigurationCustomerOptions.cs | 60 ++ ...ateConfigurationCustomerShippingOptions.cs | 38 + ...urationMerchantBacsDebitPaymentsOptions.cs | 20 + ...ateConfigurationMerchantBrandingOptions.cs | 50 + ...hantCapabilitiesAchDebitPaymentsOptions.cs | 21 + ...antCapabilitiesAcssDebitPaymentsOptions.cs | 21 + ...rchantCapabilitiesAffirmPaymentsOptions.cs | 21 + ...bilitiesAfterpayClearpayPaymentsOptions.cs | 21 + ...MerchantCapabilitiesAlmaPaymentsOptions.cs | 21 + ...antCapabilitiesAmazonPayPaymentsOptions.cs | 21 + ...tCapabilitiesAuBecsDebitPaymentsOptions.cs | 21 + ...antCapabilitiesBacsDebitPaymentsOptions.cs | 21 + ...ntCapabilitiesBancontactPaymentsOptions.cs | 21 + ...MerchantCapabilitiesBlikPaymentsOptions.cs | 21 + ...rchantCapabilitiesBoletoPaymentsOptions.cs | 21 + ...MerchantCapabilitiesCardPaymentsOptions.cs | 21 + ...abilitiesCartesBancairesPaymentsOptions.cs | 21 + ...chantCapabilitiesCashappPaymentsOptions.cs | 21 + ...nMerchantCapabilitiesEpsPaymentsOptions.cs | 21 + ...nMerchantCapabilitiesFpxPaymentsOptions.cs | 21 + ...pabilitiesGbBankTransferPaymentsOptions.cs | 21 + ...chantCapabilitiesGrabpayPaymentsOptions.cs | 21 + ...erchantCapabilitiesIdealPaymentsOptions.cs | 21 + ...nMerchantCapabilitiesJcbPaymentsOptions.cs | 21 + ...pabilitiesJpBankTransferPaymentsOptions.cs | 21 + ...hantCapabilitiesKakaoPayPaymentsOptions.cs | 21 + ...rchantCapabilitiesKlarnaPaymentsOptions.cs | 21 + ...chantCapabilitiesKonbiniPaymentsOptions.cs | 21 + ...rchantCapabilitiesKrCardPaymentsOptions.cs | 21 + ...MerchantCapabilitiesLinkPaymentsOptions.cs | 21 + ...antCapabilitiesMobilepayPaymentsOptions.cs | 21 + ...ntCapabilitiesMultibancoPaymentsOptions.cs | 21 + ...pabilitiesMxBankTransferPaymentsOptions.cs | 21 + ...hantCapabilitiesNaverPayPaymentsOptions.cs | 21 + ...onfigurationMerchantCapabilitiesOptions.cs | 407 +++++++ ...MerchantCapabilitiesOxxoPaymentsOptions.cs | 21 + ...nMerchantCapabilitiesP24PaymentsOptions.cs | 21 + ...antCapabilitiesPayByBankPaymentsOptions.cs | 21 + ...erchantCapabilitiesPaycoPaymentsOptions.cs | 21 + ...rchantCapabilitiesPaynowPaymentsOptions.cs | 21 + ...antCapabilitiesPromptpayPaymentsOptions.cs | 21 + ...ntCapabilitiesRevolutPayPaymentsOptions.cs | 21 + ...ntCapabilitiesSamsungPayPaymentsOptions.cs | 21 + ...bilitiesSepaBankTransferPaymentsOptions.cs | 21 + ...antCapabilitiesSepaDebitPaymentsOptions.cs | 21 + ...erchantCapabilitiesSwishPaymentsOptions.cs | 21 + ...erchantCapabilitiesTwintPaymentsOptions.cs | 21 + ...pabilitiesUsBankTransferPaymentsOptions.cs | 21 + ...nMerchantCapabilitiesZipPaymentsOptions.cs | 21 + ...ionMerchantCardPaymentsDeclineOnOptions.cs | 32 + ...onfigurationMerchantCardPaymentsOptions.cs | 21 + ...countCreateConfigurationMerchantOptions.cs | 76 ++ ...ationMerchantStatementDescriptorOptions.cs | 40 + ...eateConfigurationMerchantSupportOptions.cs | 47 + .../AccountCreateConfigurationOptions.cs | 38 + ...entCapabilitiesBankAccountsLocalOptions.cs | 21 + ...ecipientCapabilitiesBankAccountsOptions.cs | 30 + ...ientCapabilitiesBankAccountsWireOptions.cs | 21 + ...rationRecipientCapabilitiesCardsOptions.cs | 21 + ...nfigurationRecipientCapabilitiesOptions.cs | 39 + ...cipientCapabilitiesStripeBalanceOptions.cs | 20 + ...tiesStripeBalanceStripeTransfersOptions.cs | 21 + ...ountCreateConfigurationRecipientOptions.cs | 20 + .../Accounts/AccountCreateDefaultsOptions.cs | 80 ++ ...ntCreateDefaultsResponsibilitiesOptions.cs | 32 + ...estationsDirectorshipDeclarationOptions.cs | 40 + ...ccountCreateIdentityAttestationsOptions.cs | 49 + ...AttestationsOwnershipDeclarationOptions.cs | 41 + ...ntityAttestationsPersonsProvidedOptions.cs | 55 + ...ttestationsTermsOfServiceAccountOptions.cs | 42 + ...entityAttestationsTermsOfServiceOptions.cs | 22 + ...tityBusinessDetailsAnnualRevenueOptions.cs | 30 + ...BankAccountOwnershipVerificationOptions.cs | 32 + ...ssDetailsDocumentsCompanyLicenseOptions.cs | 32 + ...tsCompanyMemorandumOfAssociationOptions.cs | 32 + ...ocumentsCompanyMinisterialDecreeOptions.cs | 32 + ...sCompanyRegistrationVerificationOptions.cs | 32 + ...ocumentsCompanyTaxIdVerificationOptions.cs | 32 + ...IdentityBusinessDetailsDocumentsOptions.cs | 97 ++ ...entsPrimaryVerificationFrontBackOptions.cs | 35 + ...ailsDocumentsPrimaryVerificationOptions.cs | 30 + ...ailsDocumentsProofOfRegistrationOptions.cs | 32 + ...oofOfUltimateBeneficialOwnershipOptions.cs | 32 + ...eIdentityBusinessDetailsIdNumberOptions.cs | 50 + ...ssDetailsMonthlyEstimatedRevenueOptions.cs | 20 + ...untCreateIdentityBusinessDetailsOptions.cs | 149 +++ ...tyBusinessDetailsScriptAddressesOptions.cs | 29 + ...tyBusinessDetailsScriptNamesKanaOptions.cs | 20 + ...yBusinessDetailsScriptNamesKanjiOptions.cs | 20 + ...entityBusinessDetailsScriptNamesOptions.cs | 29 + ...ntityIndividualAdditionalAddressOptions.cs | 116 ++ ...IdentityIndividualAdditionalNameOptions.cs | 48 + ...ateIdentityIndividualDateOfBirthOptions.cs | 38 + ...ualDocumentsCompanyAuthorizationOptions.cs | 32 + ...reateIdentityIndividualDocumentsOptions.cs | 59 ++ ...ntityIndividualDocumentsPassportOptions.cs | 32 + ...entsPrimaryVerificationFrontBackOptions.cs | 35 + ...dualDocumentsPrimaryVerificationOptions.cs | 30 + ...tsSecondaryVerificationFrontBackOptions.cs | 35 + ...alDocumentsSecondaryVerificationOptions.cs | 30 + ...eIdentityIndividualDocumentsVisaOptions.cs | 32 + ...CreateIdentityIndividualIdNumberOptions.cs | 33 + .../AccountCreateIdentityIndividualOptions.cs | 201 ++++ ...teIdentityIndividualRelationshipOptions.cs | 59 ++ ...dentityIndividualScriptAddressesOptions.cs | 29 + ...dentityIndividualScriptNamesKanaOptions.cs | 29 + ...entityIndividualScriptNamesKanjiOptions.cs | 29 + ...ateIdentityIndividualScriptNamesOptions.cs | 29 + .../Accounts/AccountCreateIdentityOptions.cs | 93 ++ .../V2/Core/Accounts/AccountCreateOptions.cs | 92 ++ .../V2/Core/Accounts/AccountGetOptions.cs | 24 + .../V2/Core/Accounts/AccountListOptions.cs | 22 + .../V2/Core/Accounts/AccountService.cs | 132 +++ ...tionCustomerAutomaticIndirectTaxOptions.cs | 44 + ...ustomerBillingInvoiceCustomFieldOptions.cs | 30 + ...figurationCustomerBillingInvoiceOptions.cs | 58 + ...nCustomerBillingInvoiceRenderingOptions.cs | 33 + ...dateConfigurationCustomerBillingOptions.cs | 30 + ...CapabilitiesAutomaticIndirectTaxOptions.cs | 21 + ...onfigurationCustomerCapabilitiesOptions.cs | 23 + ...countUpdateConfigurationCustomerOptions.cs | 60 ++ ...ateConfigurationCustomerShippingOptions.cs | 38 + ...urationMerchantBacsDebitPaymentsOptions.cs | 20 + ...ateConfigurationMerchantBrandingOptions.cs | 50 + ...hantCapabilitiesAchDebitPaymentsOptions.cs | 21 + ...antCapabilitiesAcssDebitPaymentsOptions.cs | 21 + ...rchantCapabilitiesAffirmPaymentsOptions.cs | 21 + ...bilitiesAfterpayClearpayPaymentsOptions.cs | 21 + ...MerchantCapabilitiesAlmaPaymentsOptions.cs | 21 + ...antCapabilitiesAmazonPayPaymentsOptions.cs | 21 + ...tCapabilitiesAuBecsDebitPaymentsOptions.cs | 21 + ...antCapabilitiesBacsDebitPaymentsOptions.cs | 21 + ...ntCapabilitiesBancontactPaymentsOptions.cs | 21 + ...MerchantCapabilitiesBlikPaymentsOptions.cs | 21 + ...rchantCapabilitiesBoletoPaymentsOptions.cs | 21 + ...MerchantCapabilitiesCardPaymentsOptions.cs | 21 + ...abilitiesCartesBancairesPaymentsOptions.cs | 21 + ...chantCapabilitiesCashappPaymentsOptions.cs | 21 + ...nMerchantCapabilitiesEpsPaymentsOptions.cs | 21 + ...nMerchantCapabilitiesFpxPaymentsOptions.cs | 21 + ...pabilitiesGbBankTransferPaymentsOptions.cs | 21 + ...chantCapabilitiesGrabpayPaymentsOptions.cs | 21 + ...erchantCapabilitiesIdealPaymentsOptions.cs | 21 + ...nMerchantCapabilitiesJcbPaymentsOptions.cs | 21 + ...pabilitiesJpBankTransferPaymentsOptions.cs | 21 + ...hantCapabilitiesKakaoPayPaymentsOptions.cs | 21 + ...rchantCapabilitiesKlarnaPaymentsOptions.cs | 21 + ...chantCapabilitiesKonbiniPaymentsOptions.cs | 21 + ...rchantCapabilitiesKrCardPaymentsOptions.cs | 21 + ...MerchantCapabilitiesLinkPaymentsOptions.cs | 21 + ...antCapabilitiesMobilepayPaymentsOptions.cs | 21 + ...ntCapabilitiesMultibancoPaymentsOptions.cs | 21 + ...pabilitiesMxBankTransferPaymentsOptions.cs | 21 + ...hantCapabilitiesNaverPayPaymentsOptions.cs | 21 + ...onfigurationMerchantCapabilitiesOptions.cs | 407 +++++++ ...MerchantCapabilitiesOxxoPaymentsOptions.cs | 21 + ...nMerchantCapabilitiesP24PaymentsOptions.cs | 21 + ...antCapabilitiesPayByBankPaymentsOptions.cs | 21 + ...erchantCapabilitiesPaycoPaymentsOptions.cs | 21 + ...rchantCapabilitiesPaynowPaymentsOptions.cs | 21 + ...antCapabilitiesPromptpayPaymentsOptions.cs | 21 + ...ntCapabilitiesRevolutPayPaymentsOptions.cs | 21 + ...ntCapabilitiesSamsungPayPaymentsOptions.cs | 21 + ...bilitiesSepaBankTransferPaymentsOptions.cs | 21 + ...antCapabilitiesSepaDebitPaymentsOptions.cs | 21 + ...erchantCapabilitiesSwishPaymentsOptions.cs | 21 + ...erchantCapabilitiesTwintPaymentsOptions.cs | 21 + ...pabilitiesUsBankTransferPaymentsOptions.cs | 21 + ...nMerchantCapabilitiesZipPaymentsOptions.cs | 21 + ...ionMerchantCardPaymentsDeclineOnOptions.cs | 32 + ...onfigurationMerchantCardPaymentsOptions.cs | 21 + ...countUpdateConfigurationMerchantOptions.cs | 76 ++ ...ationMerchantStatementDescriptorOptions.cs | 40 + ...dateConfigurationMerchantSupportOptions.cs | 47 + .../AccountUpdateConfigurationOptions.cs | 38 + ...entCapabilitiesBankAccountsLocalOptions.cs | 21 + ...ecipientCapabilitiesBankAccountsOptions.cs | 30 + ...ientCapabilitiesBankAccountsWireOptions.cs | 21 + ...rationRecipientCapabilitiesCardsOptions.cs | 21 + ...nfigurationRecipientCapabilitiesOptions.cs | 39 + ...cipientCapabilitiesStripeBalanceOptions.cs | 20 + ...tiesStripeBalanceStripeTransfersOptions.cs | 21 + ...ountUpdateConfigurationRecipientOptions.cs | 32 + .../Accounts/AccountUpdateDefaultsOptions.cs | 80 ++ ...ntUpdateDefaultsResponsibilitiesOptions.cs | 32 + ...estationsDirectorshipDeclarationOptions.cs | 40 + ...ccountUpdateIdentityAttestationsOptions.cs | 49 + ...AttestationsOwnershipDeclarationOptions.cs | 41 + ...ntityAttestationsPersonsProvidedOptions.cs | 55 + ...ttestationsTermsOfServiceAccountOptions.cs | 42 + ...entityAttestationsTermsOfServiceOptions.cs | 22 + ...tityBusinessDetailsAnnualRevenueOptions.cs | 61 ++ ...BankAccountOwnershipVerificationOptions.cs | 32 + ...ssDetailsDocumentsCompanyLicenseOptions.cs | 32 + ...tsCompanyMemorandumOfAssociationOptions.cs | 32 + ...ocumentsCompanyMinisterialDecreeOptions.cs | 32 + ...sCompanyRegistrationVerificationOptions.cs | 32 + ...ocumentsCompanyTaxIdVerificationOptions.cs | 32 + ...IdentityBusinessDetailsDocumentsOptions.cs | 338 ++++++ ...entsPrimaryVerificationFrontBackOptions.cs | 66 ++ ...ailsDocumentsPrimaryVerificationOptions.cs | 30 + ...ailsDocumentsProofOfRegistrationOptions.cs | 32 + ...oofOfUltimateBeneficialOwnershipOptions.cs | 32 + ...eIdentityBusinessDetailsIdNumberOptions.cs | 50 + ...ssDetailsMonthlyEstimatedRevenueOptions.cs | 20 + ...untUpdateIdentityBusinessDetailsOptions.cs | 570 ++++++++++ ...tyBusinessDetailsScriptAddressesOptions.cs | 90 ++ ...tyBusinessDetailsScriptNamesKanaOptions.cs | 51 + ...yBusinessDetailsScriptNamesKanjiOptions.cs | 51 + ...entityBusinessDetailsScriptNamesOptions.cs | 90 ++ ...ntityIndividualAdditionalAddressOptions.cs | 327 ++++++ ...IdentityIndividualAdditionalNameOptions.cs | 48 + ...ateIdentityIndividualDateOfBirthOptions.cs | 38 + ...ualDocumentsCompanyAuthorizationOptions.cs | 32 + ...pdateIdentityIndividualDocumentsOptions.cs | 120 +++ ...ntityIndividualDocumentsPassportOptions.cs | 32 + ...entsPrimaryVerificationFrontBackOptions.cs | 66 ++ ...dualDocumentsPrimaryVerificationOptions.cs | 30 + ...tsSecondaryVerificationFrontBackOptions.cs | 66 ++ ...alDocumentsSecondaryVerificationOptions.cs | 30 + ...eIdentityIndividualDocumentsVisaOptions.cs | 32 + ...UpdateIdentityIndividualIdNumberOptions.cs | 33 + .../AccountUpdateIdentityIndividualOptions.cs | 652 ++++++++++++ ...teIdentityIndividualRelationshipOptions.cs | 210 ++++ ...dentityIndividualScriptAddressesOptions.cs | 90 ++ ...dentityIndividualScriptNamesKanaOptions.cs | 90 ++ ...entityIndividualScriptNamesKanjiOptions.cs | 90 ++ ...ateIdentityIndividualScriptNamesOptions.cs | 90 ++ .../Accounts/AccountUpdateIdentityOptions.cs | 94 ++ .../V2/Core/Accounts/AccountUpdateOptions.cs | 92 ++ .../PersonCreateAdditionalAddressOptions.cs | 116 ++ .../PersonCreateAdditionalNameOptions.cs | 48 + ...eAdditionalTermsOfServiceAccountOptions.cs | 42 + ...onCreateAdditionalTermsOfServiceOptions.cs | 20 + .../Persons/PersonCreateDateOfBirthOptions.cs | 38 + ...ateDocumentsCompanyAuthorizationOptions.cs | 32 + .../Persons/PersonCreateDocumentsOptions.cs | 59 ++ .../PersonCreateDocumentsPassportOptions.cs | 32 + ...entsPrimaryVerificationFrontBackOptions.cs | 35 + ...eateDocumentsPrimaryVerificationOptions.cs | 30 + ...tsSecondaryVerificationFrontBackOptions.cs | 35 + ...teDocumentsSecondaryVerificationOptions.cs | 30 + .../PersonCreateDocumentsVisaOptions.cs | 32 + .../Persons/PersonCreateIdNumberOptions.cs | 33 + .../Accounts/Persons/PersonCreateOptions.cs | 209 ++++ .../PersonCreateRelationshipOptions.cs | 74 ++ .../PersonCreateScriptAddressesOptions.cs | 29 + .../PersonCreateScriptNamesKanaOptions.cs | 29 + .../PersonCreateScriptNamesKanjiOptions.cs | 29 + .../Persons/PersonCreateScriptNamesOptions.cs | 29 + .../Accounts/Persons/PersonDeleteOptions.cs | 7 + .../Core/Accounts/Persons/PersonGetOptions.cs | 7 + .../Accounts/Persons/PersonListOptions.cs | 7 + .../V2/Core/Accounts/Persons/PersonService.cs | 119 +++ .../PersonUpdateAdditionalAddressOptions.cs | 327 ++++++ .../PersonUpdateAdditionalNameOptions.cs | 48 + ...eAdditionalTermsOfServiceAccountOptions.cs | 42 + ...onUpdateAdditionalTermsOfServiceOptions.cs | 20 + .../Persons/PersonUpdateDateOfBirthOptions.cs | 38 + ...ateDocumentsCompanyAuthorizationOptions.cs | 32 + .../Persons/PersonUpdateDocumentsOptions.cs | 120 +++ .../PersonUpdateDocumentsPassportOptions.cs | 32 + ...entsPrimaryVerificationFrontBackOptions.cs | 66 ++ ...dateDocumentsPrimaryVerificationOptions.cs | 30 + ...tsSecondaryVerificationFrontBackOptions.cs | 66 ++ ...teDocumentsSecondaryVerificationOptions.cs | 30 + .../PersonUpdateDocumentsVisaOptions.cs | 32 + .../Persons/PersonUpdateIdNumberOptions.cs | 33 + .../Accounts/Persons/PersonUpdateOptions.cs | 270 +++++ .../PersonUpdateRelationshipOptions.cs | 74 ++ .../PersonUpdateScriptAddressesOptions.cs | 90 ++ .../PersonUpdateScriptNamesKanaOptions.cs | 90 ++ .../PersonUpdateScriptNamesKanjiOptions.cs | 90 ++ .../Persons/PersonUpdateScriptNamesOptions.cs | 90 ++ .../V2/Core/Events/EventListOptions.cs | 48 - src/Stripe.net/Services/V2/CoreService.cs | 4 + .../FinancialAccountGetOptions.cs | 7 + .../FinancialAccountListOptions.cs | 7 + .../FinancialAccountService.cs | 71 ++ .../FinancialAddressCreateOptions.cs | 56 + .../FinancialAddressGetOptions.cs | 23 + .../FinancialAddressListOptions.cs | 32 + .../FinancialAddressService.cs | 89 ++ .../InboundTransferCreateFromOptions.cs | 30 + .../InboundTransferCreateOptions.cs | 48 + .../InboundTransferCreateToOptions.cs | 29 + .../InboundTransferGetOptions.cs | 7 + .../InboundTransferListOptions.cs | 52 + .../InboundTransferService.cs | 87 ++ .../OutboundPaymentCancelOptions.cs | 7 + ...oundPaymentCreateDeliveryOptionsOptions.cs | 21 + .../OutboundPaymentCreateFromOptions.cs | 29 + .../OutboundPaymentCreateOptions.cs | 77 ++ ...ymentCreateRecipientNotificationOptions.cs | 23 + .../OutboundPaymentCreateToOptions.cs | 43 + .../OutboundPaymentGetOptions.cs | 7 + .../OutboundPaymentListOptions.cs | 73 ++ .../OutboundPaymentService.cs | 105 ++ .../OutboundTransferCancelOptions.cs | 7 + ...undTransferCreateDeliveryOptionsOptions.cs | 21 + .../OutboundTransferCreateFromOptions.cs | 29 + .../OutboundTransferCreateOptions.cs | 68 ++ .../OutboundTransferCreateToOptions.cs | 34 + .../OutboundTransferGetOptions.cs | 7 + .../OutboundTransferListOptions.cs | 64 ++ .../OutboundTransferService.cs | 105 ++ .../ReceivedCreditGetOptions.cs | 7 + .../ReceivedCreditListOptions.cs | 52 + .../ReceivedCredits/ReceivedCreditService.cs | 71 ++ .../ReceivedDebits/ReceivedDebitGetOptions.cs | 7 + .../ReceivedDebitListOptions.cs | 7 + .../ReceivedDebits/ReceivedDebitService.cs | 71 ++ .../Services/V2/MoneyManagementService.cs | 28 + .../Services/V2/TestHelperService.cs | 25 + .../FinancialAddressCreditOptions.cs | 41 + ...cialAddressGenerateMicrodepositsOptions.cs | 7 + .../FinancialAddressService.cs | 56 + src/Stripe.net/Services/V2Services.cs | 10 +- .../Services/GeneratedExamplesTest.cs | 999 +++++++++++++++--- 630 files changed, 30242 insertions(+), 182 deletions(-) create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/Account.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfiguration.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomer.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerAutomaticIndirectTax.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerAutomaticIndirectTaxLocation.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBilling.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBillingInvoice.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBillingInvoiceCustomField.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerBillingInvoiceRendering.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilities.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilitiesAutomaticIndirectTax.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerCapabilitiesAutomaticIndirectTaxStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerShipping.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationCustomerShippingAddress.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchant.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantBacsDebitPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantBranding.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilities.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAchDebitPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAchDebitPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAcssDebitPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAcssDebitPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAffirmPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAffirmPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAfterpayClearpayPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAlmaPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAlmaPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAmazonPayPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAmazonPayPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAuBecsDebitPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesAuBecsDebitPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBacsDebitPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBacsDebitPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBancontactPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBancontactPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBlikPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBlikPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBoletoPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesBoletoPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCardPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCardPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCartesBancairesPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCartesBancairesPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCashappPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesCashappPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesEpsPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesEpsPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesFpxPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesFpxPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGbBankTransferPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGbBankTransferPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGrabpayPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesGrabpayPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesIdealPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesIdealPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJcbPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJcbPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJpBankTransferPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesJpBankTransferPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKakaoPayPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKakaoPayPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKlarnaPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKlarnaPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKonbiniPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKonbiniPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKrCardPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesKrCardPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesLinkPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesLinkPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMobilepayPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMobilepayPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMultibancoPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMultibancoPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMxBankTransferPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesMxBankTransferPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesNaverPayPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesNaverPayPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesOxxoPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesOxxoPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesP24Payments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesP24PaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPayByBankPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPayByBankPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaycoPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaycoPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaynowPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPaynowPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPromptpayPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesPromptpayPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesRevolutPayPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesRevolutPayPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSamsungPayPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSamsungPayPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaBankTransferPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaBankTransferPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaDebitPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSepaDebitPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSwishPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesSwishPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesTwintPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesTwintPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesUsBankTransferPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesUsBankTransferPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesZipPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCapabilitiesZipPaymentsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCardPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantCardPaymentsDeclineOn.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantSepaDebitPayments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantStatementDescriptor.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantSupport.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationMerchantSupportAddress.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipient.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilities.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccounts.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsLocal.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsLocalStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsWire.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesBankAccountsWireStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesCards.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesCardsStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesStripeBalance.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesStripeBalanceStripeTransfers.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersStatusDetail.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountConfigurationRecipientDefaultOutboundDestination.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountDefaults.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountDefaultsResponsibilities.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentity.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestations.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsDirectorshipDeclaration.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsOwnershipDeclaration.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsPersonsProvided.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsTermsOfService.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityAttestationsTermsOfServiceAccount.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetails.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsAddress.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsAnnualRevenue.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocuments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsBankAccountOwnershipVerification.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyLicense.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociation.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyMinisterialDecree.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyRegistrationVerification.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsCompanyTaxIdVerification.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsPrimaryVerification.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBack.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsProofOfRegistration.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnership.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsIdNumber.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsMonthlyEstimatedRevenue.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptAddresses.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptAddressesKana.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptAddressesKanji.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptNames.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptNamesKana.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityBusinessDetailsScriptNamesKanji.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividual.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalAddress.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalName.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalTermsOfService.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAdditionalTermsOfServiceAccount.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualAddress.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDateOfBirth.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocuments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsCompanyAuthorization.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsPassport.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsPrimaryVerification.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsPrimaryVerificationFrontBack.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsSecondaryVerification.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsSecondaryVerificationFrontBack.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualDocumentsVisa.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualIdNumber.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualRelationship.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptAddresses.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptAddressesKana.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptAddressesKanji.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptNames.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptNamesKana.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountIdentityIndividualScriptNamesKanji.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirements.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntry.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryError.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpact.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsCapability.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsCapabilityDeadline.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsPayouts.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryImpactRestrictsPayoutsDeadline.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryMinimumDeadline.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryReference.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsEntryRequestedReason.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsSummary.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Accounts/AccountRequirementsSummaryMinimumDeadline.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/Person.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalAddress.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalName.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalTermsOfService.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonAdditionalTermsOfServiceAccount.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonAddress.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonDateOfBirth.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonDocuments.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsCompanyAuthorization.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsPassport.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsPrimaryVerification.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsPrimaryVerificationFrontBack.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsSecondaryVerification.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsSecondaryVerificationFrontBack.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonDocumentsVisa.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonIdNumber.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonRelationship.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonScriptAddresses.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonScriptAddressesKana.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonScriptAddressesKanji.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonScriptNames.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonScriptNamesKana.cs create mode 100644 src/Stripe.net/Entities/V2/Core/Persons/PersonScriptNamesKanji.cs create mode 100644 src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccount.cs create mode 100644 src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccountBalance.cs create mode 100644 src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccountOther.cs create mode 100644 src/Stripe.net/Entities/V2/FinancialAccounts/FinancialAccountStorage.cs create mode 100644 src/Stripe.net/Entities/V2/FinancialAddressCreditSimulations/FinancialAddressCreditSimulation.cs create mode 100644 src/Stripe.net/Entities/V2/FinancialAddressGeneratedMicrodeposits/FinancialAddressGeneratedMicrodeposits.cs create mode 100644 src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddress.cs create mode 100644 src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddressCredentials.cs create mode 100644 src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddressCredentialsGbBankAccount.cs create mode 100644 src/Stripe.net/Entities/V2/FinancialAddresses/FinancialAddressCredentialsUsBankAccount.cs create mode 100644 src/Stripe.net/Entities/V2/InboundTransfers/InboundTransfer.cs create mode 100644 src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferFrom.cs create mode 100644 src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferFromPaymentMethod.cs create mode 100644 src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTo.cs create mode 100644 src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistory.cs create mode 100644 src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitFailed.cs create mode 100644 src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitProcessing.cs create mode 100644 src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitQueued.cs create mode 100644 src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitReturned.cs create mode 100644 src/Stripe.net/Entities/V2/InboundTransfers/InboundTransferTransferHistoryBankDebitSucceeded.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundPayments/OutboundPayment.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentDeliveryOptions.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentFrom.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentRecipientNotification.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusDetails.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusDetailsFailed.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusDetailsReturned.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentStatusTransitions.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentTo.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundPayments/OutboundPaymentTraceId.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransfer.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferDeliveryOptions.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferFrom.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusDetails.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusDetailsFailed.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusDetailsReturned.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferStatusTransitions.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferTo.cs create mode 100644 src/Stripe.net/Entities/V2/OutboundTransfers/OutboundTransferTraceId.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCredit.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBalanceTransfer.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBankTransfer.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBankTransferGbBankAccount.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditBankTransferUsBankAccount.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditCardSpend.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditCardSpendDispute.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditCardSpendRefund.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusDetails.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusDetailsFailed.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusDetailsReturned.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedCredits/ReceivedCreditStatusTransitions.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebit.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitBankTransfer.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitBankTransferUsBankAccount.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitCardSpend.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitCardSpendAuthorization.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitCardSpendCardTransaction.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitStatusDetails.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitStatusDetailsFailed.cs create mode 100644 src/Stripe.net/Entities/V2/ReceivedDebits/ReceivedDebitStatusTransitions.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementFinancialAddressActivatedEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementFinancialAddressFailedEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementInboundTransferAvailableEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementInboundTransferAvailableEventData.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitFailedEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitProcessingEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitQueuedEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitReturnedEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementInboundTransferBankDebitSucceededEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementReceivedCreditAvailableEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementReceivedCreditAvailableEventData.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementReceivedCreditFailedEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementReceivedCreditReturnedEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementReceivedCreditSucceededEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementReceivedDebitCanceledEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementReceivedDebitFailedEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementReceivedDebitPendingEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementReceivedDebitSucceededEvent.cs create mode 100644 src/Stripe.net/Events/V2MoneyManagementReceivedDebitUpdatedEvent.cs create mode 100644 src/Stripe.net/Exceptions/V2/AlreadyCanceledException.cs create mode 100644 src/Stripe.net/Exceptions/V2/FeatureNotEnabledException.cs create mode 100644 src/Stripe.net/Exceptions/V2/FinancialAccountNotOpenException.cs create mode 100644 src/Stripe.net/Exceptions/V2/InsufficientFundsException.cs create mode 100644 src/Stripe.net/Exceptions/V2/NotCancelableException.cs create mode 100644 src/Stripe.net/Exceptions/V2/RecipientNotNotifiableException.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCloseOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerAutomaticIndirectTaxOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingInvoiceCustomFieldOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingInvoiceOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingInvoiceRenderingOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerBillingOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerCapabilitiesAutomaticIndirectTaxOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerCapabilitiesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationCustomerShippingOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantBacsDebitPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantBrandingOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAchDebitPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAcssDebitPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAffirmPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAlmaPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAmazonPayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesAuBecsDebitPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBacsDebitPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBancontactPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBlikPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesBoletoPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesCardPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesCartesBancairesPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesCashappPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesEpsPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesFpxPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesGbBankTransferPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesGrabpayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesIdealPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesJcbPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesJpBankTransferPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKakaoPayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKlarnaPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKonbiniPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesKrCardPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesLinkPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesMobilepayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesMultibancoPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesMxBankTransferPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesNaverPayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesOxxoPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesP24PaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPayByBankPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPaycoPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPaynowPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesPromptpayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesRevolutPayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSamsungPayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSepaBankTransferPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSepaDebitPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesSwishPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesTwintPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesUsBankTransferPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCapabilitiesZipPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCardPaymentsDeclineOnOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantCardPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantStatementDescriptorOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationMerchantSupportOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesBankAccountsLocalOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesBankAccountsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesBankAccountsWireOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesCardsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesStripeBalanceOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateConfigurationRecipientOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateDefaultsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateDefaultsResponsibilitiesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsDirectorshipDeclarationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsOwnershipDeclarationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsPersonsProvidedOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsTermsOfServiceAccountOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityAttestationsTermsOfServiceOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsAnnualRevenueOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsBankAccountOwnershipVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyLicenseOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyMinisterialDecreeOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyRegistrationVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsCompanyTaxIdVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBackOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsPrimaryVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsProofOfRegistrationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsIdNumberOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsMonthlyEstimatedRevenueOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptAddressesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptNamesKanaOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptNamesKanjiOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityBusinessDetailsScriptNamesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualAdditionalAddressOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualAdditionalNameOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDateOfBirthOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsCompanyAuthorizationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsPassportOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsPrimaryVerificationFrontBackOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsPrimaryVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsSecondaryVerificationFrontBackOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsSecondaryVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualDocumentsVisaOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualIdNumberOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualRelationshipOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptAddressesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptNamesKanaOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptNamesKanjiOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityIndividualScriptNamesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateIdentityOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountCreateOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountListOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountService.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerAutomaticIndirectTaxOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingInvoiceCustomFieldOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingInvoiceOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingInvoiceRenderingOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerBillingOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerCapabilitiesAutomaticIndirectTaxOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerCapabilitiesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationCustomerShippingOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantBacsDebitPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantBrandingOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAchDebitPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAcssDebitPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAffirmPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAfterpayClearpayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAlmaPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAmazonPayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesAuBecsDebitPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBacsDebitPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBancontactPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBlikPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesBoletoPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesCardPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesCartesBancairesPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesCashappPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesEpsPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesFpxPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesGbBankTransferPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesGrabpayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesIdealPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesJcbPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesJpBankTransferPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKakaoPayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKlarnaPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKonbiniPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesKrCardPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesLinkPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesMobilepayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesMultibancoPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesMxBankTransferPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesNaverPayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesOxxoPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesP24PaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPayByBankPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPaycoPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPaynowPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesPromptpayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesRevolutPayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSamsungPayPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSepaBankTransferPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSepaDebitPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesSwishPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesTwintPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesUsBankTransferPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCapabilitiesZipPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCardPaymentsDeclineOnOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantCardPaymentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantStatementDescriptorOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationMerchantSupportOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesBankAccountsLocalOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesBankAccountsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesBankAccountsWireOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesCardsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesStripeBalanceOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientCapabilitiesStripeBalanceStripeTransfersOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateConfigurationRecipientOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateDefaultsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateDefaultsResponsibilitiesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsDirectorshipDeclarationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsOwnershipDeclarationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsPersonsProvidedOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsTermsOfServiceAccountOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityAttestationsTermsOfServiceOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsAnnualRevenueOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsBankAccountOwnershipVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyLicenseOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyMemorandumOfAssociationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyMinisterialDecreeOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyRegistrationVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsCompanyTaxIdVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsPrimaryVerificationFrontBackOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsPrimaryVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsProofOfRegistrationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsDocumentsProofOfUltimateBeneficialOwnershipOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsIdNumberOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsMonthlyEstimatedRevenueOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptAddressesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptNamesKanaOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptNamesKanjiOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityBusinessDetailsScriptNamesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualAdditionalAddressOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualAdditionalNameOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDateOfBirthOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsCompanyAuthorizationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsPassportOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsPrimaryVerificationFrontBackOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsPrimaryVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsSecondaryVerificationFrontBackOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsSecondaryVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualDocumentsVisaOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualIdNumberOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualRelationshipOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptAddressesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptNamesKanaOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptNamesKanjiOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityIndividualScriptNamesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateIdentityOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/AccountUpdateOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalAddressOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalNameOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalTermsOfServiceAccountOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateAdditionalTermsOfServiceOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDateOfBirthOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsCompanyAuthorizationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsPassportOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsPrimaryVerificationFrontBackOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsPrimaryVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsSecondaryVerificationFrontBackOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsSecondaryVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateDocumentsVisaOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateIdNumberOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateRelationshipOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptAddressesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptNamesKanaOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptNamesKanjiOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonCreateScriptNamesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonDeleteOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonListOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonService.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalAddressOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalNameOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalTermsOfServiceAccountOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateAdditionalTermsOfServiceOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDateOfBirthOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsCompanyAuthorizationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsPassportOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsPrimaryVerificationFrontBackOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsPrimaryVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsSecondaryVerificationFrontBackOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsSecondaryVerificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateDocumentsVisaOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateIdNumberOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateRelationshipOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptAddressesOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptNamesKanaOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptNamesKanjiOptions.cs create mode 100644 src/Stripe.net/Services/V2/Core/Accounts/Persons/PersonUpdateScriptNamesOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/FinancialAccounts/FinancialAccountGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/FinancialAccounts/FinancialAccountListOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/FinancialAccounts/FinancialAccountService.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressCreateOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressListOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/FinancialAddresses/FinancialAddressService.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferCreateFromOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferCreateOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferCreateToOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferListOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/InboundTransfers/InboundTransferService.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCancelOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateDeliveryOptionsOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateFromOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateRecipientNotificationOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentCreateToOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentListOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundPayments/OutboundPaymentService.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCancelOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateDeliveryOptionsOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateFromOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferCreateToOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferListOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/OutboundTransfers/OutboundTransferService.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/ReceivedCredits/ReceivedCreditGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/ReceivedCredits/ReceivedCreditListOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/ReceivedCredits/ReceivedCreditService.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/ReceivedDebits/ReceivedDebitGetOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/ReceivedDebits/ReceivedDebitListOptions.cs create mode 100644 src/Stripe.net/Services/V2/MoneyManagement/ReceivedDebits/ReceivedDebitService.cs create mode 100644 src/Stripe.net/Services/V2/TestHelperService.cs create mode 100644 src/Stripe.net/Services/V2/TestHelpers/FinancialAddresses/FinancialAddressCreditOptions.cs create mode 100644 src/Stripe.net/Services/V2/TestHelpers/FinancialAddresses/FinancialAddressGenerateMicrodepositsOptions.cs create mode 100644 src/Stripe.net/Services/V2/TestHelpers/FinancialAddresses/FinancialAddressService.cs diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 178dae39fc..bb0fc7eab8 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1622 \ No newline at end of file +v1625 \ No newline at end of file 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/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/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/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/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/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 a766c6fb55..d589e01d8a 100644 --- a/src/Stripe.net/Infrastructure/Public/StripeException.cs +++ b/src/Stripe.net/Infrastructure/Public/StripeException.cs @@ -51,18 +51,42 @@ 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 "invalid_payout_method": - ret = Stripe.V2.InvalidPayoutMethodException.Parse(httpStatusCode, body); + 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; diff --git a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs index f45009276c..7f30bda77e 100644 --- a/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs +++ b/src/Stripe.net/Infrastructure/Public/StripeTypeRegistry.cs @@ -212,22 +212,39 @@ public static class StripeTypeRegistry new Dictionary { // V2ObjectsToTypes: The beginning of the section generated from our OpenAPI spec + { + "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 }); @@ -244,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/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/Events/EventListOptions.cs b/src/Stripe.net/Services/V2/Core/Events/EventListOptions.cs index dd0ab44300..49db479c1a 100644 --- a/src/Stripe.net/Services/V2/Core/Events/EventListOptions.cs +++ b/src/Stripe.net/Services/V2/Core/Events/EventListOptions.cs @@ -1,7 +1,6 @@ // 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; @@ -9,53 +8,6 @@ namespace Stripe.V2.Core public class EventListOptions : V2.ListOptions { - /// - /// Filter for events created after the specified timestamp. - /// - [JsonProperty("created_gt")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("created_gt")] -#endif - public DateTime? CreatedGt { get; set; } - - /// - /// Filter for events created at or after the specified timestamp. - /// - [JsonProperty("created_gte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("created_gte")] -#endif - public DateTime? CreatedGte { get; set; } - - /// - /// Filter for events created before the specified timestamp. - /// - [JsonProperty("created_lt")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("created_lt")] -#endif - public DateTime? CreatedLt { get; set; } - - /// - /// Filter for events created at or before the specified timestamp. - /// - [JsonProperty("created_lte")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("created_lte")] -#endif - public DateTime? CreatedLte { get; set; } - - /// - /// Filter events based on whether they were successfully delivered to all subscribed event - /// destinations. If false, events which are still pending or have failed all delivery - /// attempts to a event destination will be returned. - /// - [JsonProperty("delivery_success")] -#if NET6_0_OR_GREATER - [STJS.JsonPropertyName("delivery_success")] -#endif - public bool? DeliverySuccess { get; set; } - /// /// Primary object ID used to retrieve related events. /// diff --git a/src/Stripe.net/Services/V2/CoreService.cs b/src/Stripe.net/Services/V2/CoreService.cs index a9b3aa8c99..48e1f7c95a 100644 --- a/src/Stripe.net/Services/V2/CoreService.cs +++ b/src/Stripe.net/Services/V2/CoreService.cs @@ -7,6 +7,7 @@ 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; @@ -21,6 +22,9 @@ 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); 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/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/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 index 053a43240f..d555ec132f 100644 --- a/src/Stripe.net/Services/V2/MoneyManagementService.cs +++ b/src/Stripe.net/Services/V2/MoneyManagementService.cs @@ -7,9 +7,16 @@ namespace Stripe.V2 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) @@ -21,6 +28,21 @@ internal MoneyManagementService(IStripeClient 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); @@ -29,5 +51,11 @@ internal MoneyManagementService(IStripeClient client) 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 d1388ebb3a..e843a0b2f7 100644 --- a/src/Stripe.net/Services/V2Services.cs +++ b/src/Stripe.net/Services/V2Services.cs @@ -7,9 +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) @@ -21,13 +22,16 @@ internal V2Services(IStripeClient client) { } - public virtual V2.BillingService Billing => this.billing ??= new V2.BillingService( + public virtual V2.CoreService Core => this.core ??= new V2.CoreService( this.Requestor); - public virtual V2.CoreService Core => this.core ??= new V2.CoreService( + public virtual V2.BillingService Billing => this.billing ??= new V2.BillingService( this.Requestor); 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/StripeTests/Services/GeneratedExamplesTest.cs b/src/StripeTests/Services/GeneratedExamplesTest.cs index 249f649f89..2320f91f77 100644 --- a/src/StripeTests/Services/GeneratedExamplesTest.cs +++ b/src/StripeTests/Services/GeneratedExamplesTest.cs @@ -5964,101 +5964,161 @@ public void TestWebhookEndpointsPost2() } [Fact] - public void TestV2BillingMeterEventSessionPost() + public void TestV2CoreAccountPost() { this.StubRequest( HttpMethod.Post, - "/v2/billing/meter_event_session", + "/v2/core/accounts/id_123/close", (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(); + "{\"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.Billing.MeterEventSession; - service.Create(options); + var service = client.V2.Core.Accounts; + service.Close("id_123"); this.AssertRequest( HttpMethod.Post, - "/v2/billing/meter_event_session"); + "/v2/core/accounts/id_123/close"); } [Fact] - public void TestV2BillingMeterEventAdjustmentPost() + public void TestV2CoreAccountPost2() { this.StubRequest( HttpMethod.Post, - "/v2/billing/meter_event_adjustments", + "/v2/core/accounts", (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", - }; + "{\"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.Billing.MeterEventAdjustments; + var service = client.V2.Core.Accounts; service.Create(options); - this.AssertRequest( + 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/billing/meter_event_adjustments"); + "/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 TestV2BillingMeterEventStreamPost() + public void TestV2CoreAccountsPersonPost() { this.StubRequest( HttpMethod.Post, - "/v2/billing/meter_event_stream", + "/v2/core/accounts/account_id_123/persons", (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, - }, - }, - }; + "{\"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.Billing.MeterEventStream; - service.Create(options); + var service = client.V2.Core.Accounts.Persons; + service.Create("account_id_123", options); this.AssertRequest( HttpMethod.Post, - "/v2/billing/meter_event_stream"); + "/v2/core/accounts/account_id_123/persons"); } [Fact] - public void TestV2BillingMeterEventPost() + 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/billing/meter_events", + "/v2/core/accounts/account_id_123/persons/id_123", (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" }, - }, - }; + "{\"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.Billing.MeterEvents; - service.Create(options); - this.AssertRequest(HttpMethod.Post, "/v2/billing/meter_events"); + 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] @@ -6201,11 +6261,20 @@ public void TestV2CoreEventGet() 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}"); + "{\"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(); - this.AssertRequest(HttpMethod.Get, "/v2/core/events"); + Stripe.V2.StripeList events = service.List( + options); + this.AssertRequest( + HttpMethod.Get, + "/v2/core/events", + "object_id=object_id"); } [Fact] @@ -6377,145 +6446,552 @@ public void TestV2CoreVaultUsBankAccountPost3() } [Fact] - public void TestV2MoneyManagementOutboundSetupIntentPost() + public void TestV2BillingMeterEventSessionPost() { this.StubRequest( HttpMethod.Post, - "/v2/money_management/outbound_setup_intents/id_123/cancel", + "/v2/billing/meter_event_session", (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\"}"); + "{\"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.MoneyManagement.OutboundSetupIntents; - service.Cancel("id_123"); + var service = client.V2.Billing.MeterEventSession; + service.Create(options); this.AssertRequest( HttpMethod.Post, - "/v2/money_management/outbound_setup_intents/id_123/cancel"); + "/v2/billing/meter_event_session"); } [Fact] - public void TestV2MoneyManagementOutboundSetupIntentPost2() + public void TestV2BillingMeterEventAdjustmentPost() { this.StubRequest( HttpMethod.Post, - "/v2/money_management/outbound_setup_intents", + "/v2/billing/meter_event_adjustments", (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(); + "{\"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.MoneyManagement.OutboundSetupIntents; + var service = client.V2.Billing.MeterEventAdjustments; service.Create(options); this.AssertRequest( HttpMethod.Post, - "/v2/money_management/outbound_setup_intents"); + "/v2/billing/meter_event_adjustments"); } [Fact] - public void TestV2MoneyManagementOutboundSetupIntentGet() + public void TestV2BillingMeterEventStreamPost() { this.StubRequest( - HttpMethod.Get, - "/v2/money_management/outbound_setup_intents", + HttpMethod.Post, + "/v2/billing/meter_event_stream", (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 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.MoneyManagement.OutboundSetupIntents; - Stripe.V2.StripeList outboundSetupIntents = service - .List(); + var service = client.V2.Billing.MeterEventStream; + service.Create(options); this.AssertRequest( - HttpMethod.Get, - "/v2/money_management/outbound_setup_intents"); + HttpMethod.Post, + "/v2/billing/meter_event_stream"); } [Fact] - public void TestV2MoneyManagementOutboundSetupIntentGet2() + 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/outbound_setup_intents/id_123", + "/v2/money_management/financial_accounts", (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\"}"); + "{\"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.OutboundSetupIntents; - service.Get("id_123"); + var service = client.V2.MoneyManagement.FinancialAccounts; + Stripe.V2.StripeList financialAccounts = service + .List(); this.AssertRequest( HttpMethod.Get, - "/v2/money_management/outbound_setup_intents/id_123"); + "/v2/money_management/financial_accounts"); } [Fact] - public void TestV2MoneyManagementOutboundSetupIntentPost3() + public void TestV2MoneyManagementFinancialAccountGet2() { this.StubRequest( - HttpMethod.Post, - "/v2/money_management/outbound_setup_intents/id_123", + HttpMethod.Get, + "/v2/money_management/financial_accounts/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(); + "{\"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.OutboundSetupIntents; - service.Update("id_123", options); + var service = client.V2.MoneyManagement.FinancialAccounts; + service.Get("id_123"); this.AssertRequest( - HttpMethod.Post, - "/v2/money_management/outbound_setup_intents/id_123"); + HttpMethod.Get, + "/v2/money_management/financial_accounts/id_123"); } [Fact] - public void TestV2MoneyManagementPayoutMethodPost() + public void TestV2MoneyManagementFinancialAddressPost() { this.StubRequest( HttpMethod.Post, - "/v2/money_management/payout_methods/id_123/archive", + "/v2/money_management/financial_addresses", (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\"}}"); + "{\"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.PayoutMethods; - service.Archive("id_123"); + var service = client.V2.MoneyManagement.FinancialAddresses; + service.Create(options); this.AssertRequest( HttpMethod.Post, - "/v2/money_management/payout_methods/id_123/archive"); + "/v2/money_management/financial_addresses"); } [Fact] - public void TestV2MoneyManagementPayoutMethodGet() + public void TestV2MoneyManagementFinancialAddressGet() { this.StubRequest( HttpMethod.Get, - "/v2/money_management/payout_methods", + "/v2/money_management/financial_addresses", (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}"); + "{\"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.PayoutMethods; - Stripe.V2.StripeList payoutMethods = service + var service = client.V2.MoneyManagement.FinancialAddresses; + Stripe.V2.StripeList financialAddresses = service .List(); this.AssertRequest( HttpMethod.Get, - "/v2/money_management/payout_methods"); + "/v2/money_management/financial_addresses"); } [Fact] - public void TestV2MoneyManagementPayoutMethodGet2() + public void TestV2MoneyManagementFinancialAddressGet2() { this.StubRequest( HttpMethod.Get, - "/v2/money_management/payout_methods/id_123", + "/v2/money_management/financial_addresses/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\"}}"); + "{\"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.PayoutMethods; + var service = client.V2.MoneyManagement.FinancialAddresses; service.Get("id_123"); this.AssertRequest( HttpMethod.Get, - "/v2/money_management/payout_methods/id_123"); + "/v2/money_management/financial_addresses/id_123"); } [Fact] - public void TestV2MoneyManagementPayoutMethodPost2() + public void TestV2MoneyManagementInboundTransferPost() { this.StubRequest( HttpMethod.Post, - "/v2/money_management/payout_methods/id_123/unarchive", + "/v2/money_management/inbound_transfers", (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\"}}"); + "{\"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"); @@ -6543,6 +7019,109 @@ public void TestV2MoneyManagementPayoutMethodsBankAccountSpecGet() "/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() { @@ -6577,6 +7156,31 @@ public void TestTemporarySessionExpiredError() "/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() { @@ -6584,7 +7188,7 @@ public void TestBlockedByStripeError() HttpMethod.Post, "/v2/core/vault/us_bank_accounts", (HttpStatusCode)400, - "{\"error\":{\"type\":\"blocked_by_stripe\",\"code\":\"blocked_payout_method_bank_account\"}}"); + "{\"error\":{\"type\":\"blocked_by_stripe\",\"code\":\"inbound_transfer_not_allowed\"}}"); var exception = Assert.Throws( () => { @@ -6602,24 +7206,76 @@ public void TestBlockedByStripeError() } [Fact] - public void TestInvalidPayoutMethodError() + public void TestAlreadyCanceledError() { this.StubRequest( HttpMethod.Post, - "/v2/money_management/outbound_setup_intents", + "/v2/money_management/outbound_payments/id_123/cancel", (HttpStatusCode)400, - "{\"error\":{\"type\":\"invalid_payout_method\",\"code\":\"invalid_payout_method\"}}"); - var exception = Assert.Throws( + "{\"error\":{\"type\":\"already_canceled\",\"code\":\"outbound_payment_already_canceled\"}}"); + var exception = Assert.Throws( () => { - var options = new Stripe.V2.MoneyManagement.OutboundSetupIntentCreateOptions(); var client = new StripeClient(this.Requestor); - var service = client.V2.MoneyManagement.OutboundSetupIntents; + 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_setup_intents"); + "/v2/money_management/outbound_payments"); } [Fact] @@ -6629,7 +7285,7 @@ public void TestQuotaExceededError() HttpMethod.Post, "/v2/core/vault/us_bank_accounts", (HttpStatusCode)400, - "{\"error\":{\"type\":\"quota_exceeded\",\"code\":\"limit_payout_method_bank_account\"}}"); + "{\"error\":{\"type\":\"quota_exceeded\",\"code\":\"outbound_payment_recipient_amount_limit_exceeded\"}}"); var exception = Assert.Throws( () => { @@ -6646,6 +7302,93 @@ public void TestQuotaExceededError() "/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() { From 06e760e437f6fb879b4254959ff8717e7c3302c5 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Tue, 25 Mar 2025 23:09:17 +0000 Subject: [PATCH 36/36] Update generated code for v1626 --- OPENAPI_VERSION | 2 +- .../PaymentIntents/PaymentIntentPaymentMethodDataOptions.cs | 4 ++-- .../Services/PaymentMethods/PaymentMethodCreateOptions.cs | 4 ++-- .../SetupIntents/SetupIntentPaymentMethodDataOptions.cs | 4 ++-- .../ConfirmationTokenPaymentMethodDataOptions.cs | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index bb0fc7eab8..8d6382a9f6 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1625 \ No newline at end of file +v1626 \ No newline at end of file diff --git a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataOptions.cs b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataOptions.cs index 096e325903..3e3c1143f0 100644 --- a/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataOptions.cs +++ b/src/Stripe.net/Services/PaymentIntents/PaymentIntentPaymentMethodDataOptions.cs @@ -506,8 +506,8 @@ public class PaymentIntentPaymentMethodDataOptions : INestedOptions, IHasMetadat public PaymentIntentPaymentMethodDataSamsungPayOptions SamsungPay { get; set; } /// - /// If this is a Satispay PaymentMethod, this hash contains details about the Satispay - /// payment method. + /// If this is a satispay PaymentMethod, this hash contains details about the + /// satispay payment method. /// [JsonProperty("satispay")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/PaymentMethods/PaymentMethodCreateOptions.cs b/src/Stripe.net/Services/PaymentMethods/PaymentMethodCreateOptions.cs index 3fa257e8d7..ac27bb40b1 100644 --- a/src/Stripe.net/Services/PaymentMethods/PaymentMethodCreateOptions.cs +++ b/src/Stripe.net/Services/PaymentMethods/PaymentMethodCreateOptions.cs @@ -539,8 +539,8 @@ public class PaymentMethodCreateOptions : BaseOptions, IHasMetadata public PaymentMethodSamsungPayOptions SamsungPay { get; set; } /// - /// If this is a Satispay PaymentMethod, this hash contains details about the Satispay - /// payment method. + /// If this is a satispay PaymentMethod, this hash contains details about the + /// satispay payment method. /// [JsonProperty("satispay")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataOptions.cs b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataOptions.cs index 09f78ed285..edf1b4302d 100644 --- a/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataOptions.cs +++ b/src/Stripe.net/Services/SetupIntents/SetupIntentPaymentMethodDataOptions.cs @@ -506,8 +506,8 @@ public class SetupIntentPaymentMethodDataOptions : INestedOptions, IHasMetadata public SetupIntentPaymentMethodDataSamsungPayOptions SamsungPay { get; set; } /// - /// If this is a Satispay PaymentMethod, this hash contains details about the Satispay - /// payment method. + /// If this is a satispay PaymentMethod, this hash contains details about the + /// satispay payment method. /// [JsonProperty("satispay")] #if NET6_0_OR_GREATER diff --git a/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataOptions.cs b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataOptions.cs index ad587a71df..2ba9ca01ce 100644 --- a/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataOptions.cs +++ b/src/Stripe.net/Services/TestHelpers/ConfirmationTokens/ConfirmationTokenPaymentMethodDataOptions.cs @@ -506,8 +506,8 @@ public class ConfirmationTokenPaymentMethodDataOptions : INestedOptions, IHasMet public ConfirmationTokenPaymentMethodDataSamsungPayOptions SamsungPay { get; set; } /// - /// If this is a Satispay PaymentMethod, this hash contains details about the Satispay - /// payment method. + /// If this is a satispay PaymentMethod, this hash contains details about the + /// satispay payment method. /// [JsonProperty("satispay")] #if NET6_0_OR_GREATER