The diagram below shows the differences. Both approaches are very secure, but the implementations are different. To understand the difference, we break down the process into two flows.
  1. Registering your credit card flow
  2. Basic payment flow

1?? The registration flow is represented by steps 1~3 for both cases.

????? ???: It doesn’t store any card info. It passes the card info to the bank. Bank returns a token called DAN (device account number). iPhone then stores DAN into a special hardware chip.

?????? ???: When you register the credit card with Google Pay, the card info is stored in the Google server. Google returns a payment token to the phone.

When you click the “Pay” button on your phone, the basic payment flow starts. Here are the differences:

????? ???: For iPhone, the e-commerce server passes the DAN to the bank.

?????? ???: The e-commerce server passes the payment token to the Google server. Google server looks up the card info and passes it to the bank.

In the diagram, the red arrow means the credit card info is available on the public network, although it is encrypted.

Over to you: Apple needs to discuss the DAN details with banks. It takes time and effort, but the benefit is that the credit card info is on the public network only once. If you are an architect and have to choose between security and cost, which solution do you prefer?