A continuación se muestra un ejemplo de factura pagos20 todos los nodos en PHP SDK
Ejemplo de factura pagos20 todos los nodos en PHP SDK
<?php
// Se desactivan los mensajes de debug
error_reporting(0);
// Se especifica la zona horaria
date_default_timezone_set('America/Mexico_City');
// Se incluye el SDK
require_once '../../sdk2.php';
// Se especifica la version de CFDi 3.3
$datos['version_cfdi'] = '4.0';
// SE ESPECIFICA EL COMPLEMENTO
$datos['complemento'] = 'pagos20';
$datos['validacion_local'] = 'NO';
// Ruta del XML Timbrado
$datos['cfdi']='../../timbrados/ejemplo_factura_pagos10.xml';
// Ruta del XML de Debug
$datos['xml_debug']='../../timbrados/debug_ejemplo_factura_pagos10.xml';
// Credenciales de Timbrado
$datos['PAC']['usuario'] = 'DEMO700101XXX';
$datos['PAC']['pass'] = 'DEMO700101XXX';
$datos['PAC']['produccion'] = 'NO';
// Rutas y clave de los CSD
$datos['conf']['cer'] = '../../certificados/XIA190128J61.cer.pem';
$datos['conf']['key'] = '../../certificados/XIA190128J61.key.pem';
$datos['conf']['pass'] = '12345678a';
// Datos de la Factura
$datos['factura']['serie'] = 'Z';
$datos['factura']['fecha_expedicion'] = date('Y-m-d\TH:i:s', time() - 120);
$datos['factura']['folio'] = '100';
$datos['factura']['subtotal'] = '0';
$datos['factura']['total'] = '0';
$datos['factura']['moneda'] = 'XXX';
$datos['factura']['tipocomprobante'] = 'P';
$datos['factura']['LugarExpedicion'] = '45079';
$datos['factura']['Exportacion'] = '01';
// Datos del Emisor
$datos['emisor']['rfc'] = 'EKU9003173C9'; //RFC DE PRUEBA
$datos['emisor']['nombre'] = 'ESCUELA KEMPER URGATE'; // EMPRESA DE PRUEBA
$datos['emisor']['RegimenFiscal'] = '601';
// Datos del Receptor
$datos['receptor']['rfc'] = 'URE180429TM6';
$datos['receptor']['nombre'] = 'UNIVERSIDAD ROBOTICA ESPAÃOLA';
$datos['receptor']['UsoCFDI'] = 'CP01';
$datos['receptor']['DomicilioFiscalReceptor'] = '65000';
$datos['receptor']['RegimenFiscalReceptor'] = '601';
// Se agregan los conceptos
$datos['conceptos'][0]['ClaveProdServ'] = '84111506';
$datos['conceptos'][0]['cantidad'] = '1';
//$datos['conceptos'][0]['unidad'] = 'ACT';
$datos['conceptos'][0]['ClaveUnidad'] = 'ACT';
$datos['conceptos'][0]['descripcion'] = "Pago";
$datos['conceptos'][0]['valorunitario'] = '0.0';
$datos['conceptos'][0]['importe'] = '0.0';
// Complemento de Pagos 1.0
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['IdDocumento'] = '970e4f32-0fe0-11e7-93ae-92361f002671';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['Serie'] = 'A';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['Folio'] = '210';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['MonedaDR'] = 'MXN';
//$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['TipoCambioDR'] = '15';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['MetodoDePagoDR'] = 'PIP';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['NumParcialidad'] = '1';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpSaldoAnt']= '10000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpPagado'] = '5000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpSaldoInsoluto'] = '5000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['EquivalenciaDR'] = '5000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ObjetoImpDR'] = '5000';
//retenidos del documento relacionado
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpuestosDR']['RetencionDR'][0]['BaseDR'] = '5000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpuestosDR']['RetencionDR'][0]['ImpuestoDR'] = '5000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpuestosDR']['RetencionDR'][0]['TipoFactorDR'] = '5000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpuestosDR']['RetencionDR'][0]['TasaOCuotaDR'] = '5000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpuestosDR']['RetencionDR'][0]['ImporteDR'] = '5000';
//traslados del documento relacionado
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpuestosDR']['TrasladosDR'][0]['BaseDR'] = '5000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpuestosDR']['TrasladosDR'][0]['ImpuestoDR'] = '5000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpuestosDR']['TrasladosDR'][0]['TipoFactorDR'] = '5000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpuestosDR']['TrasladosDR'][0]['TasaOCuotaDR'] = '5000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ImpuestosDR']['TrasladosDR'][0]['ImporteDR'] = '5000';
$datos['pagos20']['Pagos'][0]['ImpuestosP']['RetencionesP'][0]['ImpuestoP'] = '5000';
$datos['pagos20']['Pagos'][0]['ImpuestosP']['RetencionesP'][0]['ImporteP'] = '5000';
$datos['pagos20']['Pagos'][0]['ImpuestosP']['TrasladosP'][0]['BaseP'] = '5000';
$datos['pagos20']['Pagos'][0]['ImpuestosP']['TrasladosP'][0]['ImpuestoP'] = '5000';
$datos['pagos20']['Pagos'][0]['ImpuestosP']['TrasladosP'][0]['TipoFactorP'] = '5000';
$datos['pagos20']['Pagos'][0]['ImpuestosP']['TrasladosP'][0]['TasaOCuotaP'] = '5000';
$datos['pagos20']['Pagos'][0]['ImpuestosP']['TrasladosP'][0]['ImporteP'] = '5000';
/*$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][1]['IdDocumento'] = '970e5496-0fe0-11e7-93ae-92361f002672';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][1]['Serie'] = 'A';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][1]['Folio'] = '210';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][1]['MonedaDR'] = 'USD';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][1]['TipoCambioDR'] = '20.00';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][1]['MetodoDePagoDR'] = 'PIP';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][1]['NumParcialidad'] = '2';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][1]['ImpSaldoAnt']= '250.00';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][1]['ImpPagado'] = '250.00';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][1]['ImpSaldoInsoluto'] = '0.00';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['EquivalenciaDR'] = '5000';
$datos['pagos20']['Pagos'][0]['DoctoRelacionado'][0]['ObjetoImpDR'] = '5000';
*/
$datos['pagos20']['Pagos'][0]['FechaPago']= date('Y-m-d\TH:i:s', time() - 120);
$datos['pagos20']['Pagos'][0]['FormaDePagoP']= '06';
$datos['pagos20']['Pagos'][0]['MonedaP']= 'MXN';
//$datos['pagos20']['Pagos'][0]['TipoCambioP']= '0.0';
$datos['pagos20']['Pagos'][0]['Monto']= '10000';
//$datos['pagos20']['Pagos'][0]['NumOperacion']= '0.0';
//$datos['pagos20']['Pagos'][0]['RfcEmisorCtaOrd']= 'XAXX010101000';
$datos['pagos20']['Pagos'][0]['NomBancoOrdExt']= '0.0';
$datos['pagos20']['Pagos'][0]['CtaOrdenante']= '1234567890';
//$datos['pagos20']['Pagos'][0]['RfcEmisorCtaBen']= '0.0';
//$datos['pagos20']['Pagos'][0]['CtaBeneficiario']= '0.0';
//$datos['pagos20']['Pagos'][0]['TipoCadPago']= '0.0';
//$datos['pagos20']['Pagos'][0]['CertPago']= '0.0';
//$datos['pagos20']['Pagos'][0]['CadPago']= '0.0';
//$datos['pagos20']['Pagos'][0]['SelloPago']= '0.0';
$datos['pagos20']['Totales']['TotalTrasladosImpuestoIVA8']= '0.0';
$datos['pagos20']['Totales']['TotalTrasladosImpuestoIVA16']= '0.0';
$datos['pagos20']['Totales']['TotalTrasladosImpuestoIVA0']= '0.0';
$datos['pagos20']['Totales']['TotalTrasladosBaseIVAExento']= '0.0';
$datos['pagos20']['Totales']['TotalTrasladosBaseIVA8']= '0.0';
$datos['pagos20']['Totales']['TotalTrasladosBaseIVA16']= '0.0';
$datos['pagos20']['Totales']['TotalTrasladosBaseIVA0']= '0.0';
$datos['pagos20']['Totales']['TotalRetencionesIVA']= '0.0';
$datos['pagos20']['Totales']['TotalRetencionesISR']= '0.0';
$datos['pagos20']['Totales']['TotalRetencionesIEPS']= '0.0';
$datos['pagos20']['Totales']['MontoTotalPagos']= '0.0';
// Se ejecuta el SDK
$res= mf_genera_cfdi($datos);
/////////// MOSTRAR RESULTADOS DEL ARRAY $res ///////////
echo "<h1>Respuesta Generar XML y Timbrado</h1>";
foreach($res AS $variable=>$valor)
{
$valor=htmlentities($valor);
$valor=str_replace('<br/>','<br/>',$valor);
echo "<b>[$variable]=</b>$valor<hr>";
}
?>