digitaluapi

<back to all web services

GetStripeSession

The following routes are available for this service:
All Verbs/stripe-session/{Id}
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StripeEntity(IStripeEntity):
    pass


T = TypeVar('T')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StripeEntity1(Generic[T], StripeEntity):
    pass


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionAfterExpirationRecovery(StripeEntity1["SessionAfterExpirationRecovery"]):
    allow_promotion_codes: bool = False
    enabled: bool = False
    expires_at: Optional[datetime.datetime] = None
    url: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionAfterExpiration(StripeEntity1["SessionAfterExpiration"]):
    recovery: Optional[SessionAfterExpirationRecovery] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionAutomaticTax(StripeEntity1["SessionAutomaticTax"]):
    enabled: bool = False
    status: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionConsent(StripeEntity1["SessionConsent"]):
    promotions: Optional[str] = None
    terms_of_service: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionConsentCollection(StripeEntity1["SessionConsentCollection"]):
    promotions: Optional[str] = None
    terms_of_service: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldDropdownOption(StripeEntity1["SessionCustomFieldDropdownOption"]):
    label: Optional[str] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldDropdown(StripeEntity1["SessionCustomFieldDropdown"]):
    options: Optional[List[SessionCustomFieldDropdownOption]] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldLabel(StripeEntity1["SessionCustomFieldLabel"]):
    custom: Optional[str] = None
    type: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldNumeric(StripeEntity1["SessionCustomFieldNumeric"]):
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomFieldText(StripeEntity1["SessionCustomFieldText"]):
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomField(StripeEntity1["SessionCustomField"]):
    dropdown: Optional[SessionCustomFieldDropdown] = None
    key: Optional[str] = None
    label: Optional[SessionCustomFieldLabel] = None
    numeric: Optional[SessionCustomFieldNumeric] = None
    optional: bool = False
    text: Optional[SessionCustomFieldText] = None
    type: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomTextShippingAddress(StripeEntity1["SessionCustomTextShippingAddress"]):
    message: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomTextSubmit(StripeEntity1["SessionCustomTextSubmit"]):
    message: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomText(StripeEntity1["SessionCustomText"]):
    shipping_address: Optional[SessionCustomTextShippingAddress] = None
    submit: Optional[SessionCustomTextSubmit] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Address(StripeEntity1["Address"]):
    city: Optional[str] = None
    country: Optional[str] = None
    line1: Optional[str] = None
    line2: Optional[str] = None
    postal_code: Optional[str] = None
    state: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomerDetailsTaxId(StripeEntity1["SessionCustomerDetailsTaxId"]):
    type: Optional[str] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionCustomerDetails(StripeEntity1["SessionCustomerDetails"]):
    address: Optional[Address] = None
    email: Optional[str] = None
    name: Optional[str] = None
    phone: Optional[str] = None
    tax_exempt: Optional[str] = None
    tax_ids: Optional[List[SessionCustomerDetailsTaxId]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreationInvoiceDataCustomField(StripeEntity1["SessionInvoiceCreationInvoiceDataCustomField"]):
    name: Optional[str] = None
    value: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreationInvoiceDataRenderingOptions(StripeEntity1["SessionInvoiceCreationInvoiceDataRenderingOptions"]):
    amount_tax_display: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreationInvoiceData(StripeEntity1["SessionInvoiceCreationInvoiceData"], IHasMetadata):
    custom_fields: Optional[List[SessionInvoiceCreationInvoiceDataCustomField]] = None
    description: Optional[str] = None
    footer: Optional[str] = None
    metadata: Optional[Dict[str, str]] = None
    rendering_options: Optional[SessionInvoiceCreationInvoiceDataRenderingOptions] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionInvoiceCreation(StripeEntity1["SessionInvoiceCreation"]):
    enabled: bool = False
    invoice_data: Optional[SessionInvoiceCreationInvoiceData] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CouponAppliesTo(StripeEntity1["CouponAppliesTo"]):
    products: Optional[List[str]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CouponCurrencyOptions(StripeEntity1["CouponCurrencyOptions"]):
    amount_off: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Coupon(StripeEntity1["Coupon"], IHasId, IHasMetadata, IHasObject):
    id: Optional[str] = None
    object: Optional[str] = None
    amount_off: Optional[int] = None
    applies_to: Optional[CouponAppliesTo] = None
    created: datetime.datetime = datetime.datetime(1, 1, 1)
    currency: Optional[str] = None
    currency_options: Optional[Dict[str, CouponCurrencyOptions]] = None
    deleted: Optional[bool] = None
    duration: Optional[str] = None
    duration_in_months: Optional[int] = None
    livemode: bool = False
    max_redemptions: Optional[int] = None
    metadata: Optional[Dict[str, str]] = None
    name: Optional[str] = None
    percent_off: Optional[Decimal] = None
    redeem_by: Optional[datetime.datetime] = None
    times_redeemed: int = 0
    valid: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Discount(StripeEntity1["Discount"], IHasId, IHasObject):
    id: Optional[str] = None
    object: Optional[str] = None
    checkout_session: Optional[str] = None
    coupon: Optional[Coupon] = None
    deleted: Optional[bool] = None
    end: Optional[datetime.datetime] = None
    invoice: Optional[str] = None
    invoice_item: Optional[str] = None
    start: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LineItemDiscount(StripeEntity1["LineItemDiscount"]):
    amount: int = 0
    discount: Optional[Discount] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceCurrencyOptionsCustomUnitAmount(StripeEntity1["PriceCurrencyOptionsCustomUnitAmount"]):
    maximum: Optional[int] = None
    minimum: Optional[int] = None
    preset: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceCurrencyOptionsTier(StripeEntity1["PriceCurrencyOptionsTier"]):
    flat_amount: Optional[int] = None
    flat_amount_decimal: Optional[Decimal] = None
    unit_amount: Optional[int] = None
    unit_amount_decimal: Optional[Decimal] = None
    up_to: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceCurrencyOptions(StripeEntity1["PriceCurrencyOptions"]):
    custom_unit_amount: Optional[PriceCurrencyOptionsCustomUnitAmount] = None
    tax_behavior: Optional[str] = None
    tiers: Optional[List[PriceCurrencyOptionsTier]] = None
    unit_amount: Optional[int] = None
    unit_amount_decimal: Optional[Decimal] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceCustomUnitAmount(StripeEntity1["PriceCustomUnitAmount"]):
    maximum: Optional[int] = None
    minimum: Optional[int] = None
    preset: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceRecurring(StripeEntity1["PriceRecurring"]):
    aggregate_usage: Optional[str] = None
    interval: Optional[str] = None
    interval_count: int = 0
    trial_period_days: Optional[int] = None
    usage_type: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceTier(StripeEntity1["PriceTier"]):
    flat_amount: Optional[int] = None
    flat_amount_decimal: Optional[Decimal] = None
    unit_amount: Optional[int] = None
    unit_amount_decimal: Optional[Decimal] = None
    up_to: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PriceTransformQuantity(StripeEntity1["PriceTransformQuantity"]):
    divide_by: int = 0
    round: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Price(StripeEntity1["Price"], IHasId, IHasMetadata, IHasObject):
    id: Optional[str] = None
    object: Optional[str] = None
    active: bool = False
    billing_scheme: Optional[str] = None
    created: datetime.datetime = datetime.datetime(1, 1, 1)
    currency: Optional[str] = None
    currency_options: Optional[Dict[str, PriceCurrencyOptions]] = None
    custom_unit_amount: Optional[PriceCustomUnitAmount] = None
    deleted: Optional[bool] = None
    livemode: bool = False
    lookup_key: Optional[str] = None
    metadata: Optional[Dict[str, str]] = None
    nickname: Optional[str] = None
    recurring: Optional[PriceRecurring] = None
    tax_behavior: Optional[str] = None
    tiers: Optional[List[PriceTier]] = None
    tiers_mode: Optional[str] = None
    transform_quantity: Optional[PriceTransformQuantity] = None
    type: Optional[str] = None
    unit_amount: Optional[int] = None
    unit_amount_decimal: Optional[Decimal] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TaxRate(StripeEntity1["TaxRate"], IHasId, IHasMetadata, IHasObject):
    id: Optional[str] = None
    object: Optional[str] = None
    active: bool = False
    country: Optional[str] = None
    created: datetime.datetime = datetime.datetime(1, 1, 1)
    description: Optional[str] = None
    display_name: Optional[str] = None
    inclusive: bool = False
    jurisdiction: Optional[str] = None
    livemode: bool = False
    metadata: Optional[Dict[str, str]] = None
    percentage: Decimal = decimal.Decimal(0)
    state: Optional[str] = None
    tax_type: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LineItemTax(StripeEntity1["LineItemTax"]):
    amount: int = 0
    rate: Optional[TaxRate] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LineItem(StripeEntity1["LineItem"], IHasId, IHasObject):
    id: Optional[str] = None
    object: Optional[str] = None
    amount_discount: int = 0
    amount_subtotal: int = 0
    amount_tax: int = 0
    amount_total: int = 0
    currency: Optional[str] = None
    deleted: Optional[bool] = None
    description: Optional[str] = None
    discounts: Optional[List[LineItemDiscount]] = None
    price: Optional[Price] = None
    quantity: Optional[int] = None
    taxes: Optional[List[LineItemTax]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAcssDebitMandateOptions(StripeEntity1["SessionPaymentMethodOptionsAcssDebitMandateOptions"]):
    custom_mandate_url: Optional[str] = None
    default_for: Optional[List[str]] = None
    interval_description: Optional[str] = None
    payment_schedule: Optional[str] = None
    transaction_type: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAcssDebit(StripeEntity1["SessionPaymentMethodOptionsAcssDebit"]):
    currency: Optional[str] = None
    mandate_options: Optional[SessionPaymentMethodOptionsAcssDebitMandateOptions] = None
    setup_future_usage: Optional[str] = None
    verification_method: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAffirm(StripeEntity1["SessionPaymentMethodOptionsAffirm"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAfterpayClearpay(StripeEntity1["SessionPaymentMethodOptionsAfterpayClearpay"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAlipay(StripeEntity1["SessionPaymentMethodOptionsAlipay"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsAuBecsDebit(StripeEntity1["SessionPaymentMethodOptionsAuBecsDebit"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsBacsDebit(StripeEntity1["SessionPaymentMethodOptionsBacsDebit"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsBancontact(StripeEntity1["SessionPaymentMethodOptionsBancontact"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsBoleto(StripeEntity1["SessionPaymentMethodOptionsBoleto"]):
    expires_after_days: int = 0
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCardInstallments(StripeEntity1["SessionPaymentMethodOptionsCardInstallments"]):
    enabled: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCard(StripeEntity1["SessionPaymentMethodOptionsCard"]):
    installments: Optional[SessionPaymentMethodOptionsCardInstallments] = None
    setup_future_usage: Optional[str] = None
    statement_descriptor_suffix_kana: Optional[str] = None
    statement_descriptor_suffix_kanji: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer(StripeEntity1["SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer"]):
    country: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCustomerBalanceBankTransfer(StripeEntity1["SessionPaymentMethodOptionsCustomerBalanceBankTransfer"]):
    eu_bank_transfer: Optional[SessionPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer] = None
    requested_address_types: Optional[List[str]] = None
    type: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsCustomerBalance(StripeEntity1["SessionPaymentMethodOptionsCustomerBalance"]):
    bank_transfer: Optional[SessionPaymentMethodOptionsCustomerBalanceBankTransfer] = None
    funding_type: Optional[str] = None
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsEps(StripeEntity1["SessionPaymentMethodOptionsEps"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsFpx(StripeEntity1["SessionPaymentMethodOptionsFpx"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsGiropay(StripeEntity1["SessionPaymentMethodOptionsGiropay"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsGrabpay(StripeEntity1["SessionPaymentMethodOptionsGrabpay"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsIdeal(StripeEntity1["SessionPaymentMethodOptionsIdeal"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsKlarna(StripeEntity1["SessionPaymentMethodOptionsKlarna"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsKonbini(StripeEntity1["SessionPaymentMethodOptionsKonbini"]):
    expires_after_days: Optional[int] = None
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsOxxo(StripeEntity1["SessionPaymentMethodOptionsOxxo"]):
    expires_after_days: int = 0
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsP24(StripeEntity1["SessionPaymentMethodOptionsP24"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsPaynow(StripeEntity1["SessionPaymentMethodOptionsPaynow"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsPix(StripeEntity1["SessionPaymentMethodOptionsPix"]):
    expires_after_seconds: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsSepaDebit(StripeEntity1["SessionPaymentMethodOptionsSepaDebit"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsSofort(StripeEntity1["SessionPaymentMethodOptionsSofort"]):
    setup_future_usage: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsUsBankAccountFinancialConnections(StripeEntity1["SessionPaymentMethodOptionsUsBankAccountFinancialConnections"]):
    permissions: Optional[List[str]] = None
    return_url: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptionsUsBankAccount(StripeEntity1["SessionPaymentMethodOptionsUsBankAccount"]):
    financial_connections: Optional[SessionPaymentMethodOptionsUsBankAccountFinancialConnections] = None
    setup_future_usage: Optional[str] = None
    verification_method: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPaymentMethodOptions(StripeEntity1["SessionPaymentMethodOptions"]):
    acss_debit: Optional[SessionPaymentMethodOptionsAcssDebit] = None
    affirm: Optional[SessionPaymentMethodOptionsAffirm] = None
    afterpay_clearpay: Optional[SessionPaymentMethodOptionsAfterpayClearpay] = None
    alipay: Optional[SessionPaymentMethodOptionsAlipay] = None
    au_becs_debit: Optional[SessionPaymentMethodOptionsAuBecsDebit] = None
    bacs_debit: Optional[SessionPaymentMethodOptionsBacsDebit] = None
    bancontact: Optional[SessionPaymentMethodOptionsBancontact] = None
    boleto: Optional[SessionPaymentMethodOptionsBoleto] = None
    card: Optional[SessionPaymentMethodOptionsCard] = None
    customer_balance: Optional[SessionPaymentMethodOptionsCustomerBalance] = None
    eps: Optional[SessionPaymentMethodOptionsEps] = None
    fpx: Optional[SessionPaymentMethodOptionsFpx] = None
    giropay: Optional[SessionPaymentMethodOptionsGiropay] = None
    grabpay: Optional[SessionPaymentMethodOptionsGrabpay] = None
    ideal: Optional[SessionPaymentMethodOptionsIdeal] = None
    klarna: Optional[SessionPaymentMethodOptionsKlarna] = None
    konbini: Optional[SessionPaymentMethodOptionsKonbini] = None
    oxxo: Optional[SessionPaymentMethodOptionsOxxo] = None
    p24: Optional[SessionPaymentMethodOptionsP24] = None
    paynow: Optional[SessionPaymentMethodOptionsPaynow] = None
    pix: Optional[SessionPaymentMethodOptionsPix] = None
    sepa_debit: Optional[SessionPaymentMethodOptionsSepaDebit] = None
    sofort: Optional[SessionPaymentMethodOptionsSofort] = None
    us_bank_account: Optional[SessionPaymentMethodOptionsUsBankAccount] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionPhoneNumberCollection(StripeEntity1["SessionPhoneNumberCollection"]):
    enabled: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingAddressCollection(StripeEntity1["SessionShippingAddressCollection"]):
    allowed_countries: Optional[List[str]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingCostTax(StripeEntity1["SessionShippingCostTax"]):
    amount: int = 0
    rate: Optional[TaxRate] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingCost(StripeEntity1["SessionShippingCost"]):
    amount_subtotal: int = 0
    amount_tax: int = 0
    amount_total: int = 0
    taxes: Optional[List[SessionShippingCostTax]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingDetails(StripeEntity1["SessionShippingDetails"]):
    address: Optional[Address] = None
    carrier: Optional[str] = None
    name: Optional[str] = None
    phone: Optional[str] = None
    tracking_number: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionShippingOption(StripeEntity1["SessionShippingOption"]):
    shipping_amount: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionTaxIdCollection(StripeEntity1["SessionTaxIdCollection"]):
    enabled: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionTotalDetailsBreakdownDiscount(StripeEntity1["SessionTotalDetailsBreakdownDiscount"]):
    amount: int = 0
    discount: Optional[Discount] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionTotalDetailsBreakdownTax(StripeEntity1["SessionTotalDetailsBreakdownTax"]):
    amount: int = 0
    rate: Optional[TaxRate] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionTotalDetailsBreakdown(StripeEntity1["SessionTotalDetailsBreakdown"]):
    discounts: Optional[List[SessionTotalDetailsBreakdownDiscount]] = None
    taxes: Optional[List[SessionTotalDetailsBreakdownTax]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SessionTotalDetails(StripeEntity1["SessionTotalDetails"]):
    amount_discount: int = 0
    amount_shipping: Optional[int] = None
    amount_tax: int = 0
    breakdown: Optional[SessionTotalDetailsBreakdown] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Session(StripeEntity1["Session"], IHasId, IHasMetadata, IHasObject):
    id: Optional[str] = None
    object: Optional[str] = None
    after_expiration: Optional[SessionAfterExpiration] = None
    allow_promotion_codes: Optional[bool] = None
    amount_subtotal: Optional[int] = None
    amount_total: Optional[int] = None
    automatic_tax: Optional[SessionAutomaticTax] = None
    billing_address_collection: Optional[str] = None
    cancel_url: Optional[str] = None
    client_reference_id: Optional[str] = None
    consent: Optional[SessionConsent] = None
    consent_collection: Optional[SessionConsentCollection] = None
    created: datetime.datetime = datetime.datetime(1, 1, 1)
    currency: Optional[str] = None
    custom_fields: Optional[List[SessionCustomField]] = None
    custom_text: Optional[SessionCustomText] = None
    customer_creation: Optional[str] = None
    customer_details: Optional[SessionCustomerDetails] = None
    customer_email: Optional[str] = None
    expires_at: datetime.datetime = datetime.datetime(1, 1, 1)
    invoice_creation: Optional[SessionInvoiceCreation] = None
    line_items: Optional[StripeList[LineItem]] = None
    livemode: bool = False
    locale: Optional[str] = None
    metadata: Optional[Dict[str, str]] = None
    mode: Optional[str] = None
    payment_method_collection: Optional[str] = None
    payment_method_options: Optional[SessionPaymentMethodOptions] = None
    payment_method_types: Optional[List[str]] = None
    payment_status: Optional[str] = None
    phone_number_collection: Optional[SessionPhoneNumberCollection] = None
    recovered_from: Optional[str] = None
    shipping_address_collection: Optional[SessionShippingAddressCollection] = None
    shipping_cost: Optional[SessionShippingCost] = None
    shipping_details: Optional[SessionShippingDetails] = None
    shipping_options: Optional[List[SessionShippingOption]] = None
    status: Optional[str] = None
    submit_type: Optional[str] = None
    success_url: Optional[str] = None
    tax_id_collection: Optional[SessionTaxIdCollection] = None
    total_details: Optional[SessionTotalDetails] = None
    url: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetStripeSession:
    id: Optional[str] = None


T = TypeVar('T')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StripeList(Generic[T], StripeEntity1[StripeList[T]], IHasObject):
    pass

Python GetStripeSession DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /stripe-session/{Id} HTTP/1.1 
Host: duengageapi.uat.scadsoftware.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"Id":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{Unable to show example output for type 'Session' using the custom 'other' filter}Exception has been thrown by the target of an invocation.