""" Options: Date: 2026-11-08 11:30:32 Version: 5.140 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://devapi.billhighway.com #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: ChargeTokenRq.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ 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 ReferenceIdTypedAssociationItem: value: Optional[str] = None type: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ChargeTokenOptions: usages: int = 0 duration: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AttributeItem: name: Optional[str] = None value: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CreditCardBillingAddressItem: address1: Optional[str] = None address2: Optional[str] = None city: Optional[str] = None postal_code: Optional[str] = None region: Optional[str] = None country: Optional[str] = None attributes: Optional[List[AttributeItem]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CreditCardChargeItem: name_on_card: Optional[str] = None exp_month: int = 0 exp_year: int = 0 card_number: Optional[str] = None cvv: Optional[str] = None address: Optional[CreditCardBillingAddressItem] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AchChargeItem: account_number: Optional[str] = None routing_number: Optional[str] = None account_type: Optional[str] = None account_holder_name: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ChargeTokenRqBase(IChapterAuthorizationRequest, IApiResultErrorService): token_type: Optional[str] = None amount: int = 0 description: Optional[str] = None options: Optional[ChargeTokenOptions] = None card_info: Optional[CreditCardChargeItem] = None ach_info: Optional[AchChargeItem] = None reference_ids: Optional[List[ReferenceIdTypedAssociationItem]] = None class IChapterAuthorizationRequest: pass class IApiResultErrorService: pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CreditCardChargeVerificationResult: network_verification_attempted: bool = False cvv_verification_result: Optional[str] = None address_verification_result: Optional[str] = None postal_code_verification_result: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CreditCardChargeDetails: card_type: Optional[str] = None exp_month: int = 0 exp_year: int = 0 last4: Optional[str] = None address: Optional[CreditCardBillingAddressItem] = None verification_result: Optional[CreditCardChargeVerificationResult] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AchChargeVerificationResult: network_verification_attempted: bool = False result: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AchChargeDetails: account_type: Optional[str] = None routing_number: Optional[str] = None account_number_last4: Optional[str] = None bank_name: Optional[str] = None verification_result: Optional[AchChargeVerificationResult] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AttributeItem: name: Optional[str] = None value: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ChargeTokenRs: token: Optional[str] = None organization_id: int = 0 chapter_id: int = 0 amount: int = 0 token_type: Optional[str] = None description: Optional[str] = None expires_on: datetime.datetime = datetime.datetime(1, 1, 1) currency: Optional[str] = None usages: int = 0 card_details: Optional[CreditCardChargeDetails] = None ach_details: Optional[AchChargeDetails] = None # @Route("/integrations/api/{tokenType}/charge/token", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ChargeTokenRq(ChargeTokenRqBase, IReturn[ChargeTokenRs]): pass