Apple Pay

RSS for tag

Discuss how to integrate Apple Pay into your app for secure and convenient payments.

Apple Pay Documentation

Posts under Apple Pay subtopic

Post

Replies

Boosts

Views

Activity

Continuous "Tag mismatch" (AES-GCM) decrypting Apple Pay Web token - Suspected KDF / PartyV environment issue
I'm implementing payment processing with Apple Pay on the web, but I've been stuck right at the final step of the flow: decrypting the payment data sent by Apple. Here is a summary of my implementation: The backend language is Java. The frontend portal requests the session and performs the payment using the endpoints exposed by the backend. I created .p12 files from the .cer files returned by the Apple Developer portal for both certificates (Merchant Identity and Payment Processing) and I'm using them in my backend. The merchant validation works perfectly; the user is able to request a session and proceed to the payment sheet. However, when the frontend sends the encrypted token back to my sale endpoint, the problem begins. My code consistently fails when trying to decrypt the data (inside the paymentData node) throwing a javax.crypto.AEADBadTagException: Tag mismatch! I can confirm that the certificate used by Apple to encrypt the payment data is the correct one. The hash received from the PKPaymentToken (header.publicKeyHash) object exactly matches the hash generated manually on my side from my .p12 file. In the decryption process, I'm using Bouncy Castle only to calculate the Elliptic Curve (ECC) shared secret. For the final AES-GCM decryption, I am using Java's native provider since I already have the bytes of the shared secret calculated. (Originally, I was doing it entirely with BC, but it failed with the exact same error). We have exhaustively verified our cryptographic implementation: We successfully reconstruct the ephemeralPublicKey and compute the ECDH Shared Secret using our Payment Processing Certificate's private key (prime256v1). We perform the Key Derivation Function (KDF) using id-aes256-GCM, PartyU as Apple, and counter 00000001. For PartyV, we have tried calculating the SHA-256 hash of our exact Merchant ID string. We also extracted the exact ASN.1 hex payload from the certificate's extension OID 1.2.840.113635.100.6.32 and used it as PartyV. We have tried generating brand new CSRs and Processing Certificates via OpenSSL directly from the terminal. Despite having the correct ECDH shared secret (and confirming Apple used our public key via the hash), the AES tag validation always fails.et, the AES tag validation always fails. Given that the math seems correct and the public key hashes match, could there be an environment mismatch (Sandbox vs. Production) or a domain validation issue causing Apple to encrypt the payload with a dummy PartyV or scramble the data altogether? Any guidance on this behavior or the exact PartyV expected in this scenario would be highly appreciated.
2
0
618
Jun ’26
Using a merchant session from an external website in PKPaymentAuthorizationController?
There's a purchase I make pretty often on a particular site and I'm trying to automate the boring parts with a macOS app. I can pull the merchant session from their ValidateMerchant endpoint. I can see the Apple Pay dialogue appear, then it will disappear with "Payment Not Completed." Is it fundamentally not possible to use someone else's merchant session in your own app? Thanks
1
0
317
Jun ’26
In app verification flow without addPaymentPassViewController
How do we get addPaymentPassViewController response for in app verification without calling that function ? Currently we have working in app provisioning but not in app verification. The apple docs say "The process of generating the cryptographic OTP value is the same as for generating activationData for In-App Provisioning.". How is it the same when in in app provisioning we have this button that returns all necessary info and for in app verification there is no clear way of recieving same info.
1
0
516
Jun ’26
In-App Provisioning: cannot add card to a wallet
We are developing an app which allows users to generate a HSBC virtual card using Mastercard API and add this card to an apple wallet. Staging test was passed successfully, but we are stuck in a production test phase. T&C is not even visible, 'Card is not added' is popped on a screen before that. User taps “Add to Apple Wallet” → we present PKAddPaymentPassViewController → they tap Next → after a few seconds the flow fails with "Set Up Later" alert. FB22332303 (MCDeanPortal app: In-App Provisioning Production Test fails) Thank you
1
1
413
Jun ’26
How to test TokenNotificationURL in sandbox?
We are trying to implement the the tokenNotificationUrl in a deferredBilling request so that we can get MPAN tokens (when supported) back from ApplePay. We want to be able to test that the events are working and firing. I have tried creating a deferred billing request, and then unlinked my test card from my test account and did not receive any event at my token notification endpoint. What is the best way to approach this from a lower environment perspective? We are trying to simulate the UNLINK EventType in the MerchantTokenEventResponse. Also can you confirm that providing this URL is what determines if we get an MPAN vs a DPAN (when MPAN is supported) or is there a different mechanism that turns that on?
1
0
304
Jun ’26
In App provisioning production testing fails
During the in‑app provisioning flow, we successfully obtain the provisioning certificates and generate object for posting. However, in the production environment the flow fails when posted to a broker. broker/v4/devices/{SEID}/cards The staging environment works correctly and provisioning completes without issues. Object {encryptedCardData, activationData, ephemeralPublicKey} is build. The T&C screen never appears. FB22332303
1
0
753
Jun ’26
How to get MPAN (when supported)?
My understanding is that MPAN is provided for any of the payment request types that support the tokenNotificationURL (deferred/recurring). If you omit the tokenNotificationURL from the request do you still get an MPAN (when supported by the banking network)? Or is it only if that property has a value? Is there a different way you are supposed to trigger an MPAN?
1
0
628
Jun ’26
Issue with Applepay pop up addresses Portugal & Romania
We are facing issues with the Apple Pay pop up addresses. So for Portugal and Romania, we would like to collect the user's Province/State as part of the checkout experience. We already do that with other payment methods, however, we noticed Apple Pay pop up doesn't include state/province fields for these two countries, which causes orders to arrive with that field as blank. This is causing a lot of logistics issues during fulfillment. Is there a way to fix this and have the field appear for Portugal and Romania users? Case reference: 102869141084 Thank you!
1
0
501
Jun ’26
ApplePay multiTokenContexts request vs response
We as a PSP register merchantIdentifiers when registering merchants to ApplePay. We then use these identifiers in a multiTokenContexts during ApplePay session creation / validation / payment. "multiTokenContexts": [ { "merchantIdentifier": "ABC-MID-1", "externalIdentifier": "MAIN_PURCHASE", "merchantName": "Main", "amount": "2.50" }, { "merchantIdentifier": "ABC-MID-1", "externalIdentifier": "CONVENIENCE_FEE", "merchantName": "Fee Processing", "merchantDomain": "m2.example.com", "amount": "2.50" } ] in response we get "authenticationResponses": [ { "merchantIdentifier": "0aff534d6d46fd653f60e6161c53101ee8d9cbc20b1bc40533c929d0a6aae6bc", "authenticationData": "AAAIAKnglVRsCyOvcgI*=", "transactionAmount": "250" }, { "merchantIdentifier": "bfc9a63b4ebab8cde90234731cb18a544c306b0af747d93d773fedb603f0945e", "authenticationData": "AAAIANBEqODkDcrDTgI*=", "transactionAmount": "250" } ] We need to know how to match the entries in the request array to the response array. Is the order guarantied? We did not find any documentation on how the response hash for the identifier is computed.
1
0
179
Jun ’26
Apple Pay In-App Provisioning – HTTP 500 (HTML) on broker endpoint in production (TestFlight)
We are implementing Apple Pay In-App Provisioning (EV_ECC_v2) for our EU app. The same codebase and encryption logic works successfully for our main app (different bundle ID and Adam ID), but the EU app consistently fails with HTTP 500. Environment: Entitlement: Granted (Case-ID: 18772317) Encryption scheme: EV_ECC_v2 Issue: During In-App Provisioning, the iOS app successfully obtains certificates, generates cryptographic material (encryptedCardData, activationData, ephemeralPublicKey), and POSTs to Apple's broker endpoint. The request fails at: Endpoint: POST /broker/v4/devices/{SEID}/cards Response: HTTP 500 with an HTML error page (not a JSON business error) <html> <head><title>500 Internal Server Error</title></head> <body> <center><h1>500 Internal Server Error</h1></center> <hr><center>Apple</center> </body> </html> Key observations: Our main app (different bundle ID/Adam ID) uses identical encryption code, private keys, and key alias — and works correctly in production. Manual card provisioning through Apple Wallet on the same device succeeds. The entitlement com.apple.developer.payment-pass-provisioning is confirmed present in the provisioning profile (verified via codesign). The 500 response is HTML rather than JSON, suggesting the request is rejected at the gateway level before reaching Apple Pay business logic. What we've verified: Entitlement correctly configured in provisioning profile ephemeralPublicKey is in uncompressed format (65 bytes, starts with 0x04) encryptionVersion is EV_ECC_v2 No double Base64 encoding Question: Could you please check whether Adam ID 6745866031 has been correctly added to the server-side allow list for In-App Provisioning in the production environment? Given the HTML 500 (not JSON) and that the identical code works for our other app, we suspect this may be an allow list or account configuration issue rather than a cryptography error. I will follow up with a Feedback Assistant ID including sysdiagnose logs shortly, per the steps outlined in https://developer.apple.com/forums/thread/762893
7
1
752
Jun ’26
Support for enterprise accounts
My employer, a bank, has two accounts: and enterprise account which its used for development, and a normal one for publishing the bank app. We are facing a lot of troubles testing Apple Pay, because our enterprise account doesnt get the Apple Pay entitlement. This is a major pain point for us. We mostly develop blindly. And the bank, being a bank, for obvious reasons, doesnt want to give us access to the prod account. Only the enterprise one. I am pretty sure I am not the only one suffering from this, and I am just taking the oportunity that you guys are reading our rants, so that you acknowledge this problem, and let enterprise accounts have Apple Pay, for development purposes (or maybe share, idk, but a solution to this) edit: feel free to tell me that it cannot be done, this is not even a technical request, however it would be so nice if we could debug on our tests systems with the enterprise account, and the people in charge of the account say its not possible.
2
0
250
Jun ’26
encryptedPassData missing
Dear Apple Pay team, We are having issues with adding some cards with the extension. Everything seems to go well, we can choose the credit card, and then it is failing, and we have absolutely no idea what could be wrong. Debit card provisioning with the wallet works, provisioning with the app works, but provisioning some credit cards (some users can, some users cannot) doesnt work, and on the console the only thing we can observe is: error Passbook PKAddPaymentPassRequest (0x123456): encryptedPassData missing error Passbook [] ProvisioningOperationComposer: Step 'generateCryptographicMaterial' failed with error Error Domain=PKProvisioningErrorDomain Code=4 UserInfo={NSLocalizedRecoverySuggestion=, NSLocalizedDescription=, NSLocalizedFailureReason=} Could this be some issue with base64 encoding? In app we just do Data(base64Encoding: , options: []) but in the wallet we saw there is a difference where we replace occurrences of _ with / and - with + (for urlSafe) and we add padding to the base64 string : while (newBase64String.count %4 != 0 { newBase64String.append("=") } for some obscure reason, this code was not implemented by me and I dont see the need to do this... If that is prob not the case for our error, what could it be? how to debug it?
2
0
182
Jun ’26
Apple Pay In-App Provisioning fails at eligibility step with HTTP 500 before Terms & Conditions in production TestFlight build
Hi, We’re testing Apple Pay In-App Provisioning in the production environment using a TestFlight build, and the provisioning flow fails before the Terms & Conditions screen is shown. From the device logs, the failure happens during the eligibility step: ProvisioningOperationComposer: Step 'eligibility' failed eligibility request failure Received HTTP 500 PKPaymentWebServiceErrorDomain We submitted a Feedback Assistant report with the sysdiagnose and all requested private details. Feedback ID: FB22911853 We also verified the exported IPA: It is signed with Store provisioning profiles. get-task-allow is false. ProvisionedDevices is absent. com.apple.developer.payment-pass-provisioning is present in both the app signature entitlements and the embedded provisioning profile entitlements. Could you please advise what we should check next? We’re trying to understand whether this points to a client payload issue, Apple Pay production configuration issue, allowlist issue, or payment network configuration issue. Thanks
2
0
242
Jun ’26
Apple team on license limit restrictions
We are currently experiencing a critical issue with our Apple Developer account related to production certificates for live customers using Apple Pay. Each customer integration requires a minimum of two certificates. At present, our account has reached 20 certificates, and we are facing limitations that impact our ability to onboard new customers. Recently, deletion of certain certificates caused a major outage, resulting in service disruption for live customers. This outage has had significant financial implications,  This may be held liable for the revenue lost. We urgently request clarification on the following: What are the official license limit restrictions for production certificates on Apple Developer accounts? Is there a way to extend or increase the certificate limit to support multiple live customer integrations? What best practices should we follow to avoid outages when managing certificates for Apple Pay? Given the severity of this issue, we kindly ask for immediate guidance and support to prevent further disruptions.
2
0
198
May ’26
In-App Push Provisioning failing at Add Card stage of flow
In testing in-app push provisioning with a production TestFlight build built with Xcode Cloud (Xcode 26.4.1) the flow is failing when attempting to add cards. I start the flow by choosing the add to wallet button from within the app. I get to the stage “Add Card” and choosing continue fails with “Could Not Add Card” and a button “Set Up Later” Analysing the sysdiagnose logs reveals that the eligibility stage is failing with a HTTP 500 error. [9ix8SPBHSfWEcxLjj+j5bA] ProvisioningOperationComposer: Step 'eligibility' failed with error <PKProvisioningError: severity: 'terminal'; internalDebugDescriptions: '( "eligibility request failure", "Received HTTP 500" )'; underlyingError: 'Error Domain=PKPaymentWebServiceErrorDomain Code=0 "Unexpected error." UserInfo={PKErrorHTTPResponseStatusCodeKey=500, NSLocalizedDescription=Unexpected error.}'; userInfo: '{ PKErrorHTTPResponseStatusCodeKey = 500; }'; > FB22761556
1
0
316
May ’26
In App Provisioning PKErrorHTTPResponseStatusCodeKey=500
Hello, we are developing in app provisioning of our American Express network cards. After clicking add to apple wallet in our app, I launch the PKAddPaymentPassViewController and click next. It loads for a few seconds and then I get: [<private>] ProvisioningOperationComposer: Step '<private>' failed with error Error Domain=PKProvisioningErrorDomain Code=5 UserInfo={PKErrorHTTPResponseStatusCodeKey=500} Does anyone have any insight on what this error means?
4
1
1.3k
May ’26
Continuous "Tag mismatch" (AES-GCM) decrypting Apple Pay Web token - Suspected KDF / PartyV environment issue
I'm implementing payment processing with Apple Pay on the web, but I've been stuck right at the final step of the flow: decrypting the payment data sent by Apple. Here is a summary of my implementation: The backend language is Java. The frontend portal requests the session and performs the payment using the endpoints exposed by the backend. I created .p12 files from the .cer files returned by the Apple Developer portal for both certificates (Merchant Identity and Payment Processing) and I'm using them in my backend. The merchant validation works perfectly; the user is able to request a session and proceed to the payment sheet. However, when the frontend sends the encrypted token back to my sale endpoint, the problem begins. My code consistently fails when trying to decrypt the data (inside the paymentData node) throwing a javax.crypto.AEADBadTagException: Tag mismatch! I can confirm that the certificate used by Apple to encrypt the payment data is the correct one. The hash received from the PKPaymentToken (header.publicKeyHash) object exactly matches the hash generated manually on my side from my .p12 file. In the decryption process, I'm using Bouncy Castle only to calculate the Elliptic Curve (ECC) shared secret. For the final AES-GCM decryption, I am using Java's native provider since I already have the bytes of the shared secret calculated. (Originally, I was doing it entirely with BC, but it failed with the exact same error). We have exhaustively verified our cryptographic implementation: We successfully reconstruct the ephemeralPublicKey and compute the ECDH Shared Secret using our Payment Processing Certificate's private key (prime256v1). We perform the Key Derivation Function (KDF) using id-aes256-GCM, PartyU as Apple, and counter 00000001. For PartyV, we have tried calculating the SHA-256 hash of our exact Merchant ID string. We also extracted the exact ASN.1 hex payload from the certificate's extension OID 1.2.840.113635.100.6.32 and used it as PartyV. We have tried generating brand new CSRs and Processing Certificates via OpenSSL directly from the terminal. Despite having the correct ECDH shared secret (and confirming Apple used our public key via the hash), the AES tag validation always fails.et, the AES tag validation always fails. Given that the math seems correct and the public key hashes match, could there be an environment mismatch (Sandbox vs. Production) or a domain validation issue causing Apple to encrypt the payload with a dummy PartyV or scramble the data altogether? Any guidance on this behavior or the exact PartyV expected in this scenario would be highly appreciated.
Replies
2
Boosts
0
Views
618
Activity
Jun ’26
Using a merchant session from an external website in PKPaymentAuthorizationController?
There's a purchase I make pretty often on a particular site and I'm trying to automate the boring parts with a macOS app. I can pull the merchant session from their ValidateMerchant endpoint. I can see the Apple Pay dialogue appear, then it will disappear with "Payment Not Completed." Is it fundamentally not possible to use someone else's merchant session in your own app? Thanks
Replies
1
Boosts
0
Views
317
Activity
Jun ’26
In app verification flow without addPaymentPassViewController
How do we get addPaymentPassViewController response for in app verification without calling that function ? Currently we have working in app provisioning but not in app verification. The apple docs say "The process of generating the cryptographic OTP value is the same as for generating activationData for In-App Provisioning.". How is it the same when in in app provisioning we have this button that returns all necessary info and for in app verification there is no clear way of recieving same info.
Replies
1
Boosts
0
Views
516
Activity
Jun ’26
In-App Provisioning: cannot add card to a wallet
We are developing an app which allows users to generate a HSBC virtual card using Mastercard API and add this card to an apple wallet. Staging test was passed successfully, but we are stuck in a production test phase. T&C is not even visible, 'Card is not added' is popped on a screen before that. User taps “Add to Apple Wallet” → we present PKAddPaymentPassViewController → they tap Next → after a few seconds the flow fails with "Set Up Later" alert. FB22332303 (MCDeanPortal app: In-App Provisioning Production Test fails) Thank you
Replies
1
Boosts
1
Views
413
Activity
Jun ’26
How to test TokenNotificationURL in sandbox?
We are trying to implement the the tokenNotificationUrl in a deferredBilling request so that we can get MPAN tokens (when supported) back from ApplePay. We want to be able to test that the events are working and firing. I have tried creating a deferred billing request, and then unlinked my test card from my test account and did not receive any event at my token notification endpoint. What is the best way to approach this from a lower environment perspective? We are trying to simulate the UNLINK EventType in the MerchantTokenEventResponse. Also can you confirm that providing this URL is what determines if we get an MPAN vs a DPAN (when MPAN is supported) or is there a different mechanism that turns that on?
Replies
1
Boosts
0
Views
304
Activity
Jun ’26
In App provisioning production testing fails
During the in‑app provisioning flow, we successfully obtain the provisioning certificates and generate object for posting. However, in the production environment the flow fails when posted to a broker. broker/v4/devices/{SEID}/cards The staging environment works correctly and provisioning completes without issues. Object {encryptedCardData, activationData, ephemeralPublicKey} is build. The T&C screen never appears. FB22332303
Replies
1
Boosts
0
Views
753
Activity
Jun ’26
Integrity Checking the autoupdated sdk
Hi everyone, Is there a way to check the integrity of the auto updating version of the Apple Pay JS SDK? SRI can only be used for the semantic version. Any help/suggestion is appreciated.
Replies
1
Boosts
0
Views
555
Activity
Jun ’26
How to get MPAN (when supported)?
My understanding is that MPAN is provided for any of the payment request types that support the tokenNotificationURL (deferred/recurring). If you omit the tokenNotificationURL from the request do you still get an MPAN (when supported by the banking network)? Or is it only if that property has a value? Is there a different way you are supposed to trigger an MPAN?
Replies
1
Boosts
0
Views
628
Activity
Jun ’26
Issue with Applepay pop up addresses Portugal & Romania
We are facing issues with the Apple Pay pop up addresses. So for Portugal and Romania, we would like to collect the user's Province/State as part of the checkout experience. We already do that with other payment methods, however, we noticed Apple Pay pop up doesn't include state/province fields for these two countries, which causes orders to arrive with that field as blank. This is causing a lot of logistics issues during fulfillment. Is there a way to fix this and have the field appear for Portugal and Romania users? Case reference: 102869141084 Thank you!
Replies
1
Boosts
0
Views
501
Activity
Jun ’26
In-app provisioning fails, FB22759977
Feedback ID: FB22759977 After clicking add to apple wallet in our app, I launch the PKAddPaymentPassViewController and click next. It loads for a few seconds and then I get: [] ProvisioningOperationComposer: Step '' failed with error Error Domain=PKProvisioningErrorDomain Code=5 UserInfo={PKErrorHTTPResponseStatusCodeKey=500}
Replies
1
Boosts
0
Views
456
Activity
Jun ’26
ApplePay multiTokenContexts request vs response
We as a PSP register merchantIdentifiers when registering merchants to ApplePay. We then use these identifiers in a multiTokenContexts during ApplePay session creation / validation / payment. "multiTokenContexts": [ { "merchantIdentifier": "ABC-MID-1", "externalIdentifier": "MAIN_PURCHASE", "merchantName": "Main", "amount": "2.50" }, { "merchantIdentifier": "ABC-MID-1", "externalIdentifier": "CONVENIENCE_FEE", "merchantName": "Fee Processing", "merchantDomain": "m2.example.com", "amount": "2.50" } ] in response we get "authenticationResponses": [ { "merchantIdentifier": "0aff534d6d46fd653f60e6161c53101ee8d9cbc20b1bc40533c929d0a6aae6bc", "authenticationData": "AAAIAKnglVRsCyOvcgI*=", "transactionAmount": "250" }, { "merchantIdentifier": "bfc9a63b4ebab8cde90234731cb18a544c306b0af747d93d773fedb603f0945e", "authenticationData": "AAAIANBEqODkDcrDTgI*=", "transactionAmount": "250" } ] We need to know how to match the entries in the request array to the response array. Is the order guarantied? We did not find any documentation on how the response hash for the identifier is computed.
Replies
1
Boosts
0
Views
179
Activity
Jun ’26
Apple Pay In-App Provisioning – HTTP 500 (HTML) on broker endpoint in production (TestFlight)
We are implementing Apple Pay In-App Provisioning (EV_ECC_v2) for our EU app. The same codebase and encryption logic works successfully for our main app (different bundle ID and Adam ID), but the EU app consistently fails with HTTP 500. Environment: Entitlement: Granted (Case-ID: 18772317) Encryption scheme: EV_ECC_v2 Issue: During In-App Provisioning, the iOS app successfully obtains certificates, generates cryptographic material (encryptedCardData, activationData, ephemeralPublicKey), and POSTs to Apple's broker endpoint. The request fails at: Endpoint: POST /broker/v4/devices/{SEID}/cards Response: HTTP 500 with an HTML error page (not a JSON business error) <html> <head><title>500 Internal Server Error</title></head> <body> <center><h1>500 Internal Server Error</h1></center> <hr><center>Apple</center> </body> </html> Key observations: Our main app (different bundle ID/Adam ID) uses identical encryption code, private keys, and key alias — and works correctly in production. Manual card provisioning through Apple Wallet on the same device succeeds. The entitlement com.apple.developer.payment-pass-provisioning is confirmed present in the provisioning profile (verified via codesign). The 500 response is HTML rather than JSON, suggesting the request is rejected at the gateway level before reaching Apple Pay business logic. What we've verified: Entitlement correctly configured in provisioning profile ephemeralPublicKey is in uncompressed format (65 bytes, starts with 0x04) encryptionVersion is EV_ECC_v2 No double Base64 encoding Question: Could you please check whether Adam ID 6745866031 has been correctly added to the server-side allow list for In-App Provisioning in the production environment? Given the HTML 500 (not JSON) and that the identical code works for our other app, we suspect this may be an allow list or account configuration issue rather than a cryptography error. I will follow up with a Feedback Assistant ID including sysdiagnose logs shortly, per the steps outlined in https://developer.apple.com/forums/thread/762893
Replies
7
Boosts
1
Views
752
Activity
Jun ’26
Support for enterprise accounts
My employer, a bank, has two accounts: and enterprise account which its used for development, and a normal one for publishing the bank app. We are facing a lot of troubles testing Apple Pay, because our enterprise account doesnt get the Apple Pay entitlement. This is a major pain point for us. We mostly develop blindly. And the bank, being a bank, for obvious reasons, doesnt want to give us access to the prod account. Only the enterprise one. I am pretty sure I am not the only one suffering from this, and I am just taking the oportunity that you guys are reading our rants, so that you acknowledge this problem, and let enterprise accounts have Apple Pay, for development purposes (or maybe share, idk, but a solution to this) edit: feel free to tell me that it cannot be done, this is not even a technical request, however it would be so nice if we could debug on our tests systems with the enterprise account, and the people in charge of the account say its not possible.
Replies
2
Boosts
0
Views
250
Activity
Jun ’26
remotePassEntriesAvailable and apple watch
We are having hit or miss for getting the pass ready to be installed on Apple Watch even if remotePassEntriesAvailable is set to true, and our QA team is reporting this as a bug. Is this a known bug? This from the wallet extension.
Replies
1
Boosts
0
Views
176
Activity
Jun ’26
encryptedPassData missing
Dear Apple Pay team, We are having issues with adding some cards with the extension. Everything seems to go well, we can choose the credit card, and then it is failing, and we have absolutely no idea what could be wrong. Debit card provisioning with the wallet works, provisioning with the app works, but provisioning some credit cards (some users can, some users cannot) doesnt work, and on the console the only thing we can observe is: error Passbook PKAddPaymentPassRequest (0x123456): encryptedPassData missing error Passbook [] ProvisioningOperationComposer: Step 'generateCryptographicMaterial' failed with error Error Domain=PKProvisioningErrorDomain Code=4 UserInfo={NSLocalizedRecoverySuggestion=, NSLocalizedDescription=, NSLocalizedFailureReason=} Could this be some issue with base64 encoding? In app we just do Data(base64Encoding: , options: []) but in the wallet we saw there is a difference where we replace occurrences of _ with / and - with + (for urlSafe) and we add padding to the base64 string : while (newBase64String.count %4 != 0 { newBase64String.append("=") } for some obscure reason, this code was not implemented by me and I dont see the need to do this... If that is prob not the case for our error, what could it be? how to debug it?
Replies
2
Boosts
0
Views
182
Activity
Jun ’26
Apple Pay In-App Provisioning fails at eligibility step with HTTP 500 before Terms & Conditions in production TestFlight build
Hi, We’re testing Apple Pay In-App Provisioning in the production environment using a TestFlight build, and the provisioning flow fails before the Terms & Conditions screen is shown. From the device logs, the failure happens during the eligibility step: ProvisioningOperationComposer: Step 'eligibility' failed eligibility request failure Received HTTP 500 PKPaymentWebServiceErrorDomain We submitted a Feedback Assistant report with the sysdiagnose and all requested private details. Feedback ID: FB22911853 We also verified the exported IPA: It is signed with Store provisioning profiles. get-task-allow is false. ProvisionedDevices is absent. com.apple.developer.payment-pass-provisioning is present in both the app signature entitlements and the embedded provisioning profile entitlements. Could you please advise what we should check next? We’re trying to understand whether this points to a client payload issue, Apple Pay production configuration issue, allowlist issue, or payment network configuration issue. Thanks
Replies
2
Boosts
0
Views
242
Activity
Jun ’26
Apple team on license limit restrictions
We are currently experiencing a critical issue with our Apple Developer account related to production certificates for live customers using Apple Pay. Each customer integration requires a minimum of two certificates. At present, our account has reached 20 certificates, and we are facing limitations that impact our ability to onboard new customers. Recently, deletion of certain certificates caused a major outage, resulting in service disruption for live customers. This outage has had significant financial implications,  This may be held liable for the revenue lost. We urgently request clarification on the following: What are the official license limit restrictions for production certificates on Apple Developer accounts? Is there a way to extend or increase the certificate limit to support multiple live customer integrations? What best practices should we follow to avoid outages when managing certificates for Apple Pay? Given the severity of this issue, we kindly ask for immediate guidance and support to prevent further disruptions.
Replies
2
Boosts
0
Views
198
Activity
May ’26
In-App Push Provisioning failing at Add Card stage of flow
In testing in-app push provisioning with a production TestFlight build built with Xcode Cloud (Xcode 26.4.1) the flow is failing when attempting to add cards. I start the flow by choosing the add to wallet button from within the app. I get to the stage “Add Card” and choosing continue fails with “Could Not Add Card” and a button “Set Up Later” Analysing the sysdiagnose logs reveals that the eligibility stage is failing with a HTTP 500 error. [9ix8SPBHSfWEcxLjj+j5bA] ProvisioningOperationComposer: Step 'eligibility' failed with error <PKProvisioningError: severity: 'terminal'; internalDebugDescriptions: '( "eligibility request failure", "Received HTTP 500" )'; underlyingError: 'Error Domain=PKPaymentWebServiceErrorDomain Code=0 "Unexpected error." UserInfo={PKErrorHTTPResponseStatusCodeKey=500, NSLocalizedDescription=Unexpected error.}'; userInfo: '{ PKErrorHTTPResponseStatusCodeKey = 500; }'; > FB22761556
Replies
1
Boosts
0
Views
316
Activity
May ’26
In App Provisioning PKErrorHTTPResponseStatusCodeKey=500
Hello, we are developing in app provisioning of our American Express network cards. After clicking add to apple wallet in our app, I launch the PKAddPaymentPassViewController and click next. It loads for a few seconds and then I get: [<private>] ProvisioningOperationComposer: Step '<private>' failed with error Error Domain=PKProvisioningErrorDomain Code=5 UserInfo={PKErrorHTTPResponseStatusCodeKey=500} Does anyone have any insight on what this error means?
Replies
4
Boosts
1
Views
1.3k
Activity
May ’26
Apple Pay QR code scan not working
I have apple pay on the web running ok on our website, using ios devices When I load the cart in a browser and try using the 'scan now qr code', my pay sheet displays on my iphone and then immediately closes. How can I debug the issue? I'm not seeing any logging or issues.
Replies
2
Boosts
1
Views
1.6k
Activity
May ’26