/* Options:
Date: 2024-11-07 07:34:57
SwiftVersion: 5.0
Version: 8.23
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://testapi.bokamera.se
//BaseClass:
//AddModelExtensions: True
//AddServiceStackTypes: True
IncludeTypes: StripeV1CreateCheckout.*
//ExcludeTypes:
//ExcludeGenericBaseTypes: False
//AddResponseStatus: False
//AddImplicitVersion:
//AddDescriptionAsComments: True
//InitializeCollections: True
//TreatTypesAsStrings:
//DefaultImports: Foundation,ServiceStack
*/
import Foundation
import ServiceStack
// @Route("/payment/stripe/v1/checkout", "POST")
public class StripeV1CreateCheckout : IReturn, ICompany, Codable
{
public typealias Return = StripeCheckoutQueryResponse
/**
* The company id.
*/
// @ApiMember(Description="The company id.", IsRequired=true)
public var companyId:String?
/**
* Country code for checkout
*/
// @ApiMember(Description="Country code for checkout", IsRequired=true)
public var countryCode:String
/**
* Articles (Could be Service, rebate code types, etc..
*/
// @ApiMember(Description="Articles (Could be Service, rebate code types, etc..", IsRequired=true)
public var articles:[ArticleToCreate] = []
/**
* An internal reference id (Could be booking, rebate code etc.)
*/
// @ApiMember(Description="An internal reference id (Could be booking, rebate code etc.)", IsRequired=true)
public var internalReferenceId:String
/**
* Optional to set your own confirmation url after payment completed.
*/
// @ApiMember(Description="Optional to set your own confirmation url after payment completed.")
public var confirmationUrl:String
/**
* 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.")
public var cancelUrl:String
/**
* 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)
public var uiMode:String
required public init(){}
}
public class StripeCheckoutQueryResponse : Codable
{
/**
* The checkout session id
*/
// @ApiMember(Description="The checkout session id")
public var number:String
/**
* The url for checkout module to be placed in a iframe
*/
// @ApiMember(Description="The url for checkout module to be placed in a iframe")
public var url:String
/**
* The checkout status
*/
// @ApiMember(Description="The checkout status")
public var status:String
/**
* Client secret to be used when initializing Stripe.js embedded checkout.
*/
// @ApiMember(Description="Client secret to be used when initializing Stripe.js embedded checkout.")
public var clientSecret:String
required public init(){}
}
public protocol ICompany
{
var companyId:String? { get set }
}