Интеграция 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 в мобильные приложения, которые разработаны и требуют интеграции платежных опций.

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 позволяет:

  1. Добавить Apple Pay в мобильное приложение;
  2.  управлять картами в приложении Wallet App.

Для настройки Apple Pay нам необходимо сделать 3 обязательных шага:

  1. Для создания ID продавца;
  2. Для включения Apple Pay в Xcode;
  3. Создать тестового пользователя.

Давайте перейдем по адресу 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 ;. Ваше устройство не передает ваши финансовые данные во время транзакции, вместо этого оно генерирует специальный одноразовый токен и обменивается им во время операции оплаты.

В случае, если вы:

  1. Пользователь
  2. Бизнесмен
  3. разработчиком

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