Payment.Systems.Get

Возвращает каталог платёжных систем и контракты доступных для них операций. Текущая версия схемы — 3.

Входные параметры

Метод не принимает параметров. Передавайте пустой объект params.

{
    "jsonrpc": "2.0",
    "method": "Payment.Systems.Get",
    "params": {},
    "auth": "a2Fzc2E6a2FzMTIzNDU2",
    "id": 1
}

Выходные параметры

Название Тип данных Описание
schema_version int32 Версия схемы каталога
systems array Платёжные системы VCR

Поля элемента systems:

Название Тип данных Описание
payment_system_id int32 Значение payment_system_id для платёжных методов
code string Стабильный машинный код системы
name string Название платёжной системы
supported bool Сценарий поддерживается VCR
enabled bool Система включена в настройках
configured bool Обязательные настройки заполнены
available bool Система включена и настроена
sort_order int32 Рекомендуемый порядок отображения
field_options object Допустимые значения параметров операции, если применимо
operations array Контракты поддерживаемых методов; отсутствие метода означает, что система его не поддерживает

Элемент field_options содержит value — передаваемое значение и code — его машинное имя.

Поля элемента operations:

Название Тип данных Описание
method string Имя метода VCR
completion string synchronous или asynchronous
required_fields array Обязательные поля params
optional_fields array Необязательные поля params
result_fields array Поля результата
deprecated bool Признак устаревшего метода
replacement string Метод, заменяющий устаревший
amount_mode string Ограничение суммы; full — только полная сумма
customer_action string Машинный код действия покупателя
polling object Правила опроса асинхронной операции

Поля объекта polling:

Название Тип данных Описание
method string Метод получения состояния
id_source string Поле, из которого берётся идентификатор
request_field string Поле запроса для идентификатора
status_field string Поле статуса в ответе
interval_seconds int32 Рекомендуемый интервал опроса в секундах
timeout_seconds int32 Тайм-аут в секундах; 0 означает отсутствие заданного тайм-аута
pending_statuses array Статусы выполнения
success_statuses array Успешные конечные статусы
failure_statuses array Неуспешные конечные статусы
unknown_statuses array Статусы с неопределённым результатом, если применимо

Сокращённый пример ответа

{
    "jsonrpc": "2.0",
    "result": {
        "schema_version": 3,
        "systems": [
            {
                "payment_system_id": -3,
                "code": "posretail",
                "name": "POSRetail",
                "supported": true,
                "enabled": true,
                "configured": true,
                "available": true,
                "sort_order": 10,
                "operations": [
                    {
                        "method": "Payment.Start",
                        "completion": "asynchronous",
                        "required_fields": ["payment_system_id", "amount", "card_type", "external_id"],
                        "optional_fields": ["description"],
                        "result_fields": [
                            "id", "datetime", "payment_system_id", "payment_id", "status", "amount",
                            "receipt_id", "phone", "rrn", "slip", "card_type_id", "card_number",
                            "external_id", "invoice_id", "qr_text", "provider_status",
                            "fiscal_module", "receipt_send_status", "receipt_send_error",
                            "receipt_sent_at", "refund",
                            "confirmation", "poll_after"
                        ],
                        "polling": {
                            "method": "Payment.Get",
                            "id_source": "result.id",
                            "request_field": "payment_id",
                            "status_field": "status",
                            "interval_seconds": 2,
                            "timeout_seconds": 0,
                            "pending_statuses": [1, 2, 4, 6, 9],
                            "success_statuses": [3],
                            "failure_statuses": [-1, 5]
                        }
                    }
                ]
            }
        ]
    },
    "ok": true,
    "id": 1
}