# Apple Pay や Google Pay でカード番号はどのように扱われますか？また、dynamic_last4 とは何ですか？

利用者が Apple Pay または Google Pay にカードを追加すると、Apple や Google により、新しい有効期限のある DPAN (Device PAN) という新しいカード番号が自動的に生成されます。DPAN は以下の点で実際のカード番号とは全く異なります。
* 利用者が同じカードを複数のデバイスに追加すると、その都度、異なる DPAN が生成されます。
* カードがデバイスから削除されると、DPAN は自動的に無効化されます。
* 同じカードが再び追加されると、新しい DPAN が生成されます。
カード発行会社は、多くの場合、PAN BIN ごとにペアの「DPAN BIN」を使用しますが (同じ売上タイプ、通常 8 桁)、常にそうであるとは限りません。
この処理はすべて裏側で行われ、カード保有者に明かされることはありません。利用者が Apple Pay または Google Pay を使って何かの支払いをするたびに、この DPAN が加盟店や代行業者に送信されます。実際のカード番号または実際の有効期限が通知されることはありません。
ただし、このフローには 1 つ問題があります。加盟店は DPAN の末尾 4 桁を参照するため、購入に関連するカードについて加盟店が表示できる情報と、利用者の実際のカード番号が異なるということです。
この問題を解決するために、Apple と Google は、DPAN とともに実際のカード番号の末尾 4 桁を代行業者に送信します。つまり、Stripe は DPAN に対して請求を行いますが、API の `last4` [プロパティー](https://stripe.com/docs/api/payment_methods/object#payment_method_object-card-last4)には実際のカード番号の末尾 4 桁が表示されるということです。これにより、加盟店は、使用されたカードに関する詳細を報告しやすくなります。また、Stripe が請求を行った DPAN に関する詳細情報を加盟店が確認できるように、別途、DPAN の末尾 4 桁が `dynamic_last4` [プロパティー](https://stripe.com/docs/api/payment_methods/object#payment_method_object-card-wallet-dynamic_last4)に入力されます。_ただし、Apple Pay に追加された_ [_Apple カード_](https://card.apple.com/)_が使用された場合、Apple は実際のカード番号の末尾 4 桁を表示しません。このシナリオでは、_`last4` _と_ `dynamic_last4` _のどちらも、DPAN の末尾 4 桁を示します。これは、Apple カードを Apple Pay で使用するという独特なケースです。_
実際のカード番号はわからないため、代わりに DPAN に基づいて `fingerprint` の[値](https://stripe.com/docs/api/payment_methods/object#payment_method_object-card-fingerprint)が計算されます。つまり、同じカードが 2 つの別個のデバイスに追加された場合、同じカードが 2 つの異なる DPAN を表し、API またはダッシュボードで 2 つの異なるフィンガープリントが生じることになります。
テスト環境では、カードの last4 プロパティーは元のカードの末尾 4 桁と一致したままになります。ただし、Apple Pay の場合、DPAN は無視され、テストカード番号の `4242424242424242` が自動的に使用されます。テストカード番号の `4242` は Visa カードなので、使用された実際のカードのブランドや売上タイプにかかわらず、ダッシュボードと API に反映されるカードブランドは Visa、売上タイプはクレジットになります。 Google Pay の場合、DPAN は Google のテストスイートで提供されるテストカード番号の 1 つに置き換えられますが、使用される実際のカードと一致しないという同じ問題が生じます。