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 Modern | PayPal (Legacy) | Stripe Payment | |
|---|---|---|---|
| You need | A PayPal business account and its Client ID | Your PayPal email address | A Stripe account and its Secret Key |
| Good for | One product per button, with options, quantity, shipping, tax and discounts. Or a subscription | A simple shopping cart (Add to Shopping Cart and View Cart buttons), or a Donate button | Card payments for one product per button, a subscription or a donation |
| Product details are set | In the widget | In the widget | In Stripe. The widget uses the product's Product Price ID |
Set up PayPal Modern
- 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.
- Paste it into PayPal Client ID.
- 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.
- 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.
- Add options (such as sizes), shipping, tax or discounts if you need them.
- 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
- In Stripe, create the product and its price. You can use Create Stripe Product... in the widget to open Stripe. Copy the price ID.
- Copy your Secret Key from Stripe into Stripe Secret Key. Keep this key private.
- Paste the price ID into Product Price ID, and set Product Type to Purchase or Subscription.
- Add a Product Title, Product Image and Product Description. For postage, paste a Stripe shipping rate ID into Enter Shipping Rate ID.
- Choose a Successful Payment Page, a Canceled Payment Page and an Error Page.
- 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 widgets | Contact form with payments | |
|---|---|---|
| Needs | EverWeb, plus a PayPal or Stripe account | EverWeb 4.6 or later, the Contact Forms Enhanced add-on, and a PayPal or Stripe account |
| Best for | A Buy, Book or Donate button for a set product or amount | An order or booking where you also need details: names, sizes, dates, notes, an upload or a signature |
| Prices | Set 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) |
| Subscriptions | Yes (PayPal Modern and Stripe Payment) | No. One-off payments only |
| Shopping cart across pages | Yes, with PayPal (Legacy) | No. One order per form |
| What you receive | A payment in your PayPal or Stripe account | The 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:
- Sell a product with options and extras from your contact form
- Take donations on your website with a contact form
- Event registration and ticket sales with your contact form
- Take bookings and deposits with your contact form
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 want | Use |
|---|---|
| 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 pages | Members-only pages, logins and paid subscriptions: EverWeb Membership Sites |
| Downloads (PDFs, music, ebooks) sent to buyers automatically | An 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 products | A shop service such as Shopify or Etsy, linked or embedded on your page |
| Print on demand | The print company's own shop. The widgets only take payments |
Common problems
| What you see | What to do |
|---|---|
| No product options in the Stripe widget | Create 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 Stripe | Turn 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 work | Make sure they use the same Currency and Payment Sources |
Related articles
- Sell products or digital downloads on your EverWeb website: which option to use
- Can I add e-commerce or PayPal to my website? Your options for selling online
- Build a custom form: quote requests, registrations and file uploads
- Members-only pages, logins and paid subscriptions: EverWeb Membership Sites
- My site says 'Not Secure': how to get HTTPS (SSL) on your website
