Is it possible to restrict device selection options during Apple Pay In-App provisioning if the card is already added on one device?

I work in a fintech company that offers support to Apple Pay in our cards, i.e. our users have the option add their cards to Apple Pay using our app (in-app provisioning). Our company already got the proper In-App provisioning entitlements from Apple and the entire in-app provisioning process is working as expected.

When an user taps on the button "Add to Apple Wallet" in our app to provision his card, we call the following code below:

let config = PKAddPaymentPassRequestConfiguration()
config.cardholderName = "\(firstName) \(lastName)"
config.localizedDescription = "MyApp Card"
config.primaryAccountSuffix = String(cardSuffix)
config.paymentNetwork = .visa


// Present the Apple Pay ViewController
let controller = PKAddPaymentPassViewController(requestConfiguration: config, delegate: self)
UIApplication.shared.delegate?.window??.rootViewController?.present(controller!, animated: true)

If the user has an Apple Watch paired, he is greeted with a screen asking him to select on which device he wants to add the card: on his iPhone or on the Apple Watch (please see the screenshot attached). After the user selects the device, the provisioning process continues successfully as expected.

However, if the user taps on the "Add to Apple Wallet" button and he already has the card added to one of the devices (the Apple Watch, for example), then the code above is called again, but he is once again greeted with the same screen asking him to select on which devices he wants to add the card, on his iPhone or on his Apple Watch, even though the card is already added on the Apple Watch.

The way I understand it, since the card is already added on the Apple Watch, only iPhone should appear as a valid option to have the card added.

Is there anything else that I need to do in the code above to make sure only the available devices (I mean, only the devices that don't have the card added on Apple Pay yet) are listed in the device selection?

I have tried following code.. but not worked..

let config = PKAddPaymentPassRequestConfiguration()
config.cardholderName = "\(firstName) \(lastName)"
config.localizedDescription = "MyApp Card"
config.primaryAccountSuffix = String(cardSuffix)
config.paymentNetwork = .visa
config.primaryAccountIdentifier = "some unique identifier"

Replies

You must set the primaryAccountIdentifier property to the primary account identifier of the card you are looking to provision. I would double check you are actually doing this, and not using some other identifier. If you are definitely using the primary account identifier can you file a bug with Feedback Assistant?