Apple Pay
 Особенности
 Сценарии интеграции
Готовые решения:
 Оплата на сайте или в мобильном приложении
В этой инструкции описано, как принимать оплату, если вы интегрируете Apple Pay самостоятельно. Если вы используете мобильный SDK Яндекс.Кассы, вам нужна статья iOS SDK.
 Подключение способа оплаты
Чтобы подключить этот способ оплаты, нужно передать Яндекс.Кассе сертификат, с помощью которого Apple будет шифровать данные банковских карт. Для этого:
  1. Напишите менеджеру и попросите создать для вас запрос на сертификат (CSR)
  2. Загрузите CSR в панели разработчика Apple
  3. Скачайте получившийся сертификат и пришлите менеджеру
Подробная инструкция
(см. раздел 2 «Обмен сертификатами с Apple»)
 Проведение платежа
Шаг 1. Сгенерируйте криптограмму Apple Pay на устройстве пользователя и получите содержимое объекта
PKPaymentToken
. Подробнее о создании криптограммы:
Шаг 2. Отправьте Яндекс.Кассе запрос на создание платежа, в объекте
payment_method_data
передайте тип
apple_pay
и криптограмму Apple Pay (
paymentData
).
Пример запроса
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": "apple_pay",
          "payment_data": "<paymentData>"
        },
        "description": "Заказ №72"
      }'
Пример созданного объекта платежа
JSON
{
  "id": "22e290a5-000f-5000-9000-13324c06cacb",
  "status": "waiting_for_capture",
  "paid": true,
  "amount": {
    "value": "2.00",
    "currency": "RUB"
  },
  "authorization_details": {
    "rrn": "1554373123411"
  },
  "created_at": "2018-07-19T11:58:29.196Z",
  "description": "Заказ №72",
  "expires_at": "2018-07-26T11:58:32.019Z",
  "metadata": {
    "ymapi": "true"
    },
  "payment_method": {
    "type": "apple_pay",
    "id": "22e290a5-000f-5000-9000-13324c06cacb",
    "saved": false
  },
  "recipient": {
    "account_id": "100001",
    "gateway_id": "1000001"
  },
  "refundable": false,
  "requestor": {
    "type": "merchant",
    "account_id": "100001"
  },
  "test": false
}
Шаг 3. Дождитесь успешного завершения платежа: подождите, когда придет уведомление от Яндекс.Кассы, или периодически отправляйте запросы, чтобы получить информацию о платеже .
 Что почитать еще
iOS SDK Яндекс.КассыОсновы проведения платежейНеуспешные платежиОплата по 54-ФЗ