Agrega información de un pago (parcial o total) a
un comprobante fiscal digital versión 33 de tipo "P"ago.
Esta función se debe utilizar después de llamar a la función VirtualXML_SetPagos10(). Un CFDI de pago puede contener uno o varios pagos, siendo necesario para registrar otro pago dentro del mismo CFDI, volver a llamar a esta función DESPUES de especificar el(los) CFDIs que el pago cubre, mismos que se indican usando la funcion VirtualXML_Pagos10AddPagoDoctoRelacionado().
Esta función se debe utilizar después de llamar a la función VirtualXML_SetPagos10(). Un CFDI de pago puede contener uno o varios pagos, siendo necesario para registrar otro pago dentro del mismo CFDI, volver a llamar a esta función DESPUES de especificar el(los) CFDIs que el pago cubre, mismos que se indican usando la funcion VirtualXML_Pagos10AddPagoDoctoRelacionado().
Namespace: VirtualXML®
Aplicación: CFDI ver. 3.3
Sintaxis
public static void VirtualXML_Pagos10SetPago(
int p,
string FechaPago,
string FormaDePagoP,
string MonedaP,
string TipoCambioP,
string Monto,
string NumOperacion,
string RfcEmisorCtaOrd,
string NomBancoOrdExt,
string CtaOrdenante,
string RfcEmisorCtaBen,
string CtaBeneficiario,
string TipoCadPago,
string CertPago,
string CadPago,
string SelloPago,
)
Parametros
- p
- Tipo: System
Int32
Identificador en memoria devuelto por la función VirtualXML_New()
- FechaPago
- Tipo: System
String
Atributo requerido para expresar la fecha y hora en la que el beneficiario recibe el pago. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.En caso de no contar con la hora se debe registrar 12:00:00.
- FormaDePagoP
- Tipo: System
String
Atributo requerido para expresar la clave de la forma en que se realiza el pago. Revise el catálogo de formas de pago publicado por el SAT para conocer los valores posibles de este parámetro.
- MonedaP
- Tipo: System
String
Atributo requerido para identificar la clave de la moneda utilizada para realizar el pago, cuando se usa moneda nacional se registra MXN. El atributo Pagos:Pago:Monto y los atributos TotalImpuestosRetenidos, TotalImpuestosTrasladados, Traslados:Traslado:Importe y Retenciones:Retencion:Importe del nodo Pago:Impuestos deben ser expresados en esta moneda. Conforme con la especificación ISO 4217. Revise el catálogo de monedas publicado por el SAT para conocer los valores posibles de este parámetro.
- TipoCambioP
- Tipo: System
String
Atributo condicional para expresar el tipo de cambio de la moneda a la fecha en que se realizó el pago. El valor debe reflejar el número de pesos mexicanos que equivalen a una unidad de la divisa señalada en el atributo MonedaP. Es requerido cuando el atributo MonedaP es diferente a MXN.
- Monto
- Tipo: System
String
Atributo requerido para expresar el importe del pago.
- NumOperacion
- Tipo: System
String
Atributo condicional para expresar el número de cheque, número de autorización, número de referencia, clave de rastreo en caso de ser SPEI, línea de captura o algún número de referencia análogo que identifique la operación que ampara el pago efectuado
- RfcEmisorCtaOrd
- Tipo: System
String
Atributo condicional para expresar la clave RFC de la entidad emisora de la cuenta origen, es decir, la operadora, el banco, la institución financiera, emisor de monedero electrónico, etc., en caso de ser extranjero colocar XEXX010101000, considerar las reglas de obligatoriedad publicadas en la página del SAT en el catálogo de formas de pago para éste atributo.
- NomBancoOrdExt
- Tipo: System
String
Atributo condicional para expresar el nombre del banco ordenante, es requerido en caso de ser extranjero. Considerar las reglas de obligatoriedad publicadas en la página del SAT en el catálogo de formas de pago para éste atributo.
- CtaOrdenante
- Tipo: System
String
Atributo condicional para incorporar el número de la cuenta con la que se realizó el pago. Considerar las reglas de obligatoriedad publicadas en la página del SAT en el catálogo de formas de pago para éste atributo.
- Tipo: System
String
Atributo condicional para expresar la clave RFC de la entidad operadora de la cuenta destino, es decir, la operadora, el banco, la institución financiera, emisor de monedero electrónico, etc. Considerar las reglas de obligatoriedad publicadas en la página del SAT en el catálogo de formas de pago para éste atributo.
- CtaBeneficiario
- Tipo: System
String
Atributo condicional para incorporar el número de cuenta en donde se recibió el pago. Considerar las reglas de obligatoriedad publicadas en la página del SAT en el catálogo de formas de pago para éste atributo.
- TipoCadPago
- Tipo: System
String
Atributo condicional para identificar la clave del tipo de cadena de pago que genera la entidad receptora del pago. Considerar las reglas de obligatoriedad publicadas en la página del SAT en el catálogo de tipos de cadena de pago para éste atributo.
- CertPago
- Tipo: System
String
Atributo condicional que sirve para incorporar el certificado que ampara al pago, como una cadena de texto en formato base 64. Es requerido en caso de que el atributo TipoCadPago contenga información.
- CadPago
- Tipo: System
String
Atributo condicional para expresar la cadena original del comprobante de pago generado por la entidad emisora de la cuenta beneficiaria. Es requerido en caso de que el atributo TipoCadPago contenga información.
- SelloPago
- Tipo: System
String
Atributo condicional para integrar el sello digital que se asocie al pago. La entidad que emite el comprobante de pago, ingresa una cadena original y el sello digital en una sección de dicho comprobante, este sello digital es el que se debe registrar en este campo. Debe ser expresado como una cadena de texto en formato base 64. Es requerido en caso de que el atributo TipoCadPago contenga información.
Ejemplo:
private void GeneraDocto(String version)
{
// Creamos un comprobante
int hXml = VirtualXML_New("3.3");
// Llenado del documento
VirtualXML_SetComprobanteInfo_cfdi33( hXml, "P", "1", "%cb_date", "", "", "0", "","XXX", "", "0", "P", "", "53050", "");
// Datos del emisor
// Datos del receptor
// Concepto, un comprobante de pago solo lleva un concepto fijo:
VirtualXML_AddConcepto_cfdi33( hXml, "84111506", "", "1", "ACT", "", "PAGO", "0", "0", "");
// Asignamos el complemento de pagos:
VirtualXML_SetPagos10( hXml );
// Agregamos un pago con cheque
VirtualXML_Pagos10SetPago( hXml, "2017-05-31T12:00:00", "02", "MXN", "", "1160.00", "652", "BSM970519DU8", "", "002180065145757870", "CFA950629CAA", "002180065145895321", "", "", "", "" );
// Agregamos un documento relacionado al pago anterior
VirtualXML_Pagos10AddPagoDoctoRelacionado( hXml, "FF93C8BE-AF7B-4FC5-8854-6DAE18CFB5B4", "A", "434", "MXN", "", "PPD", "1", "1160.00", "1160.00", "0.00" );
// Agregamos un pago con efectivo
VirtualXML_Pagos10SetPago( hXml, "2017-05-28T12:00:00", "01", "MXN", "", "5800.00", "", "", "", "", "", "", "", "", "", "" );
// Agregamos dos documentos relacionados al pago anterior
VirtualXML_Pagos10AddPagoDoctoRelacionado( hXml, "FDBA380A-9732-4FB5-A6CB-5FB4BD831697", "A", "1354", "MXN", "", "PPD", "2", "2320.00", "1160.00", "1160.00" );
VirtualXML_Pagos10AddPagoDoctoRelacionado( hXml, "BE1D4B47-E167-47A3-8049-70D4D43BCBE8", "C", "2549", "MXN", "", "PPD", "1", "11600.00", "4640.00", "6960.00" );
// Agregamos un pago con SPEI
VirtualXML_Pagos10SetPago( hXml, "2017-05-14T16:29:31", "03", "MXN", "", "2320.00", "BNET01001705190001524424", "BSM970519DU8", "002180065145757870", "CFA950629CAA", "002180065145895321", "01",
"MIIF+TCCA+GgAwIBAgIUMzAwMDEwMDAwMDAzMDAw.....Agregar aqui el certificado del complemento SPEI....",
"||1|02062017|02062017|172956|40002|BBVA BANCOMER....Agregar aqui la cadena del complemento SPEI...",
"RyOPIIajuWTAr3G80+UM/MmW+7u/Te3U+ofJxmZAdTRegHAbtYR2m918iHMFZXsynw+OQM5q+QnrYPTKQhkl3.... Agegar aqui el sello del complemento SPEI ...." );
// Agregamos un documento relacionado al pago anterior
VirtualXML_Pagos10AddPagoDoctoRelacionado( hXml, "D8E18C2F-2859-4927-A0F0-EA3E93642DDC", "A", "1254", "MXN", "", "PPD", "6", "2320.00", "2320.00", "0.00" );
// Procesamiento del documento
// ....
// Lectura de resultados
// ....
// Liberacion de memoria
VirtualXML_Free(hXml);
}
Veáse También