Skip to content

Commit

Permalink
Merge pull request #70 from lunasoft/feature/UpdateSignCP31
Browse files Browse the repository at this point in the history
Feature/update sign cp31
  • Loading branch information
marifersw authored Jul 17, 2024
2 parents f6575d5 + fec011c commit 2576142
Show file tree
Hide file tree
Showing 7 changed files with 61 additions and 7 deletions.
4 changes: 2 additions & 2 deletions SW.Tools/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]

[assembly: AssemblyVersion("1.0.11.6")]
[assembly: AssemblyFileVersion("1.0.11.6")]
[assembly: AssemblyVersion("1.0.12.1")]
[assembly: AssemblyFileVersion("1.0.12.1")]
2 changes: 1 addition & 1 deletion SW.Tools/SW.Tools.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
<HintPath>..\packages\cadenaoriginal33.dll.1.4.3\lib\net40\cadenaoriginal33.dll</HintPath>
</Reference>
<Reference Include="cadenaoriginal40, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\cadenaoriginal40.dll.0.0.4.1\lib\net40\cadenaoriginal40.dll</HintPath>
<HintPath>..\packages\cadenaoriginal40.dll.0.0.4.2-rc\lib\net40\cadenaoriginal40.dll</HintPath>
</Reference>
<Reference Include="cadenaoriginalretenciones20, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\cadenaoriginalRetenciones20.dll.1.0.1\lib\cadenaoriginalretenciones20.dll</HintPath>
Expand Down
2 changes: 1 addition & 1 deletion SW.Tools/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<packages>
<package id="BouncyCastle" version="1.8.9" targetFramework="net45" />
<package id="cadenaoriginal33.dll" version="1.4.3" targetFramework="net40" />
<package id="cadenaoriginal40.dll" version="0.0.4.1" targetFramework="net45" />
<package id="cadenaoriginal40.dll" version="0.0.4.2-rc" targetFramework="net45" />
<package id="cadenaoriginalRetenciones20.dll" version="1.0.1" targetFramework="net45" />
<package id="cadenaoriginalTFD11.dll" version="1.0.5" targetFramework="net45" />
<package id="Gma.QrCodeNet" version="0.4.1.2" targetFramework="net40" />
Expand Down
40 changes: 40 additions & 0 deletions SW.ToolsUT/Resources/cfdi40_cp31.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<cfdi:Comprobante xsi:schemaLocation="http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd http://www.sat.gob.mx/CartaPorte31 http://www.sat.gob.mx/sitio_internet/cfd/CartaPorte/CartaPorte31.xsd"
xmlns:cartaporte31="http://www.sat.gob.mx/CartaPorte31" Version="4.0" Serie="SerieCCP31" Folio="CP3.1" Fecha="2024-07-16T18:00:55" Sello="rmbkLu6lkcwqZ0x21Ul5AOra+bT2M5glWn+lEowlAg5tAQaRiw4HH6wONK3kPUZ8n4yROKljj/A4cJUjiFvHAZn11evRaX/oI0VQGkrBVQhbACwPYmA/nbxDHwGAP4zl7HOfG9GLBU8Jt+OyL+Jbnv6m5gtY5bYR+XbyPtRUGCe0tNh+e9bjUsqs0KzayXSp1S8/Q+HMRVBsN4jWOQHeoa6AqyicTwRZoqCGvtqUwb9r+2/VZsoslqwOEEWmufsWwfqllbCEqB8KrBjSxBIZHbS0eH70oOxlgzwMzg8nkhRXbv2HZwtz5oT72dNwRsME38NMj8mEbvOCO+h2jhg9TQ==" FormaPago="01" NoCertificado="30001000000500003416" Certificado="MIIFsDCCA5igAwIBAgIUMzAwMDEwMDAwMDA1MDAwMDM0MTYwDQYJKoZIhvcNAQELBQAwggErMQ8wDQYDVQQDDAZBQyBVQVQxLjAsBgNVBAoMJVNFUlZJQ0lPIERFIEFETUlOSVNUUkFDSU9OIFRSSUJVVEFSSUExGjAYBgNVBAsMEVNBVC1JRVMgQXV0aG9yaXR5MSgwJgYJKoZIhvcNAQkBFhlvc2Nhci5tYXJ0aW5lekBzYXQuZ29iLm14MR0wGwYDVQQJDBQzcmEgY2VycmFkYSBkZSBjYWxpejEOMAwGA1UEEQwFMDYzNzAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBDSVVEQUQgREUgTUVYSUNPMREwDwYDVQQHDAhDT1lPQUNBTjERMA8GA1UELRMIMi41LjQuNDUxJTAjBgkqhkiG9w0BCQITFnJlc3BvbnNhYmxlOiBBQ0RNQS1TQVQwHhcNMjMwNTE4MTE0MzUxWhcNMjcwNTE4MTE0MzUxWjCB1zEnMCUGA1UEAxMeRVNDVUVMQSBLRU1QRVIgVVJHQVRFIFNBIERFIENWMScwJQYDVQQpEx5FU0NVRUxBIEtFTVBFUiBVUkdBVEUgU0EgREUgQ1YxJzAlBgNVBAoTHkVTQ1VFTEEgS0VNUEVSIFVSR0FURSBTQSBERSBDVjElMCMGA1UELRMcRUtVOTAwMzE3M0M5IC8gVkFEQTgwMDkyN0RKMzEeMBwGA1UEBRMVIC8gVkFEQTgwMDkyN0hTUlNSTDA1MRMwEQYDVQQLEwpTdWN1cnNhbCAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtmecO6n2GS0zL025gbHGQVxznPDICoXzR2uUngz4DqxVUC/w9cE6FxSiXm2ap8Gcjg7wmcZfm85EBaxCx/0J2u5CqnhzIoGCdhBPuhWQnIh5TLgj/X6uNquwZkKChbNe9aeFirU/JbyN7Egia9oKH9KZUsodiM/pWAH00PCtoKJ9OBcSHMq8Rqa3KKoBcfkg1ZrgueffwRLws9yOcRWLb02sDOPzGIm/jEFicVYt2Hw1qdRE5xmTZ7AGG0UHs+unkGjpCVeJ+BEBn0JPLWVvDKHZAQMj6s5Bku35+d/MyATkpOPsGT/VTnsouxekDfikJD1f7A1ZpJbqDpkJnss3vQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAFaUgj5PqgvJigNMgtrdXZnbPfVBbukAbW4OGnUhNrA7SRAAfv2BSGk16PI0nBOr7qF2mItmBnjgEwk+DTv8Zr7w5qp7vleC6dIsZFNJoa6ZndrE/f7KO1CYruLXr5gwEkIyGfJ9NwyIagvHHMszzyHiSZIA850fWtbqtythpAliJ2jF35M5pNS+YTkRB+T6L/c6m00ymN3q9lT1rB03YywxrLreRSFZOSrbwWfg34EJbHfbFXpCSVYdJRfiVdvHnewN0r5fUlPtR9stQHyuqewzdkyb5jTTw02D2cUfL57vlPStBj7SEi3uOWvLrsiDnnCIxRMYJ2UA2ktDKHk+zWnsDmaeleSzonv2CHW42yXYPCvWi88oE1DJNYLNkIjua7MxAnkNZbScNw01A6zbLsZ3y8G6eEYnxSTRfwjd8EP4kdiHNJftm7Z4iRU7HOVh79/lRWB+gd171s3d/mI9kte3MRy6V8MMEMCAnMboGpaooYwgAmwclI2XZCczNWXfhaWe0ZS5PmytD/GDpXzkX0oEgY9K/uYo5V77NdZbGAjmyi8cE2B2ogvyaN2XfIInrZPgEffJ4AB7kFA2mwesdLOCh0BLD9itmCve3A1FGR4+stO2ANUoiI3w3Tv2yQSg4bjeDlJ08lXaaFCLW2peEXMXjQUk7fmpb5MNuOUTW6BE=" SubTotal="100.00" Moneda="MXN" Total="100.00" TipoDeComprobante="I" Exportacion="01" MetodoPago="PUE" LugarExpedicion="42501"
xmlns:cfdi="http://www.sat.gob.mx/cfd/4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<cfdi:Emisor Rfc="EKU9003173C9" RegimenFiscal="601" Nombre="ESCUELA KEMPER URGATE" />
<cfdi:Receptor Rfc="URE180429TM6" Nombre="UNIVERSIDAD ROBOTICA ESPAÑOLA" DomicilioFiscalReceptor="86991" RegimenFiscalReceptor="601" UsoCFDI="S01" />
<cfdi:Conceptos>
<cfdi:Concepto ClaveProdServ="78101800" NoIdentificacion="UT421511" Cantidad="1" ClaveUnidad="H87" Unidad="Pieza" Descripcion="Transporte de carga por carretera" ValorUnitario="100.00" Importe="100.00" ObjetoImp="01" />
</cfdi:Conceptos>
<cfdi:Complemento>
<cartaporte31:CartaPorte RegistroISTMO="" UbicacionPoloOrigen="01" UbicacionPoloDestino="01" Version="3.1" IdCCP="CCCBCD94-870A-4332-A52A-A52AA52AA52A" TranspInternac="No" TotalDistRec="1">
<cartaporte31:Ubicaciones>
<cartaporte31:Ubicacion TipoUbicacion="Origen" IDUbicacion="OR101010" RFCRemitenteDestinatario="URE180429TM6" NombreRemitenteDestinatario="NombreRemitenteDestinatario1" FechaHoraSalidaLlegada="2023-08-01T00:00:00">
<cartaporte31:Domicilio Calle="Calle1" NumeroExterior="211" NumeroInterior="212" Colonia="1957" Localidad="13" Referencia="casa blanca" Municipio="011" Estado="CMX" Pais="MEX" CodigoPostal="13250" />
</cartaporte31:Ubicacion>
<cartaporte31:Ubicacion TipoUbicacion="Destino" IDUbicacion="DE202020" RFCRemitenteDestinatario="URE180429TM6" NombreRemitenteDestinatario="NombreRemitenteDestinatario2" FechaHoraSalidaLlegada="2023-08-01T00:00:01" DistanciaRecorrida="1">
<cartaporte31:Domicilio Calle="Calle2" NumeroExterior="214" NumeroInterior="215" Colonia="0347" Localidad="23" Referencia="casa negra" Municipio="004" Estado="COA" Pais="MEX" CodigoPostal="25350" />
</cartaporte31:Ubicacion>
</cartaporte31:Ubicaciones>
<cartaporte31:Mercancias PesoBrutoTotal="1.0" UnidadPeso="XBX" NumTotalMercancias="1" LogisticaInversaRecoleccionDevolucion="">
<cartaporte31:Mercancia FraccionArancelaria="6309000100" BienesTransp="11121900" Descripcion="Accesorios de equipo de telefonía" Cantidad="1.0" ClaveUnidad="XBX" MaterialPeligroso="No" PesoEnKg="1" DenominacionGenericaProd="DenominacionGenericaProd1" DenominacionDistintivaProd="DenominacionDistintivaProd1" Fabricante="Fabricante1" FechaCaducidad="2003-04-02" LoteMedicamento="LoteMedic1" FormaFarmaceutica="01" CondicionesEspTransp="01" RegistroSanitarioFolioAutorizacion="RegistroSanita1">
<cartaporte31:CantidadTransporta Cantidad="1" IDOrigen="OR101010" IDDestino="DE202020" />
</cartaporte31:Mercancia>
<cartaporte31:Autotransporte PermSCT="TPAF01" NumPermisoSCT="NumPermisoSCT1">
<cartaporte31:IdentificacionVehicular ConfigVehicular="VL" PesoBrutoVehicular="1" PlacaVM="plac892" AnioModeloVM="2020" />
<cartaporte31:Seguros AseguraRespCivil="AseguraRespCivil" PolizaRespCivil="123456789" />
<cartaporte31:Remolques>
<cartaporte31:Remolque SubTipoRem="CTR004" Placa="VL45K98" />
</cartaporte31:Remolques>
</cartaporte31:Autotransporte>
</cartaporte31:Mercancias>
<cartaporte31:FiguraTransporte>
<cartaporte31:TiposFigura TipoFigura="01" RFCFigura="URE180429TM6" NumLicencia="NumLicencia1" NombreFigura="NombreFigura1">
<cartaporte31:Domicilio Calle="Calle1" NumeroExterior="NumeroExterior1" NumeroInterior="NumeroInterior1" Colonia="Colonia1" Localidad="Localidad1" Referencia="Referencia1" Municipio="Municipio1" Estado="Estado1" Pais="AFG" CodigoPostal="CodigoPosta1" />
</cartaporte31:TiposFigura>
</cartaporte31:FiguraTransporte>
</cartaporte31:CartaPorte>
</cfdi:Complemento>
</cfdi:Comprobante>
5 changes: 4 additions & 1 deletion SW.ToolsUT/SW.ToolsUT.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="cadenaoriginal40, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\cadenaoriginal40.dll.0.0.4.1\lib\net40\cadenaoriginal40.dll</HintPath>
<HintPath>..\packages\cadenaoriginal40.dll.0.0.4.2-rc\lib\net40\cadenaoriginal40.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
Expand Down Expand Up @@ -117,6 +117,9 @@
<Content Include="Resources\cfdi40_cp30.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resources\cfdi40_cp31.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resources\Sign\invalidXml.xml">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
Expand Down
13 changes: 12 additions & 1 deletion SW.ToolsUT/UT_Tools_Sign.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public void UT_Tools_Sign_SellarCFDIv40_OK()
byte[] bytesKey = File.ReadAllBytes(@"Resources\CSD_Pruebas_CFDI_EKU9003173C9.key");
string password = "12345678a";
var pfx = Sign.CrearPFX(bytesCer, bytesKey, password);
var xml = Fiscal.RemoverCaracteresInvalidosXml(Encoding.UTF8.GetString(File.ReadAllBytes(@"Resources\cfdi40.xml")));
var xml = Fiscal.RemoverCaracteresInvalidosXml(Encoding.UTF8.GetString(File.ReadAllBytes(@"Resources\cfdi40_cp31.xml")));
var xmlResult = Sign.SellarCFDIv40(pfx, password, xml);
Assert.IsTrue(!string.IsNullOrEmpty(xmlResult.data.xml));
Assert.IsTrue(xmlResult.status == "success");
Expand Down Expand Up @@ -156,6 +156,17 @@ public void UT_Tools_CadenaOriginalCFDIv40_CP30_OK()
Assert.IsTrue(CadenaOriginal.Equals(result_));
}
/// <summary>
/// Cadena Original Carta Porte 3.1
/// </summary>
[TestMethod]
public void UT_Tools_CadenaOriginalCFDIv40_CP31_OK()
{
var xml = Fiscal.RemoverCaracteresInvalidosXml(Encoding.UTF8.GetString(File.ReadAllBytes(@"Resources\cfdi40_cp31.xml")));
string CadenaOriginal = "||4.0|SerieCCP31|CP3.1|2024-07-16T18:00:55|01|30001000000500003416|100.00|MXN|100.00|I|01|PUE|42501|EKU9003173C9|ESCUELA KEMPER URGATE|601|URE180429TM6|UNIVERSIDAD ROBOTICA ESPAÑOLA|86991|601|S01|78101800|UT421511|1|H87|Pieza|Transporte de carga por carretera|100.00|100.00|01|3.1|CCCBCD94-870A-4332-A52A-A52AA52AA52A|No|1|Sí|01|01|Origen|OR101010|URE180429TM6|NombreRemitenteDestinatario1|2023-08-01T00:00:00|Calle1|211|212|1957|13|casa blanca|011|CMX|MEX|13250|Destino|DE202020|URE180429TM6|NombreRemitenteDestinatario2|2023-08-01T00:00:01|1|Calle2|214|215|0347|23|casa negra|004|COA|MEX|25350|1.0|XBX|1|Sí|11121900|Accesorios de equipo de telefonía|1.0|XBX|No|DenominacionGenericaProd1|DenominacionDistintivaProd1|Fabricante1|2003-04-02|LoteMedic1|01|01|RegistroSanita1|1|6309000100|1|OR101010|DE202020|TPAF01|NumPermisoSCT1|VL|1|plac892|2020|AseguraRespCivil|123456789|CTR004|VL45K98|01|URE180429TM6|NumLicencia1|NombreFigura1|Calle1|NumeroExterior1|NumeroInterior1|Colonia1|Localidad1|Referencia1|Municipio1|Estado1|AFG|CodigoPosta1||";
var result_ = Fiscal.RemoverCaracteresInvalidosXml(Sign.CadenaOriginalCFDIv40(xml).data.cadenaOriginal);
Assert.IsTrue(CadenaOriginal.Equals(result_));
}
/// <summary>
/// Cadena Original Comercio Exterior 2.0
/// </summary>
[TestMethod]
Expand Down
2 changes: 1 addition & 1 deletion SW.ToolsUT/packages.config
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="cadenaoriginal40.dll" version="0.0.4.1" targetFramework="net452" />
<package id="cadenaoriginal40.dll" version="0.0.4.2-rc" targetFramework="net452" />
<package id="Newtonsoft.Json" version="13.0.2" targetFramework="net452" />
<package id="SW-sdk" version="0.0.18.3" targetFramework="net452" />
</packages>

0 comments on commit 2576142

Please sign in to comment.