Documentación / API / Complementos de pago (REP)

Cancelar un complemento de pago

POSThttps://api.cfdi.express/v1/payments/{id}/cancelAPI keyIdempotency-Key

Cancela ante el SAT un complemento de pago timbrado y restaura el saldo pendiente de la factura.

Mismos motivos que en facturas (01–04). Cancelar un REP devuelve su importe al saldoPendiente de la factura PPD, de modo que puedes volver a timbrar el pago corregido.

Autenticación
Authorization: Bearer sk_test_... | sk_live_...

Parámetros

Parámetros de ruta

CampoTipoDescripción
idreqstringId del complemento de pago.

Headers

CampoTipoDescripción
Idempotency-KeyreqstringLlave única de la operación de cancelación.

Cuerpo (JSON)

CampoTipoDescripción
motivoreqstring01, 02, 03 o 04 del catálogo c_MotivoCancelacion.
folioSustitucionstringUUID del REP que lo sustituye. Obligatorio con motivo 01.

Ejemplos

cURL
curl -X POST https://api.cfdi.express/v1/payments/pay9x2m6q4k1v3p8d7n5c0bt/cancel \
  -H "Authorization: Bearer sk_test_..." \
  -H "Idempotency-Key: cancel_payment_88231" \
  -H "Content-Type: application/json" \
  -d '{ "motivo": "02" }'

Respuesta

202 Accepted
{
  "id": "pay9x2m6q4k1v3p8d7n5c0bt",
  "object": "payment",
  "status": "cancelled",
  "uuid": "5c9e7f22-1a3b-4d8e-9f01-2b3c4d5e6f70",
  "cancellation": {
    "motivo": "02",
    "folioSustitucion": null,
    "status": "cancelled",
    "chargedCentavos": 100,
    "acuseUrl": "https://files.cfdi.express/acuse-5c9e7f22.xml?X-Amz-Expires=900&...",
    "requestedAt": "2026-08-18T18:48:01.220Z",
    "resolvedAt": "2026-08-18T18:48:03.994Z"
  }
}

Errores

StatuscodeCuándo aparece
400validation_errorMotivo inválido o falta folioSustitucion con motivo 01.
401unauthorizedFalta el header Authorization o la llave es inválida.
402insufficient_creditsNo hay saldo para el timbre de cancelación.
404not_foundEl complemento no existe en tu cuenta.
422sat_rejectedEl SAT rechazó la cancelación.
503pac_unavailableEl PAC no está disponible.

Notas

  • Para cancelar una factura PPD tienes que cancelar antes todos sus REPs vigentes.

Continuar