Real life code payments

Doutor Coffee Shops added code payment options recently. The sticker next to the reader says all that you need to know: please have your payment app ready before paying. The downfall of code payments is always the network connection. Maybe network connection is weak, or tapped out, or whatever. Last week I was grocery shopping at a basement store location and noticed customers running from checkout to the bottom of the stairs, tapping their smartphone, then running back to the checkout. Bad network area.

This is all too common and a real pain now that every store chain and their dog has a rewards app. Most checkout goes like this: the customer pulls up the store app for discounts and reward points, then pulls up PayPay, dBarai, Line or any other popular code payment, and if the network gods are benevolent, finally pays. NFC was supposed to save us from slow plastic cards and paper coupon checkout, but in the digital wallet age we’re slow if not slower because the store location is in a crappy network area, inside a building with thick earthquake proofed concrete walls. Welcome to code payments in the real world 101.

Mobile Suica Lite

With the proliferation of wearables JR East has been busy adding new devices to Mobile Suica. A timeline:

  • 2006: Mobile Suica for Osaifu Keitai
  • 2016: Apple Pay Suica for iPhone and Apple Watch
  • 2018: Google Pay Suica for Android Osaifu Keitai
  • 2020: Garmin Pay Suica, wena 3 Suica
  • 2021: Fitbit Pay Suica

The first hardware standard for Mobile Suica was Osaifu Keitai first on Symbian feature phones in 2006 followed by Android in 2013. This is the basic FeliCa chip in phone approach.

Apple Pay Suica in 2016 brought a new hardware model: a Apple custom embedded secure element (eSE) with licensed Mobile FeliCa for iPhone and Apple Watch. Pixel 3 and later models employ a somewhat similar arrangement using NXP multi-protocol NFC controllers with preinstalled Mobile FeliCa but Osaifu Keitai software is only activated on Japanese Pixel models.

A shortcoming of the Osaifu Keitai standard is that it only works on Osaifu Keitai ready Android smartphones. In 2016 Google released the HCE-F specification for Android 7.0. Japanese tech media at the time assumed HCE-F would become widespread for delivering FeliCa services to low-end Android devices without Osaifu Keitai support but that didn’t happen. As FeliCa Dude points out, “HCE-F is not useful for emulating existing FeliCa cards because the API has been needlessly crippled.” The HCE strategy is questionable and comes with security risks. In the pre-Apple Pay, pre-Google Pay era it seemed like a viable path, but things haven’t panned out in the embedded secure element era of today.

So how does JR East host Gamin Pay Suica, wena 3 Suica and Fitbit Charge 4 Suica wearables without Osaifu Keitai? The answer is what I call Mobile Suica Lite, a prepackaged service that supports some basic Mobile Suica features but has limitations:

  • New digital issue of regular non-registered Suica cards only, no transfer of plastic Suica cards.
  • No transfer of Suica to new devices
  • Deleting Suica from the device comes with a SF balance refund option (¥200 service fee + transfer to a Japanese bank account) but once the card is deleted it is gone forever.
  • No supplemental Suica services
  • Google Pay recharge backend

For wearables in the COVID era with teleworking and less reliance on commuter passes, Mobile Suica Lite is surprisingly useful despite the limitations. If you migrate to a new wearable simply run the SF balance down to zero, delete the old card, then issue a new digital card on the new device.

How exactly is JR East doing this? We know for certain that it is not Osaifu Keitai or HCE-F. My theory is we are witnessing Mobile FeliCa Cloud in action. According to FeliCa Networks Mobile FeliCa Cloud is:

…a service platform that connects NFC FeliCa Devices with Mobile FeliCa services. With Mobile FeliCa Cloud, the seamless provision of Mobile FeliCa services becomes possible regardless of OS or platform for smartphones and wearable devices…

What is a ‘NFC FeliCa’ device exactly? All NFC certified devices must support NFC-A, NFC-B and NFC-F. Any Global Platform certified secure element on a device also supports Mobile FeliCa. I suspect that any manufacturer with NFC and Global Platform certifications can pick Mobile FeliCa Cloud services à la cart from FeliCa Networks: i.e. I’ll have a Mobile Suica lite with a side order of Rakuten Edy but hold the iD.

Mobile FeliCa Cloud doesn’t come with all the Osaifu Keitai bells and whistles, but it also streamlines and eliminates Osaifu Keitai support headaches with prepackaged services. A Mobile FeliCa lite option for lite wearables…I hope we see more of it on more devices with more services.

The truth is in the tap

