Основы
Веб и мобильные SDK Яндекс.Кассы позволяют встроить платежную форму в ваш сайт или в мобильное приложение и безопасно собрать платежные данные пользователя непосредственно в вашем интерфейсе. Чтобы вам не пришлось обрабатывать платежные данные в своей системе, веб и мобильные SDK обменивают данные, которые ввел пользователь, на одноразовый платежный токен. Вам нужно отправить этот токен Яндекс.Кассе в запросе на создание платежа.
 Мобильные SDK
 iOS SDK
Способы оплаты, которые поддерживает SDK: банковская карта, Apple Pay, Сбербанк Онлайн, Яндекс.Деньги
Требования: iOS 8.0, 9, 10, 11 и 12
Есть демо-приложение
Подробнее об iOS SDK
 Android SDK
Способы оплаты, которые поддерживает SDK: банковская карта, Google Pay, Сбербанк Онлайн, Яндекс.Деньги
Требования: Android 4.0 (API 14) или новее
Есть демо-приложение
Подробнее об Android SDK
 Веб SDK
 YandexCheckout.js
Способы оплаты, которые поддерживает SDK: банковская карта
Позволяет создать платежную форму в вашем дизайне.
Подробнее о YandexCheckout.js
 YandexCheckout UI
Способы оплаты, которые поддерживает SDK: банковская карта
Позволяет использовать готовую платежную форму в виде Overlay. Дизайн формы меняется в зависимости от данных банковской карты. SDK проверяет корректность введенных данных на лету.
Подробнее о YandexCheckout UI
 Общий порядок интеграции
  1. Получите разрешение на проведение платежей с использованием токена (его нужно запросить у вашего менеджера Яндекс.Кассы).
  2. Реализуйте веб или мобильный SDK Яндекс.Кассы.
  3. Проинтегрируйтесь с Яндекс.Кассой по API и настройте оплату с использованием платежного токена.
 Прием платежей с помощью SDK и платежного токена
Чтобы создать платеж с использованием токена:
Шаг 1. Получите платежный токен в SDK. Он будет содержать выбранный способ оплаты, платежные данные. Если вы используете мобильный SDK, в токене еще будут данные о сценарии подтверждения платежа.
Шаг 2. Передайте токен на ваш сервер.
Шаг 3. Создайте платеж , в параметре
payment_token
передайте платежный токен. Если вы используете веб SDK и собираетесь проводить платеж с аутентификацией по 3-D Secure, передайте объект
confirmation
с типом
redirect
и адресом страницы, на которую вернется пользователь.
Пример запроса при использовании веб SDK
cURL
PHP
Python
curl https://payment.yandex.net/api/v3/payments \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "payment_token": "eyJ0eXBlIjoiY2hlY2tvdXRfanNfYmFua19jYXJkIiwiZW5jcnlwdGVkIjoiMFk3Q3dVVXFVSUE0bXVUWW5EVXhBRG9PUFFCRHByQ3F6Y0cvcGw5SDFZV0xKejROaS9wVkZ0amhmT3N1b1NzVGp2cFJzYkRxSTdLWStYNjZjdW45STczTC8zQXFPOGVwV0dtSFEyV1pXR1lHM3pNdUxyNHp1WmJzMW85bDh5czdjT0ZuMEc5T3hma0kyNitQcXBuSGU3NGZwYzRXU1l2TUh4MFpyYVdRNW5UdFlDVWQyZz09IiwiaW5pdFZlY3RvciI6Ik50d0lpZVFFaG9Cb3FJRzFxT29yREE9PSIsImtleUlkIjoiT2pOQUJrL21Uam5kTGtWZlR1U1F0dz09In0=",
        "amount": {
          "value": "2.00",
          "currency": "RUB"
        },
        "confirmation": {
          "type": "redirect",
          "enforce": false,
          "return_url": "https://www.merchant-website.com/return_url"
        },
        "capture": false,
        "description": "Оплата заказа №12345"
      }'
Пример запроса при использовании мобильного SDK
cURL
PHP
Python
curl https://payment.yandex.net/api/v3/payments \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "payment_token": "eyJ0eXBlIjoiY2hlY2tvdXRfanNfYmFua19jYXJkIiwiZW5jcnlwdGVkIjoiMFk3Q3dVVXFVSUE0bXVUWW5EVXhBRG9PUFFCRHByQ3F6Y0cvcGw5SDFZV0xKejROaS9wVkZ0amhmT3N1b1NzVGp2cFJzYkRxSTdLWStYNjZjdW45STczTC8zQXFPOGVwV0dtSFEyV1pXR1lHM3pNdUxyNHp1WmJzMW85bDh5czdjT0ZuMEc5T3hma0kyNitQcXBuSGU3NGZwYzRXU1l2TUh4MFpyYVdRNW5UdFlDVWQyZz09IiwiaW5pdFZlY3RvciI6Ik50d0lpZVFFaG9Cb3FJRzFxT29yREE9PSIsImtleUlkIjoiT2pOQUJrL21Uam5kTGtWZlR1U1F0dz09In0=",
        "amount": {
          "value": "2.00",
          "currency": "RUB"
        },
        "confirmation": {
          "type": "redirect",
          "enforce": false,
          "return_url": "https://www.merchant-website.com/return_url"
        },
        "capture": false,
        "description": "Оплата заказа №12345"
      }'
Шаг 4. Реализуйте сценарий подтверждения.
Если вы используете веб SDK и проводите платеж с аутентификацией по 3-D Secure, перенаправьте пользователя на
confirmation_url
, который придет в объекте Платежа .
Если вы используете мобильный SDK, передайте
confirmation_url
в мобильный SDK.
Пример созданного объекта платежа
JSON
{
  "id": "23d93cac-000f-5000-8000-126628f15141",
  "status": "pending",
  "paid": false,
  "amount": {
    "value": "2.00",
    "currency": "RUB"
  },
  "confirmation": {
    "type": "redirect",
    "confirmation_url": "<Ссылка для прохождения 3-D Secure>"
  },
  "created_at": "2019-01-22T14:30:45.129Z",
  "description": "Заказ №1",
  "metadata": {},
  "recipient": {
    "account_id": "100001",
    "gateway_id": "1000001"
  },
  "test": false
}
Шаг 5. Дождитесь успешного завершения платежа: подождите, когда придет уведомление от Яндекс.Кассы, или периодически отправляйте запросы, чтобы получить информацию о платеже .
 Что почитать еще
Проведение платежейСпособы оплатыВходящие уведомления