Deep link to specific payment pass in Apple Wallet from third party app

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:

  1. GPS detects merchant
  2. App recommends best card (e.g. Amex Gold for dining, Amazon Visa for groceries)
  3. User taps — Apple Wallet opens
  4. 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:

  1. Does PKPassLibrary.passes(of: .payment) return cards added natively to Apple Wallet by the user — or only passes provisioned by my own app?

  2. Is opening passURL via UIApplication.shared.open() permitted for third party apps that did not provision the pass?

  3. Is a special entitlement required to read payment passes from PKPassLibrary that belong to other apps or were added natively?

  4. 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.

Deep link to specific payment pass in Apple Wallet from third party app
 
 
Q