Apple Payを使ってカードで支払う
Apple Payを使って、店舗、App内、およびWebサイトで購入したものの代金を支払うことができます。
店舗でカードで支払う
動作中のiPhoneまたはApple WatchがNFCフィールドを検出すると、要求されたカード(そのカードで自動選択がオンになっている場合)、または「設定」で管理されているメインカードがユーザに表示されます。ユーザは、Appleウォレットでカードを選択することもできます。デバイスがロックされている場合は、以下の操作を行えます:
Face ID搭載デバイスではサイドボタンをダブルクリックする
Touch ID搭載デバイスではホームボタンをダブルクリックする
ロック画面からApple Payを許可するアクセシビリティ機能を使用する
次に、ユーザがFace ID、Touch ID、またはパスコードを使用して認証する必要があります。その後、情報が転送されます。Apple Watchでは、ロックが解除されているときにサイドボタンをダブルクリックすると、支払い用のメインカードが有効になります。ユーザの認証がない限り、支払い情報は送信されません。
ユーザが認証すると、デバイスアカウント番号とトランザクション固有のダイナミック・セキュリティ・コードを使って支払いが処理されます。クレジットカードまたはデビットカードの番号全体が、Appleやユーザのデバイスから加盟店に送信されることはありません。Appleは、トランザクションのおおよその時間や場所といったトランザクション情報を、匿名で受け取る場合があります。これは、Apple Payやその他のAppleの製品およびサービスの改善に利用されます。
App内でカードで支払う
Apple Payは、iPhone、iPad、Mac、およびApple WatchのAppでの支払いにも使用できます。ユーザがApple Payを利用してApp内で支払うと、Appleは、暗号化されたトランザクション情報を受信します。Appleはデベロッパ固有の鍵を使ってトランザクションを再暗号化してから、デベロッパまたは加盟店に送信します。Apple Payには、おおよその購入金額などが匿名のトランザクション情報として保持されます。この情報によってユーザを特定することはできず、ユーザの購入内容がこの情報に含まれることは決してありません。
AppがApple Payの支払いトランザクションを開始すると、デバイスからの暗号化されたトランザクションは、加盟店よりも前にApple Payサーバに送信されます。Apple Payサーバがそのトランザクションを受信すると、加盟店固有の鍵を使ってトランザクションを再暗号化したあと、加盟店に転送します。
Appが支払いを要求する場合、そのAppはAPIを呼び出して、デバイスがApple Payに対応しているかどうか、および加盟店が対応しているペイメントネットワーク上で支払い可能なクレジットカードまたはデビットカードをユーザが保持しているかどうかを調べます。Appは、請求先住所、出荷先住所、連絡先情報など、トランザクションの処理および完了に必要となるすべての情報を要求します。次にAppは、Apple Payシートの表示をiOS、iPadOS、またはwathOSに依頼します。Apple Payシートは、Appの情報と、必要なその他の情報(使用するカードなど)を、iOS、iPadOS、またはwatchOSに要求します。
この時点でAppには、最終的な送料を計算するための市区町村、都道府県、郵便番号の情報が通知されます。要求したすべての情報がAppに提供されるのは、ユーザがFace ID、Touch ID、またはデバイスパスコードで支払いを承認したあとです。支払いが承認されると、Apple Payシートで提供された情報が加盟店に転送されます。
Appでの支払い承認
ユーザが支払いを承認すると、ノンスを取得するための呼び出しがApple Payサーバに対して行われます。ノンスは、店舗でのトランザクションで使用するNFC端末から返される値と同様の働きをします。ノンスは、ほかのトランザクションデータと共にSecure Elementに渡されます。そこで支払い資格情報が計算され、Appleの鍵を使用して暗号化されます。暗号化された支払い資格情報は、Apple Payサーバに戻されます。Apple Payサーバは資格情報を復号し、資格情報内のノンスとApple Payサーバからあらかじめ送信されたノンスとを照合してから、加盟店IDと関連付けられた加盟店キーを使って支払い資格情報を再暗号化します。その後、支払い情報がデバイスに返され、さらにAPI経由でAppに戻されます。Appがその情報を受け取ったら、それを加盟店のシステムに送信して処理に進みます。加盟店は、支払い資格情報を自分の秘密鍵で復号して処理を行います。この仕組みを利用し、さらにAppleのサーバからの署名を使うことで、加盟店は、そのトランザクションがこの特定の加盟店に向けられたものであることを確認できます。
APIには、加盟店IDを指定するエンタイトルメントが必要です。また、トランザクションがほかの顧客に向けて処理されないように、Appで注文番号や顧客IDなどのデータを追加し、Secure Elementに送信して署名させることも可能です。これを行うには、Appデベロッパが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照会の機能を無効にできます。
加盟店セッションが検証されると、すべてのプライバシーおよびセキュリティ対策はApp内での支払いの場合と同じになります。
ユーザが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)アドバタイズメントを通じて判定されます。