When integrating the Wallet Extension, after clicking my app icon from the "From Apps on Your iPhone" list, I encountered the message: "Cannot Add Card. '***' is not responding. Wait a few minutes and try again. If the problem continues, contact the card issuer's customer service" instead of the configured login page appearing as expected.
What could be causing this issue, and how should I resolve it?
Apple Pay
RSS for tagDiscuss how to integrate Apple Pay into your app for secure and convenient payments.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Apple Pay processed a transaction but the account has insufficient funds. Later the transaction is declined. Is it expected from Apple Pay? Does Apple Pay throws an error if the account has insufficent funds- iOS Swift ?
Does anyone know the code to handle this scenario in Swift iOS?
Hi team,
I'm currently trying to add a specific subdomain (with a path) to Apple's Sandbox domain list, but it seems Apple only allows the main domain to be entered.
Due to strict client security policies, we aren't allowed to use just the main domain, which is creating a roadblock in our implementation.
Is there any way to add a full subdomain or URL path to the Sandbox configuration? I'm happy to join a call to explain the scenario further if that would help.
Thanks in advance for your support!
We have implemented In-App Provisioning, but when I start the tokenization process, I receive an error before the terms and conditions.
We are testing with a version of the app on TestFlight.
The error message is: Could not add card. Try again later or contact your card issuer for more information.
Could you please help me?
Hello,
we have problem.
Kind regards,
-Martin
Hello,
we are experiencing issues with adding VISA cards via In-App Provisioning on iOS using PassKit. The same flow works correctly with Mastercard, but for VISA cards the Apple broker endpoint returns HTTP 500.
Details
Device: iPhone15,3 (iPhone 15 Pro), iOS 18.6.1 (22G90)
Region: CZ
App: [REDACTED] (version 0.4.3)
Issuer ID: [REDACTED]
Merchant ID and entitlements are configured and validated.
SEID: [REDACTED]
Request flow
GET /broker/v4/devices/{SEID}/issuerProvisioningCertificates?encryptionVersion=EV_ECC_v2
Request ID: B61363A8-0BFF-4CD6-92BC-52C461DFFAAD
Response: 200 OK
Conversation ID: e12c64c9a0b54981adfad8d00800d836
Returned nonce: [REDACTED]
Timestamp: 2025.08.21_14-01-46+0200
POST /broker/v4/devices/{SEID}/cards
Request ID: F29B73CA-CDDE-4C0C-9F40-B87AE006FDDD
Payload fields present (values redacted): encryptedCardData [REDACTED], ephemeralPublicKey [REDACTED], publicKeyHash [REDACTED], nonce [REDACTED], issuerIdentifier [REDACTED], encryptionVersion=EV_ECC_v2
Response: 500 Internal Server Error (latency ~0.41s)
Timestamp: 2025.08.21_14-01-47+0200
Observation
Provisioning succeeds with Mastercard but consistently fails with VISA.
The GET issuerProvisioningCertificates succeeds; the POST …/cards returns 500.
Request
Could you please:
Provide internal error details for Request ID F29B73CA-CDDE-4C0C-9F40-B87AE006FDDD (and/or Conversation ID e12c64c9a0b54981adfad8d00800d836),
Confirm whether the 500 originates before or after the broker’s call to VTS (Visa Token Service), and
Validate that our app/merchant/issuer configuration is fully enabled for VISA push provisioning in our region.
Attached privately: sysdiagnose with full traces (can share via secure channel upon request).
Kind regards,
Martin
I tried to test In-App Provisioning in Production for our whitelisted app through TestFlight (Internal Testing Track) and we received the following error response from PassBook during the provisioning attempt, Could you please guide us?
Error Response from sysdiagnose PassBookUIService during In-App Provisioning attempt:
{ statusCode = 500; statusMessage = "Broker Service Response exception"; }
I reported the error in Feedback Assistant: ID: FB16112348 (500 Broker Service Response exception during Apple Pay In-App Provisioning ).
Note:- I am reffering to Getting Started with Apple Pay: In-App Provisioning, Verification, Security, and Wallet Extensions
I am facing a problem of payment using credit card.
I tried several banks and cards without any result.
I also used one of the card I have successfully paid another account.
Heeeeelp
Hi guys,
We are trying to implement a solution that would allow users to subscribe to other users in our app. The system should work the same way as Twitch's subscription model works. Users should be able to subscribe to anyone and each subscription should have different tiers.
From what we were able to gather, users cannot have multiples of the same subscription on applestoreconnect. Meaning that we would probably need to make a custom subscription per every user? Here we have also learned that there is a limit of 10 000 types of subscriptions and that it is not possible to dynamically create/delete them for users. (correct me if I am wrong)
Is there a solution for handling this type of a scenario?
Appreciate all answers.
Description:
I’m integrating Apple Pay JS (version 3) into an Angular application. Here are the key details:
Environment:
Angular (latest)
Apple Pay JS v3
Chrome (confirmed window.ApplePaySession is available)
application region is in US. I'm in Taiwan and using my iPhone Taiwan account to scan the QR Code/
Implemented Handlers:
onvalidatemerchant
onpaymentmethodselected
onpaymentauthorized
oncancel
Observed Behavior:
When I click the Apple Pay button, the console logs:
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://applepay.cdn-apple.com') does not match the recipient window's origin ('https://{our-domain-name}')
Despite this, the QR code still appears.
Scanning the QR code with an iPhone 13 Pro running iOS 18.4.1 brings up the Apple Pay sheet with the correct amount, but payment never completes.
In the browser, none of my Angular event handlers fire except oncancel.
Questions:
What causes the postMessage origin mismatch with Apple’s CDN frame, and how should my application handle it?
Why doesn’t onpaymentauthorized ever fire, and how can I complete the payment flow so that session.completePayment() succeeds?
Any guidance or sample code snippets for a proper merchant-validation and payment-completion sequence in this setup would be greatly appreciated.
my code
onApplePayButtonClicked() {
if (!ApplePaySession) {
console.error('[ApplePay] ApplePaySession is not supported');
return;
}
// Define ApplePayPaymentRequest
const request : ApplePayJS.ApplePayPaymentRequest = {
countryCode: this.currencyCode,
currencyCode: Constants.CountryCodeUS,
merchantCapabilities: this.merchantCapabilities,
supportedNetworks: this.supportedNetworks,
total: {
label: this.label,
type: "final" as ApplePayJS.ApplePayLineItemType,
amount: this.orderAmount.toString(),
},
};
// Create ApplePaySession
const session = new ApplePaySession(3, request);
session.onvalidatemerchant = async event => {
console.info('[ApplePay] onvalidatemerchant', event);
try {
const merchantSession = await fetch(`${this.paymentUrl}/api/applepay/validatemerchant`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
PKeyCompany: this.paymentAppleMerchantId,
ValidationUrl: event.validationURL
})
}).then((r) => r.json());
session.completeMerchantValidation(merchantSession);
} catch (error) {
console.error('[ApplePay] onvalidatemerchant MerchantValidation error', error);
session.abort();
}
};
session.onpaymentauthorized = (event) => {
console.info('[ApplePay] paymentauthorized', event);
const token = event.payment.token;
this.paymentTokenEmitted.emit({
token: JSON.stringify(token),
paymentType: PaymentOptionType.ApplePay
});
session.completePayment(ApplePaySession.STATUS_SUCCESS);
};
session.onpaymentmethodselected = (event) => {
console.info('[ApplePay] paymentmethodselected', event);
const update: ApplePayJS.ApplePayPaymentMethodUpdate = {
newTotal: request.total
};
session.completePaymentMethodSelection(update);
};
session.oncancel = (event) => {
console.error('[ApplePay] oncancel', event);
this.errorEmitted.emit({ error: 'Apple Pay cancel' });
};
session.begin();
}
Topic:
App & System Services
SubTopic:
Apple Pay
Does anyone know how to register as a psp for apple pay. My psp is based in the UAE and I cant seem to find an easy way to enroll the psp to apple pay
Topic:
App & System Services
SubTopic:
Apple Pay
Hello all,
I’m helping a customer integrate Apple Pay, and I’m seeing a behavior I can’t fully explain. I hope someone here can help clarify whether this is expected or whether it’s a bug / misconfiguration on my side.
Currency: RSD (Serbian Dinar)
Amount: 3.45 RSD (two decimals)
Result: Apple Pay cancels the payment automatically when the amount includes decimals, without even displaying the paymentsheet.
Things I have checked:
ISO 4217 defines RSD with 2 minor units, so fractional amounts like 3.45 should be valid.
Processors treat RSD as a two-decimal currency.
Apple’s documentation does not provide a per-currency decimal rule table.
In testing, whole-number RSD amounts succeed, while fractional amounts (e.g. 3.45 RSD) fail. I did not encounter this problem with other currencies like EUR, USD.
Has anyone encountered this issue before?
Apple pay on checkout in iframe is working with test cards while in Private window. However when we go into normal browsing the Apple Pay button is greyed out. Real cards will ask for fingerprint and then decline with "Payment Not Completed". What is the issue?
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?
We’re building a usage-based rental flow. The final charge is only known after the session ends (like gas pumps). We want the same Apple Pay UX that gas stations like at a gas station has: the user does not see a pre-authorization amount up front; they only see “approved” and later the final posted amount on the statement.
What we observe (gas stations / desired UX)
When paying at gas station with Apple Pay (card-present), the user confirms their card (double-tap) but no pre-auth amount is shown in Wallet/notification UI.
The small notification is from the bank (not the merchant) and shows only bank + merchant name, no total.
After fueling ends, the final amount appears on the statement from the merchant.
What happens in our flow (current behavior)
Platform: Apple Pay via Stripe (Apple Pay on the Web with QR → mobile Safari Wallet sheet).
When a user confirms payment, the pre-authorization amount is shown immediately to the user (appears like a charge from the user’s perspective).
We want to avoid showing that amount, matching the pay-at-pump experience.
Hi,
I understand that it's possible to add a virtual debit or credit card from a mobile app into the iOS Wallet using PassKit from the Apple SDK. However, I haven't come across documentation on how to achieve this directly from a web app. I found this article on Apple's support site (https://support.apple.com/en-gb/guide/security/secdc2567239/web), which mentions adding cards from a card issuer’s website, but it doesn’t provide details on the process.
Could you please confirm if it's possible to add a card directly from a web app without using a mobile app? If so, could you guide me to the relevant documentation?
Thanks in advance!
We have been using ApplePay on the web for years, but we are running into a problem since today in sandbox where domainName is missing from the create payment sessions request. We haven't changed anything related to this request any time recently.
Static payment sessions url being hit in sandbox: https://apple-pay-gateway-cert.apple.com/paymentservices/paymentSession
request format:
"merchantIdentifier": "merchant.com.identifier",
"displayName": "Test Store",
"initiative": "web",
"initiativeContext": "test.example.com",
"domainName": "test.example.com"
response format:
{
"epochTimestamp": 1763533367972,
"expiresAt": 1763536967972,
"merchantSessionIdentifier": "<merchantSessionIdentifier>",
"nonce": "<nonce>",
"merchantIdentifier": "<merchantIdentifier>",
"displayName": "Test Store",
"signature": "<signature>",
"initiative": "web",
"initiativeContext": "test.example.com",
"signedFields": [
"merchantIdentifier",
"merchantSessionIdentifier",
"initiative",
"initiativeContext",
"displayName",
"nonce"
],
"operationalAnalyticsIdentifier": "Test Store:<identifier>",
"retries": 0,
"pspId": "<pspId>"
}
Production create session request to https://apple-pay-gateway.apple.com/paymentservices/paymentSession is behaving as expected, sending the following fields as response: epochTimestamp, expiresAt, merchantSessionIdentifier, nonce, merchantIdentifier, domainName, displayName, signature, operationalAnalyticsIdentifier, retries, pspId
Claude seems to suggest this is a response when Messages for Business is enabled, but this ApplePay Payment Processing merchant is only configured for Apple Pay on the Web.
Any ideas or pointers to check for? We are worried this will spill over in production as well, which will break our ApplePay integration.
Thanks in advance!
Topic:
App & System Services
SubTopic:
Apple Pay
I'm facing problem with in-app-provisioning in production application. When we try to tokenize (before T&C step) we are getting error from topic.
I've also posted this in Feedback Assistant: FB18403577.
I'll be very happy if someone could help me to get what is wrong with data or configuration of application.
I'm implementing Apple Pay for our application via the Apple Pay JS API, and everything works as expected when initiating a session from a Safari browser. However, when attempting to start a session in a non-Safari browser (Chrome in this case), I see the following behavior:
The "Scan Code with iPhone" popup appears
I scan the code with my device (9th gen iPad running iPadOS 18.5 if that matters)
The Apple Pay view does not appear on the device, and the "Scan Code" popup closes on the browser without any further information given.
I can see the messages being passed in the network tab, with the final message being a "getPaymentRequestResponse" message appearing at the time the code is scanned. I suspect merchant validation is failing since that should be the next step, but that's just an educated guess at this point. I would appreciate any help getting this issue resolved.
Topic:
App & System Services
SubTopic:
Apple Pay
Hello.
we are looking in adding an additional verification method as part of our in app provisioning to apple wallet. the method is called app to app verification method where basically when the customer adds their card (debit or credit) on apple wallet they can be verified through a third party app. does apple support this? where can i find any material related to this?