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
| Campo | Tipo | Descripción |
|---|---|---|
| idreq | string | Id del complemento de pago. |
Headers
| Campo | Tipo | Descripción |
|---|---|---|
| Idempotency-Keyreq | string | Llave única de la operación de cancelación. |
Cuerpo (JSON)
| Campo | Tipo | Descripción |
|---|---|---|
| motivoreq | string | 01, 02, 03 o 04 del catálogo c_MotivoCancelacion. |
| folioSustitucion | string | UUID 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
| Status | code | Cuándo aparece |
|---|---|---|
| 400 | validation_error | Motivo inválido o falta folioSustitucion con motivo 01. |
| 401 | unauthorized | Falta el header Authorization o la llave es inválida. |
| 402 | insufficient_credits | No hay saldo para el timbre de cancelación. |
| 404 | not_found | El complemento no existe en tu cuenta. |
| 422 | sat_rejected | El SAT rechazó la cancelación. |
| 503 | pac_unavailable | El PAC no está disponible. |
Notas
- Para cancelar una factura PPD tienes que cancelar antes todos sus REPs vigentes.
