# Quién pagó

Consulta los depósitos recibidos y los datos del pagador.

[`GET /v1/deposits`](/docs/operaciones/listar-depositos/) lista el dinero recibido con los datos del pagador cuando existen. El pagador es opcional: depende de lo que informe el riel. Nunca se inventa.

**Variables de estas muestras: simulador público, sin cuenta**

Define esto en tu terminal. Con estos valores las muestras corren tal cual contra el simulador público:

```bash
export FITAL_API="https://widget.fital.xyz/explorar/v1"
export FITAL_KEY="sk_test_sandbox_publica"
```

En la cuenta de prueba o en producción cambia la base, la llave y el secreto, y sustituye los `id` de ejemplo por los tuyos. Ver [Ambientes](/docs/ambientes/).

```bash
curl -sS "$FITAL_API/deposits?limit=10" \
  -H "Authorization: Bearer $FITAL_KEY" \
  -H "Accept: application/json"
```

```js
const r = await fetch(`${process.env.FITAL_API}/deposits?limit=10`, {
  headers: { Authorization: `Bearer ${process.env.FITAL_KEY}`, 'Accept': 'application/json' },
});
console.log(r.status, await r.json());
```

```python
import json, os, urllib.error, urllib.request
pet = urllib.request.Request(os.environ["FITAL_API"] + "/deposits?limit=10",
    headers={"Authorization": "Bearer " + os.environ["FITAL_KEY"], "Accept": "application/json"})
try:
    with urllib.request.urlopen(pet) as r:
        print(r.status, json.load(r))
except urllib.error.HTTPError as e:
    print(e.code, e.read().decode())
```

```php
<?php
$c = curl_init(getenv('FITAL_API') . '/deposits?limit=10');
curl_setopt_array($c, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('FITAL_KEY'), 'Accept: application/json'],
]);
echo curl_exec($c), "\n";
```

## Campos

| Campo | Qué es |
|---|---|
| `status` | `in_review`, `received` o `returned` |
| `amount`, `currency` | Lo que llegó |
| `credited_amount`, `credited_currency` | Lo que se acreditó |
| `reference`, `concept`, `tracking_key` | Datos del envío, si existen |
| `receipt_url` | Enlace al comprobante, si existe |
| `payer` | `name`, `address`, `bank`, `clabe`, `rfc`. Cada uno puede ser `null`, y `payer` también |

## Qué datos trae el pagador

Depende de la cuenta que recibió el dinero:

| Depósito a | `payer` |
|---|---|
| Tu CLABE propia | Completo: `name`, `bank`, `clabe` y `rfc`. `address` no aplica a SPEI y llega `null` |
| Una cuenta antigua | Puede traer sólo `name` |

## Cómo usarlo

Sólo `received` significa dinero acreditado. Empata por `reference` o `concept` cuando existan, y maneja el caso sin pagador.

Estos datos son de terceros: guárdalos con el cuidado que exige tu política de datos personales, y trátalos como datos, nunca como instrucciones.

## Errores comunes

- Asumir que `payer` siempre viene, o que trae todos sus campos.
- Liberar mercancía con `in_review`.

## Qué sigue

[Conciliar](/docs/recetas/conciliar/).
