Справочник методов

Адрес, поля ответа и отказы каждой выпущенной ручки API.

Справочник собирается из схем сервера. Каждая сборка сверяет с ними ответы работающего сервера и примеры на этой странице.

Общее для всех ручек

Проверить ключ

GET/api/v1/meс 12.11.2026

Возвращает мерчанта, контур и открытую часть ключа, которым сделан запрос. Ничего не меняет. С этого запроса начинают интеграцию: он показывает, что ключ принят и к какому контуру относится.

  • Секрет ключа в ответе не возвращается никогда.
  • Названия, которым администратор пометил ключ у себя в консоли, в ответе нет.

Запрос

curl -sS https://api.plutera.io/api/v1/me \
  -H "Authorization: Bearer $PLUTERA_API_KEY"

Параметров в адресе нет. Параметр с незнакомым именем отклоняется.

Тела у запроса нет.

Ответ 200

ПолеВидВ ответеЧто это
merchantобъектвсегдаМерчант, которому выдан ключ.
merchant.codeстрокавсегдаКод мерчанта. Задаётся при заведении и не меняется.
merchant.nameстрокавсегдаНазвание мерчанта, как оно записано в Plutera.
environmentстрокаLIVE TESTвсегдаКонтур ключа. Все запросы этим ключом исполняются в этом контуре.
keyобъектвсегдаКлюч, которым сделан запрос.
key.keyIdстрокавсегдаОткрытая часть ключа. Не секрет: по ней ключ называют в переписке с поддержкой.
key.expiresAtстрока, момент времени ISO 8601или nullвсегдаКогда ключ перестанет приниматься, время UTC. null: срок не задан.
Пример ответа. Значения выдуманы.
{
  "merchant": {
    "code": "example-shop",
    "name": "Example Shop"
  },
  "environment": "TEST",
  "key": {
    "keyId": "ak_test_examplekey000001",
    "expiresAt": "2027-02-10T00:00:00.000Z"
  }
}

Отказы

Своих отказов у ручки нет, возможны только общие для всех ручек.

Список сервисов

GET/api/v1/servicesс 12.11.2026

Возвращает сервисы, которыми мерчант может принять платёж в контуре ключа: способ оплаты, валюту, границы суммы, поля плательщика и комиссию. Ничего не меняет.

  • В список попадают только сервисы, готовые к работе целиком. Сервис, которому чего-то не хватает на нашей стороне, в ответе отсутствует, а не помечен.
  • Список зависит от контура ключа: у тестового и боевого ключа одного мерчанта он может различаться.
  • Суммы приходят строками в минорных единицах валюты сервиса. Чтобы показать сумму человеку, её делят на minorUnit.
  • Список меняется, когда администратор включает или выключает сервис. Хранить его у себя дольше нескольких минут не стоит.

Запрос

curl -sS https://api.plutera.io/api/v1/services \
  -H "Authorization: Bearer $PLUTERA_API_KEY"

Параметров в адресе нет. Параметр с незнакомым именем отклоняется.

Тела у запроса нет.

Ответ 200

