Пошаговая инструкция по интеграции 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 (по состоянию на 16 августа 2018 года) Wikipedia 

Итак, начнём

Для интеграции 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.

// MARK - Properties private var paymentRequest: PKPaymentRequest = { let request = PKPaymentRequest() request.merchantIdentifier = "merchant._.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, необходимо подписаться на его delegate, таким образом, будет виден статус транзакции.

Кроме того, необходимо имплементировать методы делегата. Имитировать успешную транзакцию мы будем следующим образом:

extension ViewController: PKPaymentAuthorizationViewControllerDelegate { func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, handler completion: @escaping (PKPaymentAuthorizationResult) -> Void) { completion(PKPaymentAuthorizationResult(status: .success, errors: nil)) } func paymentAuthorizationViewControllerDidFinish(_ controller: PKPaymentAuthorizationViewController) { controller.dismiss(animated: true, completion: nil) } }

Мы готовы к проверке 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 можно практически полностью отказаться от использования пластиковых карт.

Надеюсь, информация была полезна. Не судите строго, всем добра!

0
8 комментариев
Популярные
По порядку
Написать комментарий...
Алексей Заякин

Спасибо за статью, оказывается все достаточно просто. 

Ответить
2
Развернуть ветку
Vladyslav Vcherashnii

Спасибо!

Ответить
0
Развернуть ветку
Pit WARLORD

Простите за тупой вопрос: это все? Оплата прошла или это только подтверждение и теперь нужен еще какой-то сервис типа Stripe? Куда идут деньги? Нужно где-то счет указать или они как и в случае со встроенными покупками приходят разработчику?
Спасибо

Ответить
2
Развернуть ветку
Ge Ge

Здравствуйте! Вы нашли решение? Я пока нет

Ответить
0
Развернуть ветку
Виталий Подольский

О да, статья порадовала =)

Ответить
1
Развернуть ветку
Vladyslav Vcherashnii

Спасибо большое! 😉

Ответить
0
Развернуть ветку
Андрей Бехтольд

Лучше закомментить строку
request.supportedCountries = ["UA"]
если не хотите головных болей при публикации. Большая вероятность, что вместо страницы Apple Pay тестировщик получит диалоговое окно, а вы - отказ в публикации с сообщением: We noticed that the Apple Pay button in your app does not directly initiate the Apple Pay payment sheet.

Ответить
1
Развернуть ветку
Vladyslav Vcherashnii

Спасибо за замечание!

Ответить
0
Развернуть ветку
Читать все 8 комментариев
Кейс: запустить шрифт для дислексиков и увеличить количество скачиваний приложения на 70%

Зачем — рассказывают дизайнер, логопед и агентство.

«Эталон» требует доплаты в 300 тысяч после оформления ДДУ и выдачи ипотеки из-за ошибки в их калькуляторе

Добрый день!

Возникла неприятная ситуация с застройщиком «Эталон». В ноябре 2021 года было принято решение приобрести квартиру в жилом комплекте от застройщика «Эталон», обратилась напрямую в отдел продаж, без агентов и риэлторов. Процесс выбора несколько затянулся т.к. предложенные изначально варианты не устраивали по планировке или цене, к концу…
Как бизнесу напомнить клиентам о себе через экран смартфона

А что если отойти от традиционных способов рассылок и попробовать использовать приложение «Календарь», которое уже по умолчанию установлено в любой смартфон.

Путин поддержал идеи Минфина о регулировании криптовалют и разрешении на майнинг в отдельных регионах — Bloomberg Статьи редакции

Майнинг могут разрешить в Иркутске, Карелии и Красноярске, сообщили источники издания.

Как оценивать дизайн: Метод 3К, ч. 1

Раскладываем процесс оценки разрабатываемого дизайна на систему вопросов.

Инвестиции в IPO: научно доказанный способ зарабатывать 18% в день, или как акулы Уолл-стрит наживаются на Цукербергах

Профильные Телеграм-каналы и брокеры уверяют, что на вложениях в IPO легко получать по 100% годовых, и даже больше. В этой статье я разбираю, почему ученые-финансисты в чем-то склонны с ними согласиться — и кто на самом деле зарабатывает огромные деньги на IPO (спойлер: скорее всего, это будете не вы).

Как снизить стоимость за установку приложения с помощью тестирования креатива: кейс Joom и Aitarget Tech

Может ли цвет креатива или расположение цены влиять на стоимость установки приложения? Эти и другие гипотезы платформа Aitarget Tech позволяет тестировать для Joom, одного из крупнейших маркетплейсов в Европе и Азии. Делимся результатами тестирования гипотез и рассказываем о подходе, который позволяет автоматизировать процесс.

Я запарился перебирать онлайн-кинотеатры и создал агрегатор «Кино.Вино»

Есть такая проблема в век официальных/модных/современных (нужное подчеркнуть) онлайн-кинотеатров — их стало много, а выбрать где смотреть, да ещё и по более выгодной цене когда контент платный, занятие утомляющее.

Александр Аузан: «Креативность отвечает на вызов искусственного интеллекта»

Федерация креативных индустрий была создана в феврале 2021 года. Чего удалось добиться за время существования организации, какое значение для отрасли имеет утвержденная правительством Концепция развития творческих индустрий, что мешает нашей стране выйти на первые места в области науки и технологий, IPQuorum обсудил с председателем правления…

«Альфа-Банк» выдает кредиты онлайн-мошенникам без должной идентификации клиентов и отказывается аннулировать договор
Почему отключение SWIFT не разрушит российскую банковскую систему, и чего действительно стоит бояться

С 2014 года мы слышим о возможном отключении России от системы SWIFT. В последние недели эти разговоры все чаще звучат в медиа и серьезно влияют на настроения в банковской среде. CBDO Банка 131 Анна Кузьмина рассказала, почему блокировка SWIFT в России не смертельный сценарий, и какие санкции против банков на самом деле вызывают беспокойство.

null