Payment Platform Comparison Report

For: MyVeraScribe — custom-built website with a Google Apps Script “registry” backend Date: 2026-07-02 Platforms evaluated: Lemon Squeezy, Squarespace Commerce/Payments, Shopify


1. Context & Evaluation Criteria

The site in question is a custom-built (non-Shopify, non-Squarespace) website with an existing backend “registry” system built on Google Apps Script (a Google Sheets–based web app). The core requirements are:

  1. Bolt-on compatibility — the payment solution must integrate into the existing custom site, not require migrating the whole site to a new platform.
  2. Low tax-compliance burden — the owner is a solo operator and does not want to become a sales-tax/VAT compliance expert.
  3. Reliable webhook integration — when a payment happens, the platform needs to notify the Google Apps Script registry backend (via webhook) so the registry sheet can be updated automatically.

2. Summary Comparison Table

Criterion Lemon Squeezy Squarespace Commerce Shopify
Base fee 5% + $0.50/transaction, no monthly fee Plan fee ($16–$65+/mo) + platform transaction fee (0–7% depending on tier and product type) + card processing (~2.9% + $0.30) Plan fee ($5–$399+/mo) + card processing (2.5–5%, depending on plan and payment gateway)
Extra surcharges Stacks: +1.5% international, +1.5% PayPal, +0.5% subscriptions, +5% abandoned-cart recovery, +3%/+2% affiliate None beyond stated tiered platform fee + processor fee +2% (Starter/Basic) to +0.2% (Plus) penalty if not using Shopify Payments
Tax handling (MoR status) Full Merchant of Record — collects/files sales tax, VAT, GST worldwide automatically Not MoR — seller registers, collects, and files their own sales tax; Squarespace only provides rate-lookup tools Not MoR (for standard stores) — seller is legal seller of record; Shopify Tax is a paid/opt-in calculator, with limited US filing automation
Requires migrating whole site? No — hosted checkout links + embeddable overlay checkout (Lemon.js) can be added to any custom HTML/JS site Yes — no way to embed Squarespace checkout on an external site; commerce features require a Squarespace-hosted site Partially — Starter plan ($5/mo) offers checkout links/buy buttons without a full storefront migration, but embedding on a fully custom external site is not clearly confirmed; full storefront plans (Basic+) require migrating the site
Webhook / Google Apps Script integration Strong — flexible outbound webhooks to any HTTPS URL, JSON payload, HMAC-SHA256 signature verification (Apps Script can compute this), custom data passthrough ties sale to registry record Weak/unclear — Commerce APIs exist but are oriented around managing a Squarespace-hosted store or importing external sales in; no simple, documented outbound webhook-to-custom-URL feature for typical site owners Strong — mature, well-documented Admin API webhook system, any HTTPS callback URL supported, large set of event topics, comparable in flexibility to Lemon Squeezy
Physical product support No — digital products only (software, SaaS, courses, license keys, memberships, downloads); many service businesses also prohibited Yes Yes
Failed payment / dunning recovery Free, built-in, automatic retries Depends on processor used Depends on processor/plan
Payout schedule Twice monthly, $50 minimum Standard processor payout schedule (typically 1–2 business days via Stripe/Squarespace Payments) Standard processor payout schedule
Long-term platform stability Some uncertainty — owned by Stripe since July 2024; positioned as a “stepping stone” toward Stripe’s own MoR product, though no imminent shutdown signaled Stable, established Stable, established

3. Per-Platform Pros and Cons

Lemon Squeezy

Pros

Cons

Squarespace Commerce/Payments

Pros

Cons

Shopify

Pros

Cons


4. Recommendation

Recommended: Lemon Squeezy — conditional on the business’s product/service being digital in nature (or restructurable as such).

