Not every WordPress website needs a full shopping cart. Sometimes all you need is a button — something a visitor can click to pay for a service, book a slot, purchase a single digital product, or make a deposit. Installing WooCommerce for a single payment adds unnecessary complexity and ongoing maintenance that a simpler solution doesn’t require.
WordPress has several ways to add a standalone payment button, most of which take less than an hour to configure. The right option depends on your payment processor preference, whether you need fixed or flexible pricing, and how much you want to customise the checkout experience. If you’re planning the broader structure of a new WordPress site, the step-by-step guide to building a WordPress website at Veravix covers how payments fit into a complete site build.
Quick Answer
The main options for adding a payment button to WordPress are: WP Simple Pay (Stripe-powered, free version available), PayPal Buttons (embed a PayPal-generated code directly, no plugin required), and WooCommerce with a Simple Product (more setup, more flexibility). For most service websites accepting occasional one-time payments, WP Simple Pay with Stripe is the cleanest choice.
Why a Dedicated Payment Button Makes Sense
Visitors who want to pay you expect a simple, trusted checkout experience. A button that routes payment through an unbranded or confusing interface creates doubt at exactly the wrong moment — right when someone has already decided to buy.
There’s also a cost angle worth considering. Payment processors like Stripe and PayPal charge a percentage of each transaction (typically 2.9% + $0.30 per transaction in the US). Some WordPress payment plugins add their own fee on top of that, or charge for features you don’t actually need. The goal is a setup that lets you take payment without paying for unnecessary overhead.
A simple payment button also keeps your WordPress installation leaner. Ecommerce plugins bring database tables, custom post types, and additional pages. For a website that only needs one or two payment flows, that overhead is avoidable.
Payment Button Options for WordPress
Option 1 – WP Simple Pay (Stripe)
WP Simple Pay is a WordPress plugin built on Stripe. It lets you create a payment form or button and embed it on any page using a shortcode. The free version handles one-time fixed payments and redirects buyers to a Stripe-hosted checkout page (which is clean and branded). Paid plans add on-site checkout, subscription payments, and payment plans.
Best for: Service providers, coaches, consultants, and anyone accepting a moderate volume of fixed-price payments. Stripe charges 2.9% + $0.30 per transaction with no setup fees.
Limitations: The free version requires a redirect to Stripe’s hosted page. Advanced features like on-site checkout or coupons require a paid licence.
Option 2 – PayPal Buttons
PayPal generates ready-made payment buttons directly from your PayPal account — no plugin required. You log into PayPal, configure the price and button type (Pay Now, Buy Now, Donate), and PayPal gives you an embed code. Paste that into a Custom HTML block in WordPress and you’re done.
Best for: Audiences who already trust PayPal, or who prefer not to enter card details directly into a site they don’t recognise. PayPal is familiar enough that the redirect feels natural to many buyers.
Limitations: PayPal’s unbranded checkout charges 3.49% + $0.49 per transaction (higher than Stripe). The checkout experience is off-site and takes buyers away from your page. PayPal-specific plugins exist for tighter integration, but aren’t necessary for a basic button.
Option 3 – WooCommerce with a Simple Product
If WooCommerce is already installed on your site, creating a Simple Product set as “virtual” (no shipping required) gives you a product page with a standard checkout. It’s quick to set up if WooCommerce is already there, but adds unnecessary complexity if it isn’t.
Best for: Sites that already run WooCommerce for other purposes, or where you expect the number of payment flows to grow. See the full guide to creating a WooCommerce store in WordPress if you’re considering the fuller ecommerce route.
Limitations: Installing WooCommerce purely for a single payment button is overkill. It adds database overhead, maintenance requirements, and additional pages you don’t need.
How to Add a Payment Button in WordPress (WP Simple Pay)
- Install WP Simple Pay — Go to Plugins > Add New, search for WP Simple Pay, install, and activate.
- Connect your Stripe account — Follow the setup wizard. You’ll be redirected to Stripe to authorise the connection. If you don’t have a Stripe account, create one during this step — it takes about five minutes.
- Create a payment form — Go to WP Simple Pay > Add New. Choose “Payment Form”. Give it an internal title, set the amount and currency, and select “One-time payment” under Stripe Settings.
- Customise the button — Under the “Form Display” tab, change the button label from “Pay Now” to something specific: “Book Your Session”, “Purchase the Template”, or whatever matches what you’re selling. Specific labels convert better than generic ones.
- Copy the shortcode — After saving the form, copy the shortcode displayed at the top of the editor (it looks like [simpay id=”123″]).
- Embed on your page — Open the page or post where the button should appear. Add a Shortcode block (search for it in the block inserter) and paste the shortcode in. Preview to confirm the button appears correctly.
- Test with Stripe’s test card — Enable test mode in WP Simple Pay settings and run a payment using Stripe’s test card number 4242 4242 4242 4242 with any future expiry and any CVC. Confirm the success redirect works and the confirmation email arrives.
- Switch to live mode and go live — Toggle from test to live in the plugin settings. Run one final $1 live transaction to verify before sending real traffic.
Practical Tips
- Use a specific success redirect page. After payment, don’t leave buyers on a generic confirmation screen. Redirect to a thank-you page that explains what happens next — when they’ll receive their product, what the next step is, or simply confirms the details of what was purchased.
- Set up SMTP for confirmation emails. WordPress sends transaction notifications through its built-in PHP mail function by default, which is unreliable. Configure SMTP to ensure receipts reach buyers — the guide on setting up SMTP in WordPress walks through this.
- Pair the button with a strong sales page. A payment button sitting on a bare page converts poorly. Add a clear description of what’s being purchased, who it’s for, and what they get. The guide on creating a sales page in WordPress covers what that page should include.
- Make sure HTTPS is enabled. Stripe’s hosted checkout page works over HTTP, but on-site payment forms require SSL. If your site isn’t already on HTTPS, sort that before embedding a payment form.
Common Mistakes to Avoid
- Installing WooCommerce for a single payment. WooCommerce is the right tool for a proper online store. For one or two payment flows, it adds far more complexity than the job requires.
- Not testing with a real card after going live. Test mode results don’t always reflect real production behaviour — particularly around 3D Secure challenges, which vary by card issuer. Always run a small live transaction before sending traffic.
- Using a generic button label. “Pay Now” tells buyers nothing about what they’re paying for. A specific label — “Confirm Booking” or “Get Instant Access” — reduces hesitation at the point of payment.
- No confirmation email after payment. Buyers expect immediate confirmation. If they don’t receive one, they’ll second-guess whether the payment went through and contact you to check.
Payment Button vs WooCommerce: Which to Choose
Use a payment button plugin when you’re accepting occasional payments for services, consultations, one digital product, or recurring bookings. It’s quick to set up, easy to maintain, and keeps your site lean.
Use WooCommerce when you have multiple products, need inventory management, variable pricing, product categories, or expect to manage an ongoing volume of orders. The full ecommerce infrastructure makes sense at that scale — it doesn’t make sense for a single payment flow on a service website.
Conclusion
Install WP Simple Pay, connect Stripe, test the payment flow thoroughly before going live, and redirect buyers to a confirmation page that tells them what happens next. A well-set-up payment button takes less than an hour to configure and removes a lot of friction between a visitor’s intention and an actual sale.

Etienne Basson works with website systems, SEO-driven site architecture, and technical implementation. He writes practical guides on building, structuring, and optimizing websites for long-term growth.