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
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
32 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
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;
}
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.
please check my post on apple forum.
https://forums.developer.apple.com/forums/thread/755736
Hi,
I am integrating the HCE-based API into our SDK.
Ideal flow
It is bit tricky to support card change (step 3 below) after field-detect/double click due to NFC action sheet. Ideally, the flow is:
User double-click.
App launch
"Hold near Reader" NFC instruction
(optional) User change card
User tap device to POS reader
payment succeed.
Approach A
If I follow the code snippet in CardSession, where it calls startEmulation after readerDetected, I could change card before that. However, the "Hold near Reader" NFC instruction is shown very late, during tap.
User double-click
App launch
(optional)User change card
User tap device to POS reader
"Hold near Reader" NFC instruction
payment succeed.
Approach B
If I call startEmulation after sessionStarted, I could show "Hold near Reader" NFC. However, I could not provide the optional capability to change card anymore.
User double-click
App launch
"Hold near Reader" NFC instruction
User tap device to POS reader
payment succeed.
Neither approach A or B provide optimal approach shown in Ideal flow.
Is this expected from CardSession that there is no option to startEmulation without the action sheet?
Is there a plan to improve startEmulation so that it could show "Hold near Reader" without the action sheet?
Thank you.