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

Posts under Wallet tag

126 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

How to use provider certificate to connect to APNs (MissingProviderToken)
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?
0
0
377
Jan ’24
How Do I post APN??
I want to send APN to update a pass in the Wallet app. Followed this guideline. https://developer.apple.com/documentation/walletpasses/adding_a_web_service_to_update_passes#3733254 I tried with Typescript (Firebase Functions) like this. var path = "/3/device/"+pushToken var url = "https://api.push.apple.com:443"+path const response = await fetch(url, { method: 'POST', body: null, headers: { 'apns-topic': 'com.colorfull.walletPass', 'apns-push-type': 'background', 'connection': 'keep-alive' } }); Got this error. TypeError: fetch failed Tried with Flutter like this. var path = "/3/device/$pushToken"; var url = "https://api.push.apple.com:443$path"; Response resp = await post(Uri.parse(url), headers: { 'apns-topic': 'com.colorfull.walletPass', 'apns-push-type': 'background', 'connection': 'keep-alive' }, body: {}); Got this error. ClientException: Invalid request method, uri=https://api.push.apple.com/3/device/688a3d6bf83526f00f6fb3d8dd197578f665dea0eeba7aebbe68c61f06bad198 Obviously I'm doing it all wrong, but there is no clear guideline. How can I send APN??
0
1
395
Nov ’23
Apple Pay provisioning error
Hi, I can't complete provisioning flow on Sandbox Environment. You can find error response and PKAddPaymentPassRequestConfiguration below. How can I find the issue? guard let addPaymentPassRequestConfiguration = PKAddPaymentPassRequestConfiguration( encryptionScheme: .ECC_V2 ) else { return } addPaymentPassRequestConfiguration.style = .payment addPaymentPassRequestConfiguration.cardholderName = debitCard.cardholder addPaymentPassRequestConfiguration.primaryAccountSuffix = String(debitCard.cardNumber.suffix(4)) addPaymentPassRequestConfiguration.localizedDescription = debitCard.cardType.cardDisplayName addPaymentPassRequestConfiguration.paymentNetwork = .girocard https://crt-pod1-smp-device.apple.com:443/broker/v4/devices/--------------/cards 500 Time profile: 0.207283 seconds { x-conversation-id = "9affa45be1a1499381c2136dd3971443" Vary = "accept-language" Content-Type = "application/json" x-pod = "crt-pod1" x-keystone-correlationid = "A43237AA-DF0F-4B53-8A3D-4729CFC6C03E" Date = "Tue, 28 Nov 2023 15:17:12 GMT" x-apay-service-response-details = "via_upstream" Content-Length = "81" x-envoy-upstream-service-time = "36" x-pod-region = "paymentpass.com.apple" } { statusCode = 500; statusMessage = "Broker Service Response exception"; }
0
0
479
Nov ’23
Apple NFC protocol start requirement
Hello Sir/Madam, In Apple Car Keys Specification R1 - Developer Preview 3 page 24, table 2-9, is mentioned the "NFC Protocol Start " parameter with the value of 5ms. Looks like this time was defined to include all the NFC procedures regarding protocol discovery and anti-collision, until the Select AID for the CCC applet command is issued. Quote: "NFC protocol start includes all ISO 14443-3 commands required to setup the NFC communication (REQA, ATQA, AC, etc.).". This requirement seems highly unfeasible on our side. The typical time on some of our products is between 30-50ms for the NFC protocol link set up. This includes the unmodulated carrier time, the VASUP command, REQA/ATQA sequence, HLTA/WUPA/ATQA sequence, ANTICOLLISION sequence, SELECT device ID/SAK/RATS/ATS sequence, all of which impossible to fit in 5ms even if we reduce everything to back to back communication and no delays between commands. Can you further define what the "NFC Protocol Start " 5ms typical time means and how to interpret this time, for example: Can you enlist the starting point and ending point of measuring this 5ms time? Is this a strict requirement? What is the accepted time range if otherwise? (the document only mentions this is a "typical" time). Does this time also include the RF unmodulated field before the first NFC data transmission? (only this time can take up to 5ms according to ISSO-14443-3). Thanks for your support! Peter.
0
0
618
Nov ’23
PKPassKitErrorDomain error 2, App Clip? Bundle Identifier?
My provisioning code works in my main app, but when I try to use it in my app clip it fails with this: The operation couldn’t be completed. (PKPassKitErrorDomain error 2.) I'm having an issue due to how vague this particular error is and how little documentation exists to explain it? I've been looking around the PassKit and Apple Pay documentation for more specific information. But I'm not certain what to do just yet. After provisioning and receiving the digital wallet token, adding the request to the wallet produces the unsupportedVersionError. My initial thought is because the appClip bundle identifier does not match the identifier that the issuer expects, but I'm not entirely sure. I have the entitlement necessary to provision passes on apples end.
1
0
1.4k
Nov ’23
Can I generate apple wallet passes for other bussinesses?
My idea is to help small businesses (without IT infrastucture) generate apple wallet passes for their customers (to identify them later). All the data would be stored in my database and will be accessible by businesses. So Customer would show apple wallet pass which business would be able to scan and fetch customer info from my database. And businesses would be able to create/modify their passes through my app. Can I generate apple wallet passes using my pass type id? In https://developer.apple.com/forums/thread/48719, one of the comments mentioned: You agree not to ... use Your Pass Type ID to sign a third party's pass. I haven't seen this rule anywhere on apple's website, so not sure if it is still active. and distribution needs to be under Your own trademark or brand. Does that mean I can't generate passes for other businesses? Although, I am providing service related to wallet passes and pass generation is not part of the main service itself. If so, is there any legal workaround for my use case? E.g. maybe putting my company logo as main logo etc. Thanks! P.S. creating paid apple developer account to obtain business' own pass type id and certificate is not a viable solution
0
0
543
Nov ’23
Remove Pass Type Identifier
Hi, If I remove a Pass Type Identifier that is linked with a production (currently live) Pass Type ID certificate, will it affect my production pass certificate? When I press delete it states: "Delete Pass Type ID" "Deleting this Pass Type ID will prevent you from sending future updates to any associated passes. Installed passes will not be affected." But I want to make sure I will not be breaking anything in production. Any help? Many Thanks
0
0
425
Nov ’23
Links in Apple Wallet pass not interactive.
I have a Apple Wallet Pass with a back field declared like so: { key: 'EnableLink', label: 'Powered by', value: 'Enable.tech', attributedValue: "<a href='https://enable.tech'>Enable.tech</a>" } When the wallet pass is active (side button pressed twice), and the user goes to the back of the pass, the link is visible and highlighted, however tapping it does not open the linked webpage in a browser. There are tel: links as well, that cannot be interacted with as well. Anyone know a workaround or a fix?
0
0
436
Nov ’23
Entitlements drop-down menu not shown in the provision profile edition page
We requested the In-App Provisioning entitlement and received the email from Apple said: “The entitlement for In-App Provisioning has been assigned to your account, and you can now configure this capability for eligible apps. ” Then we enabled the In-App Provisioning capability in the Additional Capabilities tab of App ID Configuration, and according to Apple’s instruction, there should be an entitlements drop-down menu in the provision profile edition page,but we‘ve never seen such menu in our provision profile. So is there any suggestion about this problem?
1
0
478
Oct ’23
referral Program/ Invites
Hi guys, I want to build a referral program wherein current users are rewarded for inviting friends to join my app/website. I also wanted to keep the accounts linked so that recruiting users can get rewarded every time a new user they recruited purchases something. I want to just give the users points, I'm not offering cash or subscription discounts. similar to how game invites work. through my research into the topic I have found dynamic links with flutter and firebase. deep deferred links, QR code deferred links, and some work around that included taking the user to a website copying the code to their clipboard, then pasting it into a hidden textfield to verify and track the code can anyone help me get started?
0
0
545
Oct ’23
Merchant domains changed status to pending
The domains registered for several of my merchant ID's had their status changed to “Pending” in some moment, but I didn’t receive any alert. We just realized that this happened when there was a payment attempt and it was denied. How can this be avoided in the future? Is there some email registered to receive messages alerting for these changes? Can I update it?
0
0
295
Oct ’23
I can't add girocard in my wallet sandbox For Apple Pay
I am trying to add girocard in my wallet Sandbox from our app but I am getting an error like in screenshot. Even through PKAddPaymentPassRequestConfiguration is correct, I can't continue provisioning. In that webpage, there is only information regarding credit cards. https://developer.apple.com/apple-pay/sandbox-testing/ Can you please help me regarding that issue? guard let addPaymentPassRequestConfiguration = PKAddPaymentPassRequestConfiguration( encryptionScheme: .ECC_V2 ) else { return } addPaymentPassRequestConfiguration.style = .payment addPaymentPassRequestConfiguration.cardholderName = debitCard.cardholder addPaymentPassRequestConfiguration.primaryAccountSuffix = String(girocard.cardNumber.suffix(4)) addPaymentPassRequestConfiguration.localizedDescription = girocard.cardType.cardDisplayName addPaymentPassRequestConfiguration.paymentNetwork = .girocard guard let addPaymentPassViewController = AddPaymentPassViewController( requestConfiguration: addPaymentPassRequestConfiguration, delegate: self ) else { return } let addPaymentPassRequest = PKAddPaymentPassRequest() addPaymentPassRequest.encryptedPassData = giroCardPaymentPassData.encryptedData addPaymentPassRequest.activationData = giroCardPaymentPassData.activationData addPaymentPassRequest.ephemeralPublicKey = giroCardPaymentPassData.ephemeralPublicKey handler(addPaymentPassRequest)
0
0
413
Oct ’23