Square on checkout link page apple pay button not showing when added app fee parameter
Check that Apple Pay is enabled for the account and compare the Checkout Session with and without app_fee. If it only breaks with that parameter, share your Checkout Session code (without sensitive data) so the cause can be identified.
Hi @jasonmiller57476 and @masonreed343,
Thank you for the reply. I have compared the two sessions. In both cases,
apple_pay is explicitly set to true in
accepted_payment_methods .
Without app_fee (Apple Pay shows):
“checkout_options”: {
“accepted_payment_methods”: { “apple_pay”: true, “google_pay”: true },
“shipping_fee”: { … }
}
With app_fee (Apple Pay disappears):
“checkout_options”: {
“accepted_payment_methods”: { “apple_pay”: true, “google_pay”: true },
“app_fee_money”: { “amount”: 21, “currency”: “USD” },
“shipping_fee”: { … }
}
The button only disappears when the
app_fee_money
parameter is added. Is there a specific requirement or account setting needed to support Apple Pay when an application fee is involved?"
Is this happening in sandbox or production?
Production haven’t checked on sandbox
Thank you! Are you using OAuth or a personal access token?
OAuth using with app fee
Any update @ashley-square
Thank you for your patience as I dug into this on our side.
This is a known limitation of Square-hosted payment links (Checkout API). When app_fee_money is included in the request, the Apple Pay button will not appear on the hosted checkout page, even if accepted_payment_methods.apple_pay is set to true.
This occurs because the hosted checkout’s internal domain registration for Apple Pay doesn’t extend to third-party application configurations when an app fee is involved. There is currently no request-level parameter or account setting that resolves this.
Workarounds:
-
Remove the application fee from the payment link. If Apple Pay is a priority for your buyers, omit
app_fee_moneyfrom your Checkout API request and handle fee collection through another mechanism. -
Use the Payments API with the Web Payments SDK. Build a custom checkout experience on your own domain. Register and verify your domain for Apple Pay in your Square Developer Dashboard, then use the Payments API to collect the application fee. This approach supports both Apple Pay and app fees together.
References:
• Collect Application Fees
• Web Payments SDK – Apple Pay
• Checkout API Guidelines and Limitations
@ashley-square if i manually verify my domain via api or square app dev dashboard so it will work’s ?