One self-hosted service. Add an app to a JSON config, get checkout + webhooks + LiteLLM tier provisioning โ without touching code.
Built for self-hosted SKStack deployments. No vendor billing SaaS. You own the data, the keys, the logic.
Register any number of apps in a single apps.json. One SKPayments instance serves them all โ SKAI, your next app, everything.
Payment success โ webhook received โ /user/update fires. User gets their new budget and rate limits instantly. No manual steps.
Every Stripe event is verified with your signing secret. Invalid signatures are rejected with 400. No spoofed upgrades.
Checkout, plan upgrades, downgrades, cancellations. Cancelled subscriptions automatically drop the user to free-tier limits.
SQLite for customer records. Stripe via raw HTTPS. Runs on the open-webui base image already in your stack โ no new packages to manage.
One service, one stack file, bind-mounted config. Traefik + Cloudflare Tunnel labels included. Deploys in under 2 minutes.
SKPayments sits between your app and Stripe โ checkout, webhooks, and LiteLLM updates are fully automated.
Configure once. SKPayments watches the subscription lifecycle and keeps LiteLLM in sync automatically.
Tiers apply directly to LiteLLM user budgets. Limits reset daily. Tiers are fully configurable per-app in apps.json.
All endpoints return JSON. Your app backend calls SKPayments โ users are redirected to Stripe and back.
// Request
{ "user_id": "uuid", "email": "user@example.com", "tier": "pro" }
// Response โ redirect browser to checkout_url
{ "checkout_url": "https://checkout.stripe.com/c/pay/cs_..." }
// Request
{ "user_id": "uuid" }
// Response โ redirect to Stripe billing portal
{ "portal_url": "https://billing.stripe.com/p/session/..." }
// Response
{ "app_id": "skai", "user_id": "...", "tier": "pro",
"stripe_customer_id": "cus_xxx", "stripe_subscription_id": "sub_xxx" }
// Register in Stripe Dashboard โ Developers โ Webhooks: // Endpoint URL: https://pay.nativeassetmanagement.com/webhook/stripe // Events: checkout.session.completed // customer.subscription.updated // customer.subscription.deleted // invoice.payment_failed
SKPayments is one piece of the sovereign AI stack. Everything connects.
Private repo. Full SOP included. Stripe keys dropped in via env var โ nothing else to configure.