Lemon Squeezy
개요
손님이 살 때마다 계산하고, 영수증을 찍어주고, 세금까지 신고해주는 가게를 떠올려 보세요 — 여러분은 물건만 넘기면 됩니다. 그게 바로 "MoR (, 등록 판매자)"입니다. 즉, 법적으로 여러분의 고객에게 판매하는 주체라서 영수증과 세금을 대신 처리하는 회사죠. Lemon Squeezy는 디지털 제품(소프트웨어 라이선스, 다운로드, 전자책, SaaS (Software as a Service, 매달 빌려 쓰는 소프트웨어) 구독)을 판매할 때 바로 그런 역할을 합니다. 순수 결제 처리업체와의 핵심 차이는 Lemon Squeezy가 법적으로 판매 주체라는 점입니다. 결제를 받은 뒤, 전 세계의 판매세와 VAT (Value Added Tax, 부가가치세 — 여러 나라에서 쓰는 판매세)를 여러분을 대신해 계산하고 징수하고 납부합니다. 여러분은 제품과 체크아웃 링크만 연결하면 됩니다. (이 사이트도 PDF + EPUB 번들을 Lemon Squeezy를 통해 판매합니다.)
강점
- MoR: 전 세계 판매세와 VAT를 대신 처리해줍니다 — 1인 판매자에게서 엄청난 부담을 덜어줍니다.
- 빠른 설정: 제품을 만들고, 호스팅형 체크아웃이나 오버레이를 받아 바로 판매를 시작.
- 디지털 재화를 위해 설계됨 — 라이선스 키, 다운로드, 구독, 고객 포털을 기본 제공.
- 처리(fulfillment)를 위한 (웹훅, 판매가 일어나면 자동으로 알려주는 알림)과 (Application Programming Interface, 프로그램끼리 대화하는 통로), 그리고 제휴(affiliate) 및 할인 도구.
트레이드오프
- 순수 결제 처리업체보다 거래당 수수료가 높습니다 — 이 프리미엄이 세무 처리 비용입니다.
- 완전히 커스텀하게 구축한 Stripe보다 체크아웃에 대한 제어권이 적습니다.
- 디지털 제품에 맞춰져 있어, 실물 재고나 복잡한 마켓플레이스를 위한 도구는 아닙니다.
가장 적합한 경우
회계사를 고용하지 않고도 결제와 전 세계 세무 컴플라이언스를 해결하고 싶은, 디지털 제품을 판매하는 인디 메이커와 소규모 팀. 소프트웨어, 강의, 전자책, SaaS를 판매하면서 수십 개 국가에 VAT 등록을 하고 싶지 않다면, 이것이 쉬운 길입니다.
바이브 코딩 적합성
Lemon Squeezy는 연동 표면이 작아서 바이브 코딩의 좋은 대상입니다. 호스팅형 체크아웃 (Uniform Resource Locator, 웹 주소) 하나와 처리용 webhook 하나면 됩니다. webhook은 여러분 앱의 문을 자동으로 두드리는 것입니다. 즉, 여러분의 앱이 "누가 샀나요?" 하고 반복해서 물어보는 대신, 주문이 들어오는 순간 Lemon Squeezy가 여러분 앱을 호출해줍니다. 에이전트에게 체크아웃 오버레이를 여는 구매 버튼을 만들게 하고, 이어서 서명을 검증한 뒤 다운로드나 라이선스를 해제하는 webhook 핸들러를 만들게 하세요. Lemon Squeezy가 MoR이므로 에이전트는 어떤 세무 로직도 구축할 필요가 없습니다 — 과하게 설계하지 않도록 그 점을 알려주세요.
// Lemon Squeezy webhook 검증 (서버 측)
import crypto from "node:crypto";
function verify(rawBody, signature, secret) {
const hmac = crypto.createHmac("sha256", secret);
const digest = hmac.update(rawBody).digest("hex");
return crypto.timingSafeEqual(Buffer.from(digest), Buffer.from(signature));
}
// "order_created" 이벤트 시 구매자에게 접근 권한 부여.