# Enviar transferencia

> Envía una transferencia desde una cuenta bancaria del comercio. Valida la cuenta destino antes y exige un código de confirmación que llega al correo del comercio.

- kind: mcp-tool
- status: stable
- access: destructive
- last_verified: 2026-09-14
- url: https://www.tilopay.com/developers/agentes/mcp/api-bancario/send-transfer

<Callout type="warn">
  **Esta herramienta mueve dinero real.** Antes de enviar, valida la cuenta destino; y para ejecutar
  la transferencia exige un **código de confirmación** que llega al correo del comercio. Sin ese
  código la operación no se envía.
</Callout>

> Estas herramientas se activan bajo solicitud y sólo funcionan para usuarios con credenciales del API bancario de Tilopay. No forman parte del acceso MCP por defecto: Tilopay habilita el grupo caso por caso. Requiere: Credenciales del API bancario de Tilopay registradas por Tilopay para ese usuario.

- `baas_send_transfer`
- Acceso: Sensible
- Operación del API: `POST /api/public/v1/transactions/payments` — https://www.tilopay.com/developers/api-bancario/pagos

Envía una transferencia desde la cuenta bancaria del comercio. Método por defecto: SINPE Móvil (destino por teléfono). Para transferencia a cuenta use accountType=IBAN. Requiere código de 6 dígitos por correo. Valida límites por transferencia y acumulado diario.

**Parámetros**

| Parámetro | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `amount` | number | sí | Monto a transferir |
| `currency` | string | sí | Moneda ISO 4217 (CRC, USD) |
| `contactName` | string | — | Nombre del contacto guardado (busca su teléfono/IBAN) |
| `destinationAccountType` | string (PHONE | IBAN) | — | PHONE = SINPE Móvil (por defecto), IBAN = transferencia a cuenta |
| `destinationAccountValue` | string | — | Teléfono E.164 o IBAN del destino (si no se usa contactName) |
| `destinationName` | string | — | Nombre del destinatario (si no se valida via contacto) |
| `detailReference` | string | — | Descripción del pago (si se omite, se genera una) |
| `assignmentId` | string | — | Contexto BaaS (opcional) |
| `confirmation_code` | string | — | Código de 6 dígitos del correo (segundo factor) |

**Devuelve**

`{ result: { payment, clientReference, detailReference, destinationName, destinationAccount } }`

Envía una transferencia desde una cuenta BaaS del comercio: payment = el pago creado con su payment_id y estado; clientReference y detailReference = referencias para conciliar; destinationName y destinationAccount = a quién y a qué cuenta se envió. Valida la cuenta destino antes y exige código de confirmación por correo.