The Nankai Visa Touch test launch launched endless Twitter discussions about slow EMV contactless tap speeds and performance issues compared with Suica and other Transit IC cards. EMV contactless transit in Japan is novel so this is expected. But suddenly people are also referencing Junya Suzuki’s 2016 pre-Apple Pay Suica launch era ‘Is Suica Over-spec?’ piece. This has long been a favorite theme in Japanese tech media: Suica is more than we need, EMV contactless is ‘good enough’ so let’s do everything with one card, life is more convenient that way. Be careful what you wish for.

The 2016 launch of Apple Pay Suica was a great success of course, that changed the Japanese payments market and opened the door for the proliferation of QR payment services you see everywhere now. The one card must do it all concept is old hat but Tokyo Olympics sponsors Visa Japan and SMBC are trying very hard to convince Japan that Visa Touch cards are the transit future.

My position was and remains that one size never fits all. It doesn’t have to be a EMV or nothing choice portrayed in tech media, nor should it. Different technologies complement each other for a better user experience. Apple Pay Suica/Mobile Suica combines the convenience of EMV cards on the recharge backend with the speed and reliability of FeliCa based Suica cards on the NFC front-end, for a best of breed closed loop transit user experience. One interesting thing I pointed out in my retweet of Suzuki san’s Nakai open loop launch piece was that QR Nankai Digital Ticket gate performance in the his video is faster than Visa Touch because it’s closed loop.

The comment touched off an odd but interesting set of tweets from Suzuki san and his followers about gate design, reader performance and walk flow that boils down to this: if the reader transaction speed is slow, increase the distance between the reader and gate flap to keep people walking instead of stopping.

His follow up piece deconstructs ‘FeliCa is faster’ as half misunderstanding transit gate antenna design and RF communication distance because EMVCo reader certification dictates a smaller RF distance, the result of using the EMV contactless supermarket checkout spec on transit gates it was never intended for. All I can say is the truth is in the tap. In theory all NFC flavors and protocols offer the same performance but in real transit use they don’t. Better to get next generation Ultra Wideband Touchless gates in service and dispense with the ‘redesign transit gates for slow EMV contactless/QR transit’ debate nonsense. Design things for the future not the past.

The current Transit IC local stored fare model does have weak points as suggested in FeliCa Dude’s tweet: discount ticketing, rebates and refunds. If you purchase a Mobile Suica commuter pass, you can easily get a refund back to the bank payment card used to purchase the commuter pass. This is because Suica extras like commuter passes and Green Seat upgrades are supplemental attached services that don’t use the SF purse.

Rebates and refunds via the SF (stored fare) purse are a bottleneck. Suica App has a mechanism for dealing with some of this called ‘Suica Pocket’ for JRE POINT exchanges and refunds back to the SF purse. Mobile Suica card refunds are another matter and can only be refunded to a Japanese bank account. Octopus Cards Ltd. (OCL) has a special Octopus App for Tourists that refunds a card balance back to original credit card used for the initial digital card issue. OCL also charges tourist users an arm and a leg for Octopus Wallet recharge and refunding. It would be nice if JR East could do the same…without the outrageous OCL surcharges.

For inbound discount ticketing JR East has adopted a similar approach they use for Eki-Net Shinkansen eTickets: discount plans attached to plastic Suica cards. This is the whole purpose of the Welcome Suica + reference paper proving validity for inbound discount plan purchases at station kiosks. It would be great if JR East figures out a way to do the same thing on Mobile Suica.

Domestic discount ticketing and passes are still the glorious, mostly paper ticket mess that is Eki-Net and similar services. Eki-Net itself is still in a slow motion transition towards a Transit IC/Mobile Suica orbit with some things transitioning to QR paper ticketing that replaces expensive mag-strip paper. Eki-Net App is still limited to Shinkansen eTickets and ticketless express train seat purchases. The Eki-Net web site is where you access all the bells and whistles although the experience feels like navigating the Transit IC interoperability chart. Discounts are starting to change somewhat with Suica 2 in 1, totra is the first Suica for disabled users but exclusive to the totra fare region. Hopefully Extended Overlap will see wider use not only for Suica but across all Transit IC cards for more special, and interoperable, discount services.

Japan Cashless 2021: the Wireless Android NFC Reader Suck Index

You too can have the whole transaction world in your hands with the Android based Square Terminal for just ¥46,980

