В ходе презентации, состоявшейся 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 в мобильные приложения, которые разработаны и требуют интеграции платежных опций.
Apple mobile Pay совместим с такими считывателями бесконтактных карт, как Visa PayWave, MasterCard PayPass, American Express ExpressPay.
Карта покрытия стран Apple Pay (по состоянию на 17 мая 2018 года). Темно-синий: запущен и работает Светло-голубой: планируется
Начнем
Мы будем использовать последнюю версию Apple Pay (по состоянию на 5 ноября 2018 года), Swift 4.2 и Xcode 10.1.
Для интеграции Apple Pay в мобильное приложение у вас должен быть зарегистрированный и оплаченный аккаунт разработчика (https://developer.apple.com).
<фигура>Мы создаем проект на основе Single View Application.
<фигура>Следующим шагом должно стать создание имени проекта. Я буду использовать ApplePayExample.
Далее мы сталкиваемся с классом ViewController. Здесь мы будем работать на самом деле.
Приложение Apple Pay Adjustment в приложении.
Для интеграции Apple Pay мы должны использовать библиотеку PassKit.
PassKit позволяет:
- Добавить Apple Pay в мобильное приложение;
- управлять картами в приложении Wallet App.
Для настройки Apple Pay нам необходимо сделать 3 обязательных шага:
- Для создания ID продавца;
- Для включения Apple Pay в Xcode;
- Создать тестового пользователя.
Давайте перейдем по адресу https://developer.apple.com, авторизуемся с помощью нашего аккаунта и перейдем в раздел Certificates, Identifiers & Profiles.
Перейдите в группу Идентификаторы, выберите вкладку App IDs. Заполните все необходимые поля в соответствии с вашим приложением и следуйте дальнейшим инструкциям.
<фигура>После этого необходимо выбрать Merchant IDs в группе Identifiers.
<фигура>Создайте Merchant ID для вашего приложения, следуя приведенным инструкциям.
Идентификатор рекомендуется назвать следующим образом "merchant" + Bundle ID. Например: merchant.com.myapp
.Наберитесь терпения, мы почти закончили подготовку к проекту.
Следующим шагом нам нужно перейти в раздел https://appstoreconnect.apple.comUsers and Access, выбрать Testers в разделе Sandbox и создать тестового пользователя, следуя инструкциям.
Мы нуждаемся в пользователе для тестирования платежей.
Шаг 1
<фигура>Шаг 2
<фигура>Шаг 3
Переходим к настройке Xcode
Шаг 1
Сначала нам нужно включить Apple Pay в Xcode Capabilities и добавить Merchant ID, созданный ранее.
Шаг 2
<фигура>Теперь, когда Apple Pay включен, мы можем перейти к самой интересной части — к написанию кода.
<фигура>Сначала откройте Main.storyboard и добавьте кнопку.
Затем переходим к ViewController.swift.
Для начала нам нужно импортировать библиотеку PassKit: import PassKit
.
// MARK - Свойства private var paymentRequest: PKPaymentRequest ={ let request = PKPaymentRequest() request.merchantIdentifier ="merchant.stfalcon.com.applepayexample" request.supportedNetworks =[.visa, .masterCard] request.supportedCountries =["UA"] request.merchantCapabilities = .capability3DS request.countryCode ="UA" request.currencyCode ="UAH" request.paymentSummaryItems =[PKPaymentSummaryItem(label:"iPhone Xs 64 Gb", amount:34999.99)]return request }()
Следующим шагом мы должны создать экземпляр класса PKPaymentRequest
// MARK: - @IBActions @IBAction func purchase(_ sender: Any?){if let controller = PKPaymentAuthorizationViewController(paymentRequest: paymentRequest){ controller.delegate = self present(controller, animated:true, completion:nil)}}
И создадим IBAction для кнопки.
При открытии PKPaymentAuthorizationViewController мы должны подписаться на его делегат, чтобы видеть статус транзакции.
После этого нам нужно реализовать методы делегата. Мы смоделируем успешную транзакцию следующим образом:
extension ViewController: PKPaymentAuthorizationViewControllerDelegate { func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, обработчик завершения: @escaping (PKPaymentAuthorizationResult)-> Void){ completion(PKPaymentAuthorizationResult(status: .success, errors:nil))} func paymentAuthorizationViewControllerDidFinish(_ controller: PKPaymentAuthorizationViewController){ controller.dismiss(animated:true, completion:nil)} }
завершение(PKPaymentAuthorizationResult(status: .success, errors: nil))
Теперь мы готовы проверить Apple Pay.
Перед проверкой Apple Pay’ необходимо авторизоваться с помощью пользователя Sandbox, который был создан ранее, и добавить тестовую карту в iPhone.
Кроме того, необходимо провести авторизацию с помощью пользователя Sandbox.
Примеры тестовых карт:
MasterCard
- FPAN: 5204 2477 5000 1471
- Дата истечения срока действия: 11/2022
- CVC: 111
Виза
- FPAN: 4761 1200 1000 0492
- Дата истечения срока действия: 11/2022
- CVV 533
Запустите проект и нажмите кнопку «Оплатить».
Транзакция прошла успешно. Поздравляем, теперь вы знаете, как интегрировать Apple Pay в мобильное приложение.
А как насчет статистики?
Apple не предоставляет никакой статистики по Apple Pay, но, по мнению экспертов, пользователи этого платежного сервиса составляют около ~31% (> 252 млн человек) от общего числа пользователей iPhone.
Глава компании Тим Кук также недавно упоминал, что в 3-м квартале 2018 года с помощью этого сервиса было совершено почти 1 миллиард транзакций.
Количество банков, поддерживающих Apple pay, также увеличивается. В июне 2018 года Apple объявила, что более 4 900 банков поддерживают этот вариант оплаты по всему миру.
Зачем вам нужен Apple Pay?
Я полагаю, что раздел выше объясняет, почему Apple Pay нужен вам.
Но как это работает на самом деле? — Вы можете совершать покупки онлайн (через браузер Safari), а также с помощью приложений. Вам не нужно держать при себе карты, все, что вам нужно - просто прикоснуться к своему iPhone (если у вас есть Touch ID) или просто улыбнуться необходимым специальным датчикам (если у вас есть Face ID). Этого будет достаточно, чтобы совершить покупку.
Является ли это безопасным? спросите вы. Да, однозначно, это ’безопасно&rsquo ;. Ваше устройство не передает ваши финансовые данные во время транзакции, вместо этого оно генерирует специальный одноразовый токен и обменивается им во время операции оплаты.
В случае, если вы:
- Пользователь
- Бизнесмен
- разработчиком
Вам обязательно нужно внедрить эту технологию (в свой бизнес, проект или свою жизнь). Благодаря этой технологии вы сможете отказаться от физического использования карт.