Skip to content
Popproxx brand logo in stylized cursive font.
Wooden crates of potatoes, onions, tomatoes and peppers on the counter of an outdoor market stall

You Might Not Need a Full Online Store

Jamin Giersbach

A full online store is a lot of machinery: a catalog, a cart, stock counts, shipping rules, customer accounts. If you sell a Saturday workshop, take deposits on custom work, or have three things for sale, most of that machinery sits idle.

Often a payment link is enough. My guide to taking card payments on your website compares the three ways to do it and what Stripe, Square and PayPal charge. This post goes deeper on the smallest of the three: what a link can do, where it stops, and what it costs. I'll use Stripe's version, because Stripe is how my own clients pay me.

A payment link is a web address that opens a checkout page Stripe hosts. You make one in Stripe's Dashboard, the website where you run your Stripe account, without writing any code: pick a product or add a new one, then click Create link (Stripe docs). Anyone who has the link can pay.

You can share it three ways (Stripe docs):

  • As a link in an email, a text message or a social media post.
  • As a QR code. Stripe makes the image for you, and the code doesn't expire. If you switch the link off, the code leads to an expiration page instead.
  • As a buy button on your website. Stripe gives you a short piece of code to paste into a page.

The customer types their card number into Stripe's page, not into your site. My card payments guide explains why that's the safest place for it.

Each of these is a setting on the link, described in Stripe's guide to customizing a payment link.

A class or workshop with limited seats. Make one link for the class and turn on "Limit the number of payments". When the limit is reached, the link switches itself off, and anyone who opens it after that sees a message you can write yourself. One catch: Stripe counts a payment as one completed checkout, so someone who buys two seats in one checkout counts once. For a class, leave the quantity at one. If you need a detail from each person, such as which date they're coming, add a custom field: a short text box, a number, or a dropdown list. Stripe says not to use these fields for personal, protected or sensitive information.

A deposit. A fixed-price link works for a deposit on a commission, a booking or a custom order. Turn on name collection, and a required phone number if you need one, so you know whose deposit it is.

Gift certificates and donations. A gift certificate can be a product like any other, at $25 or $50. For a donation or a pay-what-you-like price, choose "Customers choose what to pay". You can suggest an amount and set a minimum and a maximum; Stripe's default maximum is $10,000 (Stripe docs). Either way, Stripe takes the payment, and the certificate itself is yours to send.

A few products. A link can carry more than one product, and you can let the buyer change the quantity, within a minimum and maximum you set. At checkout you can offer up to 10 optional extras the buyer can tick, such as a second jar or a gift box, and accept promotion codes (Stripe docs). To ship them, have the link collect a shipping address, choose the countries you ship to, and add shipping rates you set yourself, such as standard and express (Stripe docs).

Something monthly. A link can sell a subscription, such as a monthly membership, with an optional free trial. Subscribers can manage it in Stripe's customer portal, a page Stripe hosts, through a link you send them.

After someone pays, the link can show your own thank-you message or send them to a page on your site. Stripe can email them a receipt, and you can refund a payment from the Dashboard. Each link also shows its views, sales and revenue, except a link that includes a recurring price (Stripe docs).

What it costs

On Stripe's standard pricing, as of October 2026, a domestic card payment costs 2.9% + 30¢. There are no setup or monthly fees, and Payment Links are included at no additional charge (Stripe pricing). International cards add 1.5%, plus 1% if the payment needs a currency conversion.

On a $45 workshop seat, that's about $1.61. On a $250 deposit, it's $7.55.

Two extras cost more, if you want them:

  • Your own address. A link normally starts with buy.stripe.com. You can use an address on your own domain instead, such as pay.yourbusiness.com (Stripe docs). That costs $10 a month (Stripe pricing).
  • An invoice after the sale. Stripe can generate one automatically after a one-time purchase, for 0.4% of the total, capped at $2 per invoice (Stripe pricing).

When an invoice fits better

If you're billing one client for one job, Stripe's own comparison points to an invoice instead: an invoice is for a specific customer, and a payment link is for anyone with the link (Stripe docs). An invoice can also take partial payments or set up a payment plan, which a link can't. A link, in turn, lets the buyer pick the quantity or the amount, which an invoice can't.

Stripe Invoicing has no fixed fees. As of October 2026, its Starter plan adds 0.4% per paid invoice on top of the usual payment fees (Stripe Invoicing pricing).

A link is a checkout, not a shop. Stripe pitches it as a way to take payments "without a digital storefront" (Stripe docs). That's the point of it, and it's where the limits come from:

  • A real catalog. Each link sells the products you've put in it. A buyer can change quantities or tick your extras, but can't browse your pages and fill a basket as they go. With a dozen products in several sizes, you'd be looking after a pile of links.
  • Stock. The payment limit counts checkouts on one link. It can close a class when it's full. It isn't an inventory system that tracks sizes and colors, or keeps your counter and your website in step.
  • Complicated shipping. A link offers the shipping rates you've set up, and only on one-time purchases. Stripe notes that some other ways of charging for shipping take code.
  • Customer accounts. For a one-time payment, a link records the buyer as what Stripe calls a guest customer (Stripe docs). One side effect, Stripe warns, is that a promotion code meant only for first orders won't work as expected. If your buyers expect to sign in and see their past orders, you need a store.

Here's how the three steps line up on a site I build.

A pay link on a plan site. Every one of my website plans includes embedding the tools you already use, and a booking embed such as Calendly or Cal.com. Plans start at $2,400 for Starter, a five-page site. From launch day, the $79/mo care plan covers hosting on Vercel with SSL, daily backups, uptime monitoring, and security and dependency updates.

You create the link in your own Stripe account, and it goes on your site as part of the plan. If you'd like me to set up the Stripe account or the products for you, that's billed at my hourly rate: $150 an hour, in 15-minute increments with a 30-minute minimum. See the plans, or start one.

The simple shop, when links start to pile up: up to 10 products on your own pages, with Stripe checkout, for $900 added to any of my plans. Stripe takes its fee on each sale. See the add-ons.

A custom store, for everything past that. My plans leave out "online payments beyond a pay link or the simple shop", along with any store beyond the simple shop, point-of-sale or inventory sync, and customer logins. Shopify and custom stores are custom projects. You pay a $500 deposit and fill in an intake, and I send a free written quote with the scope, the price and the payment schedule. Nothing is built until you accept it in writing. Until then the deposit is refundable in full, and once you accept, it counts toward the project. Start a custom project.

If you're not sure which you need, start with the link. It costs nothing until someone pays, and you'll soon see whether one link is enough.

Jamin Giersbach, who runs Popproxx
Written by

Jamin Giersbach

Jamin Giersbach is one of the three designers who started Popproxx in New York City in 2000. Early clients included WebMD, MSD Capital and Bookmans. In 2007 he took Popproxx to Oregon, and he has run it on his own ever since.

Read the full story →