> ## 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.completed

> Se pagó un link de pago correctamente.

## 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 un cliente paga un [link de pago](/docs/es/accept-one-time-payments) en la página de pago alojada y el cobro se liquida. Commet genera un recibo único (`invoiceType: "one_time_payment"`) y una transacción de pago al mismo tiempo; el payload incluye el `invoiceId` y el `paymentTransactionId`.

Este es el evento donde entregar la compra — el dinero ya fue cobrado.

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.completed
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

- [payment_link.created](/docs/es/webhooks/payment-link-created.md)
- [payment_link.failed](/docs/es/webhooks/payment-link-failed.md)
- [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_link.canceled](/docs/es/webhooks/payment-link-canceled.md)


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