CredonixDocs
Referencia de la APIComplementos de pago

Emitir

Timbra un complemento de pago para un pago existente.

Descripción general

Este endpoint timbra un complemento de pago para un pago que ya existe, por ejemplo después de reactivar un pago o de cancelar su complemento. Al registrar un pago, el complemento se emite automáticamente cuando corresponde; este endpoint sirve para emitirlo después.

El complemento se relaciona con el CFDI PPD emitido de la orden de cobro del pago y usa los datos del pago: la clave SAT de su forma de pago, su fecha y su moneda. La moneda no se puede enviar; siempre es la del pago. El saldo anterior del complemento es el total de la orden de cobro menos los demás pagos activos de esa orden que ya tienen un complemento emitido del mismo tipo (real o de prueba), convertido a la moneda del CFDI.

Condiciones para emitirlo:

  • El pago no está cancelado y su orden de cobro tampoco.
  • La orden de cobro tiene un CFDI PPD emitido; en modo de prueba, un CFDI de prueba PPD emitido.
  • El pago no tiene ya un complemento emitted o pending del mismo tipo. Un pago puede tener un solo complemento emitido.

Modo de prueba. Con "test": true, el complemento se timbra de prueba, sin validez fiscal, y no modifica el pago.

Acepta el header Idempotency-Key. Requiere el permiso Crear en Pagos.

Endpoint

POSThttps://app.credonix.mx/api/v1/payments/{paymentId}/complements

Path param: paymentId — el ID del pago.

Emite un complemento de prueba


Un pago en MXN a una orden de cobro en MXN no requiere tipo de cambio. En este ejemplo el complemento de prueba anterior del pago ya estaba cancelado, así que se emite uno nuevo.

{ "test": true }

Orden de cobro sin CFDI PPD


Si la orden de cobro del pago no tiene un CFDI PPD emitido, la API responde 409 con PPD_CFDI_REQUIRED. El mismo código se usa en modo de prueba cuando falta el CFDI de prueba PPD.

Tipo de cambio


  • El tipo de cambio es requerido cuando la moneda del pago no es MXN o es distinta de la moneda de la orden de cobro. Si falta, la API responde 400 con VALIDATION_ERROR en el campo exchange_rate y el mensaje "El tipo de cambio es requerido por el SAT.".
  • También se valida contra la moneda del CFDI relacionado: si la moneda del pago no es MXN o es distinta de la del CFDI y el tipo de cambio falta o es menor o igual a 0, la API responde 400 con EXCHANGE_RATE_REQUIRED.
  • Si omites exchange_rate, se usa el tipo de cambio guardado en el pago. Envía null para no usar ninguno.
  • En modo real, si se usa un tipo de cambio, el exchange_rate del pago se actualiza con ese valor. En modo de prueba el pago no cambia.

Reglas de los campos

CampoTipoRequeridoNotas
exchange_ratestring | number | nullSegún la monedaTipo de cambio USD→MXN. Si se omite, se usa el del pago; null indica que no hay tipo de cambio.
testbooleanNoPor defecto false. Timbra el complemento en modo de prueba.

Cualquier otro campo responde 400 con VALIDATION_ERROR (unrecognized_keys).

Forma de las respuestas

201 — el complemento de pago emitido, con la forma de Listar complementos de pago.

Errores

StatusCódigoCausa
400VALIDATION_ERRORCampo inválido o desconocido, o tipo de cambio requerido.
400EXCHANGE_RATE_REQUIREDEl tipo de cambio es requerido para la moneda del CFDI relacionado y falta o es menor o igual a 0.
400INVOICE_TOTAL_INVALIDLa orden de cobro no tiene un monto total válido.
400LEGAL_ENTITY_NOT_CONFIGUREDLa razón social no tiene la configuración necesaria para timbrar el complemento de prueba.
400CFDI_STAMP_FAILEDEl PAC rechazó el complemento de pago. message trae el motivo.
401MISSING_API_KEY | INVALID_API_KEY | API_KEY_REVOKEDAPI key ausente, inválida o revocada.
403INSUFFICIENT_PERMISSIONSLa API key no tiene el permiso Crear en Pagos.
404NOT_FOUNDEl pago no existe en tu organización.
409PAYMENT_CANCELEDEl pago está cancelado.
409PAYMENT_ALREADY_HAS_COMPLEMENTEl pago ya tiene un complemento emitted o pending del mismo tipo.
409INVOICE_CANCELEDLa orden de cobro está cancelada.
409PPD_CFDI_REQUIREDLa orden de cobro no tiene un CFDI PPD emitido (o un CFDI de prueba PPD, en modo de prueba).
Abrir Credonix