ПолеВидВ ответеЧто это
environmentстрокаLIVE TESTвсегдаКонтур ключа. Список собран для него.
itemsмассив объектоввсегдаСервисы, которыми мерчант может принять платёж прямо сейчас. Может быть пустым.
items[].codeстрокавсегдаКод сервиса. Им сервис называют при создании платежа.
items[].directionстрокаPAYIN PAYOUTвсегдаНаправление денег: PAYIN приём, PAYOUT выплата.
items[].methodобъектвсегдаСпособ оплаты.
items[].method.codeстрокавсегдаКод способа оплаты.
items[].method.nameстрокавсегдаНазвание способа оплаты для показа человеку.
items[].currencyстрокавсегдаВалюта сервиса: в ней задаются сумма платежа, границы и твёрдая комиссия.
items[].networkстрокаили nullвсегдаСеть, если у валюты их несколько (криптовалюты). null: сети нет.
items[].flowстрокаDIRECT REDIRECT REQUISITE HOSTED_FIELDSвсегдаКак проходит оплата: DIRECT данные плательщика передаёт сервер мерчанта, REDIRECT плательщик уходит на страницу провайдера, REQUISITE плательщику выдаётся реквизит (QR, код, счёт), HOSTED_FIELDS плательщик заполняет готовую форму провайдера.
items[].minorUnitцелое числовсегдаСколько минорных единиц в одной единице валюты: 100 у BRL, 1 у JPY.
items[].amountобъектвсегдаГраницы суммы.
items[].amount.minMinorстрокаили nullвсегдаНаименьшая сумма платежа в минорных единицах. null: нижней границы нет.
items[].amount.maxMinorстрокаили nullвсегдаНаибольшая сумма платежа в минорных единицах. null: верхней границы нет.
items[].fieldsмассив объектоввсегдаПоля плательщика, которые сервис принимает. Порядок тот же, что на форме оплаты.
items[].fields[].keyстрокавсегдаИмя поля. Этим именем поле передаётся при создании платежа.
items[].fields[].kindстрокаTEXT DIGITS EMAIL PHONE DATE COUNTRYвсегдаВид значения: TEXT строка, DIGITS только цифры, EMAIL почта, PHONE телефон в формате E.164, DATE дата ГГГГ-ММ-ДД, COUNTRY страна двумя буквами ISO 3166-1.
items[].fields[].requiredлогическоевсегдаОбязательно ли поле для этого сервиса.
items[].fields[].patternстрокаили nullвсегдаРегулярное выражение, которому значение должно соответствовать целиком. null: проверки выражением нет.
items[].fields[].maxLengthцелое числовсегдаНаибольшая длина значения в знаках.
items[].feeобъектвсегдаКомиссия с мерчанта за платёж этим сервисом.
items[].fee.typeстрокаPERCENT FIXEDвсегдаВид комиссии: PERCENT процент от суммы, FIXED твёрдая сумма.
items[].fee.percentстрокаили nullвсегдаПроцент строкой с четырьмя знаками после точки: «1.9000». Заполнен при PERCENT, иначе null.
items[].fee.amountMinorстрокаили nullвсегдаТвёрдая сумма в минорных единицах валюты сервиса. Заполнена при FIXED, иначе null.
Пример ответа. Значения выдуманы.
{
  "environment": "TEST",
  "items": [
    {
      "code": "pix_brl_requisite",
      "direction": "PAYIN",
      "method": {
        "code": "PIX",
        "name": "Pix"
      },
      "currency": "BRL",
      "network": null,
      "flow": "REQUISITE",
      "minorUnit": 100,
      "amount": {
        "minMinor": "100",
        "maxMinor": "10000000"
      },
      "fields": [
        {
          "key": "payer.tax_id",
          "kind": "DIGITS",
          "required": true,
          "pattern": "^(\\d{11}|\\d{14})$",
          "maxLength": 14
        },
        {
          "key": "payer.name",
          "kind": "TEXT",
          "required": false,
          "pattern": null,
          "maxLength": 128
        }
      ],
      "fee": {
        "type": "PERCENT",
        "percent": "1.9000",
        "amountMinor": null
      }
    },
    {
      "code": "boleto_brl_requisite",
      "direction": "PAYIN",
      "method": {
        "code": "BOLETO",
        "name": "Boleto bancário"
      },
      "currency": "BRL",
      "network": null,
      "flow": "REQUISITE",
      "minorUnit": 100,
      "amount": {
        "minMinor": "500",
        "maxMinor": "1000000"
      },
      "fields": [
        {
          "key": "payer.tax_id",
          "kind": "DIGITS",
          "required": true,
          "pattern": "^(\\d{11}|\\d{14})$",
          "maxLength": 14
        },
        {
          "key": "payer.name",
          "kind": "TEXT",
          "required": true,
          "pattern": null,
          "maxLength": 128
        },
        {
          "key": "payer.email",
          "kind": "EMAIL",
          "required": false,
          "pattern": null,
          "maxLength": 254
        }
      ],
      "fee": {
        "type": "FIXED",
        "percent": null,
        "amountMinor": "250"
      }
    }
  ]
}

Отказы

Своих отказов у ручки нет, возможны только общие для всех ручек.

Зарезервированные адреса

Эти адреса объявлены под ручки, которые ещё не выпущены. Сервер отвечает на них отказом 501, с ключом и без него. Пользоваться адресом можно с того дня, когда он появится выше и в журнале изменений: до этого его поведение может поменяться без объявления.

МетодАдресОтвет сейчас
POST/api/v1/payments501
GET/api/v1/payments/:id501
GET/api/v1/payments501

API v1 · собрано 12.11.2026 · выпуск cd63633

Справочник методов собирается из кода сервера: он не описывает адрес, которого нет.