WordPress + PayRequest

Add a payment button to your WordPress site

Most "WordPress payment" tutorials end with WooCommerce, a Stripe plugin and a settings page longer than your homepage. Skip all of it. Two lines of HTML in any post, page, or widget — Gutenberg, Classic, Elementor or Divi — and you're collecting payments.

Payment button for WordPress sites
The trap

Why "add payments to WordPress" is harder than it should be

WordPress's plugin ecosystem is its strength and its trap. Every payment route the docs send you down — WooCommerce, WP Simple Pay, Stripe Payments, PayPal Buttons by Angell EYE — adds another plugin, another settings page, another database table, another Stripe API key to manage, and another thing to break when WordPress core updates. For most sites that just want a Pay button on a sales page or a tip jar in the sidebar, all of that infrastructure is overkill.

  • WooCommerce installs 8+ tables and a settings page just to render one button.
  • Stripe Payments / WP Simple Pay need API keys stored in your wp-config.
  • Plugin updates can break payment flows on a Tuesday morning.
  • PayPal Buttons SDK plugins force the PayPal-branded popup checkout.
  • Plugin maintenance shows up in WP Admin notifications forever.
The fix

The fix: a button that's just a Custom HTML block

PayRequest's Payment Button is a plain HTML anchor styled by one CSS file. Drop it into a Custom HTML block (Gutenberg), Code Snippet widget (Classic), HTML widget (Elementor) or Code element (Divi) — same two lines, every WordPress builder. No plugin to install, no API key in wp-config, no database tables, no compatibility issues with the next WordPress release.

Zero plugins

Don't install anything. The button is HTML and CSS, two primitives WordPress already supports natively.

Works in every builder

Gutenberg block editor, Classic editor, Elementor, Divi, WPBakery, Beaver Builder — same snippet, all of them.

No API keys in wp-config

PayRequest connects to Stripe, Mollie, PayPal, or Ponto on your dashboard once. WordPress never holds a payment provider secret.

Survives core updates

Because it's plain HTML, the next WordPress release can't break it. There's no plugin compatibility matrix to track.

The snippet

The whole integration, in two lines of HTML

Drop the <link> in your theme's <head> via Theme File Editor, or paste it inline in any Custom HTML block. The <a> goes wherever the button belongs.

custom-html-block
<!-- Paste both lines into a Custom HTML block -->
<link rel="stylesheet"
      href="https://payrequest.app/embed/button.css">

<a href="https://payrequest.me/yourhandle/checkout"
   class="pr-btn pr-btn--default"
   target="_blank"
   rel="noopener">Buy now — €19</a>

Three button styles ship with the stylesheet — pick one to fit your WordPress theme.

Walkthrough

Step-by-step: from WP Admin to live payment

01

Create the Smart Link in PayRequest

Sign in → Payment Page → Smart Links → New. Set the amount, pick methods (card, Apple Pay, iDEAL, PayPal). Copy the URL.

30 sec
02

Open the WordPress page or post

WP Admin → Pages or Posts → Edit. Find the spot where the button should appear (sales section, hero CTA, end of post).

5 sec
03

Add a Custom HTML block

In Gutenberg: click +, search 'Custom HTML', insert. In Classic: switch to the Text tab. In Elementor/Divi: drop in the HTML widget. The block accepts arbitrary markup.

10 sec
04

Paste the snippet

Paste both lines (the <link> and the <a>). The button renders in the editor preview immediately. Optionally, move the <link> tag into your theme's header.php or use the WP "Insert Headers and Footers" plugin so it's loaded once site-wide.

20 sec
05

Update / publish

Click Update in the top-right. The button is live on the post or page. Test the click, take your first payment.

Live
Comparison

WordPress + Payment Button vs the alternatives

