> ## Documentation Index
> Fetch the complete documentation index at: https://commet.co/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# payment_link.failed

> Falló un intento de cobro de un link de pago.

## paymentContext

El motivo original del cobro y cómo se inició este intento. La recuperación nunca reemplaza el motivo original. El contexto puede ser null si no se capturó, incluso en reintentos de facturas históricas.

<Accordion title="Campos y motivos de pago">
  ### `reason`

  `string`

  El motivo original, que se conserva entre intentos de pago.

  ### `paymentLinkId`

  `string | null`

  El ID público del enlace de pago, o null si el cobro no se originó en uno. Es independiente del motivo y de la forma de recuperación.

  ### `recovery`

  `object | null`

  Es null cuando el cobro no recupera una suscripción. payment\_recovery identifica la recuperación manual de una suscripción vencida, la vuelta después de una cancelación por impago o el reintento de una reanudación fallida. Reintentar el checkout inicial o un pago único no es recuperación. dunning\_retry identifica un reintento automático de cobro, no de entrega del webhook.

  ### `recovery.attempt`

  `integer`

  La posición del reintento de cobro en el calendario de dunning, empezando en 1. El rechazo original no es un reintento. Sólo aparece en dunning\_retry.

  ### `recovery.maxAttempts`

  `integer`

  El total de reintentos automáticos aplicable al cobro cuando empezó el intento. No representa los reintentos restantes. Sólo aparece en dunning\_retry.

  | reason | Cuándo se usa |
  | - | - |
  | `first_subscription_payment` | El pago inicial de una suscripción. |
  | `trial_conversion` | El pago al finalizar un período de prueba gratuito. |
  | `recurring_billing` | Una renovación de la suscripción. |
  | `plan_change` | Un cobro por un cambio de plan. |
  | `reactivation` | Un cobro para reactivar una suscripción cancelada. |
  | `subscription_resume` | Un cobro para reanudar una suscripción pausada. |
  | `one_time_payment` | Un pago único, incluidos los enlaces de pago. |
  | `overage` | Un cobro por consumo que supera lo incluido en el plan. |
  | `adjustment` | Un cobro de una factura de ajuste. |
</Accordion>

## Cuándo se dispara

Cuando se rechaza un intento de cobro sobre un [link de pago](/docs/es/accept-one-time-payments). El link queda abierto — un link fallido se puede reintentar, y el cliente puede pagarlo de nuevo. Un intento exitoso posterior dispara `payment_link.completed`.

`failureCode` es el código del procesador (por ejemplo `card_declined`) y `failureMessage` es el motivo legible, o `null` cuando el proveedor no da ninguno.

El evento se dispara igual sin importar qué proveedor de pagos procese el cobro.


## OpenAPI

````yaml /openapi/es/webhooks/2026-08-27.json webhook payment_link.failed
openapi: 3.1.0
info:
  title: Commet Webhooks
  version: '2026-08-27'
  description: >-
    Outbound webhook events emitted by the Commet API. Each event is delivered
    as a signed POST to your configured endpoints.
servers: []
security: []
paths: {}

````

## Related topics

- [Create webhook endpoint](/docs/es/api-reference/webhooks/create-webhook-endpoint.md)
- [Update webhook endpoint](/docs/es/api-reference/webhooks/update-webhook-endpoint.md)
- [payment.failed](/docs/es/webhooks/payment-failed.md)
- [payment_failed](/docs/es/api-reference/errors/payment_failed.md)
- [Cancel a payment link](/docs/es/api-reference/payments/cancel-payment.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.