Партнерская программа позволяет вам взаимодействовать с API ЮKassa от имени пользователей Кассы.
Чтобы принять первый платеж в пользу другого лица, выполните 3 шага:
- Зарегистрируйте свое приложение на OAuth-сервере ЮKassa.
- Получите от магазина разрешение на проведение платежей.
- Проведите платеж по API ЮKassa.
Чтобы вы могли взаимодействовать с API ЮKassa, зарегистрируйте свое приложение на OAuth-сервере.
При регистрации тестового приложения:
- Укажите название приложения, его краткое описание, которое увидит пользователь, и ссылку на сайт приложения.
- Выберите Передавать в Callback URL, чтобы получить код подтверждения в Callback URL, и укажите адрес, на который нужно перенаправить пользователя после выдачи разрешения.
- В разделе Доступы, в блоке API ЮKassa, выберите право создавать платежи.
После регистрации вы получите идентификатор приложения (Client ID) и пароль (Client Secret).

Свойства созданного приложения
Сейчас вы будете проводить платеж в тестовый магазин ЮKassa, и для него нужно получить OAuth-токен — разрешение на выполнение операций. Процесс OAuth-авторизации в ЮKassa основан на открытом протоколе OAuth 2.0.
Создайте тестовый магазин, для которого будете получать OAuth-токен:
- Зарегистрируйтесь в ЮKassa по этой ссылке.
- В процессе увидите два варианта: продолжить регистрацию или перейти к тестированию платежей. Выберите тестирование.
Готово! Вам отобразится созданный тестовый магазин.
Чтобы пользователь мог выдать разрешение магазину, необходимо перенаправить его на OAuth-сервер:
https://yookassa.ru/oauth/v2/authorize
Пример адреса для перенаправления пользователя
https://yookassa.ru/oauth/v2/authorize?response_type=code&client_id=<Идентификатор приложения>&state=test-user
В URL перенаправления укажите, что запрашиваете код подтверждения (параметр
response_type
со значением code
), передайте идентификатор вашего приложения (client_id
) и при необходимости идентификатор пользователя или сессии, в рамках которой выдаются права (state
). Параметр state
возвращается в ответе от OAuth-сервера ЮKassa.Разрешите приложению создавать платежи в тестовый магазин:
- Войдите в свой профиль ЮKassa, для которого вы получили тестовый магазин.
- Пройдите по ссылке, которую вы сформировали на предыдущем шаге.
- Разрешите приложению создавать платежи.
- Выберите тестовый магазин, для которого вы разрешаете создавать платежи и выдайте к нему доступ. Выбор магазина
В результате OAuth-сервер перенаправит вас на Callback URL, который вы указали при регистрации приложения. В ссылке будет передан код подтверждения и идентификатор пользователя, который выдал вам права (значение
state
, которое вы передали в запросе).Пример URL, на который вас перенаправят в случае успеха
http://www.example.com/app?code=rvunUlge6gUMx6TT0UT6ys4y398qqG73KQb1PjXETuX6eiQYJXXi-IrNHe49a9mt&state=test-user
Чтобы обменять код подтверждения на OAuth-токен, отправьте POST-запрос на OAuth-сервер ЮKassa и передайте в нём код подтверждения (параметр
code
) и идентификатор и пароль приложения, которые вы получили после регистрации на OAuth-сервере ЮKassa.Адрес для отправки запроса:
https://yookassa.ru/oauth/v2/token
Пример запроса
curl https://yookassa.ru/oauth/v2/token \ -u <Идентификатор приложения>:<Пароль приложения> \ -d grant_type=authorization_code \ -d code=<Код подтверждения>
В ответ OAuth-сервер вернет токен в поле
access_token
. Сохраните его для дальнейшей работы с API ЮKassa.Пример тела ответа с OAuth-токеном
{ "access_token": "AAEAAAAA8cSwPQAAAXUcZAXZ9hmYP3bKvY2r3ALwPYRYhrnOiKDEou9aLKiLYArHj2Tke-syRshb-1TQ1Ns_nQbc", "expires_in": 94607999 }
Перед использованием API ЮKassa узнайте настройки магазина, для которого вы получили OAuth-токен.
Настройки влияют на то, какие возможности ЮKassa вам доступны. Например, если магазин тестовый, то можно проводить только тестовые платежи и для оплаты будут доступны только два способа — банковская карта и ЮMoney.
Чтобы узнать настройки, отправьте запрос на получение информации о магазине и передайте в нём полученный OAuth-токен.
Пример запроса
curl https://api.yookassa.ru/v3/me \ -H 'Authorization: Bearer <oauth_token>'
В ответ вернутся настройки магазина .
Пример тела ответа
{ "account_id": "123", "test": true, "fiscalization_enabled": false, "payment_methods": [ "bank_card", "yoo_money" ], "status": "enabled" }
Проведите первый платеж в тестовый магазин, используя Быстрый старт для создания платежей. Вместо идентификатора магазина и секретного ключа передайте OAuth-токен.
Пример запроса на создание платежа
curl https://api.yookassa.ru/v3/payments \ -X POST \ -H 'Authorization: Bearer <oauth_token>' \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "100.00", "currency": "RUB" }, "capture": true, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" }, "description": "Заказ №1" }'
Дождитесь успешного завершения платежа: периодически запрашивайте информацию о платеже , чтобы узнать, что платеж перешел в статус
succeeded
.Готово! Вы провели через ЮKassa свой первый платеж от лица магазина.
Настройте взаимодействие с API наиболее удобным вам способом:
- выберите набор прав, который нужен для полноценной работы вашего приложения;
- выберите подходящий вам способ получения кода подтверждения;
- настройте уведомления от ЮKassa;
- выберите те возможности API ЮKassa, которые понадобятся вашим пользователям, например платежи в две стадии или отправка чеков по 54-ФЗ.
OAuth-авторизацияВходящие уведомленияПроведение платежейОтправка чеков в налоговую