@@ 36-75 (lines=40) @@ | ||
33 | }) |
|
34 | ||
35 | ||
36 | class Cancelacion(XElement): |
|
37 | """ |
|
38 | Elemento raíz para realizar una solicitud de cancelación de CFDI. |
|
39 | """ |
|
40 | tag = '{http://www.sat.gob.mx/esquemas/retencionpago/1}Cancelacion' |
|
41 | ||
42 | def __init__( |
|
43 | self, |
|
44 | emisor: Signer, |
|
45 | folios: Folio | Sequence[Folio | dict], |
|
46 | fecha: datetime = None |
|
47 | ): |
|
48 | """ |
|
49 | Elemento raíz para realizar una solicitud de cancelación de CFDI. |
|
50 | ||
51 | :param emisor: Atributo requerido para expresar el RFC del emisor del (os) CFDI a cancelar. |
|
52 | :param fecha: Atributo requerido para expresar la fecha de la operación. |
|
53 | :param folios: Colección de folios fiscales (UUID) a ser cancelados. |
|
54 | """ |
|
55 | super().__init__({ |
|
56 | 'RfcEmisor': emisor.rfc, |
|
57 | 'Fecha': fecha or datetime.now(), |
|
58 | 'Folios': folios, |
|
59 | }) |
|
60 | self["_nsmap"] = { |
|
61 | None: "http://www.sat.gob.mx/esquemas/retencionpago/1", |
|
62 | "xsd": "http://www.w3.org/2001/XMLSchema", |
|
63 | "xsi": "http://www.w3.org/2001/XMLSchema-instance" |
|
64 | } |
|
65 | ||
66 | sig = signature_c14n_sha1( |
|
67 | signer=emisor, |
|
68 | element=self.to_xml(), |
|
69 | nsmap={ |
|
70 | None: 'http://www.w3.org/2000/09/xmldsig#', |
|
71 | "xsd": "http://www.w3.org/2001/XMLSchema", |
|
72 | "xsi": "http://www.w3.org/2001/XMLSchema-instance", |
|
73 | } |
|
74 | ) |
|
75 | self['Signature'] = sig |
|
76 | ||
77 |
@@ 37-76 (lines=40) @@ | ||
34 | }) |
|
35 | ||
36 | ||
37 | class Cancelacion(XElement): |
|
38 | """ |
|
39 | Elemento raíz para realizar una solicitud de cancelación de CFDI. |
|
40 | """ |
|
41 | tag = '{http://cancelacfd.sat.gob.mx}Cancelacion' |
|
42 | ||
43 | def __init__( |
|
44 | self, |
|
45 | emisor: Signer, |
|
46 | folios: Folio | Sequence[Folio | dict], |
|
47 | fecha: datetime = None |
|
48 | ): |
|
49 | """ |
|
50 | Elemento raíz para realizar una solicitud de cancelación de CFDI. |
|
51 | ||
52 | :param emisor: Atributo requerido para expresar el RFC del emisor del (os) CFDI a cancelar. |
|
53 | :param fecha: Atributo requerido para expresar la fecha de la operación. |
|
54 | :param folios: Colección de folios fiscales (UUID) a ser cancelados. |
|
55 | """ |
|
56 | super().__init__({ |
|
57 | 'RfcEmisor': emisor.rfc, |
|
58 | 'Fecha': fecha or datetime.now(), |
|
59 | 'Folios': folios, |
|
60 | }) |
|
61 | self["_nsmap"] = { |
|
62 | None: "http://cancelacfd.sat.gob.mx", |
|
63 | "xsd": "http://www.w3.org/2001/XMLSchema", |
|
64 | "xsi": "http://www.w3.org/2001/XMLSchema-instance" |
|
65 | } |
|
66 | ||
67 | sig = signature_c14n_sha1( |
|
68 | signer=emisor, |
|
69 | element=self.to_xml(), |
|
70 | nsmap={ |
|
71 | None: 'http://www.w3.org/2000/09/xmldsig#', |
|
72 | "xsd": "http://www.w3.org/2001/XMLSchema", |
|
73 | "xsi": "http://www.w3.org/2001/XMLSchema-instance", |
|
74 | } |
|
75 | ) |
|
76 | self['Signature'] = sig |
|
77 | ||
78 |