URL PRUEBAS: POST https://facturacion.789.mx/api/test/factura/crear
URL PRODUCCIÓN: POST https://facturacion.789.mx/api/factura/crear
Argumento | Tipo | Default | Descripción |
---|---|---|---|
main | Contiene los datos generales de la factura y los datos del emisor. | ||
razonSocial | string | none | Nombre ó Razón social del emisor. |
rfc
requerido |
string | none | RFC del emisor. 12 dígitos para persona moral y 13 dígitos para persona física. |
tipo
requerido |
string | none | Tipo de comprobante (ingreso, egreso, traslado, nomina, pago). Para este tipo de comprobante enviar pago |
moneda | string | MXN | Código de la moneda, acorde al estándar ISO 4217. Para este tipo de comprobante enviar xxx |
folio | string | '' | Número de folio asignado por la empresa para control interno. |
serie | string | '' | Serie. De 1 a 25 caracteres designados por la empresa para control interno y sin validez fiscal. |
total
requerido |
decimal | none | Por disposición de SAT en este tipo de documento siempre se debe de enviar 0. |
subtotal
requerido |
decimal | none | Por disposición de SAT en este tipo de documento siempre se debe de enviar 0. |
fechaEmision | date | now() 2025-04-18T15:06:18 |
Campo opcional para indicar la FECHA de EMISIÓN de la factura, puede ser hasta 48hrs hacia atras de la fecha actual. Debe cumplir el siguiente formato "Y-m-d\TH:i:s" |
direccionFiscal | string | '' | Domicilio fiscal del emisor. |
direccionFiscal.calle | string | '' | Calle del emisor. |
direccionFiscal.num_ext | string | '' | Número exterior (númerio visible desde la calle) del domicilio del emisor. |
direccionFiscal.num_int | string | '' | Número interior del domicilio del emisor. |
direccionFiscal.colonia | string | '' | Colonia del domicilio del emisor. |
direccionFiscal.cp
requerido |
string | '' | Código Postal del domicilio del emisor. |
direccionFiscal.ciudad | string | '' | Ciudad del domicilio del emisor. |
direccionFiscal.localidad | string | '' | Delegación o Municipio del domicilio del emisor. |
direccionFiscal.estado | string | '' | Estado del domicilio del emisor. |
direccionFiscal.pais | string | '' | País del domicilio del emisor. |
receptor | Datos del Receptor | ||
razon_social | string | none | Nombre o Razón social del receptor |
rfc
requerido |
string | none | RFC del receptor. 12 dígitos para persona moral y 13 dígitos para persona física. |
string | none | Correo electrónico del receptor, debe ser válido. | |
direccion | string | '' | Domicilio fiscal del receptor. |
direccion.calle | string | '' | Calle del receptor. |
direccion.num_ext | string | '' | Número exterior (númerio visible desde la calle) del domicilio del receptor. |
direccion.num_int | string | '' | Número interior del domicilio del receptor. |
direccion.colonia | string | '' | Colonia del domicilio del receptor. |
direccion.codigo_postal
requerido |
string | '' | Código Postal del domicilio del receptor. |
direccion.ciudad | string | '' | Ciudad del domicilio del receptor. |
direccion.estado | string | '' | Estado del domicilio del receptor. |
direccion.pais | string | '' | País del domicilio del receptor. |
conceptos | Por disposición de SAT en este tipo de documento solo se debe de enviar UN concepto. | ||
conceptos[].nombre
requerido |
string | none | Nombre del producto o servicio. Para este tipo de comprobante se recomiendo enviar pago |
conceptos[].unidad | string | none | Descripción de la unidad de medida. Por disposición de SAT en este tipo de documento siempre se debe de enviar 'ACTIVIDAD'. |
conceptos[].medidaKey
requerido |
string | none | Clave de la unidad de medida segun el catálogo del SAT. Por disposición de SAT en este tipo de documento siempre se debe de enviar 'ACT'. |
conceptos[].productKey
requerido |
string | none | Clave del producto segun el catálogo del SAT. Por disposición de SAT en este tipo de documento siempre se debe de enviar '84111506'. |
conceptos[].precioUnitario
requerido |
decimal | none | Por disposición de SAT en este tipo de documento siempre se debe de enviar '0'. |
conceptos[].cantidad | integer, decimal | 1 | Cantidad de productos o servicios vendidos, debe ser mayor a 0 |
conceptos[].total
requerido |
decimal | none | Por disposición de SAT en este tipo de documento siempre se debe de enviar '0'. |
complementos | Contiene los datos de los complementos a agregar al CFDI. | ||
recepcion_pago
requerido |
object | none | Datos detallados de la recepción de pago |
forma_pago
requerido |
string | none | Código de la forma de pago según el catálogo del SAT. |
moneda
requerido |
string | none | Código de la moneda, acorde al estándar ISO 4217 |
cambio | decimal | none | Tipo de cambio conforme a la moneda usada. Representa el número de pesos mexicanos que equivalen a una unidad de la moneda señalada. Es requerido cuando la moneda es diferente a MXN |
fecha
requerido |
date | none | Fecha en que se recibio el pago, debe llevar el formato 'Y-m-d'T'H:i:s' |
num_operacion
requerido |
string | none | Representa la forma en que se puede identificar el pago, puede ser, número de deposito, número de rastreo, número de cheque, u otro idenficador del pago. |
monto
requerido |
decimal | none | Importe total del pago recibido |
rfc_emisor_banco | string | none | RFC del banco emisor, (banco de donde sale el pago). Es requerdio cuando la forma de pago es bancarizado segun catálogo de SAT |
nombre_emisor_banco | string | none | Nombre del banco emisor, (banco de donde sale el pago). Es requerdio cuando el RFC del banco emisor es 'XEXX010101000' |
cta_ordenante | string | none | Número de cuenta del banco emisor, (banco de donde sale el pago). Es requerdio cuando la forma de pago es bancarizado y debe cumplir con el patron segun catálogo de SAT |
rfc_receptor_banco | string | none | RFC del banco receptor, (banco donde ingresa el pago). Es requerdio cuando la forma de pago es bancarizado segun catálogo de SAT |
cta_beneficiario | string | none | Número de cuenta del banco receptor, (banco donde ingresa el pago). Es requerdio cuando la forma de pago es bancarizado y debe cumplir con el patron segun catálogo de SAT |
related
requerido |
array | none | Conjunto de datos con los documentos relacionados |
related[].fecha
requerido |
date | none | Fecha de emisión del CFDI relacional, debe llevar el formato 'Y-m-d'T'H:i:s' |
related[].uuid
requerido |
string | none | UUID del CFDI relacional |
related[].numero_pago
requerido |
integer | none | Número de pago o parcialidad correspondiente al CFDI relacional |
related[].saldo_anterior
requerido |
decimal | none | Saldo del CFDI relacional, considerando los pagos anteriores |
related[].monto
requerido |
decimal | none | Importe total del pago realizado al CFDI relacional |
related[].saldo_insoluto
requerido |
decimal | none | Saldo total del CFDI relacional, despues de descontar el pago actual |
related[].metodoDePago
requerido |
string | none | Código del método de pago del CFDI relacional. PUE. Pago en una sola exhibición PPD. Pago en parcialidades o diferido. |
related[].moneda
requerido |
string | none | Moneda del CFDI relacional. |
related[].cambio | string | none | Tipo de cambio del CFDI relacional. Es requerido cuando la moneda es diferente a MXN |
related[].folio | string | none | Folio del CFDI relacional. |
related[].serie | string | none | Serie del CFDI relacional. |
ipn | Parametro opcional, permite recibir autonotificación del status del CFDI. Ver ejemplo |
||
ipn.url
requerido |
url | none | Endpoint o api donde ser recibiran las notificaciones de los cambios de status del CFDI |
ipn.data_request
requerido |
string, object | none | Conjunto de datos de control interno. Estos datos tal cual como sean enviados serán recibidos por el Endpoint o api. |
data: { "main":{ "razonSocial":"EMISOR SA DE CV", "rfc":"IIA040805DZ4", "tipo": "pago", "moneda": "XXX", "folio": "88", "serie": "B", "total": "0", "subtotal": "0", "direccionFiscal":{ "calle":"1RO DE MAYO", "num_ext":"153-A", "num_int":null, "colonia":"SAN LUIS TLATILCO", "ciudad":"NAUCALPAN DE JUAREZ", "cp":"53580", "estado":"Estado de México", "pais":"MÉXICO", "localidad":"NAUCALPAN DE JUAREZ", } }, "receptor": { "razon_social": "RECEPTOR, S.A. DE C.V.", "rfc": "FGM830830749", "email": "facturas@receptor.mx", "direccion": { "calle": "JUAN PEREZ", "colonia": "TRANSITO", "ciudad": "CIUDAD DE MEXICO", "estado": "Ciudad de México", "codigo_postal": "06820", "pais": "MEXICO", "num_ext": "39", "num_int": "0" } }, "conceptos": [ { "nombre": "Pago", "total": "0", "unidad": "ACTIVIDAD", "medidaKey": "ACT", "productKey": "84111506", "precioUnitario": "0", } ], "complementos": { "recepcion_pago": { "forma_pago": "03", "moneda": "MXN", "cambio": "1", "fecha": "2019-02-28T10:59:35", "num_operacion": "19", "monto": 488.394, "rfc_emisor_banco": "BBA830831LJ2", "nombre_emisor_banco": "PRuebarfc", "cta_ordenante": "1234567890", "rfc_receptor_banco": "BBA830831LJ2", "cta_beneficiario": "0196294642", "related": [ { "fecha": "2019-01-28T10:59:35", "uuid": "51B220AF-ED5D-4A32-AF7D-2E2E944125", "numero_pago": "1", "saldo_anterior": 9488.394, "monto": 488.394, "saldo_insoluto": 9000, "metodoDePago": "PPD", "moneda": "MXN", "cambio": 1, "folio": "8983", "serie": "A" } ] } }, "ipn": { "url":"http://***.cloudwaysapps.com/api/requestStatus", "data_request": 1, } }
Código de respuesta: 200 OK
{ id: 1, success: "Exito", uuid: "6B558DD0-D8B2-4C42-9445-68CCB2BE2C12", url_xml: "./6B558DD0-xxxxx.xml", url_pdf: "./6B558DD0-xxxxx.pdf" }
Código de respuesta: 406 Not Acceptable
Nota: este tipo de error hace indicación a que uno de los datos no es valido o esta mal llenado
[ 0: "El RFC del receptor no tiene un valor valido" ]
Código de respuesta: 403 Forbidden
Nota: este tipo de error hace indicación a la falta de datos obligatorios dentro de la solicitud
{ error: "Undefined property: stdClass::$rfc" }
Datos enviado al endpoint o api
{ "data_request": 1, "id": 1, "code_status": 200, "uuid": "6B558DD0-D8B2-4C42-9445-68CCB2BE2C12", "url_xml": "./6B558DD0-xxxxx.xml", "url_pdf":"./6B558DD0-xxxxx.pdf" }
Datos enviado al endpoint o api
{ "data_request": 1, "code_status": 403, "error": "Undefined property: stdClass::$rfc" }