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.

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: 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 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.
<!-- 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.
Step-by-step: from WP Admin to live payment
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.
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).
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.
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.
Update / publish
Click Update in the top-right. The button is live on the post or page. Test the click, take your first payment.
WordPress + Payment Button vs the alternatives
| Method | Setup time | Plugins required | API key in wp-config | Branded checkout | Payment methods |
|---|---|---|---|---|---|
WooCommerce + Stripe Gateway | 1–2 hours | 2+ plugins | Yes | WooCommerce-themed | Card + a few wallets |
WP Simple Pay | 30–60 min | 1 plugin (Pro tier) | Yes | Stripe Checkout | Card + Apple/Google Pay |
Stripe Payment Buttons (free) | 20 min | 1 plugin | Yes | Stripe overlay | Card |
PayPal Buttons by Angell EYE | 20 min | 1 plugin | Yes | PayPal popup | PayPal + cards |
PayRequest Payment ButtonBest | 1 minute | None | None | Yours | 20+ including iDEAL, SEPA, Klarna |
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 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.
Frequently asked questions
Do I need any WordPress plugin to use the Payment Button?+
Where should I put the stylesheet — in every block or once site-wide?+
Will the button look right with my WordPress theme?+
Can I use the Payment Button alongside WooCommerce?+
Does it work with caching plugins (WP Rocket, W3 Total Cache)?+
Can I track conversions in Google Analytics or my WP analytics plugin?+
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.