Deep dives on software engineering, architecture, and the real-world decisions
This blog runs on software I wrote. Here's everything I learned doing it.
Latest posts
Adding Booking Deposits to a Multi-Tenant SaaS with PayPal, Square, and Stripe - Including Apple Pay
May 9, 2026Timeli.sh lets service businesses collect deposits, full prepayments, and in-person payments at the time of booking. Adding that feature meant integrating three payment processors - PayPal, Square, and Stripe - behind a single abstraction so each organization could connect whichever processor they already use. I also needed Apple Pay to work through both PayPal and Square, which turned out to be the most involved part of the whole thing.
This post covers the architecture, the per-processor specifics, and a detailed breakdown of how Apple Pay was added to each one.
The architecture: a pluggable payment processor interface
Timeli.sh uses an app store model where every external integration - email, SMS, calendar, payments - is a connected app. Each app implements a typed interface, and the booking system talks to whatever payment app the organization has installed.