Dunfey · Hotel WWDC as data, est. 1983
Front desk everything
Years
Topics

2023 App Services

WWDC23 · 34 min · App Services

What’s new in Wallet and Apple Pay

Discover the latest updates to Wallet and Apple Pay. Learn how to take advantage of preauthorized payments, funds transfer, and Apple Pay Later merchandising to create great Apple Pay experiences in your app or for the web. Explore improved support for Mail, Messages, Safari, and third-party apps in Wallet Order Tracking, and find out how you can add more information to an order’s transaction or receipt details. And we’ll introduce you to Tap to Present ID on iPhone (or ID Verifier), a new way to accept IDs in Wallet using iPhone — no additional hardware needed.

Watch at developer.apple.com ↗

Transcript all transcripts

Code shown on screen · 3 snippets

Performing a display request to verify age swift · at 28:51 ↗
import ProximityReader

// Check the current device supports mobile document reading.
guard MobileDocumentReader.isSupported else { return }
    
let reader = MobileDocumentReader()
    
let readerSession: MobileDocumentReaderSession = try await reader.prepare()

let request = MobileDriversLicenseDisplayRequest(elements: [.ageAtLeast(21)])

try await readerSession.requestDocument(request)
Displaying brand information during a document request swift · at 30:55 ↗
let reader = MobileDocumentReader()

let identifier = try await reader.configuration.readerInstanceIdentifier
let readerToken = try await WebService().fetchToken(for: identifier)

let readerSession = try await reader.prepare(using: .init(readerToken))

let request = MobileDriversLicenseDisplayRequest(elements: [.ageAtLeast(21)])

try await readerSession.requestDocument(request)
Performing a data request swift · at 31:50 ↗
let session: MobileDocumentReaderSession = /* ... */

var request = MobileDriversLicenseDataRequest()
request.retainedElements = [.givenName, .familyName, .dateOfBirth, .portrait]
request.nonRetainedElements = [.address, .documentExpirationDate, .drivingPrivileges]

let response = try await session.requestDocument(request)

// Process document elements from document response.
self.processResponse(response.documentElements)

Resources