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

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.

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

После этого добавится сертификат в формате .cer, который можно скачать (файл merchant_id.cer) и в дальнейшем использовать. Например, используя ту же утилиту "Связка ключей", можно экспортировать в формат .p12. Последовательность действий для экспорта:

  • Дважды кликаем по скачанному файлу merchant_id.cer и открываем его в программе "Связка ключей".
    Добавление сертификата в утилиту "Связка ключей"
  • В утилите "Связка ключей" выбираем сертификаты, разворачиваем нужный сертификат, правой кнопкой мыши вызываем контекстное меню и выбираем пункт "Экспортировать ..."
    Экспорт сертификата .cer
  • Вводим название файла, выбираем место сохранения, формат экспортированного сертификата.
    Сохранение экспортированного сертификата
  • Вводим пароль для сертификата и разрешаем экспорт.
    Ввод пароля и разрешение экспорта

Чтобы использовать сертификат в 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

После всех этих манипуляций получим два .pem файла (сертификат и закрытый ключ), которые можем использовать для подтверждения данных продавца при оплате.

Payment Processing Certificate

Процесс создания данного сертификата ничем принципиально не отличается от предыдущего. В зависимости от выбранного сервиса обработки платежей, могут быть различные требования, но, скорее всего, будет достаточно отправить им в службу поддержки сертификат в формате .cer.

Итог

На этом подготовка необходимой информации заканчивается, далее можно начинать интеграцию Apple Pay на сайт. А как это сделать, расскажем в следующей статье.

Напоследок покажем схему взаимодействия при оплате с помощью Apple Pay.

Схема взаимодействия при оплате Apple Pay через сайт
Схема взаимодействия при оплате Apple Pay через сайт

Хотите принимать на своём сайте оплату через Apple Pay? Обращайтесь!

Автор:
Казаков Олег
Старший разработчик Digital Spectr