I've encountered an issue with Apple Pay in PC Chrome with iOS 18. Below is the scenario and code for reference:
Issue Scenario:
A button is clicked to initiate the Apple Pay process.
A QR code window pops up, which I scan with my phone.
As soon as the session is established, the window closes immediately, not allowing the user to select a payment card.
No errors appear in the console.
Here's the code snippet for handling the Apple Pay button click:
const onApplePayButtonClicked = () => {
if (!window.ApplePaySession) {
return;
}
log('Apple Pay button clicked');
const request = {
countryCode: 'UA',
currencyCode: 'UAH',
merchantCapabilities: ['supports3DS'],
supportedNetworks: ['visa', 'masterCard'],
total: {
label: 'PoC Merchant Apple Pay',
type: 'final',
amount: amount.toString(),
},
};
const session = new window.ApplePaySession(3, request);
session.onvalidatemerchant = async (event) => {
try {
log('Creating ApplePaySession');
const response = await fetchAppleSessionAPI(event.validationURL, applePayMercantId, { deviceId, refreshToken });
log('validateMerchantResponse', response);
session.completeMerchantValidation(response.applePaySessionData);
} catch (error) {
log('validateMerchantError', error);
}
};
session.onshippingmethodselected = () => {
const newTotal = {
label: 'PoC Merchant Apple Pay',
type: 'final',
amount: amount.toString(),
};
session.completeShippingMethodSelection(window.ApplePaySession.STATUS_SUCCESS, {}, newTotal);
};
session.onpaymentauthorized = async (event) => {
log('onpaymentauthorized', event);
const result = {
status: window.ApplePaySession.STATUS_SUCCESS,
};
session.completePayment(result);
log('TOKEN', event.payment.token);
};
session.begin();
};
Troubleshooting Steps Taken:
Verified that window.ApplePaySession is available.
Checked for any console errors—none found.
Confirmed that the QR code scanning and session initiation work as expected.
Expected Behavior:
After scanning the QR code and establishing the session, the user should be able to select a payment card and proceed with the payment flow.
Current Behavior:
The window closes immediately after the session is established, preventing card selection.
Has anyone else faced this issue or has insights on how to resolve it?
Thanks in advance!
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
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
Hello, we re developing a loyalty platform for end users and as such emit Apple wallet store cards. Problem we're facing is that the HTTP POST /v1/devices/:deviceLibraryIdentifier/registrations/:passTypeIdentifier/:serialNumber in some cases doesn't come through and we have no idea why.
This only happens to a small percentage of customers, others work just fine.
Does anyone have an idea why this might happen? I believe our setup is correct when 90% of customers work and we receive these HTTP requests to our server.
Hello,
I am developing a mobile application focused on helping users centralize and analyze their expenses. The app's key feature is to track transactions made through Apple Pay, providing users with a consolidated view of their spending across all linked bank cards or accounts.
I have a few specific questions regarding the feasibility of this integration:
Does Apple provide any official APIs or tools to access Apple Pay transaction data for third-party applications?
Are there restrictions or guidelines for apps that aim to use Apple Pay to support expense tracking?
What would be the best way to initiate a partnership or obtain further support from Apple for such a project?
Your insights or direction on how to proceed would be greatly appreciated.
Thank you for your time and guidance!
Best regards,
Amine
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?
Hi, I purchased an account for the app's developer on 18/12/2024. But somehow, it appears that the processing takes 48 hours after the purchase. I received an email about the order. The Apple developer membership account shows, “To continue your enrolment, complete the purchase now.” When I click and fill it out, I wonder if it's the same command.
However, I already filled out all the details of the payment twice on 21/11/2024, but I haven't received a response from the teams. Could you please help me with this matter? TQVM for your concerns.
Topic:
App & System Services
SubTopic:
Apple Pay
Hello,
We are integrating Apple Wallet functionality using the Thales SDK. While we’ve successfully implemented In-App provisioning, we are encountering an issue with the Wallet Extension.
I followed the documentation provided here to implement the Apple Wallet Extension:
https://developer.dbp.thalescloud.io/docs/d1-developer-portal/ab10ea4059dx1-apple-wallet-extension
I’ve implemented everything as per the guide, but I’m still unable to see my app logo in the Wallet Extension under "From Apps on Your iPhone."
Could anyone help identify what might be missing or point me in the right direction to resolve this issue.
Thanks!
First double charge in a same item, i ask the game developer they accept my refund request, but i don’t know why apple rejected my request, they said i haven’t strongly support? how can i send him the support? there are no attach button allow me the send him the conversatio via email. Then suddenly charge me 2 times i haven’t buy item. i request refund they also rejected…why? i didn’t get anything from the game but i had pay already. who can help me to get back my money. totalHK188 miss charged. this is not fair they stole my money. i don’t know why the game developers accept my refund request, who gave apple the right to reject
Topic:
App & System Services
SubTopic:
Apple Pay
Tags:
App Store
Education and Kids
App Store Connect
In-App Purchase
Hi,
We have 2 applications, in the first App, In-App Provisioning is working fine, but our second app is not working,
I've done them all the procedures I did in the first app, everything is also configured in our PNO.
Error Response from sysdiagnose PassBookUIService during In-App Provisioning attempt:
statusCode = 500;
statusMessage = "Broker Service Response exception";
I also created a request in the feedback assistant: FB15959221
Thank you
Topic:
App & System Services
SubTopic:
Apple Pay
I am trying to find solutions past 4 days. but not getting any reference about NFC implementation in my app to read Debit/Credit card upon user consent? Can you confirm apple is provided any api for read Debit/Credit card using NFC or not. Tried with normal NFCReader but it reads only for normal tags but nothing with Visa/ MasterCard cards. Looking forward some help from you. Thanks
I'm working on adding Apple Pay to my web site and I'm getting this error when the element loads.
InvalidAccessError: Trying to start an Apple Pay session from an insecure document.
Do I need HTTPS on my development site? I have it on my production site, but I've never enabled it for dev.
If so, will it work with a self-signed certificate?
If not, what does this error mean? How can I resolve it?
Hi, for iOS in-app push provisioning flow, and for a card that is in already in requiresActivation state, is it possible from our app UI to launch to the card's verification screen either as a in-app flow (like how in-app push provisioning flow is doing) or Apple Wallet?
So far the current process is that it will prompt user to provision the card again (only to show This Card is Already in Wallet error), or to open the card in tap-to-pay mode, or adding a new card flow in Apple Wallet.
Am I missing any PassKit SDK on this?
We are seeking assistance with an issue encountered during the integration of Apple Pay into our web application using the third-party payment gateway Heartland.
Our application uses JavaScript on the client side and PHP on the server side.
Despite following all the guidelines provided by Heartland, we are unable to validate the merchant at the backend. The validation consistently returns false. We request your guidance or a step-by-step solution to help resolve this issue.
Steps Followed:
Registered a merchant identifier in our Apple Developer account.
Enabled the Apple Pay Processing Certificate for the merchant.
Logged into the Heartland account, accessed the Apple Pay setup page from the "Keys and Credentials" section, and created a Certificate Signing Request (CSR).
Uploaded the CSR from Heartland to the Apple Pay Processing Certificate in the Apple Developer account.
Downloaded the signed certificate from the Apple Developer account and uploaded it to Heartland.
For the web application:
Registered the merchant identifier and validated our domain in the Apple Developer account.
Created a Merchant Identity Certificate linked to the same merchant identifier.
Followed the same steps 2–5 from the in-app implementation.
Code Implementation:
Client-Side (React):
import React from 'react';
const Button = () => {
const initializeApplePay = () => {
if (window.ApplePaySession && window.ApplePaySession.canMakePayments()) {
const paymentRequest = {
countryCode: 'US',
currencyCode: 'USD',
supportedNetworks: ['visa', 'masterCard', 'amex'],
merchantCapabilities: ['supports3DS'],
total: { label: 'Your Store', amount: '1.00' },
};
const session = new window.ApplePaySession(3, paymentRequest);
// Merchant Validation
session.onvalidatemerchant = (event) => {
fetch('https://staging-api.parkengage.com/apple-pay-session', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
initiative: 'web',
initiativeContext: 'parkengage.com',
validationURL: event.validationURL,
}),
})
.then((response) => response.json())
.then((data) => {
if (data.error) {
console.error('Merchant validation failed:', data.error);
} else {
session.completeMerchantValidation(data);
}
})
.catch((error) => console.error('Validation error:', error));
};
session.onpaymentauthorized = (event) => {
const paymentToken = event.payment.token;
fetch('/process-payment', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ token: paymentToken }),
})
.then((response) => response.json())
.then((data) => {
if (data.success) {
session.completePayment(window.ApplePaySession.STATUS_SUCCESS);
} else {
session.completePayment(window.ApplePaySession.STATUS_FAILURE);
}
})
.catch((error) => console.error('Payment error:', error));
};
session.begin();
} else {
console.log('Apple Pay is not supported on this device.');
}
};
return (
Buy with Apple Pay
);
};
export default Button;
Server-Side (PHP cURL):
curl 'https://staging-api.parkengage.com/apple-pay-session'
-X 'POST'
-H 'Content-Type: application/json'
--data-binary '{
"initiative": "web",
"initiativeContext": "https://parkengage.com",
"validationURL": "https://apple-pay-gateway-cert.apple.com/paymentservices/startSession"
}'
Issue:
The merchant validation fails and returns false.
Please guide us on troubleshooting this issue or provide insights on missing configurations.
When attempting to make a payment via Apple Pay in the card payment form, an error occurs, but there is no information about the error.
Here, you can watch a video with detailed information about what happened: https://drive.google.com/drive/folders/1bco64RH3UPcJTqjW6muIRDr1gW7lnJ6d?usp=sharing
We are implementing Apple Pay and Wallet features in our app and using mocked data for testing purposes. Specifically, in the status(completion:) method of PKIssuerProvisioningExtensionHandler, we return:
passEntriesAvailable: true,
remotePassEntriesAvailable: true,
requiresAuthentication: true,
In the passEntries(completion:) method, we provide mocked data for our card.
The issue is that the app icon inconsistently appears under the "From Apps on Your iPhone" section in the Wallet app. Sometimes it shows up as expected, but other times it does not.
On recent occasions, when the app is selected and mocked authorization is paased, the behavior includes a system error 'Cannot Add Card' even though we provided status that indicates that the app has available cards for Wallet.
For reference:
The app uses two bundle IDs supporting in-app provisioning and
PNO Pass Metadata has not been configured yet.
Could you help clarify the potential reasons for this inconsistent behavior?
Earlier this year implemented saving event tickets to Apple Wallet (and Google Wallet, which was painful by comparison!), as an optional alternative to recipients leaving the QR Codes in email or printing them.
Scanning barcodes on entry is done using camera on phones (either iPhone or Android). This is a somewhat pressured situation with lots of people needing scans in quite a short period of time. I do not do this myself but I do get feedback.
it was reported to me that Apple Wallet barcodes are significantly harder to scan accurately than those in Google Wallet. They think that is because the Apple QR Codes are quite a bit smaller (and presumably harder, therefore, to get focussed properly). They do work, it just takes longer to get a successful scan. This doesn’t seem to be anything I can control, and there seems to be plenty of space to make them bigger, even on my iPhone mini. These aren’t terribly dense barcodes; I imagine they would be harder still if they were. I also guess specialised barcode readers might do better, but we don’t have that luxury.
I’d appreciate it if they could be bigger when displayed in Apple Wallet, or at least to have that as an option.
Hey Everyone, i am trying the credentials for AMEX and Discover from here:
https://developer.apple.com/apple-pay/sandbox-testing/
The problem is, none of the AMEX and Discover is working with my CyberSource integration, not sure why? the same VISA and Master is working good
Topic:
App & System Services
SubTopic:
Apple Pay
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.
I have an Apple subscription with a 2-week introductory offer and a 3-month promotional offer code. There are 2 subscription plans:
1-month subscription
12-month subscription
For the 1-month plan, my promotional offer code is "Monthly_Free," and for the 12-month plan, my promotional offer code is "Yearly_Free." However, when users try to enter the respective promo codes for the 1-month or 12-month plans, they receive the following error:
"Offer not available. Your account is not eligible for this offer. You can still subscribe at the regular plan price."
This works fine in the sandbox account, where I can use the promo codes as many times as needed, switching between the 1-month and 12-month plans easily. What could be the issue here?
Hi there,
We build and operate apps for several PBS stations, and we're considering adding in-app donations with Apple Pay:
https://developer.apple.com/apple-pay/nonprofits/
I'm curious if any examples of this functionality in a live app. We'd love to take a look, and get a better idea of use-cases before we tackle that project. (Seems like it would be a very nice upgrade.)
Cheers,
Kevin