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

Wallet Documentation

Posts under Wallet tag

129 Posts
Sort by:
Post not yet marked as solved
0 Replies
292 Views
Lets say I got two preferred device languages( english first,italian second). I got a PKAddPassButton, which label gets the english localization on first install, but if I change the device language to Italian and relaunch the application, the buttons label has the english translation despite changing the first preffered device language to italian. I need to re install the application to get the italian string on the button. Is there anything I may be doing wrong?
Posted
by donMike.
Last updated
.
Post not yet marked as solved
1 Replies
240 Views
I had a new apple pass integration working and now I cannot even get it to attempt to register. I'm trying to dig through the console log, but the amount of messages is crazy and I cannot seem to find anything specific to my failing pass. I did accidentally hit apple with about 200 push notifications requesting to update a pass on the same device, so I suppose it's possible something got blocked or disabled, but I can find no sign of that either. Any idea on what might have gone wrong or how I can better diagnose the problem. I've spend hours rereading doc and search the web, but now I'm tossing my hands up and asking for help
Posted Last updated
.
Post not yet marked as solved
0 Replies
280 Views
several steps I have done: 1、send Apple Pay Entitlement & Whitelisting Request email and approved by Apple 2、setting Addiction Capability,config wallet ,import Profile Provisioning 3、setting Entitlement.info,enable com.apple.developer.payment-pass-provisioning=YES 4、successfully show “add Card to ApplePay” Page 5、error occurs in (void)addPaymentPassViewController:(PKAddPaymentPassViewController *)controller generateRequestWithCertificateChain:(NSArray<NSData *> *)certificates nonce:(NSData *)nonce nonceSignature:(NSData *)nonceSignature completionHandler:(void (^)(PKAddPaymentPassRequest *request))handler{ ..... handler(request); } download from testflight to test I got a error ’Error Domain=PKPassKitErrorDomain Code=1 "(null)"’, it seems always happened whatever i do. It is there any steps I miss?What I can do to solve the issue.
Posted
by jianyue.
Last updated
.
Post not yet marked as solved
0 Replies
326 Views
The Shortcuts app offers the possibility to trigger shortcuts/intends when a wallet credit card is used and a new transaction is created. I would like to add transaction details to one of my apps and use such a shortcut for it. Other apps do the exact same thing, so this should not be a problem. Adding a shortcut to my app was not a big deal. However, how can this be tested on simulator? When trying to add a new automatization in the Shortcuts app using a wallet transaction as trigger I cannot finish the setup dialog since the Next button is disabled. I assume this is because no card is configured. When trying to add a card in Wallet I just receive that this was not successful. I have connected the simulator to a Sandbox Apple ID account using a region which supports Apple Pay (US). Using a real account does not solve the problem. Any idea how to get this working? Using real transaction within a store could obviously not be the solution for debugging.
Posted
by Agenor.
Last updated
.
Post not yet marked as solved
1 Replies
243 Views
I'm trying to run the Checking IDs with the Verifier API Sample Code. The display request app works fine but when i try to run the data request app i get this error for provisioning profile : Provisioning profile "iOS Team Provisioning Profile: com.example.apple-samplecode.verifier-api-sample-data-requestRPTDZQM3C9" doesn't include the com.apple.developer.proximity-reader.identity.read entitlement. and I'm not able to fins how to add this entitlement to the app. I tried to add it from capabilities but it's not available there, only the tap to present ID on iPhone (Display Only) is available. Is this entitlement restricted to a specific country or I need to request access to it from somewhere? or Is there anyway to add it to run the app?
Posted Last updated
.
Post not yet marked as solved
0 Replies
279 Views
Hi, We have a financial application in Turkiye, with this news we want to use HCE apple in our application. According to article that published by Apple, it is not posibble. Because we are not in EEA region. I have some quick questions: Can we simulete HCE feature in our application, for example does changing region work? Or should the POS device also be in the EEA region? Is it planned to use the HCE feature in Turkiye in the future?
Posted Last updated
.
Post not yet marked as solved
2 Replies
452 Views
I am developing issuer non-UI extension. In function status i have to return remotePassEntriesAvailable (boolean) and to do that i have to activate WCSession from that Extension to get the remoteSecureElementPasses which are already added to the remote wallet (watch). I have implemented WCSessionDelegate inside the non-UI extension but i can not enable the WCSession. I always get: Error: WCSession has not been activated I saw a comment in this post -> WCSession is not available from iOS extensions, only from the main iOS app. To the point... If the WCSession is not available from iOS extensions how can I properly set remoteSecureElementPasses and implement function remotePassEntries if i can't connect to the watch to see which cards are already enrolled?
Posted Last updated
.
Post not yet marked as solved
0 Replies
315 Views
Hello everyone, I developed an application to create passes. I add a webservice URL to manage updates, password deletions, ... When I add a pkpass in ios(17.2) simulator, the POST endpoint of my webserviceURL is never reached on my local server, but the GET and DELETE endpoints are reached. Does anyone encounter this kind of problem and how can I get the POST endpoint working in the simulator? Thanks in advance to anyone who helps me =)
Posted
by JinieLy.
Last updated
.
Post not yet marked as solved
1 Replies
385 Views
I'm experiencing a strange app crash that I'm having a tough time debugging. It seems to happen when calling PKPassLibrary.passes(of:), but I'm unable to reproduce it. We're using a third party crash reporter, which I know can corrupt crash reports - does that seem to be the case here? The whole report is available here: https://gist.github.com/kylebshr/3ed29dd47ee05f2a5e47993bf986b8f4 0 libsystem_kernel.dylib +0x1174 _mach_msg2_trap 1 libsystem_kernel.dylib +0xf0c _mach_msg2_internal 2 libsystem_kernel.dylib +0xe24 _mach_msg_overwrite 3 libsystem_kernel.dylib +0xc64 _mach_msg 4 libdispatch.dylib +0x1eefc __dispatch_mach_send_and_wait_for_reply 5 libdispatch.dylib +0x1f29c _dispatch_mach_send_with_result_and_wait_for_reply 6 libxpc.dylib +0x106d0 _xpc_connection_send_message_with_reply_sync 7 Foundation +0x37bcc ___NSXPCCONNECTION_IS_WAITING_FOR_A_SYNCHRONOUS_REPLY__ 8 Foundation +0x202e4 -[NSXPCConnection _sendInvocation:orArguments:count:methodSignature:selector:withProxy:] 9 CoreFoundation +0x31b58 ____forwarding___ 10 CoreFoundation +0x17294c ___forwarding_prep_0___ 11 PassKitCore +0x1c5e94 -[PKPassLibrary _copyPassesOfType:withRetries:] 12 PassKitCore +0x1b0650 -[PKPassLibrary passesOfType:] 13 Mercury +0x3758c _mh_execute_header 14 Mercury +0x604bcc main 15 Mercury +0x9e0d34 main 16 Mercury +0x9e0f88 main 17 Mercury +0xa320ec main 18 Mercury +0x9ea514 main 19 Mercury +0x9eaa58 main 20 Mercury +0x9eaa08 main 21 Mercury +0x9f1650 main 22 Mercury +0x9f16f0 main 23 libdispatch.dylib +0x42fc __dispatch_client_callout 24 libdispatch.dylib +0x77b4 __dispatch_continuation_pop 25 libdispatch.dylib +0x1b5bc __dispatch_source_latch_and_call 26 libdispatch.dylib +0x1a18c __dispatch_source_invoke 27 libdispatch.dylib +0x128a4 __dispatch_main_queue_drain 28 libdispatch.dylib +0x125ac __dispatch_main_queue_callback_4CF 29 CoreFoundation +0x36f98 ___CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ 30 CoreFoundation +0x33ca4 ___CFRunLoopRun 31 CoreFoundation +0x333f4 _CFRunLoopRunSpecific 32 GraphicsServices +0x34f4 _GSEventRunModal 33 UIKitCore +0x22c89c -[UIApplication _run] 34 UIKitCore +0x22bed8 _UIApplicationMain 35 UIKitCore +0x456594 0x18a42d594 (0x18a42d530 + 100) 36 Mercury +0x1bdff4 main 37 dyld +0x5dc8 start
Posted
by kylebshr.
Last updated
.
Post not yet marked as solved
0 Replies
196 Views
I would like to increase the size of the pass QR code. Is it possible. There is no such setting item in the pass property.
Posted
by roido.
Last updated
.
Post not yet marked as solved
0 Replies
260 Views
We are developing an Apple wallet pass. I would like to register it in my iPhone wallet. I don't want it to be registered in the watch wallet. Is it possible for the pass issuer to intentionally prevent the pass from being registered on the watch?
Posted
by roido.
Last updated
.
Post not yet marked as solved
1 Replies
304 Views
I am developing a carkey application. I have applied to MFi and have obtained a com.apple.developer.carkey.session entitlement. By setting session in Entitlement.plist, the program I created can call CarKeyRemoteControl.start and obtain the session. However, even if VehicleReport() is called, information cannot be obtained and the return value is always empty. In the iPhone standard Wallet, a button is displayed below CarKey, and you can lock and unlock it. My question is, com.apple.developer.carkey.session is set in Entitlement.plist, but do I need to set anything else, such as manufacturerIdentifier? . Also, if I need it, what format should I use? for example, What should I do if I want to specify "TEST" for manufacturerIdentifier?
Posted
by CSLTak.
Last updated
.
Post not yet marked as solved
0 Replies
264 Views
I have successfully created an Apple Pass wallet with a 'webServiceURL' using PHP. The pass is added to the Apple Wallet successfully. However, when I sent a push notification to update a specific pass using its serial number, it worked as expected initially. However, in the last few days, Apple has been triggering the 'webServiceURL' callback for all passes, when we trigger a push for one pass/deviceID. I'm unsure how to prevent this callback from Apple. Please provide assistance on resolving this issue.
Posted
by prasathpb.
Last updated
.
Post not yet marked as solved
0 Replies
255 Views
Hi Team, We currently exploring the implementation of an employee badge access feature within our iOS app, and we would greatly appreciate your insights and guidance on the following aspects: We are interested in understanding the recommended approach to implementing an employee badge access feature in our iOS app. Are there specific APIs, frameworks, or best practices that Apple suggests for such functionality? Could you please point us to any relevant documentation, sample code, or community discussions that delve into the implementation of employee badge access features in iOS apps? Employee Badge
Posted Last updated
.
Post not yet marked as solved
0 Replies
286 Views
Hi, I'm building an app to build and update a wallet pass. I want to send a push notification to the Wallet app to update the pass, but I got the following error. :status: 403 apns-id: 3EDEDFEA-C8F1-215A-D9F3-2FA7D6C5AF0C {reason: MissingProviderToken} I am using the certificate and authentication header like this. var storage = admin.storage().bucket() var signerCert = (await getRawBody(storage.file('signerCert.pem').createReadStream())).toString(); var signerKey = (await getRawBody(storage.file('signerKey.pem').createReadStream())).toString(); // 方法1(クライアント立てる) const client = http2.connect(url); client.on('socketError', (err) => console.error('ソケットエラー!',err)); client.on('error', (err) => console.error('エラー!',err)); var header = { 'Authrorization': 'Bearer '+pushToken } const req = client.request({ ':method': 'POST', ':path': path, 'cert': signerCert, 'key': signerKey, 'passphrase': '', 'headers': JSON.stringify(header), }); req.on('response', (headers, flags) => { for (const name in headers) { console.log(`${name}: ${headers[name]}`); } }); req.setEncoding('utf8'); let data = ''; req.on('data', (chunk) => { data += chunk; }); req.on('end', () => { console.log(`\n${data}`); client.destroy(); }); req.end(); Language is Typescript. The code sits in Cloud Functions. Is there something wrong with the code?
Posted
by tennaaaaa.
Last updated
.
Post not yet marked as solved
2 Replies
677 Views
Hi, How can I send push notification for point update and promos to my loyalty wallet users. Currently I get push notification Id when user install loyalty wallet and I use it for sending wallet updates. But when I tried to use this push notification id for custom APN messages it doesn't appear anywhere. Thank you.
Posted Last updated
.
Post not yet marked as solved
1 Replies
1k Views
I am trying to write some code to send a push notification to a pass on an Apple device using C# .NET and HttpClient over HTTP2 with client certificate authentication. When I run the code, I am seeing the below exception: InnerException = {"Error 12152 calling WinHttpWriteData, 'The server returned an invalid or unrecognized response'."} I am trying to find out why this code is failing? Is it possible to debug/troubleshoot this in some way? Running this code on Windows 10 OS Build version: 21H2 (19044). The application is built on .Net Framework 4.8 and tried using WinHttpHanlder versions 6 and also 7. Also, tried using other third party open source libraries like PushSharp and DotApns. PushSharp does not seem to support Http/2 and dotApns does not support certificate authentication for .net framework. We have no plans to migrate to .net Core. Below is my code: private static string pushToken = "dbc56849<hidden>"; private static string AppleApnServer = "https://api.sandbox.push.apple.com"; public static async Task<PushResult> SendPushNotificationToWalletPass(string notificationContent) { byte[] certificateData = LoadCertificate(); X509Certificate2 certificate = new X509Certificate2(certificateData, String.Empty, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable); string url = $"{AppleApnServer}:443/3/device/{pushToken}"; StringBuilder payload = new StringBuilder(); payload.Append("{ \"aps\" : "); if (string.IsNullOrWhiteSpace(notificationContent)) { payload.Append("\"\" }"); } else { payload.Append(notificationContent); payload.Append(" }"); // close aps dictionary } var handler = new Http2Handler(); handler.ClientCertificates.Add(certificate); using (var httpClient = new HttpClient(handler)) { using (var request = new HttpRequestMessage(HttpMethod.Post, url)) { var messageGuid = Guid.NewGuid().ToString(); request.Content = new StringContent(payload.ToString()); request.Headers.Add("apns-id", messageGuid); request.Headers.Add("apns-push-type", "alert"); using (var response = await httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead)) { HttpStatusCode statusCode = response.StatusCode; string reasonPhrase = response.ReasonPhrase; bool success = response.IsSuccessStatusCode; Console.WriteLine($"APN {(success ? "Delivered Successfully!" : $"Failed to Send! :: StatusCode [{statusCode}] Reason [{reasonPhrase}]")} :: PushToken [{pushToken}]"); if (!success) { switch (statusCode) { case HttpStatusCode.Gone: // The device token is no longer active for the topic. return PushResult.DeviceNotRegistered; default: return PushResult.Failure; } } return PushResult.Success; } } } } public enum PushResult { Success = 0, Failure = 100, DeviceNotRegistered = 200 } // Apple APNS requires http2 but .Net Framework does not support http2 (only built in support in .net core) // found this workaround https://stackoverflow.com/questions/32685151/how-to-make-the-net-httpclient-use-http-2-0/43101990#43101990 private class Http2Handler : WinHttpHandler { protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { request.Version = new Version("2.0"); return base.SendAsync(request, cancellationToken); } }
Posted
by rakesh47.
Last updated
.