Совершение платежей картами с помощью Apple Pay
Apple Pay можно использовать для оплаты покупок в магазинах, в приложениях и на сайтах.
Оплата с помощью карт в магазинах
Если iPhone или Apple Watch включены и обнаруживают зону действия NFC, то предлагают пользователю запрошенную карту (если для этой карты включен автоматический выбор) либо карту по умолчанию (этим можно управлять в Настройках). Кроме того, пользователь также может открыть Apple Wallet и выбрать карту, а если устройство заблокировано, то:
дважды нажать боковую кнопку на устройствах с Face ID;
дважды нажать кнопку «Домой» на устройствах с Touch ID;
использовать функции Универсального доступа, чтобы пользоваться Apple Pay, когда экран заблокирован.
Затем, прежде чем платежная информация будет передана, пользователь должен пройти аутентификацию, используя Face ID, Touch ID или введя код-пароль. Если Apple Watch разблокированы, при двойном нажатии боковой кнопки для оплаты активируется карта по умолчанию. Без аутентификации пользователя платежная информация не отправляется.
После аутентификации пользователя для обработки платежа используются учетный номер устройства и динамический код безопасности, назначаемый каждой транзакции. Ни Apple, ни устройство пользователя не отправляют продавцам полный номер кредитной или дебетовой карты. Apple может получать анонимные данные о транзакции, такие как примерное место и время ее выполнения. Это помогает улучшить работу Apple Pay и других продуктов и служб Apple.
Оплата с помощью карт в приложениях
Apple Pay также можно использовать для оплаты покупок в приложениях в iOS, iPadOS, macOS и watchOS. Когда пользователи совершают платежи в приложениях через Apple Pay, компания Apple получает зашифрованную информацию о транзакции, необходимую для направления платежа разработчику или продавцу. Прежде чем отправить ее разработчику или продавцу, Apple заново шифрует ее с использованием ключа, назначаемого каждому разработчику. Apple Pay сохраняет анонимную информацию о транзакции, например примерную сумму покупки. Эта информация не может привести к пользователю и не содержит данных о том, что именно было куплено.
Когда приложение запускает платежную транзакцию Apple Pay, серверы Apple Pay получают зашифрованную транзакцию с устройства раньше, чем ее получит продавец. Затем серверы Apple Pay повторно шифруют транзакцию с использованием ключа, назначаемого каждому продавцу, после чего ретранслируют ее продавцу.
Когда приложение запрашивает оплату, оно вызывает API, чтобы определить, поддерживает ли устройство Apple Pay и есть ли у пользователя кредитные или дебетовые карты, которыми можно оплатить покупку в платежной сети, поддерживаемой продавцом. Приложение запрашивает всю информацию, необходимую для обработки и выполнения транзакции, например расчетный адрес, адрес доставки и контактные данные. Затем приложение просит iOS, iPadOS, macOS или watchOS предоставить лист Apple Pay, содержащий запрос информации для приложения и другие необходимые сведения, например то, какую карту следует использовать.
В это время приложение получает данные о городе, регионе/штате и индексе, позволяющие вычислить итоговую стоимость доставки. Полный набор запрошенной информации не предоставляется приложению, пока пользователь не авторизует платеж с помощью Face ID, Touch ID или код‑пароля устройства. После авторизации платежа информация, представленная в листе Apple Pay, передается продавцу.
Оплата с помощью карт в блиц-приложениях
Блиц-приложение — это небольшой фрагмент приложения, позволяющий пользователю быстро выполнить определенную задачу (например, взять напрокат велосипед или оплатить парковку), не загружая все приложение. Если блиц-приложение поддерживает платежи, пользователь может выполнить вход с Apple, а затем совершить платеж через Apple Pay. Когда пользователь совершает платеж в блиц-приложении, все принимаемые меры безопасности и защиты конфиденциальности аналогичны тем, которые принимаются при оплате в приложении.
Как пользователи авторизуют, а продавцы проверяют платежи в приложениях
Для обеспечения безопасности платежей в приложениях пользователи и продавцы передают информацию на серверы Apple, Secure Element, устройство и API приложения. Сначала, когда пользователь авторизует платеж в приложении, оно получает криптографическое значение для функции антиповтора, связываясь с серверами Apple Pay. Значение вместе с другими данными транзакции передается с серверов чипу Secure Element для вычисления учетных данных платежа, которые будут зашифрованы с помощью ключа Apple. Затем чип Secure Element возвращает учетные данные платежа на серверы Apple Pay для расшифровки, сравнения значений функции антиповтора, изначально переданных серверами Apple Pay, и повторной зашифровки учетных данных платежа ключом продавца, связанным с идентификатором продавца. После этого серверы Apple возвращают учетные данные на устройство, которое возвращает их API приложения, а API передает их в систему продавца для обработки. Продавец расшифровывает учетные данные платежа, чтобы убедиться, что он является правильным получателем транзакции.
Интерфейсам API требуются права, в которых указаны идентификаторы поддерживаемых продавцов. Приложение также может отправить на подпись чипу Secure Element дополнительные данные, например номер заказа или удостоверение покупателя, чтобы гарантировать, что транзакция не будет связана с другим пользователем. Для этого разработчик приложения может задать данные applicationData в запросе PKPaymentRequest. Хеш этих данных включается в зашифрованные платежные данные. Затем продавец должен убедиться, что хеш его данных applicationData совпадает с включенным в платежные данные.
Оплата с помощью карт на сайтах
Apple Pay можно использовать для оплаты покупок на сайтах с iPhone, iPad и Apple Watch, а также c Mac, оснащенного Touch ID. Транзакции Apple Pay также можно начать на Mac и закончить на iPhone, на котором включен Apple Pay, или на Apple Watch, если они используют ту же учетную запись iCloud.
Для использования Apple Pay на сайте необходимо, чтобы этот сайт был зарегистрирован в Apple. После регистрации домена проверка доменного имени выполняется только после того, как Apple выдаст сертификат клиента TLS. Сайты, поддерживающие Apple Pay, должны предоставлять свой контент через HTTPS. Для каждой платежной транзакции сайт должен установить уникальный безопасный сеанс связи продавца с сервером Apple, используя выпущенный Apple клиентский сертификат TLS. Данные сеанса связи продавца подписываются компанией Apple. После того как подпись сеанса связи продавца подтверждена, сайт может запросить, есть ли у пользователя устройство с поддержкой Apple Pay и активирована ли на нем кредитная, дебетовая или предоплаченная карта. Никакие другие данные не предоставляются. Если пользователь не хочет делиться этой информацией, можно отключить запросы о доступности Apple Pay в настройках конфиденциальности Safari на устройствах iPhone, iPad и Mac.
После подтверждения сеанса связи продавца применяются те же меры обеспечения конфиденциальности и безопасности, как и при оплате в приложении.
Если пользователь передает платежную информацию с компьютера Mac на iPhone или Apple Watch, то для передачи платежной информации между компьютером Mac и авторизованным устройством пользователя система Apple Pay Handoff использует протокол сквозного шифрования службы идентификации Apple (IDS). Служба IDS на Mac использует для шифрования ключи устройств пользователя, так что никакое другое устройство не может расшифровать эту информацию, а у Apple нет доступа к этим ключам. Запрос обнаружения устройств для передачи Apple Pay через Handoff содержит тип и уникальный идентификатор кредитных карт пользователя, а также ряд метаданных. Учетный номер устройства, назначенный карте пользователя, не передается: он продолжает надежно храниться на iPhone или Apple Watch пользователя. Apple также безопасно передает недавно использованные пользователем контактные данные, адреса доставки и адреса плательщика через Связку ключей iCloud.
Когда пользователь авторизует платеж с помощью Face ID, Touch ID, ввода код‑пароля или двойного нажатия боковой кнопки на Apple Watch, платежный токен, уникально шифруемый для каждого сертификата сайта продавца, безопасно передается с iPhone или Apple Watch пользователя на его Mac, а затем на сайт продавца.
Запрашивать и совершать оплату могут только устройства, находящиеся поблизости друг от друга. Близость определяется с помощью оповещений Bluetooth Low Energy (BLE).
Автоматические платежи и токены продавцов
В iOS 16 и новее приложения и сайты, поддерживающие Apple Pay, могут использовать токены продавцов Apple Pay, которые предоставляют единую безопасную среду для платежей на всех устройствах пользователя. Обновленный платежный лист Apple Pay в iOS 16 также повышает удобство платежей, авторизованных заранее. Новые типы транзакций в API Apple Pay позволяют разработчикам приложений и сайтов создавать удобные платежные листы для подписок, регулярных счетов, платежей по рассрочке и автоматического пополнения баланса карт.
Токены продавцов не уникальны для каждого устройства, поэтому при удалении платежной карты с устройства пользователь может продолжить совершение регулярных платежей.
Платежи нескольким продавцам
В iOS 16 и новее Apple Pay поддерживает возможность указывать суммы покупок для нескольких продавцов в одном платежном листе Apple Pay. Это позволяет пользователям совершать несколько покупок одновременно — например, оплатить билеты на самолет, аренду автомобиля и отель одним платежом, распределив его между продавцами.