Skip to main content

Checkout and Payments

Buyer checkout and payment outcomes that lead to provisioning — either a SaaS PlatformPlan for using MyHoreca Licensing, or a vendor commerce purchase that results in license grants. PSP secrets and webhook signing credentials are never published on this site.

Three names that must stay distinct

TermMeaning
PlatformPlan (SaaS)Subscription tier for using the Licensing platform (dogfood / internal forever-free ≠ customer Free trial)
License Plan (POL)Vendor packaging for a catalog Product — features/limits
Offer / price book (VCM)Vendor-facing commerce price for selling their software

UI and integrator docs should qualify Platform plan (SaaS) vs License plan (packaging) vs Offer. See also Plans · Trials.

Payment planes (boundaries)

PlaneRole
Platform Billing (PBL)Charges for MyHoreca SaaS / PlatformPlan
Vendor Commerce (VCM)Vendor buyer checkout that fulfills licenses / grants

They use separate provider wiring and webhook routes. Runtime does not call payment providers.

Public PlatformPlan pricing source

Anonymous pricing consumers may read GET /api/v1/public/platform-plans. The route returns only PlatformPlans explicitly marked both Active and Public, in deterministic order. Internal, Draft and Retired plans are not returned. The payload contains safe price and platform-capacity fields only; it contains no PSP reference, tenant, Product, Customer, License or Runtime authority. Responses support a strong ETag and bounded public caching.

The bilingual WWW route /{locale}/pricing renders this catalog directly. It shows locale-aware prices and platform limits with explicit loading, empty and retryable failure states. Malformed or unavailable evidence produces no partial cards and no fallback to old hard-coded prices.

Live vs Fake

When live PSP credentials are unset, Fake remains the safe default for development. First live PSP family is Stripe (Checkout Sessions + inbound webhooks; opt-in via ops secrets). Other PSPs are follow-ups — this page does not invent multi-PSP UX.

Buyer SPA may show Fake succeed/fail only in Fake mode; live checkout uses provider redirect + webhook fulfillment. No card data or PSP secret keys in SPA or docs samples.

What operators must never put in public docs

  • Live Stripe (or other) secret keys / webhook signing secrets
  • Full webhook payloads with PII in examples
  • Private Host / platform.json credential material — see Secrets

Next steps