/* Options: Date: 2025-10-28 11:53:24 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://duengageapi.uat.scadsoftware.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetStripeSession.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class StripeEntity implements IStripeEntity { public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class StripeEntity_1 extends StripeEntity { public constructor(init?: Partial>) { super(init); (Object as any).assign(this, init); } } export class SessionAfterExpirationRecovery extends StripeEntity_1 { public AllowPromotionCodes: boolean; public Enabled: boolean; public ExpiresAt?: string; public Url: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionAfterExpiration extends StripeEntity_1 { public Recovery: SessionAfterExpirationRecovery; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionAutomaticTax extends StripeEntity_1 { public Enabled: boolean; public Status: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionConsent extends StripeEntity_1 { public Promotions: string; public TermsOfService: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionConsentCollection extends StripeEntity_1 { public Promotions: string; public TermsOfService: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionCustomFieldDropdownOption extends StripeEntity_1 { public Label: string; public Value: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionCustomFieldDropdown extends StripeEntity_1 { public Options: SessionCustomFieldDropdownOption[]; public Value: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionCustomFieldLabel extends StripeEntity_1 { public Custom: string; public Type: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionCustomFieldNumeric extends StripeEntity_1 { public Value: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionCustomFieldText extends StripeEntity_1 { public Value: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionCustomField extends StripeEntity_1 { public Dropdown: SessionCustomFieldDropdown; public Key: string; public Label: SessionCustomFieldLabel; public Numeric: SessionCustomFieldNumeric; public Optional: boolean; public Text: SessionCustomFieldText; public Type: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionCustomTextShippingAddress extends StripeEntity_1 { public Message: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionCustomTextSubmit extends StripeEntity_1 { public Message: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionCustomText extends StripeEntity_1 { public ShippingAddress: SessionCustomTextShippingAddress; public Submit: SessionCustomTextSubmit; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class Address extends StripeEntity_1
{ public City: string; public Country: string; public Line1: string; public Line2: string; public PostalCode: string; public State: string; public constructor(init?: Partial
) { super(init); (Object as any).assign(this, init); } } export class SessionCustomerDetailsTaxId extends StripeEntity_1 { public Type: string; public Value: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionCustomerDetails extends StripeEntity_1 { public Address: Address; public Email: string; public Name: string; public Phone: string; public TaxExempt: string; public TaxIds: SessionCustomerDetailsTaxId[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionInvoiceCreationInvoiceDataCustomField extends StripeEntity_1 { public Name: string; public Value: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionInvoiceCreationInvoiceDataRenderingOptions extends StripeEntity_1 { public AmountTaxDisplay: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionInvoiceCreationInvoiceData extends StripeEntity_1 implements IHasMetadata { public CustomFields: SessionInvoiceCreationInvoiceDataCustomField[]; public Description: string; public Footer: string; public Metadata: { [index:string]: string; }; public RenderingOptions: SessionInvoiceCreationInvoiceDataRenderingOptions; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionInvoiceCreation extends StripeEntity_1 { public Enabled: boolean; public InvoiceData: SessionInvoiceCreationInvoiceData; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class StripeList extends StripeEntity_1> implements IHasObject { public constructor(init?: Partial>) { super(init); (Object as any).assign(this, init); } } export class CouponAppliesTo extends StripeEntity_1 { public Products: string[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class CouponCurrencyOptions extends StripeEntity_1 { public AmountOff: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class Coupon extends StripeEntity_1 implements IHasId, IHasMetadata, IHasObject { public Id: string; public Object: string; public AmountOff?: number; public AppliesTo: CouponAppliesTo; public Created: string; public Currency: string; public CurrencyOptions: { [index:string]: CouponCurrencyOptions; }; public Deleted?: boolean; public Duration: string; public DurationInMonths?: number; public Livemode: boolean; public MaxRedemptions?: number; public Metadata: { [index:string]: string; }; public Name: string; public PercentOff?: number; public RedeemBy?: string; public TimesRedeemed: number; public Valid: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class Discount extends StripeEntity_1 implements IHasId, IHasObject { public Id: string; public Object: string; public CheckoutSession: string; public Coupon: Coupon; public Deleted?: boolean; public End?: string; public Invoice: string; public InvoiceItem: string; public Start?: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class LineItemDiscount extends StripeEntity_1 { public Amount: number; public Discount: Discount; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class PriceCurrencyOptionsCustomUnitAmount extends StripeEntity_1 { public Maximum?: number; public Minimum?: number; public Preset?: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class PriceCurrencyOptionsTier extends StripeEntity_1 { public FlatAmount?: number; public FlatAmountDecimal?: number; public UnitAmount?: number; public UnitAmountDecimal?: number; public UpTo?: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class PriceCurrencyOptions extends StripeEntity_1 { public CustomUnitAmount: PriceCurrencyOptionsCustomUnitAmount; public TaxBehavior: string; public Tiers: PriceCurrencyOptionsTier[]; public UnitAmount?: number; public UnitAmountDecimal?: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class PriceCustomUnitAmount extends StripeEntity_1 { public Maximum?: number; public Minimum?: number; public Preset?: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class PriceRecurring extends StripeEntity_1 { public AggregateUsage: string; public Interval: string; public IntervalCount: number; public TrialPeriodDays?: number; public UsageType: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class PriceTier extends StripeEntity_1 { public FlatAmount?: number; public FlatAmountDecimal?: number; public UnitAmount?: number; public UnitAmountDecimal?: number; public UpTo?: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class PriceTransformQuantity extends StripeEntity_1 { public DivideBy: number; public Round: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class Price extends StripeEntity_1 implements IHasId, IHasMetadata, IHasObject { public Id: string; public Object: string; public Active: boolean; public BillingScheme: string; public Created: string; public Currency: string; public CurrencyOptions: { [index:string]: PriceCurrencyOptions; }; public CustomUnitAmount: PriceCustomUnitAmount; public Deleted?: boolean; public Livemode: boolean; public LookupKey: string; public Metadata: { [index:string]: string; }; public Nickname: string; public Recurring: PriceRecurring; public TaxBehavior: string; public Tiers: PriceTier[]; public TiersMode: string; public TransformQuantity: PriceTransformQuantity; public Type: string; public UnitAmount?: number; public UnitAmountDecimal?: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class TaxRate extends StripeEntity_1 implements IHasId, IHasMetadata, IHasObject { public Id: string; public Object: string; public Active: boolean; public Country: string; public Created: string; public Description: string; public DisplayName: string; public Inclusive: boolean; public Jurisdiction: string; public Livemode: boolean; public Metadata: { [index:string]: string; }; public Percentage: number; public State: string; public TaxType: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class LineItemTax extends StripeEntity_1 { public Amount: number; public Rate: TaxRate; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class LineItem extends StripeEntity_1 implements IHasId, IHasObject { public Id: string; public Object: string; public AmountDiscount: number; public AmountSubtotal: number; public AmountTax: number; public AmountTotal: number; public Currency: string; public Deleted?: boolean; public Description: string; public Discounts: LineItemDiscount[]; public Price: Price; public Quantity?: number; public Taxes: LineItemTax[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsAcssDebitMandateOptions extends StripeEntity_1 { public CustomMandateUrl: string; public DefaultFor: string[]; public IntervalDescription: string; public PaymentSchedule: string; public TransactionType: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsAcssDebit extends StripeEntity_1 { public Currency: string; public MandateOptions: SessionPaymentMethodOptionsAcssDebitMandateOptions; public SetupFutureUsage: string; public VerificationMethod: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsAffirm extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsAfterpayClearpay extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsAlipay extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsAuBecsDebit extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsBacsDebit extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsBancontact extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsBoleto extends StripeEntity_1 { public ExpiresAfterDays: number; public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsCardInstallments extends StripeEntity_1 { public Enabled: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsCard extends StripeEntity_1 { public Installments: SessionPaymentMethodOptionsCardInstallments; public SetupFutureUsage: string; public StatementDescriptorSuffixKana: string; public StatementDescriptorSuffixKanji: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer extends StripeEntity_1 { public Country: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsCustomerBalanceBankTransfer extends StripeEntity_1 { public EuBankTransfer: SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer; public RequestedAddressTypes: string[]; public Type: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsCustomerBalance extends StripeEntity_1 { public BankTransfer: SessionPaymentMethodOptionsCustomerBalanceBankTransfer; public FundingType: string; public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsEps extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsFpx extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsGiropay extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsGrabpay extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsIdeal extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsKlarna extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsKonbini extends StripeEntity_1 { public ExpiresAfterDays?: number; public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsOxxo extends StripeEntity_1 { public ExpiresAfterDays: number; public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsP24 extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsPaynow extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsPix extends StripeEntity_1 { public ExpiresAfterSeconds?: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsSepaDebit extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsSofort extends StripeEntity_1 { public SetupFutureUsage: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsUsBankAccountFinancialConnections extends StripeEntity_1 { public Permissions: string[]; public ReturnUrl: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptionsUsBankAccount extends StripeEntity_1 { public FinancialConnections: SessionPaymentMethodOptionsUsBankAccountFinancialConnections; public SetupFutureUsage: string; public VerificationMethod: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPaymentMethodOptions extends StripeEntity_1 { public AcssDebit: SessionPaymentMethodOptionsAcssDebit; public Affirm: SessionPaymentMethodOptionsAffirm; public AfterpayClearpay: SessionPaymentMethodOptionsAfterpayClearpay; public Alipay: SessionPaymentMethodOptionsAlipay; public AuBecsDebit: SessionPaymentMethodOptionsAuBecsDebit; public BacsDebit: SessionPaymentMethodOptionsBacsDebit; public Bancontact: SessionPaymentMethodOptionsBancontact; public Boleto: SessionPaymentMethodOptionsBoleto; public Card: SessionPaymentMethodOptionsCard; public CustomerBalance: SessionPaymentMethodOptionsCustomerBalance; public Eps: SessionPaymentMethodOptionsEps; public Fpx: SessionPaymentMethodOptionsFpx; public Giropay: SessionPaymentMethodOptionsGiropay; public Grabpay: SessionPaymentMethodOptionsGrabpay; public Ideal: SessionPaymentMethodOptionsIdeal; public Klarna: SessionPaymentMethodOptionsKlarna; public Konbini: SessionPaymentMethodOptionsKonbini; public Oxxo: SessionPaymentMethodOptionsOxxo; public P24: SessionPaymentMethodOptionsP24; public Paynow: SessionPaymentMethodOptionsPaynow; public Pix: SessionPaymentMethodOptionsPix; public SepaDebit: SessionPaymentMethodOptionsSepaDebit; public Sofort: SessionPaymentMethodOptionsSofort; public UsBankAccount: SessionPaymentMethodOptionsUsBankAccount; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionPhoneNumberCollection extends StripeEntity_1 { public Enabled: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionShippingAddressCollection extends StripeEntity_1 { public AllowedCountries: string[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionShippingCostTax extends StripeEntity_1 { public Amount: number; public Rate: TaxRate; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionShippingCost extends StripeEntity_1 { public AmountSubtotal: number; public AmountTax: number; public AmountTotal: number; public Taxes: SessionShippingCostTax[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionShippingDetails extends StripeEntity_1 { public Address: Address; public Carrier: string; public Name: string; public Phone: string; public TrackingNumber: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionShippingOption extends StripeEntity_1 { public ShippingAmount: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionTaxIdCollection extends StripeEntity_1 { public Enabled: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionTotalDetailsBreakdownDiscount extends StripeEntity_1 { public Amount: number; public Discount: Discount; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionTotalDetailsBreakdownTax extends StripeEntity_1 { public Amount: number; public Rate: TaxRate; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionTotalDetailsBreakdown extends StripeEntity_1 { public Discounts: SessionTotalDetailsBreakdownDiscount[]; public Taxes: SessionTotalDetailsBreakdownTax[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SessionTotalDetails extends StripeEntity_1 { public AmountDiscount: number; public AmountShipping?: number; public AmountTax: number; public Breakdown: SessionTotalDetailsBreakdown; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class StripeResponseBase { public StatusCode: HttpStatusCode; public Headers: HttpResponseHeaders; public Date?: string; public IdempotencyKey: string; public RequestId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class StripeResponse extends StripeResponseBase { public Content: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export interface IStripeEntity { StripeResponse: StripeResponse; } export interface IHasId { Id: string; } export interface IHasMetadata { Metadata: { [index:string]: string; }; } export interface IHasObject { Object: string; } export class Session extends StripeEntity_1 implements IHasId, IHasMetadata, IHasObject { public Id: string; public Object: string; public AfterExpiration: SessionAfterExpiration; public AllowPromotionCodes?: boolean; public AmountSubtotal?: number; public AmountTotal?: number; public AutomaticTax: SessionAutomaticTax; public BillingAddressCollection: string; public CancelUrl: string; public ClientReferenceId: string; public Consent: SessionConsent; public ConsentCollection: SessionConsentCollection; public Created: string; public Currency: string; public CustomFields: SessionCustomField[]; public CustomText: SessionCustomText; public CustomerCreation: string; public CustomerDetails: SessionCustomerDetails; public CustomerEmail: string; public ExpiresAt: string; public InvoiceCreation: SessionInvoiceCreation; public LineItems: StripeList; public Livemode: boolean; public Locale: string; public Metadata: { [index:string]: string; }; public Mode: string; public PaymentMethodCollection: string; public PaymentMethodOptions: SessionPaymentMethodOptions; public PaymentMethodTypes: string[]; public PaymentStatus: string; public PhoneNumberCollection: SessionPhoneNumberCollection; public RecoveredFrom: string; public ShippingAddressCollection: SessionShippingAddressCollection; public ShippingCost: SessionShippingCost; public ShippingDetails: SessionShippingDetails; public ShippingOptions: SessionShippingOption[]; public Status: string; public SubmitType: string; public SuccessUrl: string; public TaxIdCollection: SessionTaxIdCollection; public TotalDetails: SessionTotalDetails; public Url: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @Route("/stripe-session/{Id}") export class GetStripeSession implements IReturn { public Id: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'GetStripeSession'; } public getMethod() { return 'GET'; } public createResponse() { return new Session(); } }