> Chytapay es una plataforma de cobros por transferencia en Argentina. Esta página es parte de la doc de la Integration API: https://chytapay.com.ar/api/
> Conciliación recomendada: por CUIL. Ambientes: test (https://integration-api.test.chytapay.com.ar) y producción (https://integration-api.chytapay.com.ar).
> Página: "Novedades de la API" (https://chytapay.com.ar/api/novedades-api/), actualizada el 2026-11-02.
> Índice completo para asistentes de IA: https://chytapay.com.ar/llms.txt

# Novedades de la API

Los cambios de la Integration API que ves como integrador: nuevo, cambios, correcciones y qué tenés que hacer.

Lo que cambia en la Integration API y en el Portal, con la fecha en que llegó a Producción. Los cambios del SDK y del checkout están en [Novedades del widget](https://chytapay.com.ar/api/novedades-widget/).

Cada entrada tiene un tipo (**Nuevo**, **Cambio**, **Corrección** o **Deprecación**) y cierra con lo que tenés que hacer. **Requiere acción** marca lo que puede romper tu integración si no lo mirás.

## 3 de noviembre de 2026

**Cambio · Portal** · El Portal tiene menú nuevo: Inicio, Cobros, Comercios, Credenciales, Webhooks, Simulador y Configuración. La URL del webhook y el secreto de firma pasaron a **Webhooks**, y las direcciones de retorno a **Credenciales**. Los links viejos siguen funcionando.
¿Tenés que hacer algo? No.

**Nuevo · Portal** · En **Configuración** elegís la apariencia del widget, las devoluciones automáticas y los avisos por WhatsApp. Las devoluciones y la apariencia las habilita Chytapay a pedido; los avisos por WhatsApp ya vienen habilitados. Ver [Funciones por integración](https://chytapay.com.ar/api/funciones/).
¿Tenés que hacer algo? Solo si querés usarlas.

**Cambio · Avisos por WhatsApp** · `sendWhatsappNotification` ya no es obligatorio cuando el cobro tiene `amount`. Si lo omitís, rige lo que elegiste para tu integración en el Portal, y el aviso arranca apagado. `sendEmailNotification` sigue siendo obligatorio con monto. En un lote, si un ítem manda `true`, todos los ítems con monto tienen que mandar el campo.
¿Tenés que hacer algo? Si creás cobros sin el campo y esperás el aviso, mandá `sendWhatsappNotification: true` o prendé el aviso en el Portal.

## 31 de octubre de 2026

**Nuevo · Portal** · Elegís en el Portal qué devoluciones automáticas corren y qué mensajes de WhatsApp salen por defecto, dentro de lo que Chytapay habilitó para tu integración (los avisos por WhatsApp vienen habilitados).
¿Tenés que hacer algo? No.

## 30 de octubre de 2026

**Cambio · Avisos por WhatsApp** · El aviso del cobro y la confirmación de pago se habilitan por integración. Si un cobro pide un mensaje que Chytapay no habilitó, la API responde **403** (`WhatsappNotEnabledError`, `WhatsappNotificationNotAllowedError` o `WhatsappPaymentConfirmationNotAllowedError`). Ver [WhatsApp](https://chytapay.com.ar/api/funciones/#whatsapp).
¿Tenés que hacer algo? No, salvo que recibas esos 403: escribinos para habilitarlos.

## 29 de octubre de 2026

**Nuevo · Documento precargado en el checkout** · `POST /payment-request` con `type: "checkout"` acepta `customer.taxDocument` (DNI, CUIL o CUIT). El widget arranca con ese documento en lugar de pedirlo, y el pagador puede cambiarlo. Cualquier otro campo de `customer` da 400. Ver [Widget](https://chytapay.com.ar/api/widget/#cobro-checkout).
¿Tenés que hacer algo? No. Es opcional.

## 26 de octubre de 2026

**Nuevo · Devoluciones por API** · Podés devolver un cobro total o en varias parciales con `POST /payment-request/{referenceId}/refunds` y consultar cada devolución con `GET /refunds/{refundId}`. El resultado llega por los webhooks `refund.succeeded` y `refund.failed`, que vienen apagados. El header `Idempotency-Key` es obligatorio: reintentar con la misma clave no genera una segunda devolución, y la misma clave con otro cuerpo da 422. Responde 403 hasta que Chytapay habilita las devoluciones para tu integración y, además, cada comercio las autoriza por API: se pide a Chytapay con la autorización escrita del comercio (`RefundsNotConsentedError`). Ver [Devoluciones](https://chytapay.com.ar/api/funciones/#devolucion-api).
¿Tenés que hacer algo? Solo si querés usarlas: pedí la habilitación.

**Nuevo · Devoluciones automáticas** · Chytapay puede devolver solo el excedente de un pago, los pagos de menos y las transferencias que no corresponden a ningún cobro. Cada modo lo habilita Chytapay y lo elegís vos. Ver [Devoluciones automáticas](https://chytapay.com.ar/api/funciones/#devolucion-automatica).
¿Tenés que hacer algo? No, salvo que quieras usarlas.

**Cambio · Estados `refunded` y `partially_refunded`** · Un cobro puede pasar a `refunded` o `partially_refunded`, también cuando la devolución la hace el comercio o soporte, aunque no uses la API de devoluciones. Aparecen en `GET /payment-request`, en el detalle del cobro y en los webhooks.
**Requiere acción** si tu código rechaza estados que no conoce: sumá los dos valores.

**Cambio · Motivos de `payment.unmatched`** · Hay dos motivos nuevos, `refunded` (el cobro ya estaba devuelto) y `partial_not_accepted` (el pago era menor al total y se devolvió entero). Los dos traen `paymentRequest`. Ver [Pagos sin imputar](https://chytapay.com.ar/api/webhooks/#pago-sin-imputar).
**Requiere acción** si tu código descarta los motivos que no conoce.

**Cambio · Entrega de webhooks** · Las entregas mandan `Accept-Encoding: identity`. Si tu servidor responde una redirección, seguimos hasta 3 (307 y 308 reenvían el POST con su firma; 301, 302 y 303 pasan a GET sin cuerpo). La prueba de URL del Portal ya no sigue redirecciones: un 3xx se informa como respuesta que no es 2xx.
¿Tenés que hacer algo? Si tu URL de webhook redirige, configurá la URL final.

**Cambio · Alcance del `idToken` del OAuth** · El `idToken` que recibís al conectar un comercio sirve para la Integration API. Las otras APIs de Chytapay ya no lo aceptan.
¿Tenés que hacer algo? No, si solo usás la Integration API.

## 22 de octubre de 2026

**Corrección · `status` del listado de cobros** · `GET /payment-request` devolvía `status` con valores internos (`pago_total`, `pendiente`). Ahora devuelve los del contrato (`total_payment`, `pending`), igual que el resto de la API.
**Requiere acción** si te adaptaste a los valores viejos.

**Nuevo · Webhook al imputar un pago a mano** · Cuando el comercio imputa a mano una transferencia a un cobro, te llega `payment_request.payment_received` con el estado resultante. Antes no llegaba nada.
¿Tenés que hacer algo? No. Si deduplicás por `X-Chytapay-Webhook-Id`, ya está cubierto.

## 21 de octubre de 2026

**Nuevo · Más datos en `payment.unmatched`** · El evento suma `merchantUserId`, `merchantTaxId`, `merchantName` y `tenantKey`. `tenantKey` viaja solo si el comercio está en una sede. No se sacó ningún campo.
¿Tenés que hacer algo? No.

## 15 de octubre de 2026

**Nuevo · Asistente de documentación (MCP)** · Podés conectar tu asistente de código al servidor MCP de Chytapay para consultar esta documentación. Ver [Conectar tu asistente](https://chytapay.com.ar/api/conectar-asistente/).
¿Tenés que hacer algo? No.

**Cambio · User-Agent de los webhooks** · Las entregas salen con `User-Agent: Chytapay-Webhooks/1.0` y la prueba del Portal con `Chytapay-Webhooks/1.0 (test)`. Antes salían con `node`, y algunos firewalls las bloqueaban.
¿Tenés que hacer algo? Si filtrás bots, permití `Chytapay-Webhooks`.

**Nuevo · `GET /me`** · Devuelve la identidad del comercio dueño del token y su vínculo con tu integración, sin abrir el `idToken` ni crear un cobro. Ver [Confirmar el comercio](https://chytapay.com.ar/api/conectar-comercios/#confirmar-comercio).
¿Tenés que hacer algo? No.

## 10 de octubre de 2026

**Corrección · Errores de validación por largo** · Un texto más largo que lo permitido en los datos de tu integración daba 500. Ahora da 400 con el campo y el máximo.
¿Tenés que hacer algo? No.

## 8 de octubre de 2026

**Nuevo · Historial de entregas de webhook** · En el Portal ves cada evento con su estado (`delivered`, `retrying` o `failed`) y sus intentos. Se guarda 60 días.
¿Tenés que hacer algo? No.
