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:
- Bolt-on compatibility — the payment solution must integrate into the existing custom site, not require migrating the whole site to a new platform.
- Low tax-compliance burden — the owner is a solo operator and does not want to become a sales-tax/VAT compliance expert.
- 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
- No requirement to migrate the site — checkout can be added to the existing custom site via hosted links or an embeddable overlay (Lemon.js), similar to adding a Stripe Payment Link.
- Acts as full Merchant of Record: handles sales tax/VAT/GST collection and filing globally. The owner only deals with ordinary income tax on earnings — no sales tax registration or filing anywhere.
- No monthly fee; free to sign up; all features included regardless of volume.
- Free, automatic dunning/failed-payment recovery (up to 4 retries over 2 weeks for cards; every 5 days for PayPal).
- Flexible, well-documented outbound webhooks to any HTTPS endpoint (including a Google Apps Script web app URL), with HMAC signature verification that Apps Script can validate, and custom-data passthrough that can tie a sale directly to a specific registry record.
Cons
- Digital products only. Physical goods, in-person services, and many service-business categories (marketing, design, consulting, real estate, etc.) are not approved. This is only a blocker if the business sells something outside digital goods/services/software/courses/memberships.
- Fees stack additively and can get expensive: e.g., an international subscription payment could be 5% + $0.50 + 1.5% + 0.5% = 7% + $0.50.
- Refunds forfeit the original transaction fee (not returned to seller); chargebacks cost an additional $15 dispute fee plus the disputed amount.
- Payout minimum ($50) and twice-monthly schedule may feel slow for a low-volume solo business.
- Long-term roadmap has some uncertainty (Stripe acquisition, described as a “stepping stone” toward Stripe’s own MoR product) — not an urgent risk, but worth monitoring over the next 1–3 years.
Squarespace Commerce/Payments
Pros
- If already fully committed to a Squarespace-hosted site, commerce integrates natively with the site builder (product pages, invoicing, etc.).
- Provides tax-rate calculation tools to simplify (but not eliminate) manual tax compliance work.
- Physical products, memberships, and services all supported without Lemon Squeezy’s category restrictions.
Cons
- Cannot be bolted onto an existing custom-built website. There is no mechanism to embed Squarespace checkout/cart/buy-buttons on an externally hosted site — this is a hard blocker for the stated use case.
- Would require migrating the entire website off its current custom build and onto Squarespace, which likely means rebuilding the site’s design/functionality and probably reworking the registry integration entirely.
- Not a Merchant of Record — the owner remains fully responsible for sales tax registration, collection, and filing across every jurisdiction they sell into.
- Platform transaction fees (2–7% depending on tier and product type) apply on top of card processing fees no matter which processor is used — only avoidable by upgrading plan tier, not by choosing a different payment processor.
- No simple, well-documented outbound webhook system for pushing events to an arbitrary external URL like a Google Apps Script endpoint — integration with an external backend like the registry would be significantly harder, if possible at all, for a non-developer.
- PayPal cannot be used for recurring/subscription billing on Squarespace (only one-time payments).
Shopify
Pros
- Starter plan ($5/mo) offers a lightweight checkout-link/buy-button model that, in principle, doesn’t require a full storefront migration — conceptually similar to Lemon Squeezy’s “bolt-on” approach.
- Mature, robust, well-documented webhook system (Admin API) — any HTTPS URL can be registered as a callback, including a Google Apps Script web app URL, across a wide range of event topics (orders/create, orders/paid, etc.). This is comparable in flexibility and ease to Lemon Squeezy’s webhook system and much stronger than Squarespace’s.
- Physical products fully supported, no restrictive category prohibitions like Lemon Squeezy’s.
- Scales well if the business later wants a full online storefront (Basic/Grow/Advanced/Plus tiers).
Cons
- Not a Merchant of Record for standard/independent stores — the owner remains the legal seller of record responsible for sales tax/VAT registration, collection, and filing. Shopify Tax is a paid, opt-in calculator/filing-assist tool, not automatic compliance.
- It is ambiguous/unconfirmed whether the Starter plan’s Buy Button can actually be embedded on a fully external, custom-built website — this is a meaningful open question, not a confirmed capability, for this specific use case.
- Starter plan carries a higher transaction fee (5% with Shopify Payments) than the higher tiers.
- Monthly fee required at every tier (unlike Lemon Squeezy’s no-monthly-fee model) — ongoing fixed cost even in months with no sales.
- If the ambiguity around Starter/Buy-Button embedding resolves unfavorably, the only remaining path is a full storefront plan (Basic and up), which reintroduces the “migrate the whole site” problem.
4. Recommendation
Recommended: Lemon Squeezy — conditional on the business’s product/service being digital in nature (or restructurable as such).
Reasoning:
-
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.
-
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.
-
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.
-
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.
-
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.
5. How the Recommended Integration Would Actually Work
Assuming the offering qualifies as a digital product/service (e.g., a digital registry-linked product, guide, membership, or service delivered digitally):
-
Set up Lemon Squeezy. Create a free Lemon Squeezy account, list the product(s), and set pricing. No monthly fee, no plan to choose.
- 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.
-
Configure a webhook in the Lemon Squeezy dashboard. Point it at the Google Apps Script web app’s deployed URL (the
/execendpoint), and select the relevant events to subscribe to (e.g.,order_createdfor one-time purchases, or thesubscription_*events if selling a recurring membership). Lemon Squeezy also provides a signing secret for this webhook. -
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.
-
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. - 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).
- 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.