Инструкции
Помощь
Подключить ЮKassa
Быстрый старт
Партнерская программа позволяет вам взаимодействовать с API ЮKassa от имени пользователей Кассы.
Чтобы принять первый платеж в пользу другого лица, выполните 3 шага:
  1. Зарегистрируйте свое приложение на OAuth-сервере ЮKassa.
  2. Получите от магазина разрешение на проведение платежей.
  3. Проведите платеж по API ЮKassa.
Шаг 1. Зарегистрируйте приложение на OAuth-сервере ЮKassa
Чтобы вы могли взаимодействовать с API ЮKassa, зарегистрируйте свое приложение на OAuth-сервере.
При регистрации тестового приложения:
  • Укажите название приложения, его краткое описание, которое увидит пользователь, и ссылку на сайт приложения.
  • Выберите Передавать в Callback URL, чтобы получить код подтверждения в Callback URL, и укажите адрес, на который нужно перенаправить пользователя после выдачи разрешения.
  • В разделе Доступы, в блоке API ЮKassa, выберите право создавать платежи.
После регистрации вы получите идентификатор приложения (Client ID) и пароль (Client Secret).
Свойства созданного приложения
Шаг 2. Получите разрешение на проведение платежей
Сейчас вы будете проводить платеж в тестовый магазин ЮKassa, и для него нужно получить OAuth-токен — разрешение на выполнение операций. Процесс OAuth-авторизации в ЮKassa основан на открытом протоколе OAuth 2.0.
1. Получите тестовый магазин
Создайте тестовый магазин, для которого будете получать OAuth-токен:
  1. Зарегистрируйтесь в ЮKassa по этой ссылке.
  2. В процессе увидите два варианта: продолжить регистрацию или перейти к  тестированию платежей. Выберите тестирование.
Готово! Вам отобразится созданный тестовый магазин.
2. Сформируйте URL для перенаправления
Чтобы пользователь мог выдать разрешение магазину, необходимо перенаправить его на 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.
3. Выдайте приложению доступ к тестовому магазину
Разрешите приложению создавать платежи в тестовый магазин:
  1. Войдите в свой профиль ЮKassa, для которого вы получили тестовый магазин.
  2. Пройдите по ссылке, которую вы сформировали на предыдущем шаге.
  3. Разрешите приложению создавать платежи.
  4. Выберите тестовый магазин, для которого вы разрешаете создавать платежи и выдайте к нему доступ.
    Выбор магазина
В результате OAuth-сервер перенаправит вас на Callback URL, который вы указали при регистрации приложения. В ссылке будет передан код подтверждения и идентификатор пользователя, который выдал вам права (значение state, которое вы передали в запросе).
Пример URL, на который вас перенаправят в случае успеха
http://www.example.com/app?code=rvunUlge6gUMx6TT0UT6ys4y398qqG73KQb1PjXETuX6eiQYJXXi-IrNHe49a9mt&state=test-user
4. Получите OAuth-токен
Чтобы обменять код подтверждения на OAuth-токен, отправьте POST-запрос на OAuth-сервер ЮKassa и передайте в нём код подтверждения (параметр code) и идентификатор и пароль приложения, которые вы получили после регистрации на OAuth-сервере ЮKassa.
Адрес для отправки запроса: https://yookassa.ru/oauth/v2/token
Пример запроса
cURL
curl https://yookassa.ru/oauth/v2/token \
  -u <Идентификатор приложения>:<Пароль приложения> \
  -d grant_type=authorization_code \
  -d code=<Код подтверждения>
В ответ OAuth-сервер вернет токен в поле access_token. Сохраните его для дальнейшей работы с API ЮKassa.
Пример тела ответа с OAuth-токеном
JSON
{
  "access_token": "AAEAAAAA8cSwPQAAAXUcZAXZ9hmYP3bKvY2r3ALwPYRYhrnOiKDEou9aLKiLYArHj2Tke-syRshb-1TQ1Ns_nQbc",   
  "expires_in": 94607999
}
Шаг 3. Проведите платеж
1. Проверьте настройки магазина
Перед использованием API ЮKassa узнайте настройки магазина, для которого вы получили OAuth-токен. Настройки влияют на то, какие возможности ЮKassa вам доступны. Например, если магазин тестовый, то можно проводить только тестовые платежи и для оплаты будут доступны только два способа — банковская карта и ЮMoney.
Чтобы узнать настройки, отправьте запрос на получение информации о магазине  и передайте в нём полученный OAuth-токен.
Пример запроса
cURL
PHP
Python
curl https://api.yookassa.ru/v3/me \
  -H 'Authorization: Bearer <oauth_token>'
В ответ вернутся настройки магазина .
Пример тела ответа
JSON
{
  "account_id": "123",
  "test": true,
  "fiscalization_enabled": false,
  "payment_methods": [
    "bank_card",
    "yoo_money"
  ],
  "status": "enabled"
}
2. Проведите тестовый платеж
Проведите первый платеж в тестовый магазин, используя Быстрый старт для создания платежей. Вместо идентификатора магазина и секретного ключа передайте OAuth-токен.
Пример запроса на создание платежа
cURL
PHP
Python
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 наиболее удобным вам способом:
Что почитать еще
OAuth-авторизацияВходящие уведомленияПроведение платежейОтправка чеков в налоговую