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.