Skip to main content

Apple Pay

Общая информация

Apple Pay — это простой, безопасный и конфиденциальный способ оплаты покупок в одно касание на веб-сайтах, в мобильных приложениях и других каналах оплаты. С подробным списком устройств, совместимых с Apple Pay можно ознакомиться на сайте.

Apple Pay может быть доступен для выбора наряду с другими способами оплаты и отображаться на платежной странице в виде специальной кнопки.

Важно

При использовании технологии Apple Pay для принятия платежей совместно с ioka Вам необходимо соблюдать ряд условий, которые издает компания Apple.

Интеграция


Мобильные приложения

Для приема платежей в мобильном приложении на IOS c помощью кнопки оплаты Apple Pay следуйте инструкции по применению SDK.


Стандартная интеграция (только для веб-сайтов)

Для использования технологии Apple Pay Вам необходимо зарегистрировать Merchant ID, сформировать платежный сертификат, сертификат для веб-платежей и подтвердить владение доменами сайтов, на которых будет производиться оплата.

Схема оплаты

Схема оплаты при стандартной интеграции подразумевает самостоятельное размещение Apple Pay на сайте и включает в себя 3 этапа:

  1. Проверка совместимости устройства - если устройство поддерживает Apple Pay, то необходимо отобразить покупателю кнопку Apple Pay
  2. Авторизация платежа — для инициирования оплаты и подтверждения ее покупателем через FaceID или TouchID необходимо открыть сессию Apple Pay on the Web
  3. После успешной авторизации Apple формирует зашифрованный токен, который необходимо передать в специальный роут для создания заказа и завершения оплаты через Apple Pay

1. Регистрация Merchant ID:

Для создания Merchant ID необходимо:

  1. Перейти и авторизоваться в консоль аккаунта разработчика Apple
  2. Перейти в раздел "Certificates, IDs & Profiles"

  1. Слева в боковом меню выберите пункт "Identifiers"

  1. Нажмите на иконку плюсика, на появившейся странице в списке выберите пункт "Merchant IDs" и затем нажмите кнопку "Continue"

  1. На появившейся странице укажите в поле "Description" простое описание магазина, а в поле Identifier введите адрес своего домена в обратном порядке kz.domain, должно появится название вида merchant.kz.domain

2. Создание сертификатов:

  1. Свяжитесь с нашим аккаунт-менеджером или напишите письмо с запросом на получение CSR для Merchant ID, на адрес support@ioka.kz с указанием зарегистрированного в Apple Merchant ID. Наша служба поддержки сформирует два CSR файла и отправит Вам обратным письмом.
  2. Используя CSR файлы полученные от нас сформируйте в консоли Apple Developer два сертификата: Payment Processing Certificate и Merchant Identity Certificate и передайте в нашу службу поддержки.
    1. Чтобы создать Payment Processing Certificate следуйте инструкции в картинках ниже:

  1. Чтобы создать Merchant Identity Certificate откройте в консоли Ваш Merchant ID, созданный ранее и следуйте инструкции по картинкам ниже:

3. Подтверждение доменов:

  1. Добавьте домены в консоли Apple Developer для каждого Вашего сайта, где планируете принимать оплату через Apple Pay.

    Обратите внимание, что сайты должны использовать схему HTTPS и поддерживать протокол TLS 1.2.

    Чтобы добавить домен в консоли Apple Pay следуйте следующей инструкции:

  1. Подтвердите владение доменом:


Открытие сессии Apple Pay (только для веб-сайтов)

Запрос на открытие сессии и создание платежного запроса необходимо отправлять при нажатии пользователем кнопки Apple Pay.

Пример запроса:

POST /v2/payment-methods/{order_id}/apple-pay-session HTTP/1.1
Host: stage-api.ioka.kz
Content-Type: application/json
{
"url": "https://your.url",
"platform": "web",
"domain_name": "your.domain"
}

Примеры ответов:

{
"statusCode": null,
"statusMessage": null,
"displayName": "ioka",
"domainName": "ioka.kz",
"epochTimestamp": 11111111111111,
"expiresAt": 11111111111111,
"merchantIdentifier": "C95...",
"merchantSessionIdentifier": "SSH...",
"nonce": "1a4...",
"operationalAnalyticsIdentifier": "ioka:C95...",
"retries": 0,
"signature": "303..."
}

Завершение оплаты через Apple Pay

После успешной аутентификацию пользователя с помощью Touch ID или Face ID, API Apple Pay возвращает объект, содержащий платежные данные (в зашифрованном виде), а также информацию о клиенте. Ниже приведен пример полной структуры платежного объекта Apple Pay:

{
"details": {
"token": {
"paymentData": {
"data": "4Zl...Q==",
"header": {
"ephemeralPublicKey": "MFk...Q==",
"publicKeyHash": "Dk6...TM=",
"transactionId": "6e6...b93"
},
"signature": "MIA...A==",
"version": "EC_v1"
},
"paymentMethod": {
"displayName": "Visa 11111",
"network": "Visa",
"type": "debit"
},
"transactionIdentifier": "6E6...B93"
}
},
"methodName": "https://apple.com/apple-pay",
"payerEmail": "None",
"payerName": "None",
"payerPhone": "None",
"requestId": "d43...b6c",
"shippingAddress": "None",
"shippingOption": "None"
}

Запрос на one-click оплату

Данный метод может использоваться для моментальной оплаты, т.е. создается заказ и для него сразу же инициируется оплата методом Apple Pay

