Справочник API
Оплата курса и корпоративные заявки
Запуск покупки курса, проверка результата и создание заявки на места для команды.
Маршруты раздела
| Метод | Маршрут | Доступ | Назначение |
|---|---|---|---|
POST |
/api/payments/course |
Нужна сессия | Создать платёж поддерживаемого курса и получить адрес подтверждения. |
POST |
/api/payments/[id]/verify |
Владелец платежа | Обновить и получить состояние своего платежа. |
POST |
/api/corporate-orders |
Без входа | Отправить заявку на корпоративные места. |
Покупка курса
POST /api/payments/course принимает курс, необязательный промокод и идентификатор посетителя Яндекс Метрики:
{
"courseId": "course-id",
"promoCode": "START10",
"ymClientId": "1234567890.1234567890"
}
Поле ymClientId можно не передавать. Адрес возврата после оплаты формирует сам Latorn, поэтому клиент не должен присылать returnUrl.
Успешный ответ содержит только необходимые данные для продолжения покупки:
{
"confirmationUrl": "https://yookassa.ru/checkout/...",
"paymentId": "payment-id"
}
Встроенная оплата доступна только для платных опубликованных курсов официального автора Latorn alexeymalyshkin@mail.ru. Для курса другого автора маршрут возвращает COURSE_PAYMENT_NOT_SUPPORTED: учащийся оплачивает обучение напрямую автору по указанным им условиям.
Доступ к курсу выдаётся только после подтверждённого успешного платежа.
Не считайте перенаправление пользователя доказательством оплаты. После возврата запросите POST /api/payments/[id]/verify и проверьте состояние в JSON.
Корпоративная заявка
Корпоративная заявка не является мгновенной оплатой. Она доступна для тех же официальных курсов, что и встроенная покупка; на странице курса стороннего автора этот сценарий не показывается. Заявка фиксирует компанию, контакт, курс и желаемое число мест:
{
"courseId": "course-id",
"companyName": "ООО Пример",
"contactName": "Иван Петров",
"contactEmail": "office@example.com",
"seatsTotal": 15
}
После обработки заявки места выдаются одноразовыми приглашениями и принимаются через обычный механизм доступа к курсу.
