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

# Medios de pago

> Controla con qué puede pagar tu deudor: paymentMethods, domiciliación y la jerarquía de medios habilitados.

Cuando creas una deuda o una suscripción, puedes acotar **con qué medios** puede pagar el deudor. Por defecto, TapiPay resuelve internamente los medios disponibles para tu organización (efectivo y digitales) y tú decides si quieres restringirlos.

## Medios disponibles

El campo `paymentMethods` acepta uno o más de estos valores:

| Valor           | Medio                                |
| --------------- | ------------------------------------ |
| `CASH`          | Efectivo (puntos de pago en tiendas) |
| `CARD`          | Tarjeta de crédito o débito          |
| `TRANSFER`      | Transferencia                        |
| `WALLET`        | Billetera digital                    |
| `BANK_TRANSFER` | Transferencia bancaria               |

<Note>
  Si no envías `paymentMethods`, la deuda queda habilitada con los medios configurados a nivel de tu organización. No necesitas enviar este campo para cobrar.
</Note>

## Domiciliación (`autopay`)

`autopay` (default `false`) indica que el cobro se realiza por domiciliación, sin que el deudor elija un medio en cada cobro.

<Warning>
  `autopay` y `paymentMethods` son **mutuamente excluyentes**. Si envías `autopay: true`, no puedes enviar `paymentMethods` en la misma petición. Hacerlo devuelve `400 INVALID_REQUEST`.
</Warning>

```json Error: autopay + paymentMethods juntos theme={null}
{
  "error": {
    "code": "INVALID_REQUEST",
    "message": "Validation failed: autopay and paymentMethods are mutually exclusive."
  },
  "requestId": "req_3f8a1c9e2b"
}
```

## Jerarquía de medios

Los medios habilitados se resuelven en cascada, de lo general a lo específico:

```
Organización  ──►  Recurso (deuda / suscripción)
   (amplio)            (acota)
```

Lo que definas a nivel del recurso **acota** lo permitido por la organización. No puedes habilitar a nivel de deuda un medio que tu organización no tenga activo.

## Pago de varias deudas a la vez

Cuando un deudor paga **múltiples deudas en una sola operación**, el sistema calcula la **intersección** de los medios habilitados en cada deuda y solo ofrece los medios comunes a todas.

<CodeGroup>
  ```text Intersección con resultado theme={null}
  Deuda A: [CASH, CARD]
  Deuda B: [CARD]
  Intersección: [CARD]  → el pago procede con CARD
  ```

  ```text Intersección vacía theme={null}
  Deuda A: [CASH]
  Deuda B: [CARD]
  Intersección: []  → 422 BUSINESS_RULE_VIOLATION
  ```
</CodeGroup>

Si la intersección queda **vacía**, no hay un medio común para cobrar todas las deudas juntas y la operación se rechaza con `422 BUSINESS_RULE_VIOLATION`. En ese caso, el deudor debe pagarlas por separado.

<Tip>
  Si vas a permitir que tus deudores agrupen pagos, mantén un conjunto de `paymentMethods` consistente entre las deudas del mismo deudor para evitar intersecciones vacías.
</Tip>
