/* Options: Date: 2026-02-15 09:31:19 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: StripeV1CreateCheckout.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } class StripeCheckoutQueryResponse implements IConvertible { /** * The checkout session id */ // @ApiMember(Description="The checkout session id") String SessionId = ""; /** * The url for checkout module to be placed in a iframe */ // @ApiMember(Description="The url for checkout module to be placed in a iframe") String Url = ""; /** * The checkout status */ // @ApiMember(Description="The checkout status") String Status = ""; /** * Client secret to be used when initializing Stripe.js embedded checkout. */ // @ApiMember(Description="Client secret to be used when initializing Stripe.js embedded checkout.") String ClientSecret = ""; /** * (ID of the Customer) The ID of the customer for this Session. For Checkout Sessions in subscription mode or Checkout Sessions with customer_creation set as always in payment mode, Checkout will create a new customer object based on information provided during the payment flow unless an existing customer was provided when the Session was created. */ // @ApiMember(Description="(ID of the Customer) The ID of the customer for this Session. For Checkout Sessions in subscription mode or Checkout Sessions with customer_creation set as always in payment mode, Checkout will create a new customer object based on information provided during the payment flow unless an existing customer was provided when the Session was created.") String CustomerId = ""; /** * The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key. The client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret. Refer to our docs to accept a payment and learn about how client_secret should be handled. */ // @ApiMember(Description="The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key. The client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret. Refer to our docs to accept a payment and learn about how client_secret should be handled.") String PaymentIntentClientSecret = ""; String PaymentIntentId = ""; String StripeAccount = ""; StripeCheckoutQueryResponse({this.SessionId,this.Url,this.Status,this.ClientSecret,this.CustomerId,this.PaymentIntentClientSecret,this.PaymentIntentId,this.StripeAccount}); StripeCheckoutQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SessionId = json['SessionId']; Url = json['Url']; Status = json['Status']; ClientSecret = json['ClientSecret']; CustomerId = json['CustomerId']; PaymentIntentClientSecret = json['PaymentIntentClientSecret']; PaymentIntentId = json['PaymentIntentId']; StripeAccount = json['StripeAccount']; return this; } Map toJson() => { 'SessionId': SessionId, 'Url': Url, 'Status': Status, 'ClientSecret': ClientSecret, 'CustomerId': CustomerId, 'PaymentIntentClientSecret': PaymentIntentClientSecret, 'PaymentIntentId': PaymentIntentId, 'StripeAccount': StripeAccount }; getTypeName() => "StripeCheckoutQueryResponse"; TypeContext? context = _ctx; } // @Route("/payment/stripe/v1/checkout", "POST") class StripeV1CreateCheckout implements IReturn, ICompany, IConvertible, IPost { /** * The company id. */ // @ApiMember(Description="The company id.", IsRequired=true) String CompanyId = ""; /** * Country code for checkout */ // @ApiMember(Description="Country code for checkout", IsRequired=true) String CountryCode = ""; /** * Articles (Could be Service, rebate code types, etc.. */ // @ApiMember(Description="Articles (Could be Service, rebate code types, etc..", IsRequired=true) List Articles = []; /** * An internal reference id (Could be booking, rebate code etc.) */ // @ApiMember(Description="An internal reference id (Could be booking, rebate code etc.)", IsRequired=true) String InternalReferenceId = ""; /** * Optional to set your own confirmation url after payment completed. */ // @ApiMember(Description="Optional to set your own confirmation url after payment completed.") String ConfirmationUrl = ""; /** * 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. */ // @ApiMember(Description="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.") String CancelUrl = ""; /** * The UI mode of the Session. Defaults to hosted; One of: embedded, or hosted */ // @ApiMember(Description="The UI mode of the Session. Defaults to hosted; One of: embedded, or hosted", IsRequired=true) String UiMode = ""; StripeV1CreateCheckout({this.CompanyId,this.CountryCode,this.Articles,this.InternalReferenceId,this.ConfirmationUrl,this.CancelUrl,this.UiMode}); StripeV1CreateCheckout.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; CountryCode = json['CountryCode']; Articles = JsonConverters.fromJson(json['Articles'],'List',context!); InternalReferenceId = json['InternalReferenceId']; ConfirmationUrl = json['ConfirmationUrl']; CancelUrl = json['CancelUrl']; UiMode = json['UiMode']; return this; } Map toJson() => { 'CompanyId': CompanyId, 'CountryCode': CountryCode, 'Articles': JsonConverters.toJson(Articles,'List',context!), 'InternalReferenceId': InternalReferenceId, 'ConfirmationUrl': ConfirmationUrl, 'CancelUrl': CancelUrl, 'UiMode': UiMode }; createResponse() => StripeCheckoutQueryResponse(); getResponseTypeName() => "StripeCheckoutQueryResponse"; getTypeName() => "StripeV1CreateCheckout"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'StripeCheckoutQueryResponse': TypeInfo(TypeOf.Class, create:() => StripeCheckoutQueryResponse()), 'StripeV1CreateCheckout': TypeInfo(TypeOf.Class, create:() => StripeV1CreateCheckout()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ArticleToCreate': TypeInfo(TypeOf.Class, create:() => ArticleToCreate()), });