Публикация агента на маркетплейсе
Пошаговое руководство: как подключить прием оплаты (ЮKassa) и вывести вашего AI-агента на витрину маркетплейса. Подходит и тем, у кого есть свой сервер, и тем, кто работает на no-code/low-code платформах.
Получение ключей доступа
| Параметр | Описание | Пример |
|---|---|---|
shopId | Идентификатор вашего магазина в ЮKassa | 123456 |
secretKey | Секретный ключ для авторизации API-запросов | live_AbCdEf123… |
.env) или в разделе «Секреты» вашей платформы.Перед интеграцией вам нужны два параметра для работы с API ЮKassa. Их выдает ваш менеджер маркетплейса или напишите на contact@just-ai.com, в теме письма «Паблишер. Публикация агента на маркетплейсе».
Установка SDK
Рекомендуем использовать готовую библиотеку — она берет на себя авторизацию, формирование запросов и обработку ответов.
PHP (официальный SDK)
composer require yoomoney/yookassa-sdk-phpPython (официальный SDK)
pip install yookassaNode.js (SDK от сообщества)
npm install @a2seven/yoo-checkoutСоздание платежа
Платеж создается HTTP-запросом к API ЮKassa. Ниже два варианта — для платформ без своего сервера и для проектов с бэкендом.
Вариант А — без своего сервера (no-code)
Подходит для Just AI Agent Platform, Jay Flow, n8n, Make и подобных платформ с поддержкой REST API и webhook. Создайте платеж через HTTP-блок платформы:
| Параметр | Значение |
|---|---|
| Метод | POST |
| URL | https://api.yookassa.ru/v3/payments |
| Авторизация | Basic Auth — логин: ВАШ_SHOP_ID, пароль: ВАШ_SECRET_KEY |
| Content-Type | application/json |
| Idempotence-Key | Уникальный UUID (на каждый запрос свой) |
{
"amount": {
"value": "500.00",
"currency": "RUB"
},
"confirmation": {
"type": "redirect",
"return_url": "https://ваш-сайт.ru/success"
},
"capture": true,
"description": "Заказ №42"
}В ответе придет поле confirmation.confirmation_url — ссылка, на которую нужно перенаправить пользователя для оплаты.
Вариант Б — со своим сервером (PHP / Python)
require_once('./vendor/autoload.php');
$client = new \YooKassa\Client();
$client->setAuth('ВАШ_SHOP_ID', 'ВАШ_SECRET_KEY');
$payment = $client->createPayment([
'amount' => ['value' => '500.00', 'currency' => 'RUB'],
'confirmation' => ['type' => 'redirect', 'return_url' => 'https://ваш-сайт.ru/success'],
'capture' => true,
'description' => 'Заказ №42',
], uniqid('', true)); // Idempotence-Key
$url = $payment->getConfirmation()->getConfirmationUrl();
header('Location: ' . $url);
exit;from yookassa import Configuration, Payment
import uuid
Configuration.account_id = 'ВАШ_SHOP_ID'
Configuration.secret_key = 'ВАШ_SECRET_KEY'
payment = Payment.create({
"amount": {"value": "500.00", "currency": "RUB"},
"confirmation": {"type": "redirect", "return_url": "https://ваш-сайт.ru/success"},
"capture": True,
"description": "Заказ №42",
}, uuid.uuid4()) # уникальный Idempotence-Key
confirmation_url = payment.confirmation.confirmation_url
# перенаправьте пользователя на confirmation_urlСервер с HTTPSнеобязательно
Webhook ЮKassa отправляет уведомления только на адреса с https://. Без HTTPS вы не сможете получать уведомления об оплате.
Быстрый способ развернуть сайт с HTTPS
- Зарегистрируйтесь на хостинге с поддержкой Let's Encrypt (например, Beget или Jino — у многих есть бесплатный тестовый период).
- Добавьте домен или используйте бесплатный поддомен, загрузите файлы проекта через файловый менеджер или FTP.
- В панели включите бесплатный SSL-сертификат Let's Encrypt (обычно одной кнопкой) и принудительный редирект с HTTP на HTTPS.
Настройка Webhook
Webhook — это URL на вашем сервере, куда ЮKassa автоматически отправит запрос после оплаты и других событий.
- Откройте личный кабинет ЮKassa → раздел Интеграция → HTTP-уведомления.
- Укажите URL обработчика, например
https://ваш-сайт.ru/webhook.
| Событие | Описание |
|---|---|
payment.waiting_for_capture | Платеж ожидает подтверждения (при capture: false) |
payment.succeeded | Платеж успешно завершен |
payment.canceled | Платеж отменен |
refund.succeeded | Возврат выполнен |
$body = file_get_contents('php://input');
$data = json_decode($body, true);
if ($data['event'] === 'payment.succeeded') {
$paymentId = $data['object']['id'];
// ВАЖНО: проверьте статус через API (Шаг 5),
// и только потом открывайте доступ к товару
}
// Обязательно отвечаем кодом 200,
// иначе ЮKassa будет повторять запрос в течение 24 часов
http_response_code(200);Проверка статуса платежа
После webhook-уведомления обязательно перепроверьте статус платежа через API — это защита от поддельных уведомлений.
$payment = $client->getPaymentInfo($paymentId);
if ($payment->getStatus() === 'succeeded') {
// Платеж подтвержден — открываем доступ к товару/услуге
}from yookassa import Payment
payment = Payment.find_one(payment_id)
if payment.status == 'succeeded':
# Платеж подтвержден — открываем доступ к товару/услуге
passТестирование
Перед боевым запуском протестируйте интеграцию на тестовом магазине. Запросите у вашего менеджера маркетплейса данные тестового магазина — тестовый секретный ключ начинается с test_.
Тестовые карты
| Номер карты | Тип | 3-D Secure |
|---|---|---|
5555 5555 5555 4477 | Mastercard | Да |
5555 5555 5555 4444 | Mastercard | Нет |
4111 1111 1111 1111 | Visa | Нет |
2200 0000 0000 0004 | Mir | Да |
Срок действия — любой в будущем (например, 12/30), CVC — любые 3 цифры, код 3-D Secure — любые цифры.
test: true.Готово — что дальше
После тестирования свяжитесь с вашим менеджером маркетплейса. Мы создаем ваш магазин, вместе проводим тестовую оплату — и агент публикуется на витрине маркетплейса.
Сейчас этот финальный шаг проходит в ручном режиме. С 1 августа 2026 он уйдет в личный кабинет с автоматическим биллингом.
Частые ошибки
| Ошибка | Последствие | Как исправить |
|---|---|---|
| Хранить secretKey прямо в коде | Ключ утечет через Git или инспектор браузера | Вынести в переменные окружения (.env) |
| Доверять webhook без проверки статуса | Поддельный запрос → товар отдан бесплатно | Всегда проверять статус через API (Шаг 5) |
Забыть ответить 200 на webhook | ЮKassa повторяет уведомление 24 часа | Всегда возвращать HTTP-код 200 |
| Создавать платеж на фронтенде | Секретный ключ виден всем пользователям | Создавать платеж только на бэкенде |
Полезные ссылки
| Ресурс | Ссылка |
|---|---|
| Документация ЮKassa | yookassa.ru/developers |
| Справочник API | yookassa.ru/developers/api |
| Тестовый режим | Тестирование |
| Webhook-уведомления | Настройка webhook |
| Использование SDK | SDK |