WebEferen / flutter_wallet_card

Flutter Wallet Card plugin (iOS & Android)
MIT License
11 stars 21 forks source link

NFC support #14

Closed ArabAgile closed 6 months ago

ArabAgile commented 7 months ago

HELLO and thank you for this amazing effort.

I was able to add new card to the wallet, but how to add the NFC cards?

WebEferen commented 6 months ago

Hi @ArabAgile, Sorry for the delayed answer.

You can add NFC passes by passing the nfc key: https://github.com/WebEferen/flutter_wallet_card/blob/66384ca98052c78e2bd2a839dd47982ddc1a6aff/lib/models/PasskitPass.dart#L45

And the NFC model can be found here: https://github.com/WebEferen/flutter_wallet_card/blob/66384ca98052c78e2bd2a839dd47982ddc1a6aff/lib/models/PasskitNfc.dart#L17

Should be straightforward - except normal PassKit with plain barcode, use nfc property :)

bobwith2bees commented 4 months ago

Just a few comment for the next developer who wants to play with NFC enabled passes.

I attempted to issue NFC-enabled passes and read them with a VTAP-100 NFC reader I bought. In short - you, as a developer, most likely won't be granted the NFC entitlement from Apple unless your solution falls into a reward membership or event ticket with seating use case. May not be a deal breaker if your solution falls within those lines.

Additionaly there is a ECC private key required to decode the NFC response from the phone. Apple has limited the distribution of that key to only a handfull of hardware vendors. So you will need to work / partner with those vendors who will be reading the NFC passes. (Buying a VAS-compatible reader without Apple's key to read the response is a waste of time/money.)

https://developer.apple.com/documentation/walletpasses/pass/nfc

WebEferen commented 4 months ago

Thanks @bobwith2bees,

You're right. I have personally done the NFC for the conference tickets and the entitlement was granted upon the request (with official documents signed etc.). As an Apple Developer you can be granted the NFC entitlement (but with limited scope) so that you can play with that.