- Обмен сертификатом Apple Pay Payment Processing Certificate
- Обмен сертификатом Apple Pay Merchant Identity Certificate
- Интеграция Apple Pay на сайт. Часть 1
- Создание и настройка Merchant ID для Apple Pay
- Merchant Domains
- Merchant Identity Certificate
- Payment Processing Certificate
- Авторизация в Apple Pay для самых маленьких
- Введение
- Краткий обзор
- Обзаводимся сертификатами
- Отправляем запрос
- Примечание
- API FONDY Версия 1.0
- Инструкция по интеграции ApplePay для мобильного приложения
- Шаг 1: Регистрация Apple Merchant ID
- Шаг 2: Создайте новый Apple Pay сертификат
- Интеграция в Xcode
- Прямая интеграция Apple Pay
Обмен сертификатом Apple Pay Payment Processing Certificate
Сертификат обработки платежа используется для шифрования платежной информации, истекает каждые 25 месяцев и может быть отозван. Когда это произойдет, просто заново создайте сертификат процесса оплаты.
Чтобы выполнить обмен сертификатами между Apple и платежным шлюзом необходимо:
Источник
Обмен сертификатом Apple Pay Merchant Identity Certificate
Apple Pay Merchant Identity Certificate — сертификат, который используется для шифрованной передачи платежных данных между серверами Apple Pay и Вашим сайтом. Для того чтобы выполнить обмен сертификатами необходимо:
ЗАМЕЧАНИЕ: Для создания запроса на сертификат, необходимо наличие Mac. Если у Вас нет компьютера с операционной системой MacOS, или Вам необходима любая другая помощь по установке пишите нам на почту apple.pay@epages.su.
- Запустите утилиту Связка ключей (Keychain Access).
- Выберите Связка ключей > Ассистент сертификации > Запросить сертификат в бюро сертификации.
- В диалоговом окне заполните поля E-mail пользователя и Общее имя и в поле Запрос выберите Сохранен на диске и нажмите кнопку Продолжить.
- Сохраните файл .certSigningRequest на компьютер.
Источник
Интеграция Apple Pay на сайт. Часть 1
В данной статье мы расскажем о том, что вам потребуется перед непосредственной интеграцией оплаты 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 имеются 3 блока, которые необходимо заполнить:
- Merchant Domains:
домены, с которых разрешено производить оплату для данного продавца. - Merchant Identity Certificate:
или сертификат удостоверения продавца. Данный сертификат используется для подтверждения данных продавца при инициализации процесса оплаты. - Payment Processing Certificate:
или сертификат обработки платежей. Данный сертификат нужен для шифрования транзакций.
Merchant Domains
Для того чтобы иметь возможность производить оплату с сайта, потребуется подтвердить владение доменом. Для этого нужно добавить данный домен в блоке Merchant Domains (кнопка «Add Domain»), а чтобы подтвердить, необходимо скачать и разместить на сайте файл.
Обращаю внимание на то, что сайт должен быть на HTTPS. О том, как перевести сайт на HTTPS, можно прочитать в нашей статье.
Merchant Identity Certificate
В инструкции от Apple говорится, что для создания сертификатов требуется наличие Mac. Возможно, можно как-то обойтись без него, но мы не пробовали. Итак, для создания сертификата надо воспользоваться утилитой «Связка ключей» («Keychain Access»).
Далее, используя данную утилиту, нужно сформировать запрос на сертификат. Ниже представлена последовательность действий:
Полученный запрос нужно загрузить при создании сертификата в кабинете Apple.
После этого добавится сертификат в формате .cer, который можно скачать (файл merchant_id.cer) и в дальнейшем использовать. Например, используя ту же утилиту «Связка ключей», можно экспортировать в формат .p12. Последовательность действий для экспорта:
- Дважды кликаем по скачанному файлу merchant_id.cer и открываем его в программе «Связка ключей».
Чтобы использовать сертификат в PHP библиотеке cURL, требуется конвертировать сертификат в формат .pem. Для этого можно конвертировать выше полученный сертификат .p12, используя команду OpenSSL или воспользовавшись одним из многочисленных онлайн конвертеров.
После всех этих манипуляций получим два .pem файла (сертификат и закрытый ключ), которые можем использовать для подтверждения данных продавца при оплате.
Payment Processing Certificate
Процесс создания данного сертификата ничем принципиально не отличается от предыдущего. В зависимости от выбранного сервиса обработки платежей, могут быть различные требования, но, скорее всего, будет достаточно отправить им в службу поддержки сертификат в формате .cer.
На этом подготовка необходимой информации заканчивается, далее можно начинать интеграцию Apple Pay на сайт. А как это сделать, расскажем в следующей статье.
Напоследок покажем схему взаимодействия при оплате с помощью Apple Pay.
Хотите принимать на своём сайте оплату через Apple Pay? Обращайтесь!
Источник
Авторизация в Apple Pay для самых маленьких
Внимание будет уделено конкретному моменту — это получения криптограммы со стороны Apple после того как покупатель прошёл TouchID или FaceID. Языком на бэкенде будет PHP.
Меня зовут Александр, я младший PHP-программист компании Moguta, и мне пришлось столкнуться на своем пути с интеграцией Apple Pay в нашу Moguta.CMS. Сегодня я расскажу как авторизовать себя через Apple Pay для проведения оплаты без вникания в матчасть защищенных соединений и сертификатов, так как мне в начале своего пути не хватало такого материала.
Введение
Я не буду расписывать здесь всю простыню по внедрению Apple Pay себе на сайт. Инструкций о том, как зарегистрировать аккаунт разработчика Apple, где сделать Payment Processing сертификат, куда отправить полученный ответ, полно на рунете, достаточно спросить у Гугла «интеграция apple pay на сайт» и выбрать приглянувшийся агрегатор платежей, который подробно распишет вам по шагам все необходимые действия.
Краткий обзор
Минимальным требованием для этой инструкции будет наличие MacOS для работы с ключами, так как работать с сертификатами на других ОС — это уже отдельный материал, которому я здесь уделять внимание не буду.
Давайте сначала сориентируемся где будет место наших боевых действий. Алгоритм следующий:
- Пользователь начинает процесс оплаты через Apple Pay в интернет-магазине;
- Интернет-магазин отправляет сведения о платеже в Apple;
- Apple присылает в ответ ссылку, на которую необходимо отправить данные продавца;
- Интернет-магазин отправляет данные продавца по ссылке через Two-Way TLS;
- Apple присылает данные, содержащие PaymentData;
- Интернет-магазин переадресует PaymentData в платежный шлюз и обрабатывает ответ;
Нас интересует 4ый пункт, так как обычным cURL запросом тут не обойтись.
Обзаводимся сертификатами
Для того, чтобы Apple поверила, что имеет дело лично с нами, сначала нужно завести сертификат Merchant Identify (не путать с Payment Processing, он нужен для платежного шлюза). Для начала сформируем запрос на сертификат по официальной инструкции. Полученный файл прикрепляем в Apple Pay Merchant Identity Certificate вашего Merchant ID.
В ответ получаем merchant_id.cer, который добавляем в связку. Генерируем на основе его закрытого ключа .p12-файл. Для этого вызываем контекстное меню закрытого ключа и выбираем «Экспортировать. «
Вытаскиваем ключ следующей командой (тот пароль, который запросит терминал, будет являться паролем для ключа, он нам понадобиться при соединение с Apple)
и перегоняем наш сертификат в pem
Теперь у нас есть все необходимые файлы, которыми будем доказывать яблочному серверу, что мы те, за кого себя выдаем.
Отправляем запрос
Опускаем момент получения ссылки на валидацию (подробнее читайте в другой статье на Хабре), переходим к тому моменту, когда скрипт на JS в Safari отправил нашему серверу просьбу на авторизацию в Apple.
Для этого мы используем PHP с cURL. Пример кода:
Из полученного ответа выдергиваем paymentData и отправляем нашему платежному шлюзу. Поздравляю, авторизация пройдена, можно грести деньги.
Примечание
Судьба не дала мне долго радоваться налаженному соединению, и Apple отдала мне следующий ответ:
Текст сообщения не достаточно очевиден, как хотелось бы. Информации в сети опять же нету. Как оказалось, скорее всего это означает, что в поле merchantIdentifier вы просто ввели неверное значение.
Буду рад услышать в комментариях предложения, советы или критику.
Надеюсь, что статья принесет пользу таким же заблудшим душам, как и я.
Источник
API FONDY Версия 1.0
Инструкция по интеграции ApplePay для мобильного приложения
Шаг 1: Регистрация Apple Merchant ID
Для начала вам необходимо зарегистрировать Apple Merchant ID. Начните с перехода на страницу с инструкцией по регистрации идентификатора продавца на веб-сайте Apple Developer.
Заполните форму с описанием и идентификатором. Ваше описание предназначено для ваших собственных потребностей и может быть изменено в будущем (мы рекомендуем использовать название вашего мобильного приложения). Идентификатор должен быть уникальным (во всех приложениях Apple, а не только в вашем) и не может быть изменен позже (хотя вы всегда можете создать другое). Мы рекомендуем использовать merchant.fondy.eu.<
1.1 Перейдите в Dashboard вашего аккаунта в Apple Developer https://developer.apple.com/account/#
1.4 Заполните Description (на ваш выбор) и Identifier (merchant.fondy.eu.<
Шаг 2: Создайте новый Apple Pay сертификат
Вам необходимо подключить сертификат в ваше приложение для шифрования данных платежей. Для этого выполните 3 шага:
2.1 Предоставьте необходимую для формирования CSR файла информацию в службу поддержки Fondy. Для этого заполните, пожалуйста, там, где стоит знак «?»:
Country Name (2 letter code) [AU] : ?
State or Province Name (full name) [Some-State] : ?
Locality Name (eg, city) []: ?
Organization Name (eg, company) [Internet Widgits Pty Ltd] : ?
Organizational Unit Name (eg, section) []: ?
Common Name (e.g. server FQDN or YOUR name) []: ?
Email Address []: ?
2.2 Получите 2 файла CSR (запрос на подпись сертификата) от Fondy:
Apple Pay Payment Processing Certificate Request
Apple Pay Merchant Identity Certificate Request
2.3 Используйте эти CSR файлы для генерации сертификатоа продолжая шаг 1.4
блок Apple Pay Payment Processing Certificate:
блок Apple Pay Merchant Identity Certificate :
2.4 Скачайте и передайте полученные сертификаты обратно в Fondy для настройки вашего мерчанта.
Интеграция в Xcode
Последний шаг этого процесса — добавить в ваше приложение функцию Apple Pay. В Xcode откройте настройки своего проекта, выберите вкладку «Capabilities» и включите переключатель Apple Pay. В этот момент вам может быть предложено войти в свою учетную запись разработчика. Установите флажок рядом с идентификатором продавца, который вы создали ранее, и все готово!
3.2 в интеграции SDK укажите merchant_id полученный при регистрации в Fondy Мерчант-Портале в конструкторе
ссылка на строку в github:
3.4 в интеграции SDK укажите merchant_id полученный при регистрации в Fondy Мерчант-Портале в конструкторе
ссылка на строку в github:
Прямая интеграция Apple Pay
Для прямой интеграции с Apple Pay API, следуйте инструкции Apple Pay.
- Сформируйте приватные ключи
Apple Pay Payment Processing Certificate Private Key:
Apple Pay Merchant Identity Certificate Private Key:
Сформируйте запросы на сертификаты
Apple Pay Payment Processing Certificate Request:
Apple Pay Merchant Identity Certificate Request:
Для работы с Apple Pay на стороне клиента можно воспользоваться
Apple Pay JS SDK для web
PassKit (Apple Pay and Wallet) для iOS
При показе формы сработает событие onvalidatemerchant. В параметре события onvalidatemerchant приходит поле validationURL. На этот адрес с бекенда нужно отправить данные, подписанные сертификатом Merchant Identity Certificate. Сертификат нужно предварительно сконвертировать в PEM формат:
Пример PHP 7.2
данные в параметре container должны быть в формате BASE64 и иметь такую структуру:
Источник