Прямая интеграция способов оплаты
Вы можете создавать платежи с оплатой конкретным способом (например, банковской картой или из кошелька в Яндекс.Деньгах).
В отличие от Умного платежа при прямой интеграции у вас больше гибкости при проведении платежа: вы можете задать нужный вам сценарий подтверждения, реализовать собственную логику выбора способа оплаты и самостоятельно собрать данные, которые понадобятся для платежа.
 Проведение платежа при прямой интеграции
Шаг 1. Создайте платеж , передайте в запросе объект
payment_method_data
с данными для оплаты выбранным способом, объект
confirmation
с нужным вам сценарием подтверждения.
Содержимое объекта
payment_method_data
зависит от выбранного способа оплаты. Подробнее об этом — в статьях про оплату конкретным способом.
Если в запросе не передать объект
payment_method_data
, пользователь сможет выбрать способ оплаты на стороне Яндекс.Кассы (это сценарий Умный платеж).
Пример запроса (оплата банковской картой)
cURL
PHP
Python
curl https://payment.yandex.net/api/v3/payments \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "amount": {
          "value": "2.00",
          "currency": "RUB"
        },
        "payment_method_data": {
          "type": "bank_card"
        },
        "confirmation": {
          "type": "redirect",
          "return_url": "https://www.merchant-website.com/return_url"
        },
        "description": "Заказ №72"
      }'
Пример созданного объекта платежа
JSON
{
  "id": "22c5d173-000f-5000-9000-1bdf241d4651",
  "status": "pending",
  "paid": false,
  "amount": {
    "value": "2.00",
    "currency": "RUB"
  },
  "confirmation": {
    "type": "redirect",
    "return_url": "https://www.merchant-website.com/return_url",
    "confirmation_url": "https://money.yandex.ru/payments/external/confirmation?orderId=22c5d173-000f-5000-9000-1bdf241d4651"
  },
  "created_at": "2018-06-27T16:39:15.865Z",
  "description": "Заказ №72",
  "metadata": {},
  "payment_method": {
    "type": "bank_card",
    "id": "22c5d173-000f-5000-9000-1bdf241d4651",
    "saved": false
  },
  "refundable": false,  
  "requestor": {
    "type": "merchant",
    "account_id": "100001"
  },
  "test": false
}
Шаг 2. Реализуйте нужный сценарий подтверждения.
Шаг 3. Дождитесь успешного завершения платежа: подождите, когда придет уведомление от Яндекс.Кассы, или периодически отправляйте запросы, чтобы получить информацию о платеже .
 Что почитать еще
Банковская картаЯндекс.ДеньгиСбербанк ОнлайнВстраиваемые платежные формы