""" Options: Date: 2025-06-07 17:09:21 Version: 8.12 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://soluser-recaudo.sgsas.co #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: AMDCValidaPagoRQ.* #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 PagoArticulo: id_obligacion: int = 0 monto: float = 0.0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SolicitudPago: id_transaccion_banco: Optional[str] = None fecha_transaccion_banco: int = 0 hora_min_seg: int = 0 numero_documento: Optional[str] = None id_tipo_impuesto: int = 0 pago_parcial: int = 0 anio: int = 0 pago_articulos: Optional[List[PagoArticulo]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class DatosBanco: banco: Optional[str] = None sucursal: Optional[str] = None usuario: Optional[str] = None terminal: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ResultadoTransaccion: resultado: Optional[str] = None mensaje_resultado: Optional[str] = None fecha_transaccion: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ResultadoPago(ResultadoTransaccion): id_pago: int = 0 check_sum: Optional[str] = None resultado: Optional[str] = None mensaje_resultado: Optional[str] = None fecha_transaccion: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CoreRes: tran_id: Optional[str] = None code: Optional[str] = None info_msg: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class RequestPago: solicitud_pago: Optional[SolicitudPago] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ResponsePago: pago_respuesta: Optional[ResultadoPago] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ValidarPago: id_pago_pasarela: int = 0 estado: Optional[str] = None reques_t__p_a_g_o: Optional[RequestPago] = None respons_e__p_a_g_o: Optional[ResponsePago] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AMDCValidaPagoRS(CoreRes): lista_pagos_root: Optional[List[ValidarPago]] = None tran_id: Optional[str] = None code: Optional[str] = None info_msg: Optional[str] = None # @Route("/pago/ValidarPagosArticulo") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AMDCValidaPagoRQ(DatosBanco, IReturn[AMDCValidaPagoRS]): numero_documento: Optional[str] = None banco: Optional[str] = None sucursal: Optional[str] = None usuario: Optional[str] = None terminal: Optional[str] = None