Combining Turkish and global payment providers in one SaaS
Separate checkout, provider adapters, canonical billing events and entitlements so payment vendors do not own your product domain.
The product should ask whether a user has Pro access, not which provider-specific product ID they bought.
Route checkout by market, normalize provider webhooks into canonical billing events, keep entitlement as the single source of truth and reconcile provider state regularly.
Webhook processing must be idempotent. Domestic TRY checkout and global billing can coexist while sharing one account and entitlement model.
Infrastructure Realities from Turkey
Field decisions for Turkey-focused SaaS: self-hosting vs cloud, local/global payments, CDN, DNS and real latency.