Stripe Invoicing for WordPress

Stripe is the fastest way to put a working Pay now button on a WordPress invoice. Here’s the complete setup with DuePress — keys, test mode, webhooks, and what your client actually sees.

Step 1 — Get your Stripe API keys

In the Stripe Dashboard, open Developers → API keys and copy the publishable and secret keys. Stripe provides a separate test mode pair — start with those.

Step 2 — Connect Stripe in DuePress

In your site’s DuePress settings, select Stripe as the gateway and paste both keys. They’re stored encrypted. Already running Stripe through WooCommerce? DuePress can reuse that configuration — no duplicate setup.

Step 3 — Add the webhook

In Stripe, create a webhook endpoint pointing at the URL shown in your DuePress settings, subscribed to checkout.session.completed, checkout.session.expired, and charge.refunded. This is how a payment in Stripe flips your invoice to paid in WordPress — instantly, even if the client closes the tab.

Step 4 — Run a test payment

Send an invoice to yourself and pay with Stripe’s test card — 4242 4242 4242 4242, any future expiry, any CVC. Watch the invoice flip to paid and the receipt email arrive. Then switch to live keys.

What your client sees

A clean invoice page on your domain with Stripe Checkout behind the pay button — cards, plus Apple Pay, Google Pay, and Link appearing automatically on supported devices. One tap instead of typing a card number.

Fees

Stripe’s standard processing fee applies; DuePress adds no platform fee. Deposits and partial payments work through Stripe too — balances track automatically. Using Square instead? Square setup guide. New to this entirely? Start with how DuePress works.

Built by Renzo Johnson