Совершение платежей картами с помощью 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 также можно использовать для оплаты покупок в приложениях на iPhone, iPad, Mac и Apple Watch. Когда пользователи совершают платежи в приложениях, используя Apple Pay, компания Apple получает зашифрованную информацию о транзакции. Прежде чем отправить ее разработчику или продавцу, Apple заново шифрует ее с использованием ключа, назначаемого каждому разработчику. Apple Pay сохраняет анонимную информацию о транзакции, например примерную сумму покупки. Эта информация не может привести к пользователю и не содержит данных о том, что именно было куплено.
Когда приложение запускает платежную транзакцию Apple Pay, серверы Apple Pay получают зашифрованную транзакцию с устройства раньше, чем ее получит продавец. Затем серверы Apple Pay повторно шифруют транзакцию с использованием ключа, назначаемого каждому продавцу, после чего ретранслируют ее продавцу.
Когда приложение запрашивает оплату, оно вызывает API, чтобы определить, поддерживает ли устройство Apple Pay и есть ли у пользователя кредитные или дебетовые карты, которыми можно оплатить покупку в платежной сети, поддерживаемой продавцом. Приложение запрашивает всю информацию, необходимую для обработки и выполнения транзакции, например расчетный адрес, адрес доставки и контактные данные. Затем приложение подает iOS, iPadOS или watchOS запрос на предоставление листа Apple Pay, и система запрашивает информацию для приложения, а также другие необходимые сведения, например то, какую карту следует использовать.
В это время приложение получает данные о городе, регионе/штате и индексе, позволяющие вычислить итоговую стоимость доставки. Полный набор запрошенной информации не предоставляется приложению, пока пользователь не авторизует платеж с помощью Face ID, Touch ID или код‑пароля устройства. После авторизации платежа информация, представленная в листе Apple Pay, передается продавцу.
Авторизация платежей в приложениях
Когда пользователь авторизует платеж, на серверы Apple Pay поступает запрос криптографического значения nonce, которое аналогично значению, возвращаемому терминалом NFC при выполнении транзакций в магазине. Значение nonce вместе с другими данными транзакции передается чипу Secure Element для вычисления учетных данных для оплаты, которые будут зашифрованы с помощью ключа Apple. Зашифрованные учетные данные для оплаты будут возвращены серверам Apple Pay, которые расшифруют их, сравнят значение nonce из учетных данных со значением nonce, изначально переданным серверами Apple Pay, и повторно зашифруют учетные данные для оплаты с помощью ключа продавца, связанного с идентификатором продавца. Затем учетные данные возвращаются на устройство, которое возвращает их приложению, используя API. Приложение передает их в систему продавца для обработки. Продавец может расшифровать учетные данные платежа, используя свой личный ключ, и обработать их. Это в сочетании с подписью серверов Apple позволяет продавцу проверить, что транзакция предназначена именно ему.
Интерфейсам API требуются права, в которых указаны идентификаторы поддерживаемых продавцов. Приложение также может отправить на подпись чипу Secure Element дополнительные данные, например номер заказа или удостоверение покупателя, чтобы гарантировать, что транзакция не будет связана с другим пользователем. Для этого разработчик приложения может задать данные applicationData в запросе PKPaymentRequest. Хэш этих данных включается в зашифрованные платежные данные. Затем продавец должен убедиться, что хэш его данных applicationData совпадает с включенным в платежные данные.
Оплата с помощью карт на веб-сайтах
Apple Pay можно использовать для оплаты покупок на веб-сайтах с помощью iPhone, iPad и Apple Watch, а также на компьютерах 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).