While troubleshooting Tap to Pay on iPhone, it is essential that the developer is able to collect logs on their device and check those logs for error messages. This is also essential when reporting issues to Apple. To gather the required data for your own debugging as well as reporting issues, please perform the following steps on the test device:
Install the Tap to Pay profile on your iPhone.
Reproduce the issue and make a note of the timestamp when the issue occurred, while optionally capturing screenshots or video.
Gather a sysdiagnose on the same iPhone.
Create a Feedback Assistant report with the following information:
The bundle ID
The serial number of the device.
For iOS, open Settings > General > About (tap and hold to copy).
The SEID (Secure Element Identifier) of the device, represented as a HEX encoded string.
For iOS, open Settings > General > About > SEID (tap and hold to copy).
The sysdiagnose gathered after reproducing the issue.
The timestamp (including timezone) of when the issue was reproduced.
Screenshots or videos of errors and unexpected behaviors (optional).
Submitting Your Feedback
After your submission to Feedback Assistant is complete, please respond to your post with the Feedback ID. Once received, I can begin my investigation and determine if this issue is caused by an error within your app, a configuration issue within your developer account, app configuration, or an underlying system bug.
Cheers,
Paris X Pinkney | WWDR | DTS Engineer
Tap to Pay on iPhone
RSS for tagAccept contactless payments right on iPhone in your payment apps without any extra terminals or hardware.
Posts under Tap to Pay on iPhone tag
33 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Hi,
We have built a Web App that allows small clubs (such as gymnastics or cheerleading clubs) to manage their members, maintain a small store and allows members to subscribe to and pay for courses, classes and other such in-person events.
We are starting to build an IOs App that will allow Club Members to book and pay for in-person events and buy physical items from a Club's online store (such as uniforms etc.). We would like to use Stripe to take payments from within the app. The app itself will be free.
I want to be sure about the rules around In App purchases, more specifically the fees for taking such payments. If Clubs have to pay Apple's 30% payment fees for In App purchases, it makes payment through the IOs apps not viable.
Can anyone confirm that this app would be allowed to use Stripe for payments and not have to use StoreKit? Also that this app would not be subject to the 30% fees for purchases of in-person events and physical products?
We have integrated the card provisioning in Apple wallet for quite sometime now through an external processor and we got the App Entitlement for the same.
Now we are building the card provisioning in Apple Wallet flow in our app. Though everything seems to work fine (including issuer certificates, nonce etc.) but when we are clicking on ADD button on card details screen, I am getting an error saying "Could Not Add Card".
When I inspect the error from didFinishAddingPaymentPass, it reads "The operation couldn’t be completed. (PKPassKitErrorDomain error 2.)". Though the Apple documentation suggests it as an unsupportedVersionError but it does not say anything beyond that. I want more detailed explanation because of which I am getting this error
I'm currently working on an AppIntent in my app to import Apple Pay transactions via Transaction triggers in Shortcuts. While I can access the transaction name with the following code:
@Parameter(title: "Transaction")
var transaction: String
I'm not sure how to retrieve the full details of the transaction, including:
Card or Pass
Merchant
Amount
Name
At the moment, transaction only provides the name as a string, but I need access to the complete transaction data. I know that by selecting specific fields like Amount, Merchant, etc., I can retrieve each piece of data individually, but it would be much easier and more user-friendly to simply retrieve the entire transaction object at once.
Has anyone successfully retrieved all details of an Apple Pay transaction in this context, and if so, could you share how to do so?
Hello,
I have had a problem with Transaction shortcut automation since last month, the automation does not work anymore.
Whenever a transaction is done, I tap in the notification to run the automation but always gives the error "Automation failed".
I can confirm the automation worked last month but suddenly it is not working anymore. Below is the screenshort of the error and the other image is how it appeared in numbers when running the automation.
As you can see, in Jan 8th worked fine (that is why the full name of the card appears). Actually, the other rows are from another shortcut that I have.
I would really appreciate if anyone has any insights about that, or if this happened to you as well.
Thanks in advance! Arnold
Hi team,
We were wondering what's the correct way of configuring a test environment with Apple Pay.
Not sure if this is explicitly mentioned in the documentation, but in order to avoid having the same certificates shared between test and production, should we have a different merchant identifier (and pair of certificates) for test purposes only?
The above is the main question. However, two follow up questions:
Do you know if payment processors usually allow the merchant ID to be configured, so that only payments generated with the prod certificates can be accepted?
Is there any risk of someone getting hold of the certificates generated for the test environment (which are usually less safe than production) and using that to process payments in production?
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,
I can see this option in my certificate on the developer.apple.com platform.
The entitlements file is updated with:
com.apple.developer.proximity-reader.payment.acceptance
code-block
I’ve created a new profile for development and App Store, but in Release mode, my profile is not recognized…
What configuration might be missing?
Hello everyone!
I hope I'm on the right forum topic...
I have a question about payments on the app store.
I am in the process of developing a mobile application that allows families to post photos on the application. Each month, all the content posted is put into a journal which is then printed and sent to the family's grandparents.
So my app sells a physical product. I'd like to know more about the 30% tax on in-app purchases. I don't think I'm eligible since it's a physical product, but I'm not sure.
My question also arises if I offer a monthly subscription system to receive the newspaper each month?
Thank you very much in advance for your answers!
Loïc
Hi,
I want to develop the fastest payment method for my user and preferably without the user also having a mobile app.
The dream is that it happens as easily as possible when the user/guest scans a pass from the wallet.
Hopefully the user just has to approve on the screen.
Can I attach card details/payment methods to a pass in the wallet?
Right now it is a unique QR code for each user, but can I change the pass type to 'tansit', 'loyalty' or 'membership'?
My system right now:
The customer/guest registers on a website and creates a pass and downloads it to the wallet.
The store has a PWA app to scan the customer's/guest's items.
My goal: The guest just scans the pass in the wallet and makes the transaction. Dont need an app or go back to the website/login where the person created the pass for the wallet.
I am trying to implement Tap-To-Pay in my app. I want to use this feature to be able to read my debit card details and pass it to my payment processor SDK Cybersource to securely do the payment.
I tried following this documentation
https://developer.apple.com/tap-to-pay/#regions
I want to know if this implementation is possible or not?
If it is possible can you guide me the process on how to read card data?
Thanks
Hi All,
I would like to know what kind of JWT I have to create.
This is the text from the Docs:
" get a JSON web token (JWT) from your payment service provider that includes the merchant’s unique identifier "
and
" Valid and signed token from a participating payment service provider. "
It's possible to have an example of JWT Token ? Because I tried some kind of JWT but I always got the same error:
" PaymentCardReaderError.invalidReaderToken(_:)
An error that indicates an invalid, non-empty reader token. "
https://developer.apple.com/documentation/proximityreader/adding-support-for-tap-to-pay-on-iphone-to-your-app
Thanks
Gianluca,
we want to get the last four digits of the real card number in apple Pay, and I found information about it in the document, link:
https://developer.apple.com/documentation/passkit_apple_pay_and_wallet/pksecureelementpass/3543366-primaryaccountnumbersuffix?language=objc
My question is how to use it,can you provide sample code? We are very anxious, thank you!
Hello,
I’m developing an app and want to explore the possibility of using an iPhone to emulate an NFC tag. Specifically, I’m interested in enabling one iPhone to act as an NFC tag that another iPhone can read, creating a tap-to-interact experience within my app. Is this functionality supported by current iOS APIs, or is it something that might be available in the next update for iOS 18.1 which is supposedly unlocking iPhone NFC chips? If not, are there any workarounds or third-party solutions that can achieve this such as bluetooth low energy (BLE) maybe?
Any insights or guidance on how to implement this feature would be greatly appreciated.
Thank you!
I would like to understand what solution there is for accepting ApplePay within Hotel Front-Desk check-ins, that would allow a Hotel to use the stored ApplePay token from the Apple Device, to hold on account for room breakages, in-room services, items added to room account etc. To then be able to use the Apple Token for processing unscheduled Merchant Initiated Transactions (MITs). Is this possible today in that environment, where the consumer wants to tap their phone to pay at the front desk and use that Apple Device Token against their room account as opposed to having to present a physical credit card? I know for Ecommerce there is the MPAN now for scheduled/unscheduled payments, but what about for when the consumer/customer checks in to the Hotel at the physical location and wishes to use ApplePay to tap on the card terminal/reader? Thanks, Steve
We are essentially implementing a membership card feature wherein the card details originates from a third-party provider and gets stored in the Apple Wallet. We are utilizing the Passkit Generator ( https://www.npmjs.com/package/passkit-generator ) for this purpose.
The challenge, or rather issue, is that when this card is saved to Apple Wallet and tapped on the NFC reader, it only shows "Invalid Card."
When we attempted to gather information from the third-party provider regarding this issue on both Android and iOS, they stated:
"For IOS we do not have any experience to share with, rather than the fact we have implemented the VAS protocol under an NDA signed with Apple.
Related to Passkit we do not have any experience with it."
We require your assistance to identify any potential issues.
Hi!
I am having a strange issue when I try to build my react native project in an eas managed workflow (including dependencies just in case).
The error I get is:
Provisioning profile "[profile]" doesn't include the com.apple.developer.proximity-reader.payment.acceptance entitlement. Profile qualification is using entitlement definitions that may be out of date. Connect to network to update. (in target '[project_name]' from project '[project]')
I find this weird because I have enabled the entitlement in my identifier and my provisioning profile reflects this fact. I have set up an entitlements file where I have set up the kv pair for the entitlement.
Any help would be much appreciated!
I have a merchantId which from Buckaroo.
it is return false when I call canMakePaymentsWithActiveCard
I also have an merchantId which from Apple directly.
it is return true on sandbox test account.
The merchantId from buckaroo return true. when we test it on Mobile with real account.
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 am getting error while await applePayClient.PostAsJsonAsync(validationUrl, validationPayload)
I am testing it on local machine. Am I even can test this on local machine or not?
Error: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..
validationUrl: https://apple-pay-gateway.apple.com/paymentservices/startSession
JS
C# code:
var applePayClientHandler = new HttpClientHandler
{
SslProtocols = System.Security.Authentication.SslProtocols.Tls12 | System.Security.Authentication.SslProtocols.Tls13
};
var applePayClient = new HttpClient(applePayClientHandler);
var merchantId = "merchant.com.xxxxxx.sandbox";
var _displayName = "Sandbox";
var domainName = "xxxxxx.co";
var validationUrl = request.ValidationURL;
var validationPayload = new
{
MerchantIdentifier = merchantId,
DisplayName = _displayName,
Initiative = "web",
InitiativeContext = domainName
};
try
{
var response = await applePayClient.PostAsJsonAsync(validationUrl, validationPayload);
var merchantSession = await response.Content.ReadAsStringAsync();
return merchantSession;
}
catch (HttpRequestException httpEx)
{
// Log detailed HTTP request/response information
Console.WriteLine($"HttpRequestException: {httpEx.Message}");
if (httpEx.InnerException != null)
{
Console.WriteLine($"InnerException: {httpEx.InnerException.Message}");
}
throw;
}