/* Options: Date: 2024-11-21 11:31:50 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: PaysonV2CreateCheckout.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } enum PaymentOrigin { HomePage, Embedded, Admin, Apps, HomePageNew, } enum Payson2CheckoutStatus { None, Created, FormsFilled, ReadyToPay, ProcessingPayment, ReadyToShip, Shipped, PaidToAccount, Canceled, Credited, Expired, Denied, } class PaysonCheckoutV2Response implements IConvertible { /** * The checkout id */ // @ApiMember(Description="The checkout id") String? Id; /** * The code snippet to for checkout module */ // @ApiMember(Description="The code snippet to for checkout module") String? Snippet; /** * The checkout status */ // @ApiMember(Description="The checkout status") Payson2CheckoutStatus? Status; PaysonCheckoutV2Response({this.Id,this.Snippet,this.Status}); PaysonCheckoutV2Response.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Snippet = json['Snippet']; Status = JsonConverters.fromJson(json['Status'],'Payson2CheckoutStatus',context!); return this; } Map toJson() => { 'Id': Id, 'Snippet': Snippet, 'Status': JsonConverters.toJson(Status,'Payson2CheckoutStatus',context!) }; getTypeName() => "PaysonCheckoutV2Response"; TypeContext? context = _ctx; } // @Route("/payment/payson/v2/checkout", "POST") class PaysonV2CreateCheckout implements IReturn, ICompany, IConvertible, IPost { /** * The company id. */ // @ApiMember(Description="The company id.", IsRequired=true) String? CompanyId; /** * The reference id. (Could be booking, could be rebate code etc.) */ // @ApiMember(Description="The reference id. (Could be booking, could be rebate code etc.)") String? BookingId; /** * The reference id. (Could be booking, could be rebate code etc.) */ // @ApiMember(Description="The reference id. (Could be booking, could be rebate code etc.)", IsRequired=true) String? InternalReferenceId; /** * Optional to set the checkout url. This url will be redirected to if payment is interupted for some reason. */ // @ApiMember(Description="Optional to set the checkout url. This url will be redirected to if payment is interupted for some reason.") Uri? CheckoutUrl; /** * Optional to set your own confirmation url after payment completed. */ // @ApiMember(Description="Optional to set your own confirmation url after payment completed.") Uri? ConfirmationUrl; /** * The payment origin id. HomePage = 0, Embedded = 1, Admin = 2, Apps = 3 */ // @ApiMember(Description="The payment origin id. HomePage = 0, Embedded = 1, Admin = 2, Apps = 3", IsRequired=true) PaymentOrigin? PaymentOrigin; /** * If you want to have another language (sv, fi, dk, no, en) than the default language in system settings, specify it here. Leave empty if default language should be used. */ // @ApiMember(Description="If you want to have another language (sv, fi, dk, no, en) than the default language in system settings, specify it here. Leave empty if default language should be used.", IsRequired=true) String? Language; /** * Country code for checkout */ // @ApiMember(Description="Country code for checkout", IsRequired=true) String? CountryCode; /** * Determins if it's a test call */ // @ApiMember(Description="Determins if it's a test call") bool? TestMode; /** * Articles (Could be Service, rebate code types, etc.. */ // @ApiMember(Description="Articles (Could be Service, rebate code types, etc..", IsRequired=true) List? Articles; PaysonV2CreateCheckout({this.CompanyId,this.BookingId,this.InternalReferenceId,this.CheckoutUrl,this.ConfirmationUrl,this.PaymentOrigin,this.Language,this.CountryCode,this.TestMode,this.Articles}); PaysonV2CreateCheckout.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; BookingId = json['BookingId']; InternalReferenceId = json['InternalReferenceId']; CheckoutUrl = JsonConverters.fromJson(json['CheckoutUrl'],'Uri',context!); ConfirmationUrl = JsonConverters.fromJson(json['ConfirmationUrl'],'Uri',context!); PaymentOrigin = JsonConverters.fromJson(json['PaymentOrigin'],'PaymentOrigin',context!); Language = json['Language']; CountryCode = json['CountryCode']; TestMode = json['TestMode']; Articles = JsonConverters.fromJson(json['Articles'],'List',context!); return this; } Map toJson() => { 'CompanyId': CompanyId, 'BookingId': BookingId, 'InternalReferenceId': InternalReferenceId, 'CheckoutUrl': JsonConverters.toJson(CheckoutUrl,'Uri',context!), 'ConfirmationUrl': JsonConverters.toJson(ConfirmationUrl,'Uri',context!), 'PaymentOrigin': JsonConverters.toJson(PaymentOrigin,'PaymentOrigin',context!), 'Language': Language, 'CountryCode': CountryCode, 'TestMode': TestMode, 'Articles': JsonConverters.toJson(Articles,'List',context!) }; createResponse() => PaysonCheckoutV2Response(); getResponseTypeName() => "PaysonCheckoutV2Response"; getTypeName() => "PaysonV2CreateCheckout"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'PaymentOrigin': TypeInfo(TypeOf.Enum, enumValues:PaymentOrigin.values), 'Payson2CheckoutStatus': TypeInfo(TypeOf.Enum, enumValues:Payson2CheckoutStatus.values), 'PaysonCheckoutV2Response': TypeInfo(TypeOf.Class, create:() => PaysonCheckoutV2Response()), 'PaysonV2CreateCheckout': TypeInfo(TypeOf.Class, create:() => PaysonV2CreateCheckout()), 'Uri': TypeInfo(TypeOf.Class, create:() => Uri()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ArticleToCreate': TypeInfo(TypeOf.Class, create:() => ArticleToCreate()), });