Все статьи

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

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

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

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