MethodSetup timePlugins requiredAPI key in wp-configBranded checkoutPayment methods
WooCommerce + Stripe Gateway
1–2 hours2+ pluginsYesWooCommerce-themedCard + a few wallets
WP Simple Pay
30–60 min1 plugin (Pro tier)YesStripe CheckoutCard + Apple/Google Pay
Stripe Payment Buttons (free)
20 min1 pluginYesStripe overlayCard
PayPal Buttons by Angell EYE
20 min1 pluginYesPayPal popupPayPal + cards
PayRequest Payment ButtonBest
1 minuteNoneNoneYours20+ including iDEAL, SEPA, Klarna
What to ship

What WordPress sites ship with the Payment Button

Single-product sales pages

Selling one ebook, course, template or printable from a landing page? Skip WooCommerce. One Smart Link, one Custom HTML block, you're selling.

Coaching and consulting sites

Pay-to-book buttons on the services page, deposit links emailed to leads, retainer Pay buttons in the client portal. All HTML anchors, no WooCommerce overhead.

Membership and tip-jar sidebars

Replace BMC widgets and donation embeds with a self-hosted Payment Button that pays out at provider rates with 0% platform fee.

Blog post end-of-article CTAs

End every long-form post with a Pay button for the related product, course, or tip. No "checkout abandonment" because there's no cart — just an anchor.

Why this works

Why this beats every "add payments to WordPress" tutorial

Read any guide on adding payments to WordPress and you'll find a 30-step path through plugin installation, setup wizards, gateway configuration, test-mode toggles, webhook validation, success-page redirects, email-receipt customisation, and a final settings tab buried three levels deep. The Payment Button replaces that with two lines of HTML — and gives you twenty payment methods instead of two.

  • No WP database tables touched. Your wp_postmeta stays clean.
  • No plugin update conflicts. The button is just HTML.
  • No API key in wp-config. PayRequest holds the keys, not WordPress.
  • Works on free WP plans, managed hosts (Kinsta, WP Engine), and self-hosted alike.
  • Switch payment provider (Stripe, Mollie, PayPal, Ponto) on PayRequest without re-configuring WordPress.
FAQ

Frequently asked questions

Do I need any WordPress plugin to use the Payment Button?+
No. The button is plain HTML and CSS. WordPress's built-in Custom HTML block (Gutenberg), Text tab (Classic editor), HTML widget (Elementor) or Code element (Divi) renders it directly. No plugin required, on any WordPress version 5.0 or newer.
Where should I put the stylesheet — in every block or once site-wide?+
Once site-wide is best. Add a <link rel="stylesheet" href="https://payrequest.app/embed/button.css" /> to your theme's header.php (in the <head>), or use the free "Insert Headers and Footers" plugin. Then every page that has a button picks up the styles automatically.
Will the button look right with my WordPress theme?+
The three default styles (Blue, Dark, Outline) work in most themes. To match a brand colour exactly, add a few lines of CSS in Appearance → Customize → Additional CSS to override the .pr-btn classes — no theme files touched.
Can I use the Payment Button alongside WooCommerce?+
Yes. They don't conflict. Many sites keep WooCommerce for their main shop and use the Payment Button for one-off sales pages, donation buttons, deposit links, or tip jars where WooCommerce is overkill.
Does it work with caching plugins (WP Rocket, W3 Total Cache)?+
Yes. The button is static HTML and CSS — caching plugins serve it identically to any other content. There's no JavaScript or dynamic logic that would break under aggressive caching.
Can I track conversions in Google Analytics or my WP analytics plugin?+
Yes. Append a UTM query string to the Smart Link href (?utm_source=wordpress&utm_medium=blog) and PayRequest groups conversions by parameter. For client-side tracking, add a click handler in your existing analytics setup — but PayRequest's dashboard usually has the data you need without adding extra tracking.
WordPress + PayRequest

Ship payments on WordPress without a plugin

Sign up, create a Smart Link, paste two lines into a Custom HTML block. Five minutes, no plugin, no API key, no settings page.