> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.recurrente.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.recurrente.com/_mcp/server.

# Pago con stablecoin actualizado

POST 

Se emite cuando cambia un intento de cobro con stablecoin.
Las cuentas nuevas reciben solo su reemplazo unificado `intent.*`; las anteriores conservan este evento.


Reference: https://docs.recurrente.com/referencia-api/api-reference/webhook-events/crypto-intent-updated-webhook

## Request

### Payload

- `event_type` (string, required) — Tipo exacto del evento enviado por Recurrente.
- `id` (string, required) — ID del intent concreto por tipo (`ca_…` para efectivo). No es el ID unificado `in_…`.
- `api_version` (string, required)
- `created_at` (datetime, required)
- `live_mode` (boolean, required)
- `connected` (boolean, optional, nullable) — Presente como `true` cuando el evento proviene de una cuenta conectada.
- `account_id` (string, optional, nullable) — ID de la cuenta conectada que originó el evento.
- `receipt_number` (integer, optional)
- `customer_id` (string, optional)
- `user_id` (string, optional)
- `customer` (LegacyIntentWebhookCustomer, optional)
- `amount_in_cents` (integer, optional)
- `currency` (string, optional)
- `product` (LegacyIntentWebhookProduct, optional)
- `bank_reference` (string, optional, nullable) — Referencia de la transferencia asignada por el banco o la red de pago (número interbancario, trace ACH, IMAD). Presente en eventos `bank_transfer_intent.*`; `null` mientras no se ha recibido la transferencia.
- `sender_comment` (string, optional, nullable) — Comentario libre que el pagador escribió en la transferencia, tal como lo reporta su banco. Presente en eventos `bank_transfer_intent.*`.
- `status` (string, optional) — Presente en eventos `setup_intent.*`.
- `subscription` (LegacyIntentWebhookSubscription, optional)
- `failure_reason` (string, optional, nullable) — Razón de fallo. En eventos `bank_transfer_intent.failed`: `null` cuando la transferencia nunca llegó, `bridge_refunded` cuando el banco la devolvió, `reassigned` cuando el depósito acreditado bajo este intent se asoció a otro cobro pendiente (el saldo no cambia; el cobro correcto emite su propio `succeeded`), y `reassignment_reverted` cuando se deshizo esa asociación y este cobro volvió a quedar sin pagar.
- `fee` (integer, optional)
- `tax_invoicing_fee` (integer, optional)
- `vat_withheld` (integer, optional)
- `vat_withheld_currency` (string, optional)
- `used_presaved_payment_method` (boolean, optional)
- `amount_set_in_browser` (boolean, optional) — El monto lo fijó el navegador del comprador (botón de Clave en el sitio del comercio, con ítems con monto inline y sin firma). Compáralo con tu pedido antes de entregar.
- `installments` (integer, optional)
- `products` (list of LegacyIntentWebhookProductsItems, optional)
- `tax_invoice_url` (string, optional, nullable)
- `channel` (enum, optional) — Origen exacto del cobro con tarjeta. Usa `POS` para una terminal física, `Celular como POS` para cobros desde un teléfono y `Link de pago` para cobros con tarjeta en línea.
  - Allowed values: `POS`, `Celular como POS`, `Link de pago`
- `checkout` (LegacyIntentWebhookCheckout, optional, nullable)
- `payment` (LegacyIntentWebhookPayment, optional, nullable)

## Types

### LegacyIntentWebhookCustomer

- `id` (string, optional)
- `email` (string, optional)
- `full_name` (string, optional)
- `nit` (string, optional, nullable)
- `phone` (string, optional, nullable)

### LegacyIntentWebhookProduct

- `id` (string, optional)

### LegacyIntentWebhookSubscription

- `id` (string, optional, nullable)

### LegacyIntentWebhookProductsItems

### LegacyIntentWebhookCheckout

### LegacyIntentWebhookPayment