本篇系列版部落格:閱讀中文版
app 要收錢,我不自己接商店的 API。mobile 用 RevenueCat,paywall 在它的後台換、不用重新上架;網頁上的付費用 Lemon Squeezy。
自己接 App Store 和 Google Play 的內購,要處理收據驗證、訂閱狀態,兩個平台各一套;網頁上收錢還多了訂閱管理、發票、稅。這些都有人包好了。
RevenueCat 的 README 說它是「免費可用的內購 server」:一個 SDK 包住 StoreKit 和 Google Play Billing,收據在它的 server 驗,訂閱狀態它幫你追,使用者在 iOS、Android 或網頁訂的都看得到,產品在它的 dashboard 設定。paywall 那一頁也在 dashboard 設,SDK 的 PaywallView 把 offering 上設好的 paywall 畫出來。換版面、換價格組合在後台改,app 不用重新送審。
Lemon Squeezy 負責網頁那一邊:一次性付款、訂閱、試用期、暫停訂閱、發票、客戶自助的 Customer Portal,一個 API 加幾個官方 SDK。
mobile:RevenueCat
premium)、offering(一組 package,像 Monthly、Annual)PaywallView 顯示目前的 offering;有沒有解鎖看 entitlement網頁:Lemon Squeezy
npm install @lemonsqueezy/lemonsqueezy.js
import { lemonSqueezySetup, createCheckout } from "@lemonsqueezy/lemonsqueezy.js";
lemonSqueezySetup({ apiKey: process.env.LEMONSQUEEZY_API_KEY });
const { data, error } = await createCheckout(storeId, variantId);
// 付款頁的網址在回來的 checkout 物件裡(attributes.url),把使用者導過去
mobile 收錢用 RevenueCat,paywall 在後台換;網頁收錢用 Lemon Squeezy。兩邊的商店 API 都不用自己接。
明天講免費的 LLM 額度:Cloudflare、OpenRouter、OpenAI 各給多少。
參考: