Payment.Start

Создаёт асинхронный платёж. Поддержку метода и состав параметров для выбранной платёжной системы возвращает Payment.Systems.Get.

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

Название Тип данных Обязательность Описание
payment_system_id int64 Обязательный ID платёжной системы
amount int64 Обязательный Сумма платежа в тийинах; должна быть больше 0
external_id string, до 100 печатных ASCII-символов без пробелов Обязательный Глобально уникальный идентификатор операции внешнего клиента
token string Необязательный Токен или код приложения покупателя. Если поле не передано и ответ требует токен, используйте Payment.Confirm
card_type int32 Зависит от платёжной системы Тип карты: 1 — корпоративная, 2 — личная, 3 — социальная
description string Необязательный Примечание к платежу

external_id является ключом идемпотентности. Повтор с теми же параметрами возвращает существующий платёж; повтор с изменёнными параметрами возвращает ошибку 704036.

Пример запроса

{
    "jsonrpc": "2.0",
    "method": "Payment.Start",
    "params": {
        "payment_system_id": 1,
        "amount": 90000,
        "external_id": "ORDER-2026-000123"
    },
    "auth": "a2Fzc2E6a2FzMTIzNDU2",
    "id": 1
}

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

Метод возвращает объект в формате Payment.Get. Для незавершённого платежа вызывайте Payment.Get через poll_after секунд. Если возвращено confirmation.type = "token", токен можно передать методом Payment.Confirm; поле required указывает, обязателен ли этот шаг.

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

{
    "jsonrpc": "2.0",
    "result": {
        "id": "58847e73-b40b-4746-8a07-44582991bd6b",
        "datetime": "2026-09-24 15:30:00",
        "payment_system_id": 1,
        "payment_id": "",
        "status": 1,
        "amount": 90000,
        "external_id": "ORDER-2026-000123",
        "confirmation": {
            "type": "token",
            "required": true
        },
        "poll_after": 2
    },
    "ok": true,
    "id": 1
}

Для опроса передавайте result.id в Payment.Get.params.payment_id либо исходный external_id. Статусы описаны в разделе status.