Продажа авиабилетов
При продаже авиабилетов вы можете передавать информацию о билетах, перелетах и пассажирах (так называемая «длинная запись»). Дополнительные данные используются только при оплате банковской картой, они нужны, чтобы снизить вероятность мошеннических операций.
 Создание платежа с дополнительными данными
Информация о пассажирах и билетах передается при создании платежа  — в объекте
airline
. В запросе обязательно указывается или номер билета (
ticket_number
), или номер брони (
booking_reference
), если номера билета пока нет.
Информация о пассажирах передается в объекте
passengers
.
Информация о перелетах передается в объекте
legs
. Перелет — это фрагмент маршрута. Если пользователь летит без пересадки, это один перелет. Если есть одна пересадка — два перелета.
При единовременной оплате нескольких билетов достаточно передать номер любого из них (
ticket_number
) или общий для всех билетов номер брони (
booking_reference
).
Пример запроса на создание платежа за авиабилеты
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": "10000.00",
          "currency": "RUB"
        },
        "payment_method_data": {
          "type": "bank_card"
        },
        "confirmation": {
          "type": "redirect",
          "return_url": "https://www.merchant-website.com/return_url"
        },
        "description": "Заказ №72",
        "airline": {
          "booking_reference": "IIIKRV",
          "passengers": [
            {
              "first_name": "SERGEI",
              "last_name": "IVANOV"
              }
            ],
          "legs": [
            {
              "departure_airport": "LED",
              "destination_airport": "AMS",
              "departure_date": "2018-06-20"
            }
          ]
        }
      }'
 Подтверждение платежа
При двухстадийной оплате вам необходимо подтвердить платеж, после того как он перейдет в статус
waiting_for_capture
. При подтверждении необходимо передать номер билета (
ticket_number
) или номер брони (
booking_reference
), если номера билета пока нет.
Пример запроса на подтверждение платежа за авиабилеты
cURL
PHP
Python
curl https://payment.yandex.net/api/v3/{payment_id}/capture \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "amount": {
          "value": "10000.00",
          "currency": "RUB"
        },
        "airline": {
          "booking_reference": "IIIKRV",
          "ticket_number": "5554916004417",
          "passengers": [
            {
              "first_name": "SERGEI",
              "last_name": "IVANOV"
              }
            ],
          "legs": [
            {
              "departure_airport": "LED",
              "destination_airport": "AMS",
              "departure_date": "2018-06-20"
            }
          ]
        }
      }'
 Что почитать еще
Проведение платежейОплата по 54-ФЗ