Все статьи

Интеграция Apple Pay на сайт. Часть 1

Парадоксально, но последнее время работы у нас становится только больше. И поэтому в команду срочно нужны уверенные middle-разработчики. Нас интересует стек: React, Python, PHP.

Apple Pay — современная, удобная и безопасная платежная система от компании Apple. Apple Pay позволяет некоторым устройствам Apple производить платежи в магазинах и интернете. Покупатель один раз привязывает карту к телефону, а далее при оплате только подтверждает платеж отпечатком пальца. Технология работает в мобильных приложениях и браузере Safari на iPhone, iPad, Apple Watch и последних MacBook.

В данной статье мы расскажем о том, что вам потребуется перед непосредственной интеграцией оплаты Apple Pay в код вашего проекта: где нужно зарегистрироваться, какую информацию подготовить и как эту информацию получить.

Чтобы принимать оплату по Apple Pay вам потребуется:

  • Зарегистрировать аккаунт Apple ID. Процесс довольно долгий, но без этого никак.
  • Зарегистрироваться на одном из платежных шлюзов, которые работают с Apple Pay. Список доступных платёжных шлюзов, принимающих оплату ApplePay, можно посмотреть здесь.
  • Для интеграции оплаты Apple Pay в код вашего проекта вам потребуется: получить Merchant ID, верифицировать домен вашего проекта, получить сертификаты Merchant Identity Certificate и Payment Processing Certificate.

Создание и настройка Merchant ID для Apple Pay

После регистрации Apple ID необходимо добавить Merchant ID и перейти на страницу его редактирования. При создании данный идентификатор следует начать со слова merchant, указав при этом адрес вашего основного сайта в обратном порядке. Например, для сайта digital-spectr.ru идентификатор будет иметь значение merchant.ru.digital-spectr.

Создание нового или редактирование существующего Merchant ID для Apple Pay на сайте
Создание нового или редактирование существующего Merchant ID

На странице редактирования Merchant ID имеются 3 блока, которые необходимо заполнить:

  • Merchant Domains:
    домены, с которых разрешено производить оплату для данного продавца.
  • Merchant Identity Certificate:
    или сертификат удостоверения продавца. Данный сертификат используется для подтверждения данных продавца при инициализации процесса оплаты.
  • Payment Processing Certificate:
    или сертификат обработки платежей. Данный сертификат нужен для шифрования транзакций.

Merchant Domains

Для того чтобы иметь возможность производить оплату с сайта, потребуется подтвердить владение доменом. Для этого нужно добавить данный домен в блоке Merchant Domains (кнопка "Add Domain"), а чтобы подтвердить, необходимо скачать и разместить на сайте файл.

Подтверждение владения доменом Apple Pay на сайте
Подтверждение владения доменом

Обращаю внимание на то, что сайт должен быть на HTTPS. О том, как перевести сайт на HTTPS, можно прочитать в нашей статье.

Merchant Identity Certificate

В инструкции от Apple говорится, что для создания сертификатов требуется наличие Mac. Возможно, можно как-то обойтись без него, но мы не пробовали. Итак, для создания сертификата надо воспользоваться утилитой "Связка ключей" ("Keychain Access").

Утилита "Связка ключей"
Утилита "Связка ключей"

Далее, используя данную утилиту, нужно сформировать запрос на сертификат. Ниже представлена последовательность действий:

Процесс создания запроса на сертификат
Процесс создания запроса на сертификат

Полученный запрос нужно загрузить при создании сертификата в кабинете Apple.

Создание сертификата
Создание сертификата

Чтобы использовать сертификат в PHP библиотеке cURL, требуется конвертировать сертификат в формат .pem. Для этого можно конвертировать выше полученный сертификат .p12, используя команду OpenSSL или воспользовавшись одним из многочисленных онлайн конвертеров.

//пример команд для OpenSSL openssl pkcs12 -in DS.p12 -out ApplePay.crt.pem -clcerts -nokeys openssl pkcs12 -in DS.p12 -out ApplePay.key.pem -nocerts -nodes

Олег Казаков
Технический директор

Читайте также

Анонсируем митап DevTalks про бэкенд
Анонсируем митап DevTalks про бэкенд
9 декабря в Перми (в Центре городской культуры) мы проведем DevTalks на тему «Инфраструктура и работа с данными: Kafka, архитектура S3 и обработка данных с Python».
Битва медведей: Pandas против Polars
Битва медведей: Pandas против Polars
Рассказываем о своих наблюдениях при использовании двух основных систем аналитики данных в Python и сравниваем их на предмет быстродействия при работе с файлами больших объемов.
Аутентификация и авторизация в проекте с микросервисной архитектурой: стратегии, практический пример
Аутентификация и авторизация в проекте с микросервисной архитектурой: стратегии, практический пример
Рассказываем об одном из кейсов при работе над проектом с микросервисной архитектурой — реализации единой системы авторизации и аутентификации