💳 [Free Plugin] Stripe Payment Request Button - Accept Apple Pay, Google Pay and Microsoft Pay on your site

The Air Payment Request Button plugin that allows you to accept Google Pay, Microsoft Pay and Apple Pay* on your site.
This plugin is based on Stripe’s implementation of the Payment Request API standard.
You can read more on Payment Request API here.

Below are screenshots of Payment Request in action.

Plugin Property Editor

Instructions for installing and using the plugin are clearly indicated in the documentation link below.

Note that Payment Request requires that you have saved cards in your Google account (for Google Pay in Chrome), Microsoft account (for Microsoft Pay in Edge) and Apple account (for Apple Pay).

Because of this don’t only a the Payment Request button as the only means of payment.
Just use it as an extra form of payment. The plugin comes with an action that allows you to determine if a browser is supported or has as saved card so you take the necessary action.

On Apple Pay
So does this plugin allow me to accept Apple Pay on my site?
YES. See the Apple Pay section in the documentation (link below)

Below are useful links for this plugin:
Documentation page

Demo page (Test on Chrome and Edge either desktop and mobile)

Demo Editor link

If you enjoy my FREE Air plugins including this one and wants to see more free plugins consider buying me some cup of coffee using the link below.


Buy Me a Coffee at ko-fi.com


I want to point out that you can use this plugin alone or in conjunction with any of the existing stripe plugins like @copilot’s Stripe.js plugins.
The Air Payment Request Button will generate the stripe card token. Then from there you can use any of the existing stripe.js actions.
To make it stanalone the plugin also comes with a simple Platform charge action.
See the plugin’s documentation above for more details on this.

Also the demo has two buttons one for making a payment using the plugin’s charge action and the second button uses stripe.js plugin for making a charge.

Great work @seanhoots. I look forward to giving it a test run.

I’ve been looking for a way to do this! Thanks so much @seanhoots

Just been testing this, and it doesn’t seem to display the element. I have everything set up correctly and it’s not working on any of my devices.


I also tried your demos on each of my devices, and it doesn’t seem to be working.

This plugin is great btw!

Hope you can help,
Marcus Andrews

Hi Marcus do you have cards saved in your Google account (for Google Pay in Chrome) or Microsoft account (for Microsoft Pay in Edge).

Try it with the test button on thr stripe documentation page below:

I didn’t have any saved cards, that was the issue! Will add one now.

1 Like

Yes. The whole concept of the Payment Request API standard is to make online payment fast and seemlees buy using Google Pay, Microsoft Pay and Apple Pay.

This means you have to have cards saved in these accounts.
This is the reason I stated that for now you shouldn’t use the Payment Request as the only forum of payment on your site. Use it as an additional form of payment.

On Chrome you can use create test cards using the the Stripe testing cards. I have the link on thr demo page.

Update on Apple Pay.
I can confirm that you can receive payments on your Bubble sites with Apple Pay using this plugin.
See screenshots below.
I’ve updated the Apple Pay section of the documentation on how to set it up.

Stripe dashboard showing the Apple pay payment.

Thanks @emmanuel and @neerja for enabling hosting of files to subdirectories making this possible.


This is great! Any idea if this will work for a native iOS app environment when using a wrapper like Superview?

Hi @stvnsnthn, the payment request api specification is designed for web payments so i don’t think this would work in a webview.
Haven’t tested it but i will be very surprised if this works in a webview implementation like superview.
But we could give it a try and see.

1 Like

I think even if it did, it’d be likely to get rejected by Apple as it circumvents their App Store Payments approach.

Yes you’re right Andrew.
In fact there was a bug that caused Android WebView to expose the Payment Request API and it was quickly patched.

Hi guys for those asking why Apple Pay is not working on Safari, please note that Apple requires you to host a file on your server to verify your domain.
In bubble you go to the Settings page > SEO/Metatags > Hosting files in root directory
See below:

The name should be exactly as above.
As you can see from this example, you need at least a Personal bubble plan to host files.
So even though bubble will allow you to upload the file on a free plan, this file will not be accessible.

For example if i try to access the file in the above example i get this error message from bubble

This means when Apple tries to access this file to verify your site it will fail.

To get Apple Pay to work your need a paid plan on bubble - so you can host and access the apple merchant domain association file.

1 Like

Anyway I’m in talks with Cobubble to merge this plugin into the Stripe.js plugin to give you a smoother experience.

Stay tuned.

1 Like

@seanhoots I implemented your plugin and it works like a charm. Thank you so much.

Would it be possible to let us use our own button please ?
See https://stripe.com/docs/stripe-js/reference#payment-request-show from Stripe Doc

1 Like

Thanks @nicolas_dap, happy it works great for you.

Yes sir. Update your plugin to version 1.3.1

I’ve added a new element to the plugin called AirPayReqBtnCustom. This allows you to use any element, e.g. button, to trigger the Google/Microsoft/Apple Pay payment dialogs.

Just specify the element’s id attribute in the plugin’s properties.

NB: Apple requires your button to meet their exact requirements. So you should create two buttons, one for apple and one for the rest. The plugin element has a state called is ApplePay which will return yes if the user is using apple pay (on safari browsers). Use this state to write conditions to show/hide the appropriate button.

Here is a link to the demo page.

NB. I’ve renamed the original element from Air PaymentRequest to AirPayReqBtnDefault.


Whooo. Love it ! Thanks again²

Can I use this to make a direct charge from a seller to a customer and take fees

@chad yes you can use it for that. This plugin is for the tokenization step so after you’ve got the token with this plugin you can use any charge api call for the charge.