Complemento de pago a terceros

Ejemplo en C#

  {
    var pagos10 = new USLib.Complementos.Comprobante.Pagos10.FachadaCfdi33Pagos10();
    pagos10.P00Setup(
        cerFile: "D:\CSD_Pruebas_CFDI_MAG041126GT8.cer",
        keyFile:  @"D:\CSD_Pruebas_CFDI_MAG041126GT8.key",
        passwordKey: "12345678a");
    pagos10.P01Generales(
        serie: "A",
        folio: "2002",
        fecha: DateTime.Now.AddHours(-2),
        lugarExpedicion: "85000");
        pagos10.P02CfdisRelacionadosAgregar("F46C2602-D56F-46A1-B8B2-60665C737E5E", "02");
    pagos10.P03Emisor(
        rfc: "MAG041126GT8",
        nombre: "EMCOROSOFT SC",
        regimenFiscal: "601");
    var idPago = pagos10.P05AgregarPago(
        fecha: DateTime.Now.ToString("s"),
        formaPago: "03", //Transferencia
        moneda: "MXN"),
        tipoCambioP: "",
        monto: "200", //Suma de los pagos
        numOperacion: "01",
        rfcEmisorCtaOrd: "",
        nomBancoOrdExt: "",
        ctaOrdenante: "",
        rfcEmisorCtaBen: "",
        ctaBeneficiario: "",
        tipoCadPago: "",
        certPagoBase64: "",
        cadPago: "",
        selloPagoBase64: ""
         );
    pagos10.P06AgregarDoctoRelacionado(idPago: idPago, idDocumento: "4CEDEC32-497D-4632-A0EF-723D8504AAB7", serie: "", folio: "", monedaDr: "MXN", tipoCambioDr: "", metodoPagoDr: "PUE", numParcialidad: "1", impSaldoAnt: "290", impPagado: "200", impSaldoInsoluto: "90");
    var idPagoCompensacion = pagos10.P05AgregarPago(
        fechaPago: DateTime.Now.ToString("s"),
        formaPago: "17", //Compensación
        moneda: "MXN",
        tipoCambioP: "",
        monto: "90", //Suma de los pagos
        numOperacion: "01",
        rfcEmisorCtaOrd: "",
        nomBancoOrdExt: "",
        ctaOrdenante: "",
        rfcEmisorCtaBen: "",
        ctaBeneficiario: "",
        tipoCadPago: "",
        certPagoBase64: "",
        cadPago: "",
        selloPagoBase64: "");
    pagos10.P06AgregarDoctoRelacionado(idPago: idPagoCompensacion, idDocumento: "4CEDEC32-497D-4632-A0EF-723D8504AAB7", serie: "", folio: "", monedaDr: "MXN", tipoCambioDr: "", metodoPagoDr: "PUE", numParcialidad: "1", impSaldoAnt: "90", impPagado: "90", impSaldoInsoluto: "");
    pagos10.P04Receptor(rfc: "COMR850106QQA", nombre: "ROBERTO CORONA", numRegIdTrib: "");
    var result = pagos10.P10TimbrarDocumento(esPrueba: true, validacionPrevia: false, key: "", referencia: "USlib");
    if (result.OperacionExitosa)
    {
        var rfcProveedor = pagos10.ResumenCfdv33.TfdRfcProvCertif;
        var uuid = pagos10.ResumenCfdv33.TfdUuid;
        var fechaTimbrado = pagos10.ResumenCfdv33.TfdFechaTimbrado;
        var selloSat = pagos10.ResumenCfdv33.TfdSelloSat;
        var noCertificadoSat = pagos10.ResumenCfdv33.TfdNoCertificadoSat;
        var noCertificadoEmisor = pagos10.CsdSerie;
        var cadenaSat = pagos10.ResumenCfdv33.TfdCadenaOriginal;
        System.IO.File.WriteAllBytes(@"D:\Wsdl\"  + pagos10.ResumenCfdv33.TfdUuid + ".jpg" usLib.ResumenCfdv33.QrImagen);
        Console.WriteLine("OK" );
        System.IO.File.WriteAllBytes(@"D:\Wsdl\"  + pagos10.ResumenCfdv33.TfdUuid + ".xml", result.XmlFile);
    }
    else
    {
        System.IO.File.WriteAllBytes(@"D:\Wsdl\Error.xml" , result.XmlFile);
        Console.WriteLine(result.MensajeError);
    }
  }
}

Desarrollado porBetterDocs