While Implementing Wallet Intent Extension, and after verification
The only message i get is
Cannot Add Card
There are no available cards to add.
Any help here is appreciated.
Apple Pay
RSS for tagDiscuss how to integrate Apple Pay into your app for secure and convenient payments.
Post
Replies
Boosts
Views
Activity
Apple Pay stopped working after ios 18 beta update with Iphone 14.
Tried rebooting phone
Tried different cards
Tried toggling Bluetooth , airplane mode. everything.
Potential Apple Pay Notification Delay in iOS 18 Developer Beta
Users are reporting a delay in receiving purchase notifications in Apple Wallet after using Apple Pay. Transactions are confirmed within the Wallet app, but the notification arrives hours later.
As this issue is occurring on the iOS 18 developer beta, it's likely a software bug related to Apple Pay integration with Wallet.
I have reported this to Feedback.
Is anyone else having the same problem?
Hi,
I work in a ticketing company and we used Wallet passes.
Everything works great but some venues report that some qrcodes are unreadable.
I have one example. All information is present but the qrcode could not be read. We tested multiple readers.
The information in the qrcode is only numeric, so ti is not an encoding issue.
What can cause this issue ?
Hi,
I am working on an Mobile App for an Bank . And in the Card Section, they wanted to "Add to Apple Pay" button, which will add their card to the Apple wallet for Payment. I assume its kind of tokenization ?
I am not able to find the write content.
iOS 18 announced improvements to the Wallet Passes. Does anyone have a link to the updated documentation? The old documentation does not have the changes as of the time of this post. There is a video, however, there are no specifications for the the new image formats (e.g., artwork.png).
Iphone 14 pro.
After installing ios 18 dev beta 1, i cannot use anymore the applepay. When i put the iPhone near the pos, i double click the per button, i choose the credit card i want to use, but nothing happens. Tried to change credit card, remove card from. Wallet and re add, nothing worked.
it is a known bug ?
Anyone else ? Workaround?
I'm living in Italy
Fabrizio
There must be some rules that determine which set of localized strings of an Apple Wallet pass (.pkpass) is used when the choice is not obvious.
For instance, I made a pass with localization folders
ko.lproj (Korean)
pl.lproj (Polish)
zh-Hans.lproj (Chinese).
If any of these languages is in my iPhone's preferred languages (Settings... General... Language & Region), then it's easy: the first one on that list is used. But what if the list does not have any of them?
When I try, it seems the Chinese localization is chosen by the Wallet app. Without the Chinese localization folder, it is Korean. If I also add
ar.lproj (Arabic)
then Arabic is chosen.
I can't discern any system here. How does Wallet choose the default localization?
The Wallet Passes docs, https://developer.apple.com/documentation/walletpasses seem to be missing any information about the features coming in iOS 18, specifically the new posterEventType, new semantic tags, and how to build out the event guide for a given ticket.
WWDC24 session: https://developer.apple.com/wwdc24/10108
Hi,
I'm adding ApplePay to our website. It works perfectly. However, I want to hide the ApplePay button on devices that do not have an Apple Wallet configured. I am using the following code to verify this as per ApplePay documentation.
function ShowApplePayButton() {
if (window.ApplePaySession) {
if (ApplePaySession.canMakePayments()) {
if (ApplePaySession.canMakePaymentsWithActiveCard('visa') ||
ApplePaySession.canMakePaymentsWithActiveCard('masterCard')) {
return true;
}
}
}
return false;
}
This function always returns true from a Mac with no wallet configured. So the applePay button is visible on the Mac. When I click on the ApplePay button, there is no option to add or update the Wallet.
This is my ApplePay sample code
function onApplePay() {
if (!ApplePaySession) {
return;
}
var grandTotal = "10";
// Define ApplePayPaymentRequest
const request = {
countryCode: 'GB',
currencyCode: 'GBP',
merchantCapabilities: ['supports3DS'],
supportedNetworks: ['masterCard', 'visa'],
total: { label: 'Total', amount: grandTotal, type: 'final' },
requiredBillingContactFields: ["postalAddress", "name", "phone", "email"],
requiredShippingContactFields: ["postalAddress", "name", "phone", "email"]
};
// Create ApplePaySession
const session = new ApplePaySession(3, request);
session.onvalidatemerchant = async event => {
// Call your own server to request a new merchant session.
const merchantSession = await getAsync("/test/ValidateMerchant", "", "json")
session.completeMerchantValidation(merchantSession);
};
session.onpaymentmethodselected = event => {
const update = {
newTotal: { label: 'Total', amount: grandTotal, type: 'final' }
}
session.completePaymentMethodSelection(update);
};
session.onshippingmethodselected = event => {
const update = { newTotal: { label: 'Total', amount: grandTotal, type: 'final' } };
session.completeShippingMethodSelection(update);
};
session.onshippingcontactselected = event => {
};
session.onpaymentauthorized = event => {
const result = {
"status": ApplePaySession.STATUS_FAILURE
};
const payment = event.payment;
aj.post('/test/ProcessPayment', body, function (response) {
if (response.approved) {
session.completePayment(ApplePaySession.STATUS_SUCCESS);
} else {
session.completePayment(ApplePaySession.STATUS_FAILURE)
}
}, function (xhr, ajaxOptions, thrownError) {
console.log(thrownError);
}, true, 'json');
};
session.oncancel = event => {
// Payment canceled by WebKit
};
session.begin();
}
Could you please suggest a workaround to resolve this issue?
Hello,
I've recently created a merchant ID and added two domains to it. I placed the verification .txt files in the right place (under the .well-known dir) and both verified successfully and show as such in the merchant id setup page.
I am intermittently getting the following error:
{
"statusMessage": "Payment Services Exception merchantId=XXXXX not registered for domain=my.domain.com",
"statusCode": "400"
}
(merchantId and domain have been masked in the above error) -- What's odd is that this is intermittent -- It'll work fine, and then stop and start giving the above error, and then start working fine again, with no intervention from me.
Some context: This is a single server application, so it's not like we've got a server out of sync somewhere.
Thoughts?
Any thoughts?
I'm working in Apple's Sandbox environment to implement in-app purchase of an auto-renewable subscription.
I followed the instructions at this link in order to Enable Billing Grace Period: https://developer.apple.com/help/app-store-connect/manage-subscriptions/enable-billing-grace-period-for-auto-renewable-subscriptions.
However, when I receive an App Store Server Notification for when the user's billing method fails (DID_FAIL_TO_RENEW), it includes no information about the gracePeriodExpiresDate and we never get a GRACE_PERIOD_EXPIRED notification.
Logs showing App Store Server Notification not reflecting Grace Period Enabled.
I enabled grace period in App Store Connect like three weeks ago, so it's not a delay there.
What can I do to test out Billing Grace Period? Is this just an Apple bug?
Hello,
I am having issues with Apple Pay for issuers.
I am not able to get passes from my Apple Watch. I am 100% sure that my Apple Watch is paired, and debug logs show that a remote pass library exists. The issue is that I have my card added on both my phone and watch, and I always get a blank passes array for my Apple Watch. This is the code I am using:
let localPasses = PKPassLibrary().passes().compactMap { $0 as? PKSecureElementPass }
let remotePasses = PKPassLibrary().remoteSecureElementPasses
When the card is already added to my phone, when I tap the "Add to Apple Wallet" button on in-app provisioning, I still get a choice to add the card to either my phone or watch, which is not correct. I am getting the FPANID from the other pass in my wallet and setting it on PKAddPaymentPassRequestConfiguration.primaryAccountIdentifier, which according to the docs should be all that is required.
Any help is appreciated!
Thank you.
For American Express cards, as of June 2024, no test cards from https://developer.apple.com/apple-pay/sandbox-testing/ can be added to the Sandbox Apple wallet and got this error. has reached out to Apple Pay Support.
The device region, test account, app store settings are all pointing to United States as region.
Hello, I started to integrate App Store Server Notifications and App Store Server API, both sandbox, on backend and I have encountered the following problems:
App Store Server Notifications:
After a payment is done on mobile, apple sends a notification to our backend which contains a JWT, the problem is that JWT seems to be incomplete and I can't decode it to see the details.
App Store Server API:
After a payment is done on mobile, mobile sends to our backend the transaction id, we use that id to make a request to App Store Server API in order to receive details about the transaction, but again the JWT received seems to be incomplete having at the end 3 dots.
Any idea why both of them are incomplete?
Hello!
For Apple Pay, I'd like to disable the option for a customer selecting Apple Pay Later (tab).
In Swift, very easily modify the PKPaymentRequest with:
if #available(iOS 17.0, *) {
paymentRequest.applePayLaterAvailability = .unavailable(.itemIneligible)
}
However, how can this be setup to test that it works?
Very easily add sandbox account, and test cards, but not so easy to enable Apple Pay Later, or documented so the end user (tester) can test it.
Anyone know how to go about setting this up?
Thanks!!
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.
Hi,
I'm adding deferredPaymentRequest container to get MPan, but payment is now cancelled by Webkit, no other explanation
What is the next step to get mpan ?
Regards,
Louis
"deferredPaymentRequest": {
"deferredBilling": {
"label": "Deferred Payment",
"amount": "1.99",
"type": "final",
"paymentTiming": "deferred",
"deferredPaymentDate": "2024-06-1",
},
"managementURL": 'https://.../apmsim/pay/appleManagement',
"paymentDescription": "this is a paymentDescription",
}
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.