Skip to main content

Add PayPal, Apple Pay, and Google Pay to Your Web Widgets

Enable digital wallet payments on your Web Widgets to give supporters a faster, more secure donation experience.

Cristina Gruita avatar
Written by Cristina Gruita
Updated yesterday

These payment methods reduce friction at checkout and help increase completed donations.

Once added, your donation pages can support one-off payments using PayPal, Apple Pay, and Google Pay (depending on browser availability and your account configuration).

⚠️ Important:

Web Widgets are a Professional only feature. Essential subscribers, please contact us to find out more about upgrading.


Enable Payment Options in Your Accounts

Enable Apple Pay and Google Pay in Stripe

Apple Pay and Google Pay require configuration within Stripe.
Follow Stripe’s Set up Apple Pay for your Website documentation to activate these methods.

Apple Pay requires you to upload a Stripe-provided verification file to your website.

Enable PayPal

To add PayPal as a one-off donation method, see: PayPal.


Use Digital Wallets on New Web Widgets

If your Donorfy account is already connected to PayPal, new Web Widgets will automatically support one-off PayPal donations.

If your Stripe account is configured for Apple Pay and Google Pay, new Web Widgets will automatically present those buttons when the supporter’s browser supports them.


Add Digital Wallets to Existing Web Widgets

After enabling the payment options in your Stripe and/or PayPal accounts, you must update your Web Widgets.

This involves three steps:

  1. Update JavaScript

  2. Add Apple Pay and Google Pay HTML

  3. Add PayPal HTML and hidden fields

Each step is explained below.


1. Update Web Widgets to Use the Latest JavaScript

Replace your existing Stripe JavaScript reference with the latest version.

Old reference example:

<script type="text/javascript" src="https://az763204.vo.msecnd.net/wwjs/stripepayments_2020.5.2.js"></script>

Updated reference:

<script type="text/javascript" src="https://cdn.donorfy.com/wwjs/stripepayments_2024.6.1.js"></script>

2. Add Apple Pay and Google Pay

After updating Stripe and your Web Widget script:

Add the Payment Request Button Container

Insert the following div into your widget HTML — typically under the main donate button:

<div id="payment-request-button" style="margin-top: 20px"> <!-- Target for apple & google pay --> </div>

When loaded in a compatible browser, the appropriate Apple Pay or Google Pay button will appear automatically.


3. Add PayPal to Existing Widgets

After updating your JavaScript file and connecting PayPal, update your widget HTML with the PayPal button container and hidden fields.

Add the PayPal Button Container

<div id="paypal-button-container"> <!-- Target for PayPal buttons --> </div>

Add Required Hidden Fields

<input type="hidden" id="PayPalStatementText" value="{PayPalStatementText}" /> <input type="hidden" id="PayPalClientId" value="{PayPalClientId}" /> <input type="hidden" id="ExternalPaymentReference" value="" /> <input type="hidden" id="PayPal" value="" />

Then replace the placeholder values with your Donorfy PayPal settings:

Example:

<input type="hidden" id="PayPalStatementText" value="A Great Cause" /> <input type="hidden" id="PayPalClientId" value="AbcDEF1236733ndvwdfgwy-HDJHDuw333" /> <input type="hidden" id="ExternalPaymentReference" value="" /> <input type="hidden" id="PayPal" value="" />

When the Web Widget loads, the PayPal button will be displayed.


Disable Apple Pay, Google Pay, or PayPal

If you need to disable any of these payment options, see: Disable Apple Pay, Google Pay or PayPal on a Web Widget.

🤓Tip:

  • Before making any changes to the Web Widgets, we would recommend that to create a copy of your Web Widget and update the copy, when you are happy with the changes you can then switch over to using the updated Web Widget.

  • If you are testing the changes on a staging site, then you will need to ensure that the domain for the staging or test site has been added to your Google ReCaptcha v3 account. If this is not done, then your testing will be blocked by the ReCaptcha process.

Did this answer your question?