Jump to content

StripePaymentLinks – Simple Checkout Integration for ProcessWire


Mikel
 Share

Recommended Posts

Hey folks, fun fact: this module was already featured in this week’s ProcessWire Weekly – even before we managed to post it here in the forum. So, here we are, finally giving it a proper introduction! 😅

(Links to the official ProcessWire modules directory will follow once it’s approved there.)
 


TL;DR:

This module connects Stripe Payment Links with ProcessWire and provides a simple checkout integration for sites that don’t need a full shop. 🎯

Drop a Stripe buy button anywhere

Redirect back to PW thank-you or delivery pages

Buyers get accounts, purchases are logged, access is granted

Access mails are sent automatically
 


First things first: What are Stripe Payment Links?

Stripe Payment Links are basically hosted checkout pages that you can create directly in the Stripe Dashboard – no coding required.

  • You define a product (or multiple line items) in Stripe.

  • Stripe gives you a unique URL (the “Payment Link”).

  • You can drop this URL behind any button, on any landing page, newsletter, or social media bio.

When a customer clicks the link, they’re taken to a secure Stripe Checkout page (PCI compliant, supports all major payment methods, Apple Pay, etc.). After payment, Stripe redirects them back to your success URL.

Super simple. But… on its own, Stripe has no idea about your ProcessWire site, your users, or your gated content. That’s where this module jumps in. 🚀
 


Why another payment module?

We at frameless Media often work on small client projects where setting up a full e-commerce shop would be complete overkill. Think:

  • Coaches selling a few courses or workshops

  • Businesses offering a handful of digital products or subscriptions

  • Creators who just need a buy button on a landing page

Stripe Payment Links are perfect for this. But: ProcessWire on its own doesn’t handle redirects, user handling, or gated delivery pages.

So we built StripePaymentLinks – a lightweight drop-in module to connect Stripe with PW.
 


What it does

  • Handles the redirect back from Stripe Checkout that contains the session id

  • Creates or updates the buyer’s user account

  • Records purchases in a repeater field

  • Manages access to “delivery pages” (only available after purchase)

  • Auto-sends access mails (configurable: never / new users only / always)

  • Provides Bootstrap-based modals for login, password reset, set-password
     


Usage examples

Example 1: Sales page + delivery page

Sales page has a “Buy now” button (Stripe Payment Link). After checkout, the user is redirected to the delivery page, which is access-protected.

→ Module logs them in, grants access, and if they’re new: a set-password modal pops up.

→ An access mail with product links is sent.
 

Example 2: Product without a delivery page

Some products don’t need protected pages (e.g. a consulting slot or voucher).

→ The success redirect goes to a generic thank-you page.

→ The module shows an access summary block with purchased products and sends the mail.
 

Example 3: Mixed purchase (thank-you + delivery page)

A checkout with multiple items: e.g. a “simple product” plus an addon that has its own delivery page.

→ Thank-you page shows the addon link(s).

→ The access mail lists all purchased products.
 


Source & License

The module is open-source under the MIT License.

👉 GitHub: https://github.com/frameless-at/StripePaymentLinks

👉 ProcessWire modules directory: pending
 



So yes: if you or your clients just need a few low-barrier buy buttons, not a full-blown webshop, this might be the module you’ve been looking for. If needed we can provide some screenshots and visual examples next week 😉

Happy to hear your thoughts, ideas, and testing feedback!

Cheers, Mike

  • Like 5
  • Thanks 3
Link to comment
Share on other sites

Because this question came up: No, the user does not have to enter any data before checkout. All user data is pulled via Stripes PHP SDK (included with the module). Therefore the only thing needed for the module to work is that the redirect link configured in Stripe contains the session_id param. You configure this directly in the Stripe backend by simply adding 

?session_id={CHECKOUT_SESSION_ID}

to your desired redirect-URL:

image.thumb.png.4f7f14dee508fcdaeea647bdaf3744d1.png

Thats all. With this session id  the module has access to all data of this specific purchase. 

Cheers, Mike

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...