## Список платёжных систем

`GET /v1/pay-systems`

Находит платёжные системы портала по заданным условиям. Используйте метод, чтобы выбрать систему для оплаты заказа.

Скоуп: `pay_system`.

## Параметры

| Параметр | Тип | Обяз. | Описание |
|----------|-----|:-----:|----------|
| `filter` (query) | object / string | нет | Фильтрация по [полям платёжной системы](./fields.md). Принимается JSON-объект в строке или параметры в квадратных скобках. Поддерживаются равенство, `$eq`, массив значений и `$in`.<br>[Синтаксис фильтрации](/docs/filtering). Пример: `?filter[id]=1` |
| `sort` (query) | string | нет | Имена полей через запятую. Префикс `-` задаёт сортировку по убыванию. Пример: `?sort=-id` |
| `select` (query) | string | нет | Имена возвращаемых полей через запятую или `*` для всех полей. Пример: `?select=id,name,active` |

Пагинация: метод получает полный список, соответствующий фильтру. Параметры `limit` и `offset` не принимаются.

## Примеры

### curl — личный ключ

```bash
curl -g "https://vibecode.bitrix24.tech/v1/pay-systems?filter[id]=1&select=id,name,active&sort=-id" \
  -H "X-Api-Key: YOUR_API_KEY"
```

### curl — OAuth-приложение

```bash
curl -g "https://vibecode.bitrix24.tech/v1/pay-systems?filter[id]=1&select=id,name,active&sort=-id" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"
```

### JavaScript — личный ключ

```javascript
const response = await fetch(
  'https://vibecode.bitrix24.tech/v1/pay-systems?filter%5Bid%5D=1&select=id,name,active&sort=-id',
  {
    headers: {
      'X-Api-Key': 'YOUR_API_KEY',
    },
  },
);

console.log(await response.json());
```

### JavaScript — OAuth-приложение

```javascript
const response = await fetch(
  'https://vibecode.bitrix24.tech/v1/pay-systems?filter%5Bid%5D=1&select=id,name,active&sort=-id',
  {
    headers: {
      'X-Api-Key': 'YOUR_APP_KEY',
      'Authorization': 'Bearer USER_SESSION_TOKEN',
    },
  },
);

console.log(await response.json());
```

## Поля ответа

| Поле | Тип | Описание |
|------|-----|----------|
| `success` | boolean | `true` при успешном выполнении |
| `data` | array | Массив платёжных систем. Состав записей — [Поля платёжной системы](./fields.md). При переданном `select` возвращаются выбранные поля |
| `meta.total` | integer | Количество записей в массиве `data` |

## Пример ответа

Ответ на запрос с `filter[id]=1`, `select=id,name,active` и `sort=-id`:

```json
{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Банковский перевод (Компании)",
      "active": "Y"
    }
  ],
  "meta": {
    "total": 1
  }
}
```

## Пример ответа при ошибке

400 — передан параметр `limit`:

```json
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Only filter, sort and select are supported; the full list has no pagination"
  }
}
```

## Ошибки

| HTTP | Код | Описание |
|------|-----|----------|
| 400 | `INVALID_PARAMS` | Передан параметр помимо `filter`, `sort` и `select`, повторён `sort` или `select`, нарушен их формат либо поле сортировки указано повторно |
| 400 | `INVALID_FILTER` | Смешаны JSON и параметры в квадратных скобках либо повторено условие фильтра |
| 400 | `INVALID_FILTER_SHAPE` | Нарушена структура фильтра, его условий или массива значений |
| 400 | `INVALID_FILTER_OPERATOR` | Передан оператор помимо равенства и выбора из массива значений |
| 400 | `INVALID_DUPLICATE_FILTER_FIELD` | Одно поле фильтра задано несколькими способами |
| 400 | `UNKNOWN_FILTER_FIELD` | Неизвестное поле фильтра. Доступные имена — [Поля платёжной системы](./fields.md) |
| 400 | `UNKNOWN_SELECT_FIELD` | Неизвестное поле в `select` |
| 400 | `UNKNOWN_SORT_FIELD` | Неизвестное поле в `sort` |
| 403 | `BITRIX_ACCESS_DENIED` | Битрикс24 отказал в доступе к платёжным системам |
| 422 | `BITRIX_ERROR` | Битрикс24 отклонил операцию. Причина указана в `error.message` |
| 502 | `BITRIX_RESPONSE_INVALID` | Ответ Битрикс24 имеет некорректную структуру |
| 401 | `MISSING_API_KEY` | Не передан заголовок `X-Api-Key` |
| 401 | `INVALID_API_KEY` | API-ключ недействителен |
| 401 | `TOKEN_MISSING` | У API-ключа нет настроенных токенов Битрикс24 |
| 403 | `SCOPE_DENIED` | У API-ключа нет скоупа `pay_system` |

Полный список общих ошибок API — [Ошибки](/docs/errors).

## Смотрите также

- [Платёжные системы](/docs/entities/pay-systems)
- [Получить платёжную систему](./get.md)
- [Обработчики платёжных систем](./handlers.md)
- [Синтаксис фильтрации](/docs/filtering)
