Comprobante fiscal pago

Tabla de contenidos

Ejemplo C# #

			static void TestPagos20()
        {
            var cerPath = @"D:\Wsdl\RFC-PAC-SC\Personas Morales\FIEL_XIA190128J61_20190614164226\CSD_XIA190128J61_20190617140806\CSD_Xenon_Industrial_Articles_XIA190128J61_20190617_140751s.cer";
            var keyPath = @"D:\Wsdl\RFC-PAC-SC\Personas Morales\FIEL_XIA190128J61_20190614164226\CSD_XIA190128J61_20190617140806\CSD_Xenon_Industrial_Articles_XIA190128J61_20190617_140751.key";
            var keyPass = "12345678a";

            var pagos = new USLibV4.Complementos.Comprobante.Pagos20.FachadaCfdi40Pagos20();
            pagos.P00Setup(cerPath: cerPath, keyPath: keyPath, keyPassword: keyPass);
            pagos.P01DatosGenerales(serie: "A", folio: "10", fecha: DateTime.Now.AddHours(-3), lugarExpedicion: "85160", confirmacion: "");

            pagos.P02Emisor(
              rfc: "XIA190128J61",
              nombre: "XENON INDUSTRIAL ARTICLES S DE CV",
              regimenFiscal: "601",
              facAtrAdquirente: "");

            pagos.P03Receptor(
                rfc: "EMC160315TX7",
                nombre: "EMCORSOFT, S.A.P.I. DE C.V.",
                domicilioFiscalReceptor: "85040",
                residenciaFiscal: "",
                numRegIdTrib: "",
                regimenFiscalReceptor: "601",
                usoCFDI: "P01");

            var idPago = pagos.P04Pago(fechaPago: DateTime.Now, formaDePagoP: "03", monedaP: "MXN", tipoCambioP: 1, monto: 100m,
                 numOperacion: "", rfcEmisorCtaOrd: "", nomBancoOrdExt: "", ctaOrdenante: "", rfcEmisorCtaBen: "",
                 ctaBeneficiario: "", tipoCadPago: "", certPago: null, cadPago: "", selloPago: null);

            string idDocumento = "92DAA84E-E116-45D0-8CA0-7F34EC4E4782";
            pagos.P05DoctoRelacionado(idPago: idPago, idDocumento: idDocumento,
                serie: "A", folio: "10", monedaDR: "MXN", equivalenciaDR: 1, numParcialidad: 1, impSaldoAnt: 100m, impPagado: 50m, impSaldoInsoluto: 50m, objetoImpDR: "02");

            pagos.P05DoctoRelacionadoImpuestoTraslado(idPago: idPago, idDocumento: idDocumento, baseDR: 50m,
                impuestoDR: "002", tipoFactorDR: "Tasa", tasaOCuotaDR: 0.16m, importeDR: 8m);

            pagos.P06ImpuestosTraslados(idPago: idPago, baseP: 50m, impuestoP: "002", tipoFactorP: "Tasa", tasaOCuotaP: 0.16m, importeP: 8m);
            pagos.P07Totales(
                totalRetencionesIVA: 0,
                totalRetencionesISR: 0,
                totalRetencionesIEPS: 0,
                totalTrasladosBaseIVA16: 50m,
                totalTrasladosImpuestoIVA16: 8m,
                totalTrasladosBaseIVA8: 0,
                totalTrasladosImpuestoIVA8: 0,
                totalTrasladosBaseIVA0: 0,
                totalTrasladosImpuestoIVA0: 0,
                totalTrasladosBaseIVAExento: 0,
                montoTotalPagos: 50m);

            var cfdiResponse = pagos.P08TimbrarCfdi(esPrueba: true, idServicio: "", referenceId: "");
            if (cfdiResponse.Success)
            {
                Console.WriteLine("OK");

                var xmlBytes = Convert.FromBase64String(cfdiResponse.Base64XmlFile);
                System.IO.File.WriteAllBytes(@"D:\Escritorio\Cfdi4\Pago.xml", xmlBytes);

                Console.WriteLine(pagos.ResumenCfdi.TimbreFiscalDigital.UUID);
                Console.WriteLine(pagos.ResumenCfdi.TimbreFiscalDigital.FechaTimbrado);
                Console.WriteLine(pagos.ResumenCfdi.TimbreFiscalDigital.NoCertificadoSAT);
                Console.WriteLine(pagos.ResumenCfdi.TimbreFiscalDigital.RfcProvCertif);
                //Console.WriteLine(pagos.ResumenCfdi.TimbreFiscalDigital.SelloCFD);
                //Console.WriteLine(pagos.ResumenCfdi.TimbreFiscalDigital.SelloSAT);
                //Console.WriteLine(pagos.ResumenCfdi.TimbreFiscalDigital.Version);
                Console.WriteLine(pagos.ResumenCfdi.TimbreFiscalDigitalCadenaOriginal);

                //System.IO.File.WriteAllBytes(@"D:\Escritorio\Cfdi4\Qr.png", pagos.ResumenCfdi.QrImage);

                //Console.WriteLine(xmlString);
            }
            else
            {
                Console.WriteLine(cfdiResponse.ErrorMessages);
            }
        }

Desarrollado porBetterDocs