Apple Pay в Xamarin.iOS

В этом руководстве рассматривается настройка среды Xamarin.iOS для использования с Apple Pay для оплаты физических товаров, таких как еда, развлечения и членство через приложение. Она содержит сведения о необходимых идентификаторах, сертификатах и правах.

Apple Pay появилась вместе с iOS 8, что позволяет пользователям платить за физические товары, такие как продукты питания, развлечения и членство через свои устройства iOS. Он доступен на i Телефон 6 и i Телефон 6 Plus, а также может быть сопряжен с Apple Watch для покупок в магазине. При использовании в i Телефон он использует Touch ID в качестве способа подтверждения и авторизации транзакций в кредит или дебетовую карта пользователя.

Требования

Apple Pay доступна только в iOS 8 и более поздних версиях, поэтому требуется как минимум Xcode 6.

Для интеграции Apple Pay в приложение также требуются следующие элементы:

  • Платформа обработчика платежей
  • Идентификатор продавца
  • Сертификат Apple Pay
  • Право apple Pay

В этом документе подробно рассматриваются эти элементы.

Различия между Apple Pay и IAP

Основное различие между Apple Pay и приобретением в приложении (IAP) относится к продуктам, которые они продают. Физические товары продаются через Apple Pay; продукты питания, проживание и физическое развлечения (например, билеты на кино) являются всеми примерами этого. В отличие от этого, IAP продает виртуальные товары, такие как премиум или дополнительное содержимое, и подписки, думаю, дополнительные месяцы потоковой службы или дополнительные жизни в игре.

Используемые платформы также являются ключевыми различиями; PassKit используется для Apple Pay, а StoreKit предоставляет API платформы для IAP.

При использовании Apple Pay Apple утверждает, что он "[Не взимает плату за пользователей, продавцов или разработчиков, чтобы использовать Apple Pay для Платежи". По сравнению с IAP взимается плата за каждую транзакцию на 30 %. Кроме того, при использовании Apple Pay транзакция не проходит через Apple вообще, а проходит через платформу оплаты.

Использование платформы обработчика платежей

Одной из основных частей Apple Pay является обработка платежей. Хотя это можно сделать самостоятельно, это требует значительных знаний о шифровании - как описано в руководстве по обработке платежей Apple. С другой стороны, платформы обработки платежей обрабатывают эти операции, позволяя сосредоточиться на создании приложения.

Два варианта:

Подготовка для Apple Pay

Настройка приложения для использования Apple Pay требует установки на портале разработчика Apple и в приложении. Для успешной подготовки приложения для оплаты Apple необходимо выполнить ряд действий.

  1. Создайте идентификатор продавца:
    • Выполните действия, описанные здесь
  2. Создайте идентификатор приложения с помощью функции "Применить оплату" и добавьте в него продавца:
    • Выполните действия, описанные здесь
  3. Создайте сертификат для идентификатора продавца:
    • Выполните действия, описанные здесь
  4. Создайте профиль подготовки с новым идентификатором приложения:
    • Выполните действия, описанные здесь
  5. Добавьте права Apple Pay:
    • Выберите право на оплату Apple, как описано здесь, или вручную добавьте пару "ключ-значение" в файл из этого файла.

Работа с Apple Pay

Apple сделал несколько улучшений Apple Pay в iOS 10, которые позволяют пользователю выполнять безопасные платежи с веб-сайтов и через взаимодействие с Siri и Карты.

С iOS 10 были добавлены несколько новых API, которые работают с iOS и watchOS для поддержки динамических сетей оплаты и новой тестовой среды песочницы.

Интеграция веб-сайта Apple Pay

Новый для iOS 10, разработчик может включить Apple Pay непосредственно на свои веб-сайты с помощью ApplePay JS. Пользователи, просматривающие веб-сайт с помощью Safari в iOS или macOS, могут выполнять платежи с помощью Apple Pay, проверяя транзакцию на i Телефон или Apple Watch. Дополнительные сведения см. в справочнике applePay JP Framework.

Усовершенствования PassKit Framework

В iOS 10 платформа PassKit была расширена для поддержки Apple Pay за пределами UIKit и разрешить издателям карта представить собственные карта из своих приложений.

Поддержка Apple Pay за пределами UIKit

С помощью PKPaymentAuthorizationController и PKPaymentAuthorixationControllerDelegate приложение может поддерживать те же функции, предоставляемые PKPaymentAuthorizationViewController без использования UIKit. Хотя этот новый API требуется для поддержки Apple Pay в Apple Watch (и в конкретных намерениях), он является необязательным в других ситуациях (например, существующих приложений). Однако Apple предлагает перейти к новому API как можно скорее, чтобы обеспечить широкую поддержку Apple Pay во всех приложениях разработчика с одной базой кода. Дополнительные сведения о намерениях и интеграции Siri см. в нашей документации по SiriKit .

Отображение карт издателя из приложений

С iOS 10 новые функции добавлены в платформу PassKit, которая позволяет издателям карта представлять свои карта из собственных приложений. Разработчик может добавить PKPaymentButtonTypeInStore UIButton в пользовательский интерфейс приложения, который будет отображать кнопку Apple Pay для карта.

Метод PresentPaymentPass класса PKPassLibrary также можно использовать для программного отображения карта.

Новая поддержка сети оплаты

Новое приложение iOS 10 может автоматически поддерживать новую платежную сеть, когда она становится доступной без необходимости изменять, перекомпилировать приложение и повторно отправить его в App Store.

Новый метод PKPaymentNetwork AvailableNetworks класса позволяет приложению обнаруживать сети, доступные на устройстве пользователя во время выполнения. Кроме того, свойство SupportedNetworks было развернуто для принятия имени поставщика платежей в качестве аргумента. С помощью этих методов приложение может автоматически поддерживать любую сеть, поддерживаемую поставщиком платежей.

Дополнительные сведения см. в нашем руководстве по Apple Pay и Apple Pay.

Новая среда тестирования

С iOS 10 Apple представила новую среду тестирования, которая позволяет разработчику подготавливать тестовые карта оплаты непосредственно на устройстве iOS. Эта новая среда тестирования возвращает зашифрованные тестовые данные оплаты приложению.

Чтобы включить новую среду тестирования, выполните следующие действия.

  1. Создайте новую тестовую учетную запись iCloud в iTunes Подключение.
  2. Войдите на устройство iOS с помощью новой учетной записи тестирования.
  3. Задайте нужный регион для тестирования приложения.
  4. Используйте один из тестовых карта оплаты из Руководства по оплате Apple для оплаты.

Внимание

Переключив учетные записи iCloud, устройство автоматически перейдет в новую тестовую среду. Тем не менее, Apple по-прежнему требует, чтобы приложение было протестировано с помощью реальных карта в рабочей среде перед отправкой в iTunes App Store.

Итоги

В этой статье мы изучили различные элементы, необходимые для использования Apple Pay в приложении. Мы рассмотрели, как создать идентификатор продавца и как он используется в списке прав.plist, который необходимо изменить вручную.