Zero Clover

Zero Clover

Student in Sol III
twitter

"Tap to Pay on iPhone" with Stripe Terminal

tap-to-pay-on-iphone.png

Apple released a feature called "Tap to Pay on iPhone" before WWDC 2022. Since "Contactless" cards have been issued for several years now, most cards can be used for contactless payments. With "Tap to Pay on iPhone", merchants can start accepting card payments without purchasing additional card readers (although iPhones seem to be much more expensive than card readers).


Show off the card#

As usual, let's show off the card!

https://image.r2.zeroclover.io/2022/06/16/rJpm.jpg

https://image.r2.zeroclover.io/2022/06/16/rznG.png

There were already many scratches on the card when I received it (unfortunately), but this card is a transparent plastic card, so you can see the wiring for Contactless (and the poor quality of the EMV chip).

The card can be used to test Stripe's "Test Mode" for chip card payments and contactless payments.


Platform#

The platform used for this experience is Stripe. Please note that the "Tap to Pay on iPhone" feature is currently only available in the United States, so the integrated app for the card reader requires a Stripe account in the US region.

In addition, using the card reader to accept payments requires enabling the Stripe Terminal feature and adding a location for the card reader. Similarly, due to the limitations of "Tap to Pay on iPhone", this location must also be within the United States.

Untitled

Afterwards, open the app and select "Enable Tap to Pay on iPhone". An Apple page will pop up asking for agreement to register with Apple Business Register. The payment location and location name will be associated with the Apple ID.

https://image.r2.zeroclover.io/2022/06/16/r3w5.jpg

https://image.r2.zeroclover.io/2022/06/16/rtjT.jpg

https://image.r2.zeroclover.io/2022/06/16/rFug.jpg

https://image.r2.zeroclover.io/2022/06/16/rYTy.jpg

Afterwards, you can enter the amount or select a product to receive payments. The app will only process chip card payments when the card reader is connected; otherwise, manual card number entry (or scanning with the camera) is required for payment.

https://image.r2.zeroclover.io/2022/06/16/rUKM.jpg

The payment method of manually entering the card number, whether offline or online, is considered a "Card Not Present" transaction, which carries a higher risk of fraud and abuse for banks and card organizations. Therefore, the fees charged will also be higher. Taking Stripe's US region as an example:

The standard rate is 2.9% + 30 cents

Untitled

Since Stripe initially focused on online payments and only later expanded to offline payments, the standard rate is the price for "Card Not Present" transactions.

On the other hand, the rate for "Card Present" transactions through Stripe Terminal is 2.7% + 5 cents.

Untitled

By reducing fixed costs, significant savings can be achieved for small transactions (common in offline transactions). Let's compare with a $1 USD donation (click here to donate to the author of this article):

Card Not Present transaction through online payment:

Untitled (2).png

Card Present transaction through EMV Contactless:

Untitled (2).png

(The application fee is the commission charged by the third-party app. Since Stripe Terminal only provides an SDK and I don't want to write my own app (I'm not good at it), I used a ready-made app provided by a Stripe certified partner.)

In addition, this app even supports Alipay and WeChat Pay, but I don't want to take risks, so I didn't test it.

https://image.r2.zeroclover.io/2022/06/16/rH38.jpg

https://image.r2.zeroclover.io/2022/06/16/rDF6.jpg

Usage#

Make sure the card reader is connected (which is the iPhone itself).

https://image.r2.zeroclover.io/2022/06/16/rQdl.jpg

Then enter the amount or select a product from the list you have pre-set in the Stripe backend to proceed with checkout. During checkout, you can create a customer profile for regular customers for future reference, or you can proceed with card payment without creating a profile. Please note that even if the card is added through Card Present, using a saved card for checkout is still considered Card Not Present.

https://image.r2.zeroclover.io/2022/06/16/rPb2.jpg

During checkout, an Apple UI will pop up. However, this UI has security settings, so it cannot be captured or recorded. Even when connected to a Mac and using QuickTime's screen recording function, only the app's UI will be displayed. Therefore, I can only use the traditional method of taking photos.

https://image.r2.zeroclover.io/2022/06/16/rOyA.jpg

Simply place the card near the front camera position (where the iPhone's NFC antenna is located) to complete the checkout.

https://image.r2.zeroclover.io/2022/06/16/rIoK.jpg

I immediately received a transaction notification from the bank:

https://image.r2.zeroclover.io/2022/06/16/rqnN.jpg

Of course, you can also use Apple Pay / Google Pay / Samsung Pay on another device for payment.

https://image.r2.zeroclover.io/2022/06/16/r8yY.jpg

In the Stripe Dashboard, you can see that it is an EMV Contactless payment.

Untitled

Untitled

Comparison with regular online payment:

Untitled

Limitations#

After testing, it was found that "Tap to Pay on iPhone" currently does not support UnionPay cards. (This is the only UnionPay card without any information such as card number, name, security code, etc. on the front)

https://image.r2.zeroclover.io/2022/06/16/rRFD.jpg

This may be because UnionPay cards issued in mainland China use the proprietary PBOC 3.0 standard instead of the standard EMV, which prevents the iPhone from reading them correctly. The standard hardware card reader of Stripe Terminal and Stripe itself do support UnionPay payments. However, international card organization cards issued in mainland China can be read normally.

https://image.r2.zeroclover.io/2022/06/16/r5wL.jpg

The app itself conveniently supports capturing sources (in Stripe terminology, deducting funds from a pre-authorized payment) and releasing them (i.e., canceling the pre-authorization).

https://image.r2.zeroclover.io/2022/06/16/rcpI.jpg

In addition, card organizations have additional restrictions on Contactless. Generally, if the transaction amount exceeds $100 USD (VISA / MasterCard) or $250 USD (American Express), a PIN may be required. However, "Tap to Pay on iPhone" currently does not support PIN entry for transactions, which will result in transaction failure.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.