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
Apple Pay
RSS for tagDiscuss how to integrate Apple Pay into your app for secure and convenient payments.
Post
Replies
Boosts
Views
Activity
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!
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.
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
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?
I am adding Apple Pay to my eCommerce site and I am having a lot of difficulty with the PaymentsRequest API in Microsoft Edge browser.
I have a partial implementation that displays the Apple Pay button and creates a PaymentRequest when the button is clicked. That's all.
On Safari, this is enough to display the Apple Pay dialog. The process doesn't proceed further because I haven't implemented a handler for the merchantvalidation event. With Chrome on a Mac, the behavior is the same, I can scan the code and see the Apple Pay dialog.
On Microsoft Edge, I never see the code to scan. In my web console, I'm seeing errors like
InvalidStateError: Failed to execute 'canMakePayment' on 'PaymentRequest': Cannot query payment request
and
NotSupportedError: The payment method "https://apple.com/apple-pay" is not supported. No "Link: rel=payment-method-manifest" HTTP header found at "https://www.apple.com/apple-pay/"
Is Apple Pay not supported on Windows?
I see the demo site here, which gets farther than I have gotten. It does display the scan code, but payment still never completes. I see the same payment-method-manifest error in the console.
If Apple Pay is not supported on any PCs other than Macs, is there any reason to use the PaymentRequest API instead of Apple Pay JS?
I started digging into the W3C standards and it turns out that merchantvalidation event is deprecated. Chrome on Mac does catch it, so it seems like it's supported there. But I have concerns about the long term future. Is it going to remain supported? If so, I would imagine that the interface could change.
It seems like the only benefit of the W3C PaymentRequest API is that Mac users with non-Safari browsers may still be able to use Apple Pay. In theory, that's something I'd still like to support, even if it's only a small number of users, but I only have time for one integration right now, and I need to pick the best one.
How much faith should I have in the W3C PaymentRequest API?
Is it reasonable to pursue it with the goal of including all Mac users regardless of browser? Or is it likely a dead API and I should stick to Apple Pay JS instead to provide a better experience to Safari users?
It also looks like the PaymentRequest API isn't fully finalized yet, so maybe that's the source of my issues. Maybe I should just use Apple Pay JS for now with an eye to supporting PaymentRequest when the spec is finalized.
I greatly appreciate your input.
I have the HCE entitlements, but it's not clear from the documentation I have, how to configure my app as the default app for the double tap of the power button.
Nor can i see where this is in iOS 18.2 settings. The closest I can find is 'Settings > Default Apps > Contactless App', which still shows only Wallet after I install my app with all the new entitlements and provisioning profile. I have these entitlement successfully provisioning my app:
<key>com.apple.developer.nfc.hce</key>
<true/>
<key>com.apple.developer.nfc.hce.iso7816.select-identifier-prefixes</key>
<array>
<string>A0000000031010</string>
<string>A00000002501</string>
<string>A0000000049999</string>
<string>A0000000041010</string>
</array>
<key>com.apple.developer.nfc.hce.default-contactless-app</key>
<true/>
The documentation here: https://developer.apple.com/support/hce-transactions-in-apps/ also references a link to changes in Info.plist, but the url takes me to storekit-external-entitlement documentation about dating apps in the netherlands ???!!!???
Any help would be appreciated to at least get started by allowing me to change the double tap action to my app.
Thanks
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
Hi,
We are using Apple VAS and ECP2 certified NFC readers. What process will we need to follow to issue NFC-based keys so that we can provide an access control use case?
Any help in this regard will be much appreciated.
Thanks,
Aweliv
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 everyone,
I am working on creating an NFC-enabled Apple Wallet pass but have been unable to get the NFC functionality to work. While the pass itself adds to Wallet without issues, the NFC feature does not activate.
Here’s a summary of what I’ve done:
1. Developer Setup:
Registered a Pass Type ID in my Apple Developer account.
Generated and installed the Pass Type ID certificate.
Installed the latest WWDR certificate.
2. Pass JSON Configuration:
My pass.json file includes the following NFC configuration:
"nfc": {
"message": "Tap to unlock door",
"encryptionPublicKey": "MY_ENCRYPTION_PUBLIC_KEY",
"payload": "encrypted_nfc_payload"
}
3. Testing Results:
When the pass includes the nfc field, it adds to Wallet but NFC does not work.
If I remove the nfc field, the pass works fine (minus NFC, of course).
What I Need Help With:
1. A step-by-step guide for correctly implementing NFC in Wallet passes, including details about encryption, key generation, and any additional setup steps.
2. Information on whether there are specific device or iOS version requirements for NFC-enabled passes.
If there are any prerequisites or specific configurations I might be missing, please let me know. I’d really appreciate detailed guidance or resources that could help resolve this issue.
Thank you!
Context:
Our company distributes the same app under multiple brands/flavors using three different App Store Connect accounts. The app supports Apple Pay in 17 markets, allowing users to switch between markets and pay in their chosen market. To handle payments, we currently create separate Apple Pay Merchant IDs and certificates for each market within each of the three accounts.
This results in:
3 Merchant IDs per market (one for each account)
17 markets supported, requiring 51 certificates to be created and maintained
Key constraints:
All the apps cannot be unified under a single App Store Connect account due to certain requirements.
Question:
Is there a way to simplify this process by consolidating the merchant IDs or certificates across accounts while maintaining the current structure? For example, is there a way to share Merchant IDs across multiple accounts, or is there an alternative approach to reduce the administrative overhead of managing 51 certificates?
Any guidance or best practices for optimizing Apple Pay setups in such multi-account, multi-market scenarios would be highly appreciated!
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?
I am somewhat of a beginner in mobile app development. I have some questions about IAP and commissions. One of my clients has a website that basically acts as the middle man which connects the trainers and participants. Basically, the trainers pay my client a subscription fee and they can list the kind of trainings they have to offer (ex. cardio, weight lifting, ...etc.). These trainings can be one-to-one, one-to-many, or one-to-few depending on the trainers. When the participants see something that they like, they would make a payment directly to the trainers via the website. To save time, we will probably do some kind of webview app. Having said all these, my questions are as follows,
As far as the IAP is concerned, can the payments between the trainers and the participants use third party payment method and ONLY the subscription fee from the trainers to the client use the storeKit/Apple IAP plugin?
If the answer to the question above is Yes (i.e. using Apple IAP for subscription only but use a third party payment for the transactions between the trainers and the participants), does it mean that the commissions ONLY apply on the subscription fees and NOT the payments between the trainers and the participants?
If the answer to Question 1 is No (i.e. ALL the payments have to go through Apple IAP), the commissions would apply to both the payments between the trainers and the participants and the monthly subscription payments, right? In this case though, to my understanding, when using the Apple IAP plugin, essentially, all the payments go to Apple temporarily. After taking out the commissions, the payments would be released to the bank account on file with the App Store within 45 days of the last day of the fiscal month in which the transaction was completed. Am I correct? And if so, as far as the business model on the App is concerned, my client would collect the money released from Apple and then distribute the money to the appropriate trainers. Am I correct?
Hello, I have purchased an Apple Developer Program membership, and the payment was successfully completed. However, I am unable to access my developer account. When I try to log in to the developer section, it still prompts me to make a payment as if the purchase was not completed.
Can you please assist me in resolving this issue?
Hi everyone,
I’m developing an iOS app for fundraising, similar to platforms like JustGiving. The app will allow multiple charities to register and receive donations directly into their Stripe accounts using Stripe Connect.
Given Apple’s strict guidelines, I want to make sure I address the following:
How can I ensure compliance with App Store guidelines for apps that facilitate donations to multiple charities?
Are there specific requirements for verifying charities or disclosing fundraising information within the app?
Any tips for providing sufficient documentation during the App Store submission to avoid delays or rejection?
I’d really appreciate advice from anyone who has experience with similar projects or navigating Apple’s review process for apps involving fundraising and third-party payments.
Thanks in advance!
Maybe this is a strange question but I think it's better to ask this before trying it and see what happens; if we use the dpan or mpan of a recurring payment to make a charge on a date other than the one shown to the final customer, could the payment be made without any problem by the bank or financial institutions involved? Naturally I understand that this would mainly cause great anger to the customer and of course if this were the case this could be explained in the billing agreement, but the doubt is mainly based on whether it is possible to use a dpan/mpan for a payment other than that of the original subscription.
All the listed Discover cards for Sanbox testing listed here are expired, i.e. expiry date is 11/2024.
https://developer.apple.com/apple-pay/sandbox-testing/
Are there any new cards?
Thanks