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.
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
Hello forum,
Hope all is great!
I have a shortcut automation which uses the transaction trigger. Since updating to ios 18 the transaction trigger does not work anymore.
Whenever a transaction is done, the “Running your automation” notification does not show up and the automation does not work.
To share with you the steps I’ve done so far:
1.Remove the automation and do it again
2.Remove the card from apple pay
3. Delete and install again the shortcut app
4. Turned on and off the phone
I can confirm the automation works on my other iPhone with the latest version of IOS 17.
Would really appreciate if anyone has any insights about that, or if this happened to you as well.
Cheers!
Dorin
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
We are writing to report a recurring stability issue with the Apple Pay sandbox environment. We are using the official sandbox test cards provided on the Apple Developer website for our testing:
https://developer.apple.com/apple-pay/sandbox-testing/
We are experiencing frequent, intermittent failures when attempting to add these sandbox cards to the Wallet for testing purposes. The issue typically occurs a couple of times per day. When the failure occurs, the card provisioning process fails unexpectedly.
The issue is not limited to a single card; we have observed this behavior across all available card networks. In some instances, all cards (Visa, Mastercard, Discover, Amex) fail to provision simultaneously. At other times, the issue appears to be isolated to specific networks while others work correctly.
Crucially, the issue appears to be temporary. After some time passes (ranging from minutes to an hour), we are able to add the exact same card successfully without making any changes to our test environment or configuration.
We have diligently checked our setup to rule out configuration errors on our end. This includes verifying:
The device is set to a supported region.
We are signed in with a valid sandbox tester Apple ID.
All other prerequisites for sandbox testing are met.
The fact that the process works correctly at other times strongly suggests that this is a server-side stability issue within the Apple Pay sandbox environment rather than a persistent misconfiguration on our part.
To help with your investigation, we have attached an image that demonstrates a failed attempt to add a card.
Could you please investigate the stability of the sandbox card provisioning service? Please let us know if this is a known issue or if there is any further information we can provide.
Thank you for your time and assistance.
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?
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
We are encountering an issue where Apple Pay shows an unexpected popup with a message and an "OK" button when confirming a payment (after double-tapping the power button). This issue began appearing last week without any changes to the codebase or configurations.
Steps to Reproduce:
Open the app and initiate an Apple Pay payment.
Add a valid card if not already present.
Confirm the payment using the side button (double-tap).
Instead of completing the transaction, a popup appears with a generic message and an "OK" button.
Expected Behavior:
Apple Pay should process the payment and provide a confirmation or error based on the transaction status.
Actual Behavior:
A popup appears with a generic title and an “OK” button. The transaction is not processed.
Environment Details:
Platform: iOS
Apple Pay integration has been functioning correctly for years
No recent updates to Apple Pay-related code or configuration
Configurations Checked:
App Identifier is correctly set with the bundle ID
Apple Pay Payment Processing is enabled in the App ID configuration
Correct Merchant ID is selected and matches in Xcode capabilities
*.entitlements file contains correct Apple Pay entitlement
Payment Processing Certificates are valid and in place
Additional Notes:
The issue appeared suddenly without any modifications to the app. We suspect it may be due to external changes (e.g., Apple system update or merchant validation issue).
Please advise on any further steps we can take to diagnose or resolve this issue.
Topic:
App & System Services
SubTopic:
Apple Pay
To continue your enrollment, complete your purchase now
But when I tried to purchase
I am not able to pay
Topic:
App & System Services
SubTopic:
Apple Pay
I’m trying to test an AMEX card in the sandbox environment, but it’s not getting added. I have followed and verified the checks below to add the card to Wallet:
Sandbox account is active.
Sandbox user region is set to the US.
Device region is also set to the US.
AMEX card from the provided list is being added.
Tested on iOS version 17.6.1
Devices tested include iPhone 13 and others.
Steps followed to add the card to Wallet:
Open Wallet and tap on "Add Card."
Entered the required test data.
Tapped "Agree" and waited.
Received error: "Issuer does not support this card."
Please let me know if you have any solutions.
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?
Can i use apple pay integration into my web iframe?In my situation, canMakePayment() returns null when i check browser support apple pay or not in Iframe
Hello,
Please help.
We have been experiencing what appears to be a TLS handshake error in our Apple Pay merchant validation requests (2-way TLS) since June 25, 2025.
We are aware of the encryption algorithm changes made in February 2025, and our system was functioning correctly at that time. However, the error started occurring suddenly and only recently.
Could you please clarify the following points?
Have there been any changes to the TLS configuration (cipher suites, certificates, protocol versions, etc.) on the Apple Pay server side since June 2025?
Have there been any updates to the specifications or recommended settings for merchant validation requests?
Is there any way to contact Apple for technical support regarding this issue other than through the Developer Forums?
Our Merchant Identity Certificate has already been renewed and is confirmed to be valid.
Topic:
App & System Services
SubTopic:
Apple Pay
Hello,
we have problem.
Kind regards,
-Martin
I'm trying to upload my app with Tap to Pay on iPhone functionality. However, I'm getting error message "Profile doesn't include com.apple.developer.proximity-reader.payment.acceptance entitlement." I've confirmed many times that I have the distribution profile with this capability. Any idea what might be the issue? The development environment works perfectly.
Hello!
I have a requirement to read the ICC Public Key Certificate from an EMV credit card to implement a payment validation flow.
Aa far as I understand, I can't use Core NFC for that task since it is not supposed to be used for reading sensitive credit card data and it might be rejected by Apple.
I'm trying to use Tap To Pay as it seems to offer some general card details.
Since Apple's documentation on this side is pretty limited, I'm struggling to understand what is a PaymentCardReader.Token and how can I create one?
Can anyone please help me with setting up Tap to Pay?
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
Hello,
We are experiencing a consistent delay when initiating Apple Pay sessions using the https://apple-pay-gateway.apple.com/paymentservices/startSession endpoint. Below is a detailed overview of our setup and the issue.
Setup
Our web service is hosted in AWS and there is a proxy server between our web service and Apple servers.
We are passing the correct domain in the initiativeContext field of the startSession request.
The .well-known/apple-developer-merchantid-domain-association file is hosted on a different domain, which is also correctly configured and associated with our merchant ID in the Apple Developer portal.
Observed Behavior
When the same request is made from a local development environment, Apple responds immediately (under 1 second).
When the request is made from our AWS-hosted service, Apple responds with a valid session, but only after a consistent ~15-second delay.
The content and response are otherwise identical — only the timing differs.
We would appreciate any insights or suggestions from others who have faced similar behavior or from the Apple Pay team.
Thank you in advance!
Hello,
I am looking for some help on how to use the Apple Pay Web Merchant Registration API. Have been approved to use the API and attempted to test on a merchant ID set up for testing. Below are steps taken before the request.
Create merchant ID com.test.merchant.
Create Apple Pay Merchant Identity Certificate for using it with the request via p12.
Create Platform Integrator platformintegrator.com.test
With the below request, I am getting a 401. Any input would be much appreciated!
curl --cert-type P12 --cert cert.p12:{password} -i -d '{\
"domainNames":["customer.test.com"],\
"partnerMerchantName": "customer.test.com",\
"partnerInternalMerchantIdentifier":"customer.test.com"}'\
"encryptTo":"com.test.merchant",\
https://apple-pay-gateway-cert.apple.com/paymentservices/registerMerchant
The response:
{
"statusMessage": "Payment Services Exception Unauthorized",
"statusCode": "401"
}
Also tried using the platformintegrator.com.test for the encryptTo but resulted in a 401 as well.
Topic:
App & System Services
SubTopic:
Apple Pay
I am facing an issue while integrating Apple Pay in my React.js application. The onvalidatemerchant callback works perfectly, and the merchant validation is successfully completed. However, after the Apple Pay session is validated, the payment sheet appears briefly and then closes immediately without triggering the onpaymentauthorized event.
I have provided the relevant code snippets and API implementation below. I would greatly appreciate your insights on resolving this issue.
import React, { useEffect, useRef, useState } from "react";
// Relevant imports
const ApplePayButton = ({ paymentType, handlePayment, cartSummary }) => {
const [applePaySession, setApplePaySession] = useState(null);
const cartSummaryRef = useRef(cartSummary);
useEffect(() => {
cartSummaryRef.current = cartSummary;
}, [cartSummary]);
const setupApplePaySession = async () => {
if (!window.ApplePaySession || !ApplePaySession.canMakePayments()) {
console.log("Apple Pay is not supported on this device/browser.");
return;
}
const paymentRequest = {
countryCode: "US",
currencyCode: "USD",
merchantCapabilities: ["supports3DS"],
supportedNetworks: ["visa", "masterCard", "amex"],
total: {
label: "Total",
amount: `${cartSummaryRef.current?.total?.amount || "10.00"}`,
},
requiredBillingContactFields: ["postalAddress", "email", "phone", "name"],
};
const session = new ApplePaySession(6, paymentRequest);
setApplePaySession(session);
session.onvalidatemerchant = async (event) => {
try {
const response = await createAndValidateApplePaySession({
validation_url: event.validationURL,
provider: "APPLE_PAY",
});
if (response?.status && response?.data?.applePaySession) {
const merchantSession = JSON.parse(
response.data.applePaySession.session_details
);
session.completeMerchantValidation(merchantSession);
} else {
console.error("Merchant validation failed: Invalid response.");
}
} catch (error) {
console.error(`Merchant validation error: ${JSON.stringify(error)}`);
}
};
session.onpaymentauthorized = (event) => {
console.log("Payment authorized:", event.payment);
};
session.oncancel = () => {
console.log("Payment cancelled.");
};
session.onerror = (event) => {
console.error(`Apple Pay error: ${JSON.stringify(event)}`);
};
session.begin();
};
return (
<>
{paymentType === "APPLE_PAY" && (
)}
</>
);
};
export default ApplePayButton;
createAndValidateApplePaySession = async (data) => {
const { validation_url } = data;
const apiUrl = ${this.finixUrl}/apple_pay_sessions;
const base64Credentials = Buffer.from(this.credentials).toString("base64");
const body = {
validation_url,
merchant_identity: process.env.FINIX_APPLE_PAY_MERCHANT_ID,
domain: process.env.FINIX_APPLE_PAY_DOMAIN,
display_name: process.env.FINIX_APPLE_PAY_DISPLAY_NAME,
};
const requestData = {
url: apiUrl,
data: body,
headers: {
"Content-Type": "application/json",
Authorization: Basic ${base64Credentials},
},
};
try {
const response = await axios.post(requestData.url, requestData.data, {
headers: requestData.headers,
});
return response?.data;
} catch (error) {
console.error("Merchant validation failed:", error);
return error;
}
};
Current Behavior:
Apple Pay button renders successfully.
Clicking the button triggers the setupApplePaySession function.
The merchant validation completes successfully via the onvalidatemerchant callback, and a valid merchant session is received from the API.
The Apple Pay sheet appears briefly and then closes immediately.
The onpaymentauthorized callback is never triggered.
Expected Behavior:
The payment sheet should remain open after merchant validation, allowing the user to select a payment method and authorize the payment. The onpaymentauthorized callback should then be triggered to handle the payment token.