Пример запроса:

  • В amount необходимо передавать сумму заказа в минорных денежных единицах (в тиынах), соответсвующую сумме указанной при создании сессии Apple Pay
  • В tool_type необходимо передавать "APPLE_PAY"
  • В apple_pay необходимо передавать данные, содержащиеся в поле token платежного объекта Apple Pay
  • Остальные параметры необязательны, но помогут дополнить заказ и описать процесс оплаты
POST /v2/orders/tool HTTP/1.1
Host: stage-api.ioka.kz
Content-Type: application/json
Content-Length: 547

{
"amount": 500,
"tool_type": "APPLE_PAY",
"apple_pay": {
"paymentData": {
"data": "4ZlLT...",
"header": {
"ephemeralPublicKey": "MFkww...",
"publicKeyHash": "Dk6sv...",
"transactionId": "6e6c5..."
},
"signature": "MIAGC...",
"version": "EC_v1"
},
"paymentMethod": {
"displayName": "Visa 1111",
"network": "Visa",
"type": "debit"
},
"transactionIdentifier": "6E6C5..."
}
}

Примеры ответов:

{
"id": "pay_test",
"order_id": "ord_test",
"status": "CAPTURED",
"created_at": "2022-06-20T00:00:00.000000",
"approved_amount": 500,
"captured_amount": 500,
"refunded_amount": 0,
"processing_fee": 12.5,
"tds": false,
"payer": {
"pan_masked": "411111******1111",
"expiry_date": "12/24",
"holder": "holder",
"payment_system": null,
"emitter": null,
"email": null,
"phone": null,
"customer_id": null,
"card_id": null,
"iin": null
},
"acquirer": {
"name": "epay_v2",
"reference": "111111111111"
},
"error": null,
"action": null
}

Запрос на оплату

Данный метод может использоваться для оплаты заранее созданного заказа

Пример запроса:

  • В tool_type необходимо передавать "APPLE_PAY"
  • В apple_pay необходимо передавать данные, содержащиеся в поле token платежного объекта Apple Pay
POST /v2/orders/{order_id}/payments/tool HTTP/1.1
Host: stage-api.ioka.kz
Content-Type: application/json
Content-Length: 547

{
"tool_type": "APPLE_PAY",
"apple_pay": {
"paymentData": {
"data": "4ZlLT...",
"header": {
"ephemeralPublicKey": "MFkww...",
"publicKeyHash": "Dk6sv...",
"transactionId": "6e6c5..."
},
"signature": "MIAGC...",
"version": "EC_v1"
},
"paymentMethod": {
"displayName": "Visa 1111",
"network": "Visa",
"type": "debit"
},
"transactionIdentifier": "6E6C5..."
}
}

Примеры ответов:

{
"id": "pay_test",
"order_id": "ord_test",
"status": "CAPTURED",
"created_at": "2022-06-20T00:00:00.000000",
"approved_amount": 500,
"captured_amount": 500,
"refunded_amount": 0,
"processing_fee": 12.5,
"tds": false,
"payer": {
"pan_masked": "411111******1111",
"expiry_date": "12/24",
"holder": "holder",
"payment_system": null,
"emitter": null,
"email": null,
"phone": null,
"customer_id": null,
"card_id": null,
"iin": null
},
"acquirer": {
"name": "epay_v2",
"reference": "111111111111"
},
"error": null,
"action": null
}

Условия использования Apple Pay

  • Вы не можете использовать технологию Apple Pay для оплаты если Ваш сайт занимается:

    • Продажей табачной продукции, марихуаны и паровой продукции (вейпы, паровые электронные сигареты);
    • Продажей огнестрельного или любого другого вида оружия и боеприпасов;
    • Продажей наркотиков или запрещенных законом препаратов;
    • Продажей предметов, создающих риск для безопасности потребителей;
    • Продажей предметов, которые могут быть использованы или связанны с преступностью;
    • Предоставлением доступа (оплата подписки или иные способы оплаты) порнографической продукции;
    • Продажей контрафактных или украденных товаров;
    • Сбором средств, пожертвований, если это не одобрено Apple;
    • Предоставлением принадлежностей для наркотиков или товаров для взрослых или услуг сексуального характера;
    • Продажей виртуальной валюты, в том числе и криптовалюты, если это не одобрено Apple;
    • Предоставлением услуг по мульти транзакционному (несколько этапов проведения транзакции, сумма делиться на несколько транзакций) для пополнения кошельков или чего-то подобного;
    • Мошенничеством;
    • Нарушением прав на интеллектуальную собственность, публичность или неприкосновенность частной жизни другого;

Подробный список условий и рекомендаций при использовании технологии Apple Pay, указан по следующей ссылке: Acceptable Use Guidelines for Apple Pay on the Web

  • Предоставляемая ioka интеграция с Apple Pay не заменяет In App Purchase (покупки внутри приложения, которые реализуются посредством нативной интеграции) в мобильных приложениях;
Важно

Для начала работы, пожалуйста убедитесь, что у вас есть актированный аккаунт разработчика Apple по программе Apple Developer для создания индивидуального Merchant ID.

При упрощенной интеграции Merchant ID можно уточнить у аккаунт-менеджера или через support@ioka.kz.

Если вы самостоятельно устанавливаете Apple Pay на своем сайте или в мобильном приложении Вам необходимо придерживаться гайдлайнов от Apple.