Now that contactless is everywhere, wireless contactless readers have become very fashionable and popular. Nobody wants wires or checkout lines. All of these systems are built around an Android based reading device connected to the internet payment service via Bluetooth, WiFi or 4G with a main terminal, an iPad or a laptop running payment network software. Convenient though they may be, compared with hard wired NFC reader performance they all suck with different levels of suckiness:

  1. stera: this lovely little ‘NFC antenna under the screen’ piece of shit from SMBC, GMO and Visa Japan is so slow that checkout staff put their hand over the stera screen/reader to keep customers waiting until the device is ready to go. This is followed by the instruction ‘don’t move your device until the reader beeps.’ It’s a 2~4 second wait until it beeps. This is 2014 era ‘you’re holding it wrong’ garbage nonsense. I teased one store manager about the hard wired JREM FeliCa readers that were swapped out with stera, “Those were too fast,” he said. Too fast?!
  2. PAYGATE: Another payment provider associated with GMO, slightly faster than stera but still slow, PAYGATE does’t like Apple Pay Suica•PASMO Express Transit very much. Have of the time it ignores it altogether forcing customers into the 2016 era ‘manually bring up Apple Pay Suica’ authenticate and pay maneuver. Another ‘you’re holding/doing it wrong,’ when the fault is on the checkout system side. Passé and totally unnecessary.
  3. AirPay: It’s weird that the cheap AirPay hardware performs better than PAYGATE or stera, it’s even weirder that AirPay performs better than Rakuten Pay which uses the very same reader but is stera shitshow slow.
  4. Square Terminal has gotten lots of media attention in Japan. Too early to experience it in the field yet but I’m not hopeful. Square Terminal is Android based after all and the NCF antenna under the screen design is the worst performing reader design out there. As one Brazilian reader wrote: “I just don’t like the ones running Android because at least here the software is less reliable and I managed to crash a few one by just taping my phone.”

Yep, that observation matches my experience. Payment network providers need better Android readers, the current crop is too slow getting the payment transaction ready to tap. In this era of endless subcontractor layers in the development process, creating a fast reliable Android based NFC wireless reader might be a tall order, if not impossible. The all over the place wireless NFC reader experience certainly doesn’t boast well for open loop advocates.

UPDATE
I ran across another crappy reader experience (above) and retweeted it. A reader had some questions about it, answered here by an anonymous expert. It basically comes down to poorly executed reader polling or not following Sony polling recommendations for FeliCa cards. This is what is happening in the above retweet. It is also what is going on with PAYGATE Station readers, half of the time the proper code hasn’t loaded correctly although this issue seems to be fixed in new PAYGATE Station checkout installations. Which brings us to the point I was trying to make: these performance issues can be fixed with reader firmware updates or transaction system software updates, but never are.

Wildcard polling involves the reader making a request for system code 0xFFFF and expecting the card/device to list all the system codes that it supports. Wildcard polling won’t work on an Apple Pay device in Express Transit mode – instead, the system code must be explicitly polled for (0x0003 for CJRC, 0x8008 for Octopus). You can cause Suica/Octopus to be automatically selected by sending SENSF_REQ (Polling command, 06) for those services explicitly.

I have verified that doing so with Apple Pay will cause the emulated card to be switched out as appropriate – the IDm value will also change, since Apple Pay emulates each card separately, instead of with a common IDm as with Osaifu Keitai. If you read the Sony documentation, you will see that developers are cautioned to also poll for the specific service codes they want to access if there’s no response to a wildcard poll.

Perhaps your reader doesn’t do this, but it’s fairly big omission…it should be doing explicit polling. Simply polling for service code 0x0003 should wake up Suica if selected as an Express Transit candidate, even if you don’t send any other commands. I’ve verified this with an RC-S380 reader and NFCPay.

The Suica 2 in 1 Region Affiliate Transit Card

The Suica 2 in 1 Region Affiliate transit card ‘totra’ launches today, the first card based on the September 2018 joint JR East/Sony Imaging Products & Solutions/JR East Mechatronics announcement. The joint roles are defined as: (1) JR East for promotion, coordinating and supporting the implementation process with local transit companies, (2) Sony for developing new FeliCa additions necessary for 2 in 1 and supporting ICT (Information Communication Technology) transit card developments, (3) JREM for issue, testing and qualification of 2 in 1 cards.

Based on information released by the totra partners, the end product closely aligns with the 2018 announcement:

  • 2 in 1 Commuter Passes: a JR East Suica commuter pass and a region affiliate commuter pass
  • 2 in 1 Points: JRE POINT and region affiliate transit points
  • Other region affiliate services: a totra card for disabled users with special discount fares/subsidies, welfare points (starting April 2021) for elder and disabled transit users

…all in one Suica card. This is more important that it seems and solves some long standing problems. Let’s look at the situation with the wonderfully useful Transit IC card chart created by Wiki user ButuCC.

Transit IC interoperability chart

The core square contains the 10 mutual use ‘Transit IC’ cards with many IC arrows pointing to region transit cards outside of the square. This means the core Transit IC cards work on those local transit systems but only one way. There are no IC arrows pointing in towards the core region because there are no regional transit cards mutually compatible with all core Transit IC cards…until now: totra Suica is the first region transit card that works nationwide.

