Take payments on your website with the PayPal and Stripe widgets

EverWeb has three payment widgets: PayPal Modern, PayPal (Legacy) and Stripe Payment. Each makes a payment button for a product, a donation or a subscription. Your visitor pays on PayPal's or Stripe's checkout page, and the money goes to your account with them. Drag a widget from the Widgets tab onto your page and fill in Inspector > Widget Settings (the cog, the last icon).

In EverWeb 4.6 and later, a contact form can also take payments, which suits orders, bookings and registrations where you need details from the buyer. See "Widgets or a contact form?" below.

Which widget?

PayPal ModernPayPal (Legacy)Stripe Payment
You needA PayPal business account and its Client IDYour PayPal email addressA Stripe account and its Secret Key
Good forOne product per button, with options, quantity, shipping, tax and discounts. Or a subscriptionA simple shopping cart (Add to Shopping Cart and View Cart buttons), or a Donate buttonCard payments for one product per button, a subscription or a donation
Product details are setIn the widgetIn the widgetIn Stripe. The widget uses the product's Product Price ID

Set up PayPal Modern

  1. In your PayPal account, get a Client ID. Click Get Client ID... in the widget for the page. In PayPal's developer pages, go to Apps & Credentials and create an app.
  2. Paste it into PayPal Client ID.
  3. Set Button Type to purchase. For a subscription, choose subscription and paste a Plan ID that you've created in PayPal. The price then comes from PayPal.
  4. Fill in Product Name, Product Description, Product Image, Price and Currency. All PayPal widgets on one page must use the same currency and the same Payment Sources.
  5. Add options (such as sizes), shipping, tax or discounts if you need them.
  6. Under Actions, choose a Thank You page and a Cancel Order page from your website.

Set up PayPal (Legacy)

Type your PayPal email address in Email Address. Choose a Button Type, then fill in Item Name, Price and Currency. For a cart, put an Add to Shopping Cart button on each product and one View Cart button on the page. Choose a Thank You Page and a Cancelled Page.

Set up Stripe Payment

  1. In Stripe, create the product and its price. You can use Create Stripe Product... in the widget to open Stripe. Copy the price ID.
  2. Copy your Secret Key from Stripe into Stripe Secret Key. Keep this key private.
  3. Paste the price ID into Product Price ID, and set Product Type to Purchase or Subscription.
  4. Add a Product Title, Product Image and Product Description. For postage, paste a Stripe shipping rate ID into Enter Shipping Rate ID.
  5. Choose a Successful Payment Page, a Canceled Payment Page and an Error Page.
  6. Under Checkout Page Settings, Payment Type sets the wording on Stripe's button: Purchase, Book or Donate.

The Stripe widget runs a small PHP program on your server. It works on EverWeb + Hosting, and on other hosts that support PHP (we recommend PHP 8.2 or later).

Widgets or a contact form?

In EverWeb 4.6 and later, the Contact Form Advanced widget can take card payments through Stripe and payments through PayPal. It needs the Contact Forms Enhanced add-on (see What is the Contact Forms Enhanced Add-on?). Visitors fill in the form, choose priced options, see a running total, and pay on Stripe's or PayPal's own checkout page when they send it. You get the form's answers by email, marked Paid, once the payment is confirmed.

Payment widgetsContact form with payments
NeedsEverWeb, plus a PayPal or Stripe accountEverWeb 4.6 or later, the Contact Forms Enhanced add-on, and a PayPal or Stripe account
Best forA Buy, Book or Donate button for a set product or amountAn order or booking where you also need details: names, sizes, dates, notes, an upload or a signature
PricesSet in the widget (or in Stripe)Each option in the form can carry a price, a discount or a percentage, with one tax rate and a quantity (Stepper or Slider)
SubscriptionsYes (PayPal Modern and Stripe Payment)No. One-off payments only
Shopping cart across pagesYes, with PayPal (Legacy)No. One order per form
What you receiveA payment in your PayPal or Stripe accountThe payment, plus the form's answers by email and in your Client Area

Choose a payment widget for a simple buy button, a subscription, or a cart of several products. Choose a contact form when the payment comes with information you'd otherwise have to chase by email, such as a class registration with the child's name, a custom cake order, a session deposit with a date, or a donation with a dedication.

To set one up, see Build a custom form: quote requests, registrations and file uploads, then:

Before you go live

  • Get the padlock. Visitors trust a payment page more with HTTPS, and contact form payments need it. See My site says 'Not Secure': how to get HTTPS (SSL) on your website.
  • Test it. For Stripe, use your test key (it starts with sk_test_) with a price you've created in Stripe's test mode, and pay with one of Stripe's test cards. Then switch to your live key (sk_live_) and a live price ID. For PayPal, make a small real purchase and refund it in PayPal.
  • Publish, then pay on the live page, and check you land on your Thank You page. Payments don't work in Preview.
  • Fees. PayPal and Stripe charge their own fees on each payment.

When to use something else

You wantUse
A form that collects details and takes the payment in one go (EverWeb 4.6 and later)Contact Form Advanced with payments: see "Widgets or a contact form?" above
Members who log in, pay monthly and see members-only pagesMembers-only pages, logins and paid subscriptions: EverWeb Membership Sites
Downloads (PDFs, music, ebooks) sent to buyers automaticallyAn outside service such as Gumroad or E-Junkie. With the EverWeb widgets or a form, you get the buyer's email and send the download yourself
A full shop with stock control and many productsA shop service such as Shopify or Etsy, linked or embedded on your page
Print on demandThe print company's own shop. The widgets only take payments

Common problems

What you seeWhat to do
No product options in the Stripe widgetCreate the options as separate prices in Stripe, and use one widget for each. Or, in EverWeb 4.6 and later, use a contact form with payments, where each option carries its own price
You need the buyer's delivery address with StripeTurn on address collection in your Stripe settings, or add a shipping rate. Ask Stripe if you can't find it. A contact form with payments can ask for it with an Address field
Two PayPal widgets on one page don't workMake sure they use the same Currency and Payment Sources

Related articles

  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

Can I add e-commerce or PayPal to my website? Your options for selling online

Yes. EverWeb has built-in widgets for taking payments with PayPal and Stripe (credit and debit...

Can I password protect my website? Simple Password and Membership Sites

Yes. EverWeb has two ways to keep pages private. Simple Password protects a section of your...

Members-only pages, logins and paid subscriptions: EverWeb Membership Sites

EverWeb Membership Sites lets your visitors sign up, pay, log in, and see pages that only members...

Sell products or digital downloads on your EverWeb website: which option to use

You can sell from your EverWeb website in four ways: PayPal and Stripe payment widgets on your...

Sell a product with options and extras from your contact form

In EverWeb 4.6 and later, a Contact Form Advanced form can work as a simple order form. Customers...