Пошаговая инструкция по интеграции Apple Pay в ваше мобильное приложение
9 сентября 2014 года в ходе очередной презентации, компания Apple представила собственную систему мобильных платежей — Apple Pay.
С помощью платежной системы Apple Pay пользователи iPhone 6 и iPhone 6+, а также владельцы новейших версий Apple Watch могут совершать покупки онлайн, пользоваться дополнительными преимуществами apple pay для мобильных приложений и совершать платежи при помощи технологии NFC (Near Field Communication). Для авторизации платежей используются технологии Touch ID или Face ID.
Итак, начнём
Для интеграции Apple Pay в мобильное приложение Вы должны иметь зарегистрированный и оплаченный аккаунт разработчика (https://developer.apple.com)
Создаем проект на основе Single View Application.
Далее переходим к классу ViewController. В нем и будет осуществляться работа.
Для подключения Apple Pay необходимо воспользоваться библиотекой PassKit.
PassKit позволяет:
- Добавить Apple Pay в приложение;
- Управлять карточками в приложении Wallet.
Для настройки Apple Pay необходимо выполнить 3 обязательных шага:
- Создать merchant ID;
- Включить Apple Pay в Xcode;
- Создать тестового пользователя.
Заходим на https://developer.apple.com, авторизуемся в своем аккаунте и переходим на Certificates, Identifiers & Profiles.
В группе Identifiers выбираем вкладку App IDs. Заполняем необходимые поля соответственно мобильному приложению и следуем дальнейшим инструкциям.
После этого в группе Identifiers необходимо выбрать пункт Merchant IDs.
Следуя инструкциям, создаем Merchant ID для приложения.
Identifier рекомендуется называть в формате «merchant» + Bundle ID. Например: merchant.com.myapp
Мы практически завершили приготовления к нашему проекту.
Далее требуется перейти на https://appstoreconnect.apple.com в раздел Users and Access, выбрать Testers в секции Sandbox и, следуя инструкциям, создать профиль тест-пользователя.
Настройка Xcode
Сначала нам необходимо активировать Apple Pay в Capabilities Xcode и добавить, ранее созданный Merchant ID.
Все, Apple Pay активирован. Переходим к написанию кода.
Сначала откройте Main.storyboard и добавьте кнопку.
Для начала работы необходимо перейти во ViewController.swift и импортировать библиотеку PassKit.
Далее необходимо создать экземпляр класса PKPaymentRequest.
и создать IBAction для кнопки.
Открывая PKPaymentAuthorizationViewController, необходимо подписаться на его delegate, таким образом, будет виден статус транзакции.
Кроме того, необходимо имплементировать методы делегата. Имитировать успешную транзакцию мы будем следующим образом:
Мы готовы к проверке Apple Pay.
Перед проверкой Apple Pay необходимо пройти авторизацию с помощью ранее созданного Sandbox пользователя и добавить в iPhone карту для тестирования.
Пример карт для тестирования:
MasterCard
- FPAN: 5204 2477 5000 1471
- Expiration Date: 11/2022
- CVC: 111
Visa
- FPAN: 4761 1200 1000 0492
- Expiration Date: 11/2022
- CVV 533
Запустите проект и нажмите кнопку «Pay».
Поздравляем, теперь Вы знаете, как интегрировать Apple Pay в мобильное приложение.
Зачем Вам Apple Pay?
Пользователи могут совершать покупки онлайн, пользуясь Safari браузером, а также через мобильные приложения. Больше нет необходимости носить кредитные карты с собой, достаточно коснуться пальцем экрана iPhone ( если у Вас Touch ID) или просто усмехнуться в экран (в случае с Face ID) и Ваша покупка будет подтверждена.
Безопасно ли это? — спросите Вы. — Да! Однозначно, это безопасно. Во время осуществления оплаты девайс не передает данные платежной карты. Телефон генерирует специальный одноразовый токен и использует его для осуществления транзакции. Благодаря технологии Apple Pay можно практически полностью отказаться от использования пластиковых карт.
Надеюсь, информация была полезна. Не судите строго, всем добра!
Спасибо за статью, оказывается все достаточно просто.
Спасибо!
Простите за тупой вопрос: это все? Оплата прошла или это только подтверждение и теперь нужен еще какой-то сервис типа Stripe? Куда идут деньги? Нужно где-то счет указать или они как и в случае со встроенными покупками приходят разработчику?
Спасибо
Здравствуйте! Вы нашли решение? Я пока нет
О да, статья порадовала =)
Спасибо большое! 😉
Лучше закомментить строку
request.supportedCountries = ["UA"]
если не хотите головных болей при публикации. Большая вероятность, что вместо страницы Apple Pay тестировщик получит диалоговое окно, а вы - отказ в публикации с сообщением: We noticed that the Apple Pay button in your app does not directly initiate the Apple Pay payment sheet.