Apple Payを使ってカードで支払う
Apple Payを使って、店舗、アプリ内、およびWebサイトで購入したものの代金を支払うことができます。
店舗でカードで支払う
動作中のiPhoneまたはApple WatchがNFCフィールドを検出すると、要求されたカード(そのカードで自動選択がオンになっている場合)、または「設定」で管理されているメインカードがユーザに表示されます。ユーザは、Appleウォレットでカードを選択することもできます。デバイスがロックされている場合は、以下の操作を行えます:
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に対応しているかどうか、および加盟店が対応しているペイメントネットワーク上で支払い可能なクレジットカードまたはデビットカードをユーザが保持しているかどうかを調べます。アプリは、請求先住所、出荷先住所、連絡先情報など、トランザクションの処理および完了に必要となるすべての情報を要求します。次にアプリは、Apple Payシートの表示をiOS、iPadOS、macOS、またはwathOSに依頼します。Apple Payシートは、アプリの情報と、必要なその他の情報(使用するカードなど)を、iOS、iPadOS、またはwatchOSに要求します。
この時点でアプリには、最終的な送料を計算するための市区町村、都道府県、郵便番号の情報が通知されます。要求したすべての情報がアプリに提供されるのは、ユーザがFace ID、Touch ID、またはデバイスパスコードで支払いを承認したあとです。支払いが承認されると、Apple Payシートで提供された情報が加盟店に転送されます。
App Clip内でカードで支払う
App Clipは、そのアプリのごく一部の機能を提供して、完全なアプリをダウンロードしなくても、自転車を借りたり駐車場代を支払ったりといったタスクをユーザが素早く実行できるようにします。App Clipが支払いに対応している場合、ユーザは「Appleでサインイン」を使用してから、Apple Payを使用して支払いを行うことができます。ユーザがApp Clip内から支払いを行うと、すべてのセキュリティおよびプライバシー対策はアプリ内での支払いの場合と同じになります。
アプリ支払いをユーザが承認し、加盟店が検証する方法
ユーザと加盟店は、安全なアプリ支払いのために、Appleサーバ、Secure Element、デバイス、アプリのAPIに情報を渡します。まず、ユーザがアプリ支払いを承認すると、アプリはApple Payサーバを呼び出してアンチリプレイ値を取得します。サーバはこの値とほかのトランザクションデータをSecure Elementに送信します。そこで支払い資格情報が計算され、Appleの鍵を使用して暗号化されます。次に、Secure Elementは支払い資格情報をApple Payサーバに戻します。Apple Payサーバは資格情報を復号し、そのアンチリプレイ値とApple Payサーバからあらかじめ送信されたアンチリプレイ値とを照合してから、加盟店IDと関連付けられた加盟店キーを使って支払い資格情報を再暗号化します。そして、Appleのサーバが支払いをデバイスに戻し、デバイスは支払いをアプリのAPIに戻し、APIは処理のために支払いを加盟店のシステムに渡します。加盟店は支払い資格情報を復号し、それがトランザクションの正しい受信者であることを検証します。
APIには、加盟店IDを指定するエンタイトルメントが必要です。また、トランザクションがほかの顧客に向けて処理されないように、アプリで注文番号や顧客IDなどのデータを追加し、Secure Elementに送信して署名させることも可能です。これを行うには、アプリデベロッパがPKPaymentRequestでapplicationDataを指定します。このデータのハッシュが、暗号化された支払いデータに含められます。その後、加盟店は、自分のapplicationDataハッシュが、支払いデータに含まれているものと一致することを確認する必要があります。
Webサイトでカードで支払う
Apple Payは、iPhone、iPad、Apple Watch、およびTouch IDを搭載したMacコンピュータからWebサイトで支払いを行うときにも使用できます。Apple PayのトランザクションをMacで開始し、同じiCloudアカウントを使用してApple Pay対応iPhoneまたはApple Watchでトランザクションを完了することもできます。
Web上でApple Payに対応するすべてのWebサイトが、Appleに登録する必要があります。ドメインの登録後は、AppleがTLSクライアント証明書を発行したあとでのみドメイン名検証が実行されます。Apple PayをサポートするWebサイトは、HTTPS経由でコンテンツを提供する必要があります。支払いトランザクションごとに、WebサイトはAppleが発行したTLSクライアント証明書を使用して、Appleサーバとの安全な一意の加盟店セッションを取得する必要があります。加盟店セッションデータはAppleによって署名されます。加盟店セッションの署名が検証されると、WebサイトはユーザがApple Pay対応デバイスを持っているかどうか、またユーザがそのデバイスでクレジットカード、デビットカード、プリペイドカードを有効にしているかどうかを照会できます。そのほかの詳細情報は共有されません。ユーザがこの情報を共有したくない場合は、iPhone、iPad、およびMacの各デバイスのSafariのプライバシー設定でApple Pay照会の機能を無効にできます。
加盟店セッションが検証されると、すべてのプライバシーおよびセキュリティ対策はアプリ内での支払いの場合と同じになります。
ユーザがMacからiPhoneまたはApple Watchに支払い関連の情報を送信する場合、Apple PayのHandoffではエンドツーエンドで暗号化されたApple Identity Service(IDS)プロトコルを使用して支払い関連情報がユーザのMacから認証側デバイスに転送されます。MacのIDSクライアントはユーザのデバイスキーを使用して暗号化を実行するため、ほかのデバイスはこの情報を復号できず、Appleもこのキーを使うことはできません。Apple PayをHandoffするためのデバイス検出には、いくつかのメタデータと一緒にユーザのクレジットカードの種類と一意の識別情報が含まれます。ユーザのカードに割り当てられているデバイスアカウント番号は共有されず、ユーザのiPhoneまたはApple Watchで安全に保管された状態で維持されます。また、AppleはiCloudキーチェーンを通じて、ユーザが最近使用した連絡先情報、出荷先住所、請求先住所を安全に転送します。
ユーザがFace ID、Touch ID、またはパスコードを使用するか、Apple Watchのサイドボタンをダブルクリックすることで支払いを承認すると、各Webサイトの加盟店証明書に一意に暗号化されたペイメントトークンがユーザのiPhoneまたはApple WatchからMacに安全に転送されてから、加盟店のWebサイトに送信されます。
互いの近くにあるデバイスのみが支払いを要求および完了できます。近接性はBluetooth Low Energy(BLE)アドバタイズメントを通じて判定されます。
自動支払いと加盟店トークン
iOS 16以降では、Apple Payを提供するアプリやWebサイトは、ユーザのデバイス間で常に安全な支払いを可能にするApple Payの加盟店トークンを活用できます。iOS 16のアップデートされたApple Pay支払いシートは、事前に承認した支払い操作の最適化も行います。Apple Pay APIの新しいトランザクションタイプにより、アプリとWebサイトのデベロッパは、サブスクリプション、定期的請求、分割払い、およびカード残高の自動チャージの支払いシートの操作を微調整することができます。
加盟店トークンはデバイス固有ではないため、ユーザがデバイスから支払い用カードを削除した場合でも、定期的支払いの継続を可能にします。
複数の加盟店への支払い
iOS 16以降では、Apple Payには、1つのApple Pay支払いシート内に複数の加盟店での購入金額を明記する機能が組み込まれています。これによって顧客は、航空券、レンタカー、ホテルを含む旅行パッケージを一括購入し、あとで個々の加盟店に送金するといった柔軟な支払いが可能になります。