Source code for satcfdi.create.cancela.aceptacionrechazo

from collections.abc import Sequence
from datetime import datetime

from ..w3.signature import signature_c14n_sha1
from ...models import Signer
from ...utils import ScalarMap
from ...xelement import XElement


[docs]class Folios(ScalarMap): def __init__( self, respuesta: str, uuid: str = None, ): """ :param respuesta: :param uuid: """ super().__init__({ 'Respuesta': respuesta, 'UUID': uuid, })
[docs]class SolicitudAceptacionRechazo(XElement): """ Elemento raíz para realizar la aceptacion o rechazo de una solicitud de cancelacion. """ tag = '{http://cancelacfd.sat.gob.mx}SolicitudAceptacionRechazo' def __init__( self, rfc_receptor: Signer = None, rfc_pac_envia_solicitud: str = None, folios: Folios | Sequence[Folios | dict] = None, fecha: datetime = None, ): """ Elemento raíz para realizar la aceptacion o rechazo de una solicitud de cancelacion. :param fecha: :param rfc_receptor: :param rfc_pac_envia_solicitud: :param folios: :return: objeto CFDI """ super().__init__({ 'Fecha': fecha or datetime.now(), 'RfcReceptor': rfc_receptor.rfc, 'RfcPacEnviaSolicitud': rfc_pac_envia_solicitud, 'Folios': folios, }) self["_nsmap"] = { None: "http://cancelacfd.sat.gob.mx", "xsd": "http://www.w3.org/2001/XMLSchema", "xsi": "http://www.w3.org/2001/XMLSchema-instance" } sig = signature_c14n_sha1( signer=rfc_receptor, element=self.to_xml(), nsmap={ None: 'http://www.w3.org/2000/09/xmldsig#', "xsd": "http://www.w3.org/2001/XMLSchema", "xsi": "http://www.w3.org/2001/XMLSchema-instance", } ) self['Signature'] = sig