I am building CardNeuro, an iOS app that
uses GPS to detect the nearest merchant
and recommends the highest-earning credit
card in the user's wallet at point of sale.
Current flow:
GPS detects merchant
App recommends best card (e.g. Amex Gold
for dining, Amazon Visa for groceries)
User taps — Apple Wallet opens
User has to scroll to find the right card
The problem: Apple Wallet opens to the last
used card, not the card we recommended.
The user still has to find it manually.
What I want to do:
Open Apple Wallet directly to a specific
payment pass so the recommended card is
shown immediately and the user can
double-click to pay with no extra steps.
What I found in the docs:
PKPassLibrary exposes a passURL property
on payment passes:
let passLib = PKPassLibrary()
let walletURL = passLib
.passes(of: .payment)
.first(where: { $0.localizedName == "Amex Gold" })?
.passURL
if let url = walletURL {
UIApplication.shared.open(url)
}
My questions:
Does PKPassLibrary.passes(of: .payment)
return cards added natively to Apple
Wallet by the user — or only passes
provisioned by my own app?
Is opening passURL via
UIApplication.shared.open() permitted
for third party apps that did not
provision the pass?
Is a special entitlement required to
read payment passes from PKPassLibrary
that belong to other apps or were added
natively?
If deep linking to a specific payment
pass is not available to third party
apps — is there any recommended API
or UX pattern for surfacing a specific
card to the user before they tap to pay?
Any guidance from the team appreciated.
Topic:
App & System Services
SubTopic:
Apple Pay
0
0
182