Deep Secrets of Apple Pay Express Transit

Apple Pay Suica on A12 Bionic iPhone XS/XR works even in the middle of a recharge

Apple Pay Suica on A12 Bionic iPhone XS/XR is different from other devices because basic FeliCa transactions bypass iOS and go directly to the Secure Enclave. You can see this in action with Express Transit power reserve, but if you observe carefully you can catch it in other ways.

I caught a glimpse today buying ice coffee at a JR station NewDays shop (supplied by Doutor btw). I was recharging Suica with Apple Pay and forgot it was still processing when I touched iPhone XS to the reader. The payment went through without a problem, the recharge completed a few seconds later.

Is this a iOS 12.4 beta thing or did A12 Bionic iPhone do this all along? I suspect it did all along and makes sense: the payment transaction bypassed iOS which was busy processing the Apple Pay recharge and wasn’t ready to post a balance update to the Secure Enclave. Prepaid and postpay processing at the same time…very interesting.

Most people think all Express Transit is the same, but Suica Express Transit prepaid is very different from EMV Express Transit postpay. Suica settles the transit bill in less than 200 milliseconds (ms) locally right at the transit gate, while EMV Express Transit leisurely (500 ms) tells the gate, ‘I am bank card XXX, put it on the bill’ for settlement later between the bank and the transit agency. For EMV there is a lot of backend system work to make that happen, and even then the user sometimes has to tap twice:

EMV Express Transit Option Returns in iOS 12.4 Public beta 4

The temporary absence of EMV Express Transit in iOS 12.4 betas 1~3 has ended, the option has finally returned in iOS 12.4 public beta 4 (16G5046d). OMNY users in New York can use the beta for transit now, but since OMNY itself is one big beta system why bother with beta on beta? I think it’s better to wait for the official release. Portland HOP iPhone users need not bother as they can put real HOP card in Wallet. It’s way better than using a credit card, faster and cheaper too.

The only question remaining is, what kind of Wallet grunt work were they up that they had to remove EMV Express Transit temporarily in the first place?

Apple Pay Suica • PASMO Service Mode

Service Mode is a weird function that doesn’t have a counterpart on the Android Suica•PASMO side. The JR East Apple Pay Suica help page used to mention this. The iPhone Service Mode explanation says, “Service Mode will allow station agents and kiosks to help with any issues with your card.” The street reality is that station agents don’t need you to put the device in Service Mode, just fork it over and they can fix any Suica•PASMO issue for you.

This difference exists because Osaifu Keitai smartphones (and the candy wrapper Google Pay Suica) have a dedicated FeliCa chip. Apple created it’s own custom FeliCa implementation hosted on the iPhone A Series and Apple Watch S Series SOC. But the Apple implementation did not really mature until A12 Bionic and the Express Card (Student ID)/Express Transit cards with power reserve feature. The A12 Bionic Secure Enclave and Secure Element directly support limited NFC transactions that bypass iOS. It’s the same way a dedicated FeliCa chip works on Android.

This means that Apple Pay Suica•PASMO on pre-A12 devices requires iOS/watchOS to be up and running for Suica and PASMO to work. Unfortunately this also means that different iOS versions sometimes have performance issues on pre-A12 devices and that iOS occasionally drops the ball. iOS 12 for example was very buggy for many Suica users, fortunately iOS 12.3 fixes all issues with great Apple Pay Suica Express Transit performance.

The Dead Suica Notifications/No Suica Balance Update problem happens occasionally and the way to fix it is to turn on Service Mode and leave it until it turns off automatically in 60 seconds or the screen goes dark, whichever comes first. Here’s the relevant section from Apple Support Using Suica or PASMO on iPhone or Apple Watch:

If your Suica or PASMO card balance doesn’t update

  1. Open the Wallet app on your iPhone.
  2. Tap your Suica or PASMO transit card, then tap the more button More info.
  3. Turn on Service Mode, then authenticate with Face ID, Touch ID, or your passcode.

To turn off Service Mode, tap on the card. If your balance is still incorrect, restart your iPhone.

Service Mode syncs and reconciles iOS with the Suica•PASMO Stored Fare (SF) balance information from the embedded Secure Element implemented inside the A Series/S Series.

Service Mode seems pretty useless on A12 and later Bionic devices, a restart works best, but it’s still useful for Apple Watch which does not have the A Series Bionic power reserve feature. I imagine Service Mode on iPhone is more for show than actual functionality, although Service Mode is useful for cash recharge on 7-Eleven ATM machines where you have to put the device upside down to capture the ATM NFC antenna hit area.

Tweet of the day: I want my Oyster

Reports of the Apple Pay EMV Express Transit option coming to TfL in ‘coming months’ notwithstanding, it does nothing for the many TfL users who need to use Oyster. Oyster card on Apple Pay and Google Pay is kinda like Brexit, endlessly discussed but never decided. TfL would like to get rid of Oyster altogether, I imagine the banks like it that way. Hoping that EMV will evolve and fix things is wishful thinking. Either way a decision has to be made at some point about native Oyster on digital.

EMV Express Transit Still Missing in iOS 12.4 Public Beta

Just a friendly reminder that the EMV Express Transit option is still missing in iOS 12.4 Public Beta 3 (16G5038d). iPhone transit users who use TriMet or MTA should stay away from the beta.

The feature will undoubtedly be back for the final release but, again, heavy duty under the hood Wallet construction continues in the run up to the Apple Card release and iOS 13. We’ll get lots of new Apple Pay Wallet details at WWDC19.