2 in 1 Suica combines the ‘outside the square’ region card with the core Suica card. totra is a Suica card, mutually compatible with all Transit IC, but also a local transit card with new services built on Suica infrastructure. One example: the first transit IC card for disabled users that automatically gives them the local region discount fare and subsidy, but only for the totra fare region, not outside it. Disabled fares are highly regional with local prefecture and city governments providing transit services and fare discounts. It’s a trade off but it does provide a transit IC card option for disabled users instead of paper tickets with a ID card for the first time.

Super Suica or something else?
So is this Super Suica or not? The totra Suica logo explains some of what is going on inside the card. There is a ‘+’ mark which indicates ‘Suica plus affiliate’ that combines Suica with an attached financial service like credit card recharge. This is the Suica plus mark you see on all Mobile Suica cards including Mizuho Suica (iOS) and Rakuten Suica (Android).

There is also a ‘••’ mark which indicates FeliCa Pocket services, FeliCa applets on a physical card or Osaifu Keitai card that provide different services in a single card (transit, points, ID, etc.). You can see the ‘••’ Suica logo on Rinkai Suica and Monorail Suica and the both marks on the Suica/credit card combos like VIEW. The Rinkai Suica design also looks like totra which uses a similar blue left instead of right trapezoid.

FeliCa Dude points out in an interesting Twitter thread with treastrain that 2 in 1 is a new kind of Suica plus affiliate card issued outside of JR East with no financial service attached to it. As treastrain notes, it’s weird that Suica plus is being used for a rechargeable ¥500 deposit Suica with no attached credit card, but we are in uncharted territory with new features to come.

Suica 2 in 1 is the first Suica based on the new FeliCa Standard SD2 card. We can’t see exactly how FeliCa SD2 is used to deliver 2 in 1 functionality but FeliCa Dude gives us an excellent rundown of 2 important additions: Extended Overlap Service (points and passes) and Value Limited Purse Service (purse). These are tools for JR East and the other Transit IC operators to integrate services in new ways, implement their own version of 2 in 1, raise the balance limit and more. The new FeliCa SD2 features have big implications. Like all things the Super part of Super Suica depends on what JR East and the other CJRC members (Congress of Japanese Railway Cybernetics) mutually accomplish using these new FeliCa and Suica parts. The more region transit cards that migrate and merge inside the Transit IC square while addressing regional needs, the better.

totra Suica 2 in 1 has 2 issue numbers for JR East and the region transit card operator. JR East owns the SF (stored fare) purse, which means they own the float.
Suica 2 in 1 extensively uses the new FeliCa Standard SD2 Extended Overlap Service

What about mobile?
It’s important to remember that 2 in 1 Suica extends Transit IC coverage, including Mobile Suica and Mobile PASMO, into new transit areas. 2 in 1 Suica is limited to plastic issue at this point so those users do not have a mobile option. 2 in 1 Mobile Suica service depends on resolving 4 things:

  • Will Mobile FeliCa be upgraded with the new FeliCa SD2 functions?
  • Will Mobile FeliCa be updated on Osaifu Keitai and Apple devices?
  • Will JR East manage Mobile Suica card issue for outside transit companies
  • Is there an (local 2 in 1 Suica transit card) app for that?

Mobile Suica already hosts Suica ‘+’ cards (Mizuho Suica and Rakuten Suica) and FeliCa Pocket services are designed for physical cards and mobile. 2 in 1 is a new card so the first hurdle is upgrading Mobile FeliCa to support SD2 card features and pushing that update to devices.

FeliCa Dude posted some tweets that suggest Mobile FeliCa 4.x on Android devices can be updated but industry practice on the Android side so far has been doing a pre-install and leaving it at that. If users want newer Mobile FeliCa features, get a new device. Apple can certainly update Mobile FeliCa on their custom embedded secure element, but will they?If nothing else I think the recent addition of Garmin Pay Suica and Fitbit Pay Suica indicates that FeliCa Networks is getting better at pushing new services from Mobile FeliCa Cloud.

The app question is another hurdle and a bit complicated. The whole 2 in 1 concept means 2 different managed services are bundled in a single card. Who manages what? While it makes sense to add 2 in 1 Suica non-JR East local commuter routes for purchase and renewal in Mobile Suica and Suica App, local area transit point account management needs to be handled in a separate app. Does each 2 in 1 Suica locale handle that? That approach makes sense but JR East could certainly help with coordinating support and leveraging common resources and infrastructure to eliminate redundancy.

Summary
2021 is only the start line for 2 in 1 Suica with totra and Iwate Green Card. 2022 will see 6 more 2 in1 Suica cards, probably more, it will be the real coming out year. By then Mobile ICOCA will be on the horizon, I think we’ll know if 2 in 1 is the start of Super Suica…or not. If the other Transit IC partners simply copy what JR East is doing with 2 in 1 region cards, that will be super enough for the people who live, work and go to school in those regions.