Reasoning:

  1. Bolt-on fit is confirmed, not ambiguous. Lemon Squeezy’s hosted checkout links and embeddable overlay checkout are explicitly designed to be added to any existing custom HTML/JS site without migration. Shopify’s equivalent (Starter plan Buy Button) has unresolved ambiguity about whether it truly supports embedding on a fully external custom site. Squarespace’s option is a confirmed non-starter — commerce cannot be bolted on at all; it would require abandoning the current custom site entirely.

  2. Tax compliance burden is the deciding factor for a solo operator. Lemon Squeezy is the only one of the three that acts as full Merchant of Record, meaning it automatically handles sales tax/VAT/GST collection and filing across every jurisdiction. Both Squarespace and Shopify leave the owner as the legal seller of record, responsible for registering, collecting, and filing sales tax themselves (Shopify Tax and Squarespace’s rate tools only help calculate rates — they don’t remove the compliance obligation). For someone explicitly trying to avoid becoming a tax-compliance expert, this is a significant, structural advantage unique to Lemon Squeezy.

  3. Webhook integration into the Google Apps Script registry is well-supported. Lemon Squeezy’s webhooks are flexible (any HTTPS URL), authenticated via HMAC-SHA256 (which Apps Script can verify natively), and support custom-data passthrough — meaning a sale can be tied directly back to a specific registry item or customer record. This is functionally on par with Shopify’s webhook system and far ahead of Squarespace’s, which has no clear simple path for outbound webhooks to a custom external URL.

  4. The one condition that matters: product/service type. Lemon Squeezy only works if what’s being sold qualifies as a digital product/service under its rules (software, SaaS, courses, license keys, memberships, digital downloads) — it does not support physical goods or many service-business categories (marketing, design, consulting, real estate, etc.). If MyVeraScribe’s registry-linked offering is a digital product, membership, or digital service, Lemon Squeezy fits cleanly. If it involves physical goods or a prohibited service category, Lemon Squeezy is disqualified and Shopify (Starter plan) becomes the fallback recommendation — pending confirmation that the Starter Buy Button can actually embed on the custom site, since its webhook system is strong enough to replicate the same registry-integration pattern.

  5. Squarespace should be ruled out regardless of product type, because it cannot integrate with the existing custom site without a full migration, and even after migration, offers materially worse webhook flexibility for updating the registry backend and no tax-compliance help.

Caveat to flag for the owner: Lemon Squeezy’s long-term product roadmap carries some uncertainty following Stripe’s 2024 acquisition (it’s described as a “stepping stone” toward Stripe’s own separate Merchant-of-Record product). This isn’t an urgent risk — there’s no indication of imminent shutdown — but it’s worth revisiting this decision in a year or two to confirm Lemon Squeezy is still the actively maintained product Stripe wants it to be.


Assuming the offering qualifies as a digital product/service (e.g., a digital registry-linked product, guide, membership, or service delivered digitally):

  1. Set up Lemon Squeezy. Create a free Lemon Squeezy account, list the product(s), and set pricing. No monthly fee, no plan to choose.

  2. Add checkout to the existing custom site. Embed a Lemon Squeezy checkout using either:
    • A simple hosted checkout link (a button/link on the site that sends the customer to a Lemon Squeezy-hosted payment page), or
    • The Lemon.js overlay (a small script tag added to the site’s HTML that pops open a checkout overlay in-page, without leaving the site). In either case, a custom data field is attached to the checkout (e.g., the specific registry item ID or customer identifier) so the sale can be matched back to the right registry record later.
  3. Configure a webhook in the Lemon Squeezy dashboard. Point it at the Google Apps Script web app’s deployed URL (the /exec endpoint), and select the relevant events to subscribe to (e.g., order_created for one-time purchases, or the subscription_* events if selling a recurring membership). Lemon Squeezy also provides a signing secret for this webhook.

  4. Customer completes payment. They click the checkout button/link on the existing custom site, pay via card/PayPal, and Lemon Squeezy processes the transaction — including any applicable sales tax/VAT, calculated and collected automatically.

  5. Webhook fires to the Google Apps Script registry backend. Lemon Squeezy sends an HTTP POST request (JSON payload) to the Apps Script web app URL, containing the event type (e.g., order_created), order details, and the custom data (e.g., the registry item ID) that was attached at checkout.

  6. Google Apps Script verifies and processes the webhook. The Apps Script doPost(e) function:
    • Computes an HMAC-SHA256 hash of the incoming payload using the shared signing secret and compares it to the signature Lemon Squeezy sent, to confirm the request is authentic and not spoofed.
    • Parses the JSON payload to extract the event type, order/customer info, and custom data.
    • Writes/updates a row in the Google Sheets-based registry (e.g., marks the item as purchased, records the buyer, timestamp, and amount).
  7. Registry is updated automatically, with no manual step required by the business owner — the sheet reflects the new sale within seconds of the customer completing checkout.

This is a lightweight, additive integration: the existing custom website, its design, and its registry backend all remain unchanged in structure — only a checkout button/script and one webhook-receiving function are added.