Offer rewards cards boarding passes tickets gift cards and more using Wallet.

Posts under Wallet tag

127 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Gathering Required Information for Troubleshooting Apple Pay In-App Provisioning or In-App Verification Issues
Hi, You're here because you've had issues with your implementation of Wallet Extensions for Apple Pay In-App Provisioning or In-App Verification. To prevent sending sensitive credentials in plain text, create a new report in Feedback Assistant to share the details requested below with the appropriate log profiles installed. Gathering Required Information for Troubleshooting Apple Pay In-App Provisioning or In-App Verification Issues While troubleshooting Apple Pay In-App Provisioning or In-App Verification, it is essential that the issuer is able to collect logs on their device and check those logs for error message. This is also essential when reporting issues to Apple. To gather the required data for your own debugging as well as reporting issues, please perform the following steps on the test device: Install the Apple Pay and Wallet profiles on your iOS or watchOS device. If the issue occurs on Mac, continue to Step 2. Reproduce the issue and make a note of the timestamp when the issue occurred, while optionally capturing screenshots or video. Gather a sysdiagnose on the same iOS or watchOS device, or on macOS. Create a Feedback Assistant report with the following information: The bundle IDs App bundle ID Non-UI app extension bundle ID (if applicable) UI app extension bundle ID (if applicable) The serial number of the device. For iOS and watchOS: Open Settings > General > About > Serial Number (tap and hold to copy). For macOS: Open the Apple () menu > About This Mac > Serial Number. The SEID (Secure Element Identifier) of the device, represented as a HEX encoded string. For iOS and watchOS: Open Settings > General > About > SEID (tap and hold to copy). For macOS: Open the Apple () menu > About This Mac > System Report > NVMExpress > Serial Number. The sysdiagnose gathered after reproducing the issue. The timestamp (including timezone) of when the issue was reproduced. The type of provisioning failure (e.g., error at Terms & Conditions, error when adding a card, etc.) The issuer/network/country of the provisioned card (e.g., Mastercard – US) Last 4 digits of the FPAN Last 4 digits of the DPAN (if available) Was this test initiated from the Issuer App? (e.g., yes or no) The type of environment (e.g., sandbox or production) Screenshots or videos of errors and unexpected behaviors (optional). Important: From the logs gathered above, you should be able to determine the cause of the failure from PassbookUIService, PassKit or PassKitCore, and by filtering for your SEID or bundle ID of your app or app extensions in the Console app. Submitting your feedback Before you submit to Feedback Assistant, please confirm the requested information above is included in your feedback. Failure to provide the requested information will only delay my investigation into the reported issue within your Apple Pay client. After your submission to Feedback Assistant is complete, please respond in your existing Developer Forums post with the Feedback ID. Once received, I can begin my investigation and determine if this issue is caused by an error within your client, a configuration issue within your developer account, or an underlying system bug. Cheers, Paris X Pinkney |  WWDR | DTS Engineer
0
0
252
Aug ’24
Wallet "Open [Pass or Card]" Shortcut Input
Hello, There is a new shortcut recently in iOS shortcuts called "Open [Pass or Card]". It looks to take in a [Pass or Card] type, however I'd like to program it with a shortcut to dynamically select a card, and I noticed it works with strings, such as "BofA Customized Cash Rewards". Would there be a list of possible strings for supported cards and/or passes that I could pass in for this shortcut?
0
0
55
5d
Gathering Required Information for Troubleshooting Wallet Issues
Hi, To ensure the issue is not caused by an error within your app or web service request, please review the following documentation: Wallet Passes Wallet Developer Guide If the resources above don’t help identify the cause of the error, please provide more information about your app or web services to get started. To prevent sending sensitive credentials in plain text, create a report in Feedback Assistant to share the details requested below. Additionally, if the error is something we need to investigate further, the appropriate engineering teams also have access to the same information and can communicate with you directly within Feedback Assistant for more information, as needed. Please follow the instructions below to submit your report. For issues occurring with your native app or web service, perform the following steps: Install the Wallet profile on your iOS or watchOS device. Reproduce the issue and make a note of the timestamp when the issue occurred, while optionally capturing screenshots or video. Gather a sysdiagnose on the same iOS or watchOS device. Create a Feedback Assistant report with the following information: The serial number of the device. Open Settings > General > About > Serial Number (tap and hold to copy). The SEID (Secure Element Identifier) of the device, represented as a HEX encoded string. Open Settings > General > About > SEID (tap and hold to copy). The sysdiagnose gathered after reproducing the issue. The timestamp of when the issue was reproduced. Screenshots or videos of errors and unexpected behaviors (optional). Important: From the logs gathered above, you should be able to determine the cause of the failure from PassbookUIService, PassKit or PassKitCore, and by filtering for your SEID or pass type identifier in the Safari Web Inspector. See Inspecting Safari on macOS to learn more. Submitting your feedback Before you submit to Feedback Assistant, please confirm the requested information above is included in your feedback. Failure to provide the requested information will only delay my investigation into the reported issue within your Wallet pass implementation. After your submission to Feedback Assistant is complete, please respond in your existing Developer Forums post with the Feedback ID. Once received, I can begin my investigation and determine if this issue is caused by an error within your web implementation, a configuration issue within your developer account, or an underlying system bug. Cheers, Paris X Pinkney |  WWDR | DTS Engineer
0
0
61
1w
Determining If a User's Device is capable of supporting an Apple Wallet Pass
We are developing an Add To Wallet flow on our website where we add the "Add To Wallet" button to a user portal for them to be able to add a loyalty card pass to their Apple Wallet. In other projects with Apple Pay, we can check whether or not the browser supports the JS library by checking if it exists on the global window property (if (window.ApplePaySession) { //do stuff } Is there an equivalent to determine if the user's device is capable of accepting a Wallet pass?
0
0
91
1w
Sub-account Wallet Passes
Hi! I need to generate multiple separated wallet passes, When ever I create a Sub-account - or sub-brand (in my web-app), I need to generate a wallet pass - stand alone - meaning new, new logo, new name and not all in a course format, I have a web-app that can do all but when it creates new sub-account (new brand) passes, will add them to same account in a carousel style, below an example that will make it clear (I hope). Also attached an image showing the 2 passes (2 different brands) in one main wallet pass (carousel) instead of having two different wallet passes (one for each brand - Sub-account). How could I be able to accomplish this? Thanks in advance!! REFERENCE: Main Apple Dev Account (ME) Sub-Account (My Client) User (Client of Sub-Account) CASE NEEDED: ME->Sub-Account A (Own Wallet Card stand alone pass no Carousel) -> Users: Only sees Account A Pass ME->Sub-Account B (Own Wallet Card stand alone pass no Carousel) -> Users: Only sees Account B Pass Users can be client of both sub-accounts, but must see each wallet pass as stand alone, do that sub-accounts are different brands.
3
0
93
1h
How to Create an NFC-Enabled Wallet Pass with pass.json Including NFC Field?
Hello, I’m working on creating an NFC-enabled Apple Wallet pass and I need assistance with the proper implementation of the pass.json file to include NFC functionality. My goal is to enable NFC interactions, such as tapping to unlock a door or interacting with other NFC systems. Here is what I have done so far: Set up a Pass Type ID and Certificates: I have registered a Pass Type ID in my Apple Developer account. I have generated and installed the required certificates (Pass Type ID certificate and WWDR certificate). Backend Integration: I have set up a backend service for generating passes, and I can successfully create and deliver standard Wallet passes without the NFC functionality. Adding the NFC Field: I understand that to enable NFC interactions, I need to add an nfc dictionary to the pass.json file. The key components for NFC include the encryptionPublicKey, message, and payload. Here’s an example of my current pass.json: { "formatVersion": 1, "passTypeIdentifier": "pass.com.example.mypass", "serialNumber": "123456", "teamIdentifier": "TEAMID12345", "webServiceURL": "https://example.com/api/passes", "authenticationToken": "my_secure_token", "nfc": { "message": "Tap to unlock door", "encryptionPublicKey": "MY_ENCRYPTION_PUBLIC_KEY", "payload": "encrypted_nfc_payload" }, "organizationName": "My Company", "description": "NFC-Enabled Access Pass", "logoText": "My NFC Pass", "foregroundColor": "rgb(255, 255, 255)", "backgroundColor": "rgb(0, 0, 0)", "barcode": { "format": "PKBarcodeFormatQR", "message": "https://example.com", "messageEncoding": "iso-8859-1" } } Questions: Are there any additional steps or configurations required to ensure that NFC is enabled in the pass? Is there a specific method to test or validate NFC functionality in the pass to debug why it’s not being activated? Any guidance or solutions to enable NFC in this pass would be greatly appreciated. Thank You
2
0
173
1w
Unwanted callback from Apple to our Pass Server
We have a Web server for Apple Pass and we received a complaint from a user because the Pass is being deleted every few days from the Apple Wallet App and the user had to reinstall the pass every time. Upon checking our server logs we found DELETE (unregister) requests that were not initiated by the user. Here are some (there are more) of those logs (I replaced some details with * for privacy): From July [29/Jul/2024:23:06:30 +0000] "DELETE /apple_wallet/v1/devices/****/registrations/pass.com..*/** HTTP/1.1" 200 31 "-" "passd/1.0 CFNetwork/1496.0.7 Darwin/23.5.0" From August [17/Aug/2024:22:51:33 +0000] "DELETE /apple_wallet/v1/devices/****/registrations/pass.com..*/** HTTP/1.1" 200 31 "-" "passd/1.0 CFNetwork/1498.700.2 Darwin/23.6.0" From September [08/Sep/2024:23:32:11 +0000] "DELETE /apple_wallet/v1/devices/****/registrations/pass.com...*/** HTTP/1.1" 200 31 "-" "passd/1.0 CFNetwork/1498.700.2 Darwin/23.6.0" Other information for this specific user/device: Phone 14 Pro Max - iOS 17.6 User has few other passes installed but none has disappeared only our issued pass. We are hoping to get some help from Apple to figure out why the DELETE request is being sent out to our server without being initiated by the user. I have already filed a ticket to Apple with Case-ID: 9315232 But I haven't gotten any feedback after a few weeks and some follow ups.
2
0
123
1w
Wallet Pass not updating for some customers
I am looking for advice for debugging a wallet pass not updating for some customers after successfully posting an APNS notification (pass identifier as topic, no expiration, priority 10). Is there an exhaustive list of reasons for a wallet pass not updating or a guide for making sure updates happen reliably? Are there are any guarantees made as to when the pass is updated? We noticed it is either never updating or the update happens much later for some customers. Usually toggling "Automatic Updates" in Pass Details updates the pass immediately for affected customers. Can it be caused by an error in the implementation of the Wallet Passes Web Service? We generate passes on the fly as a response to /v1/passes/{passTypeIdentifier}/{serialNumber}. I noticed that we also sometimes receive HEAD requests to this endpoint despite the documentation only mentioning the GET method. I was previously returning a HTTP status code 405 (Method Not Allowed). I have now updated it to also respond with headers (Content-Type, Content-Disposition and Last-Modified) for the pass for HEAD requests, but I don't know if it makes a difference. Here is a list of issues on the customer side I was thinking of: No connection to the internet Low power mode (does it prevent or throttle updates?) What happens if there is an error? Does it keep trying or does it just fail silently? In the latter case it might make sense to keep sending APNS notifications until the pass is requested successfully. I know that you can use the PassKit framework in iOS apps to update (replace) passes. Would this be more reliable than a stand-alone Wallet pass?
0
0
103
2w
Is this business model counted as in-app purchase?
Hello All, My team and I are developing a mobile application (offgrid) to help combat screen addiction. Our application will allow users through gamification, to challenge each other to stay off certain predetermined apps on their phone for a set amount of time and risk their own money. The money will act as a reinforcement to stay focused and off the application. Example: Jon challenges Jen to stay off Instagram for 1 hour for $5. If Jen accepts the challenge, she and Jon cannot go on Instagram. If Jen or Jon decides to click the Instagram app within the hour, the $5 automatically goes to the winner via Apple Pay or another service. If they complete the challenge and stay off Instagram then there is no exchange of money. I will also give the option for users to challenge each other and risk their money for a charity cause if someone loses. My question is, will the exchange of money count as an in-app purchase, or will the winner receive the full amount? Also, if the money goes to charity, will that count as an in-app purchase? Thanks!
0
0
220
2w
Boarding pass relevant date and timezone issue
Hi everyone, I’m encountering a challenge while working with Apple's PKPass for boarding passes and would appreciate any guidance. We are generating boarding passes for users and want them to automatically display on the lock screen as the boarding time approaches. To do this, we are utilizing the relevantDate property. The issue arises because, when setting the relevantDate, the date and time are specified in Zulu time (UTC). However, iOS converts this to the device's local time zone (BST in my case), resulting in a one-hour shift. For instance, in pass.json, I set "relevantDate": "2024-10-03T14:35:00+00:00" (or "relevantDate": "2024-10-03T14:35Z"). While iOS does display the pass on the lock screen as expected, the notification shows the time as "Today at 15:25" instead of the correct "14:25." Expected behaviour: the notication text should display the exact time set in the relevantDate( i.e. Today at 14:25). Any insights on how to resolve this would be greatly appreciated! Thank you!
2
0
161
1w
What I will receive as part of deep linking in case of Apple Pay In-app verification?
In the case of YellowFlow with In-App verification, I understand we have to configure the Launch URL (deep linking) in the PNO portal to open the app from Wallet and proceed with In-App Verification. How do we identify or retrieve information about the card the user tries to verify from the wallet when the app is opened through deep linking? I understand we can query for all secure passes and get the pass activation state to see if any of the passes require activation, How can I verify this is the card the user is trying to activate from the wallet app? What information can I receive from the PassKit SDK that I can send to the backend to identify, resolve, and activate the card?
1
0
245
2w
Apple wallet .pkpass
Hi there, I'm using a PHP library to generate a apple wallet card. In the end my code generates a .pkpass file, but for some reason iOS does not recognize it as a wallet object, instead just as a .pkpass file which in can save in my downloads/documents. Any idea?
1
0
161
3w
"Unexpected error" returned from PKPassLibrary.activate()
Hi, We have a bank app which can activate tokenized payment cards (in Requires Activation status) on Apple devices. In my case some customers tried to activate their card token on their Apple Watch. Our card system gathered all the required card data with the PNO and sent them to our app. Our app called the PKPassLibrary.activate() method, but got back the Swedish localizedDescription "Oväntat fel" which means "Unexpected error" in English. We checked our card system logs and contacted our PNO, both found no issue and no explanation to the unexpected error. How can we identify the issue here? Can we somehow find a more detailed error log from Apple Server? Best regards, Adrian Lui
2
0
170
1w
Apple wallet card
Hi there, I'm using php to create a qr code card for your apple wallet. Hereby I'm using this package: https://github.com/chiiya/laravel-passes Currently I got this far, that it creates a temporary directory filled with the needed files, including: icon.png, logo.png, manifest.json, pass.json and a signature file. After that temp directory gets created it creates a .pkpass file. Which will be downloaded to your system using an anchor tag button with controller method behind. For some reason on my iPhone I can only download it as file (the .pkpass file) and not as an actual wallet card. Any idea what is going wrong?
1
0
152
3w
Error in iOS Wallet Order When Removing Deprecated status Property from Payment Object in order.json
I am encountering an issue related to the status property within the payment object of the order.json file when opening an order in the iOS Wallet. According to the official documentation, the status property in the payment object is marked as deprecated. Based on this information, I removed the status property from the order.json. However, when I attempt to open the order in the iOS Wallet app, an error occurs, preventing the order from being opened. This creates confusion, as the documentation implies that the status property in the payment object is no longer required. However, the iOS Wallet app seems to still rely on the presence of this property or encounters an error when it’s missing. Tested on IOS 17.6.1 & IOS 18
1
0
152
4w
Push Provisioning Error PKPassKitErrorDomain
I've implemented Push Provisioning, but am having trouble testing it. When I try to add a payment pass with my activationData, encryptedPassData, and ephemeralPublicKey, I see the "Add Card to Apple Pay" screen, but then when I click "Add Card", I get a "Could Not Add Card" message. When I inspect the error from didFinishAddingPaymentPass, it reads "The operation couldn’t be completed. (PKPassKitErrorDomain error 2.)". Is this error PKPassKitError.Code.unsupportedVersionError? What does this error means? Additional context: We use cordova-apple-wallet to generate certificates and add payment pass.
0
0
180
Sep ’24