Инструкции
Помощь
Подключить ЮKassa
Быстрый старт
API ЮKassa позволяет принимать платежи онлайн — в вебе и на мобильных устройствах. Эта статья поможет вам принять первый платеж, при этом вашим покупателям будут доступны все способы оплаты, которые вы подключили.
Подготовка
Чтобы начать работать с ЮKassa, вам нужно зарегистрироваться и получить доступ к личному кабинету. Для аутентификации запросов в API вам потребуется секретный ключ и идентификатор магазина из личного кабинета. Подробнее об основах работы с API ЮKassa
Вы можете провести этот платеж в тестовом магазине. При оплате всё проходит, как при настоящих платежах, но деньги никуда не переводятся. Протестировать можно только два способа оплаты: банковские карты и ЮMoney. Подробнее о тестовом режиме
Шаг 1. Создайте платеж
Платеж — главная сущность API ЮKassa. Чтобы его создать, вам понадобятся сумма платежа и URL, на который пользователь вернется после оплаты. Также вам нужно передать параметр capture со значением true. Это значит, что вы получите деньги сразу после оплаты (при значении false нужная сумма заблокируется на счете пользователя, и после этого вы можете ее списать в удобное вам время).
Если хотите добавить описание платежа, которое вы увидите в личном кабинете, а пользователь — при оплате, передайте его в параметре description. Описание должно быть не более 128 символов.
Отправьте ЮKassa запрос и передайте в нём данные для создания платежа, данные для аутентификации (идентификатор магазина и секретный ключ) и ключ идемпотентности (подойдет любое случайное значение).
Пример запроса на создание платежа
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payments \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -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"
      }'
Шаг 2. Отправьте пользователя на страницу оплаты
В теле ответа от ЮKassa вы получите созданный объект платежа  в статусе pending. Для оплаты перенаправьте пользователя на confirmation_url.
Пример созданного объекта платежа
JSON
{
  "id": "23d93cac-000f-5000-8000-126628f15141",
  "status": "pending",
  "paid": false,
  "amount": {
    "value": "100.00",
    "currency": "RUB"
  },
  "confirmation": {
    "type": "redirect",
    "confirmation_url": "https://yoomoney.ru/api-pages/v2/payment-confirm/epl?orderId=23d93cac-000f-5000-8000-126628f15141"
  },
  "created_at": "2019-01-22T14:30:45.129Z",
  "description": "Заказ №1",
  "metadata": {},
  "recipient": {
    "account_id": "100500",
    "gateway_id": "100700"
  },
  "refundable": false,
  "test": false
}
Если вы создаете платеж для тестового магазина, для оплаты используйте одну из тестовых карт, например 5555555555554444 (подойдет любой код CVC и дата из будущего).
После успешной оплаты (и если что-то пойдет не так) ЮKassa вернет пользователя на return_url, который вы передали при создании платежа.
Шаг 3. Дождитесь успешного выполнения платежа
Платеж можно считать успешным, как только он перешел в статус succeeded. Если пользователь передумает платить или что-то пойдет не так, платеж перейдет в статус canceled.
Чтобы узнать статус платежа, подпишитесь на уведомления от ЮKassa.
Также вы можете следить за статусом, запрашивая информацию о платеже  с удобной для вас периодичностью (например, после того, как пользователь вернулся на return_url). Для этого вам понадобится идентификатор платежа (значение параметра id в созданном объекте платежа).
Ура, вы приняли первый платеж!
В этом примере пользователь выбирал способы оплаты и вводил данные на стороне ЮKassa. Этот сценарий называется Умный платеж. Если для ваших задач он не подходит, вы можете выбрать другой сценарий интеграции.
Помните, что для приема реальных платежей нужно использовать идентификатор и секретный ключ настоящего магазина.
Что почитать еще
Сценарии интеграцииНеуспешные платежиСпособы оплатыОтправка чеков в налоговую