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.
Apple Pay
RSS for tagDiscuss how to integrate Apple Pay into your app for secure and convenient payments.
Post
Replies
Boosts
Views
Activity
I'm implementing Wallet Extension for adding credit card on wallet, I created both extension, UI and NonUI, but the "From apps on your iPhone" option never shows to me.
My extensions have the same entitlements of main app, with the com.apple.developer.payment-pass-provisioning.
My NonUI status function implementation:
final class MBFApplePayNonUIExtensionHandler: PKIssuerProvisioningExtensionHandler {
override func status(completion: @escaping (PKIssuerProvisioningExtensionStatus) -> Void) {
let status = PKIssuerProvisioningExtensionStatus()
status.requiresAuthentication = true
status.passEntriesAvailable = true
status.remotePassEntriesAvailable = true
completion(status)
}
....
I tried this to:
final class MBFApplePayNonUIExtensionHandler: PKIssuerProvisioningExtensionHandler {
override func status(completion: @escaping (PKIssuerProvisioningExtensionStatus) -> Void) {
let status = PKIssuerProvisioningExtensionStatus()
status.requiresAuthentication = true
completion(status)
}
....
Extensions .plists:
NonUI:
NSExtension
NSExtensionPointIdentifier
com.apple.PassKit.issuer-provisioning
NSExtensionPrincipalClass
MBFApplePayNonUIExtensionHandler
UI:
NSExtension
NSExtensionMainStoryboard
MBFApplePayUIExtension
NSExtensionPointIdentifier
com.apple.PassKit.issuer-provisioning.authorization
What am I missing?
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?
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.
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!!
There is coming vawe of SoftPOS class app, turning iPhone into regular payment terminal. so far Apple picks country by country, where the service is available. As for today limited number of regions, where Tap on Mobile is possible to use at all.
Beeing preparing for that vawe we are considering possibly integration scenario and found the following obstacle:
Originally it was possible to integrate as app to app, means Tap on Mobile to other apps, where both apps are installed separately on iPhone. But now Apple does not allowe to make integration as app to app, but only integration is possible by embedded libraries (special libraries are embedded in master app, and on the iPhone there is only one app, which covers also Tap on Mobile features).
1/ Do you know, what is the reason for such restriction to have only embedded libraries method to integrate (although originally it was possible to integrate as app to app, means Tap on Mobile to other app)?
2/ Do you think, Apple release again first integration as app to app, as they allowed originally?
Hi everyone,
We are integrating Apple Pay on the Web, and we're trying to get the automatic renewal of the domain verification working according to the documentation: https://developer.apple.com/documentation/apple_pay_on_the_web/maintaining_your_environment
Initially the domain verification is successful, but then the automatic renewal does not work. We keep getting the emails with the subject "Your domain will expire soon.", but they only say "We were unable to automatically to reverify your domain." without any further details.
We confirmed that the site's SSL certificate has already been renewed by the time Apple attempted the renewal of verification, the certs are renewed 30 days before their expiry (using Let's Encrypt). So according to the docs, at least the renewal attempts 15, and then 7 days before the expiry should be successful.
One example domain is this one: https://www.kayak.com/.well-known/apple-developer-merchantid-domain-association.txt, but we have the same issue for all our other domains as well.
Does anyone have suggestions how to troubleshoot this further?
(I tried creating a support ticket, but they basically replied that they're non-technical, and just linked me to the documentation.
I've seen others complaining about this too, but couldn't find a conclusive solution, so I thought I'd signal boost and create a fresh topic to see if there are any more recent findings about this problem.)
Thanks!
Regards,
Mark
Is it possible to use the deep link for the payment? As if I want to pay. I just click on the payment button and it will kick me out from my existing app and run the payment solution app like Paytm, GPay, PhonePe, etc and the user will make the payment and redirect to their previous app and get the payment status
Received required entitlements from apple and as per the below link ios should allow us make third party app as default contactless app in EEA region.
But, Settings app only shows the toggle button to enable/disable Contactless capability. But, not an option to make an app as default contactless app.
com.apple.developer.nfc.hce.default-contactless-app | Apple Developer Documentation
Anyone has faced similar issue? Is above feature released or not, how can we confirm ?
So creating a IOS-DEVELOPMENT certificate is pretty straight forward... and I suspect some of the other types as well ... but when I try to create a PASS_TYPE_ID certificate it fails with some response messages...
"STATUS" : "404"
"code" : "NOT_FOUND"
"title" : "The specified resource does not exist"
"detail" : "There is no identifier with ID 'null' on this team"
So it would appear it's expecting more attributes to be set in the payload that are specific to creating that type of certificate. Which of course makes sense. There has to be a way of assigning it to a Pass Type ID that you have created. (It would be nice if the API could at least list existing Pass IDs, or even create them - but I've not seen how yet).
But for the life of me I can't find or figure out the syntax for this.
Anyone have any luck?
Hello everyone!
In our application, we have login via phone number (with an SMS code as a password) and the ability to add a bank card to Apple Wallet.
When logging in via phone number, upon receiving the SMS code, it automatically suggests filling in the input field. However, the field itself is not of type .oneTimePassword, and the SMS does not contain @domain, #code at the end (please look at the screenshot).
So, when adding a card to Apple Wallet, PKAddPaymentPassViewController is launched, where entering the code from the SMS is also required to activate the card. However, no autocomplete prompt for the SMS password appears when displaying this field.
Does anyone have information on why this is happening and how it can be implemented?
We couldn't find a descriptive reply for the following and we wanted to get additional feedback.
We've received a notification about using ApplePayRecurringPaymentRequest in Apple Pay JavaScript for recurring, installment and unscheduled payments.
On the page (https://developer.apple.com/documentation/apple_pay_on_the_web/applepayrecurringpaymentrequest) we found a new object (see whole object below) and there are some questions about using and filling the parameters. I hope you will help us for making understanding.
The ApplePayRecurringPaymentRequest should be sent only in initial operation?
A phrase "required" is meant the parameter is mandatory?
Where can we take the lenth for each field?
Parameter regularBilling is applied for recurring, installment and unscheduled payments?
Parameter trialBilling is applied only for recurring payments?
If we sent the regularBilling or trialBilling Apple Pay will authorize a payment automatically without merchant's actions?
In which cases do we have to fill ApplePayLineItemType with value “pending”?
Parameter amount is whole sum of all payments or current only?
Parameter paymentTiming with value:
9.1 "immediate" - when does payment occur when the transaction is complete and sequent payments will occur only after merchant's actions?
9.2. "recurring" - what the different with "immediate"?
9.3. "deferred" - who and how will provide these payments in the future?
9.4. "automaticReload" - when should we use this value? (in description it's not clear)
If merchant can't provide recurringPaymentStartDate and recurringPaymentEndDate can we leave them blank or not send?
If merchant can't provide recurringPaymentIntervalCount can we leave them blank or not send?
Could you describe the usecase with using deferredPaymentDate?
Could you describe the usecase with using automaticReloadPaymentThresholdAmount?
Is billingAgreement mandatory parameter?
Can billingAgreement contain URL on agreement?
Is managementURL mandatory parameter?
What actions can user make on page via managementURL? And which cases are mandatory?
Is tokenNotificationURL mandatory parameter?
In which cases will we receive a request via tokenNotificationURL?
What kind of params specification should be in tokenNotificationURL (names, lenth, type, mandatory)?
dictionary ApplePayRecurringPaymentRequest
{required DOMString paymentDescription;
required ApplePayLineItem regularBilling;
dictionary ApplePayLineItem
Unknown macro: { ApplePayLineItemType type; DOMString label; DOMString amount; ApplePayPaymentTiming paymentTiming; Date recurringPaymentStartDate; ApplePayRecurringPaymentDateUnit recurringPaymentIntervalUnit; unsigned long recurringPaymentIntervalCount; Date recurringPaymentEndDate; Date deferredPaymentDate; DOMString automaticReloadPaymentThresholdAmount; };
ApplePayLineItem trialBilling;
dictionary ApplePayLineItem;
DOMString billingAgreement;
required DOMString managementURL;
DOMString tokenNotificationURL;};
Trying to get Apple Pay with PayPal to work in our Wordpress WooCommerce platform. We've done all of the registration, and have uploaded the apple-developer-merchantid-domain-association data file to .well-known but the file can not be read. It is 644 permission and we have removed the extension per Apple Support, but the link is still not readable and gives a 404 error. If I add a dat or txt extension, it is readable to a web browser, but Apple still doesn't see the file as it doesn't want the extension.
I even tried an order with Apple Pay but it failed. PayPal is useless and just send us to Apple, and Apple doesn't seem to have much on it either. Searching the support files I only find 5 year old posts.
Google Pay works without issue, *** do credit cards and PayPal. Just no Apple Pay.
The instructions are pretty basic:
Download and host live domain association file
Host a domain association file for each high-level domain and subdomain that show the Apple Pay button.
Download the domain association file for your live environment.
Host the file on your live site for each domain and subdomain you want to register, at /.well-known/apple-developer-merchantid-domain-association. For example:
https://example.com/.well-known/apple-developer-merchantid-domain-association
https://subdomain.example.com/.well-known/apple-developer-merchantid-domain-association
Hello everyone,
I have a app for Driver to pay in-store (fuel, garage, etc.) and would like to build a feature that can activate Apple Pay from my app so that Driver can use it to pay with POS terminal instead of double click the Home button. Is it possible?
We are in the process of integrating Apple Pay into our app and have some specific questions regarding the behavior of the payment sheet and token validity:
PKPaymentToken Validity: How long is the PKPaymentToken valid? Does it expire if not used within a certain timeframe?
Payment Sheet Behavior During Backend Processing: We are concerned about the potential for the Apple Pay payment sheet to time out while our backend is still processing the payment. How long will the payment sheet remain open before timing out? Is there a way to ensure it stays active until our processing is complete?
Thank you in advance for any insights you can provide!
Integrating Apple Pay for a Shopify Store via headless ecomm. Shopify on the backend/iOS + visionOS app on the front end. Shopify won't admit that they're at the wrong here BUT they are. The available CSR file from Shopify that you download is not using the encryption method Apple accepts, therefore you have to work some OpenSSL magic on your Mac terminal to create the correct encryption Apple Developer requires. Open Chat GPT 4.0 or later and type in the below, your issue is solved on that front.
"I'm trying to upload a certificate signing request file to create a merchant identity certificate for Apple Pay. I'm getting the following error message from Apple, "CSR algorithm/size incorrect. Expected: RSA(2048)". What does this mean and how do I fix the CSR file? I've uploaded the CSR file for reference."
My issue now is that Shopify gives me an error when attempting to upload the Merchant ID certificate from Apple Developer. Simply stating, "An error occurred while trying to save the certificate."
Anyone else get this far and run into this issue? Thanks
We are having issues with the In App Provisioning process, in particular during the last phase of the process, when the activationData, encryptedPassData, ephemeralPublicKey are passed to the PKAddPaymentPassRequest.
We double-checked with our Issuer Host that activationData was required as plain string not encoded in Base64 in the previous version of PassKit, while now, as stated in the current Getting Started docs (9.5), all of the three objects are required in a Base64 format.
Currently, even after encoding the activationData in Base64, we are still receiving an error after calling handler’s method with an PKPassKitError with code equals 2 and a localizedDescription of: “The operation couldn’t be completed”.
To double check that there wasn't issues within our code, we also tried to add the same Card by manually add it through Apple Wallet application, but the same Alert error appear.
Thanks for your support.
Regards
I need to offer Apple Pay within my visionOS app for ecomm transactions, does this functionality exist yet for Apple Vision Pro apps? Below is the current documentation and I do not see visionOS :/ Just want to confirm.
Apple Pay Developer Doc
Thanks!
Hello,
I am unable to add Amex Cards to my AP wallet for a Amex specific AP test. Anyone else experiencing this issue?
Thanks
Hi, I have used the following url to get a sandbox mastercard card to test apple pay. https://developer.apple.com/apple-pay/sandbox-testing/ I have managed to get it to work using a visa card however with mastercard I cannot. I either get 'Cannot add card' or when the card does get added it just states 'Activating' / 'Your Card is being Activated'
Has anyone else had this or provide a mastercard that would actually work?
I have tried every mastercard debit on that page. Thanks