Accept Apple Pay in your Bubble app through Stripe's Payment Request Button. Enable Apple Pay in your Stripe Dashboard, verify your domain, then use the Stripe plugin's payment element or a custom Stripe Checkout session. Apple Pay appears automatically on supported devices (Safari on Mac/iOS) when configured through Stripe — no separate Apple Pay integration is needed.
Integrate Apple Pay in Your Bubble App via Stripe
This tutorial walks you through accepting Apple Pay payments using Stripe. Since Stripe handles Apple Pay natively through its payment elements, you do not need a separate Apple Pay integration — Stripe detects supported devices and shows the Apple Pay button automatically.
Prerequisites
- A Bubble account with an existing app
- A Stripe account with payments enabled
- The Bubble Stripe plugin installed
- A custom domain (required for Apple Pay domain verification)
Step-by-step guide
Enable Apple Pay in Stripe Dashboard
Enable Apple Pay in Stripe Dashboard
Log into Stripe Dashboard → Settings → Payment methods. Find Apple Pay and enable it. Go to Settings → Apple Pay → '+ Add new domain'. Enter your Bubble app's custom domain. Stripe will ask you to host a verification file at /.well-known/apple-developer-merchantid-domain-association. Download this file and host it on your domain (through Bubble's static file hosting or your CDN).
Pro tip: Apple Pay requires HTTPS and a custom domain. It does not work on Bubble's default *.bubbleapps.io subdomain in production.
Expected result: Apple Pay is enabled in Stripe and your domain is verified.
Configure the Stripe Plugin for Apple Pay
Configure the Stripe Plugin for Apple Pay
In your Bubble editor, go to Plugins → Stripe plugin settings. Ensure your publishable and secret keys are entered. The Stripe plugin's Checkout or Payment Element automatically includes Apple Pay when the customer's device supports it. No additional configuration is needed within Bubble.
Expected result: Stripe plugin is configured and ready to show Apple Pay on supported devices.
Implement the Payment Flow
Implement the Payment Flow
On your checkout page, add a Button labeled 'Pay Now'. Create a workflow: When Pay Now clicked → Stripe Checkout (or Create Payment Intent). Set the amount, currency, and description. When the Stripe Checkout page loads on an Apple device with Apple Pay configured, it automatically shows the Apple Pay option alongside card payment. Users tap Apple Pay, authenticate with Face ID or Touch ID, and the payment completes.
Expected result: Users on Apple devices see and can use Apple Pay during checkout.
Test Apple Pay in Stripe Test Mode
Test Apple Pay in Stripe Test Mode
Switch Stripe to Test mode. On a Mac with Safari, or an iPhone with a test card configured in Apple Wallet, visit your checkout page. Apple Pay should appear as an option. Use Stripe's test card numbers for Apple Pay testing. Check the Stripe Dashboard → Payments to verify test transactions. Note: testing requires an actual Apple device — it cannot be tested in Chrome or on Windows.
Expected result: Apple Pay works correctly in Stripe's test environment on Apple devices.
Handle Payment Confirmation
Handle Payment Confirmation
After successful Apple Pay payment, Stripe fires a webhook (checkout.session.completed or payment_intent.succeeded). Create a backend workflow that handles this event: update the order status, send a confirmation email, and grant access to purchased content. The flow is identical to regular card payment handling — Apple Pay is just another payment method in Stripe.
Expected result: Successful Apple Pay payments update order status and trigger confirmation workflows.
Complete working example
1APPLE PAY SETUP CHECKLIST:231. STRIPE DASHBOARD4 → Settings → Payment methods → Enable Apple Pay5 → Settings → Apple Pay → Add domain → Verify6 → Download domain verification file7 → Host at: yourdomain.com/.well-known/apple-developer-merchantid-domain-association892. BUBBLE STRIPE PLUGIN10 → Enter publishable key (pk_test_ or pk_live_)11 → Enter secret key (sk_test_ or sk_live_)12 → No additional Apple Pay config needed13143. CHECKOUT WORKFLOW15 When Pay Now clicked:16 → Stripe Checkout (amount, currency, success_url, cancel_url)17 → Apple Pay appears automatically on supported devices18194. WEBHOOK HANDLING20 On checkout.session.completed:21 → Find order by session ID22 → Update status to 'paid'23 → Send confirmation email24255. TESTING26 → Use Stripe Test mode27 → Test on Safari (Mac) or iPhone28 → Verify in Stripe Dashboard → Payments2930SUPPORTED DEVICES:31- iPhone (Safari) with cards in Apple Wallet32- iPad (Safari)33- Mac (Safari) with Touch ID or paired iPhone34- Apple Watch (via paired iPhone)Common mistakes when integrating Apple Pay in Bubble
Why it's a problem: Trying to use Apple Pay on Bubble's default subdomain
How to avoid: Set up a custom domain for your Bubble app and verify it in Stripe's Apple Pay settings.
Why it's a problem: Building a separate Apple Pay integration instead of using Stripe
How to avoid: Use Stripe's built-in Apple Pay support. It automatically appears on supported devices with zero additional code.
Why it's a problem: Testing Apple Pay on Chrome or Windows
How to avoid: Test on an actual iPhone, iPad, or Mac using Safari.
Best practices
- Use Stripe Checkout or Payment Elements which automatically include Apple Pay on supported devices.
- Verify your custom domain in Stripe's Apple Pay settings before going live.
- Test on actual Apple devices — emulators and non-Safari browsers do not support Apple Pay.
- Treat Apple Pay transactions identically to card payments in your webhook handling.
- Show a 'Pay with Card' fallback for users without Apple Pay.
- Display the Apple Pay mark/logo according to Apple's brand guidelines.
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
I want to accept Apple Pay in my Bubble.io e-commerce app. I already have Stripe set up for card payments. What additional steps do I need for Apple Pay? Do I need a separate integration?
Enable Apple Pay for my checkout page. I already have Stripe configured. Set up the domain verification, configure the payment flow, and handle webhooks for Apple Pay transactions.
Frequently asked questions
Do I need an Apple Developer account for Apple Pay?
Not when using Stripe. Stripe handles the Apple Pay merchant registration and certificates. You only need to verify your domain in Stripe's settings.
Does Apple Pay work on Android devices?
No. Apple Pay is exclusive to Apple devices. For Android users, Google Pay is the equivalent — Stripe also supports Google Pay automatically through the same payment elements.
Is there an additional fee for Apple Pay transactions?
No. Stripe charges the same processing fee regardless of whether the customer pays with Apple Pay or a regular card.
Can I force Apple Pay to appear on all devices?
No. Apple Pay only appears on supported devices with cards configured in Apple Wallet. On unsupported devices, regular card payment is shown.
How do refunds work with Apple Pay?
Refunds work identically to card refunds through Stripe. Refund via the Stripe Dashboard or API, and the amount is returned to the customer's Apple Pay card.
Can RapidDev help set up payment processing?
Yes. RapidDev can configure Stripe with Apple Pay, Google Pay, and other payment methods, including webhook handling, subscription billing, and multi-currency support for your Bubble app.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation