Updated 13 March 2026
Krayin SaaS Subscription lets you sell Krayin CRM access as plans (monthly/yearly), take payments via Stripe, and automatically activate/deactivate tenants based on subscription status,
and manage subscribers/invoices from the Super Admin panel.
Note: Krayin SaaS must be purchased and installed before you can use the Krayin SaaS Subscription module, since the subscription feature depends on the SaaS setup.
With Krayin SaaS Subscription, you can publish subscription plans and let new tenants choose a plan, sign up, pay through Stripe Checkout,
and instantly get their own CRM tenant (subdomain/domain) without manual intervention.
Instead of creating tenants one-by-one and tracking payments manually, you configure Stripe once, create plans once,
and the rest of the flow—plan selection, tenant registration, checkout, activation, renewals, and invoices—runs automatically.
Follow these steps in your Krayin SAAS root project to install and enable the subscription module.
Go to config/app.php and add this under providers:
Webkul\SaasSubscription\Providers\SaasSubscriptionServiceProvider::class,
Go to composer.json and add this under autoload → psr-4:
Webkul\\SaasSubscription\\": "packages/Webkul/SaasSubscription/src
Go to app/Console/Kernel.php and add this line in the schedule method:
$schedule->exec('php artisan subscribers:expiry')->daily();
Go to app/Http/Kernel.php and add this in the $middleware array:
\Webkul\SaasSubscription\Http\Middleware\AllowOnlySpecificUri::class,
Go to app/Http/Middleware/VerifyCsrfToken.php and add this under the $except array:
'subscription/stripe/webhook',
Run these commands from the project root:
composer require stripe/stripe-php
composer dump-autoload
Run:
php artisan vendor:publish
When prompted, press 0 and then press enter to publish all assets and configurations.
Run:
php artisan migrate
Run:
php artisan queue:table
Update .env and set:
QUEUE_CONNECTION=database
Integrating Krayin SaaS Subscription with Stripe makes managing subscription payments much easier and more reliable. Stripe handles the entire recurring billing process automatically,
So you do not need to manually track tenant payments every month or year.
Go to Super Admin ⇾ Dashboard ⇾ Settings ⇾ Configuration ⇾ General ⇾ Subscription ⇾ Subscription Settings and enable the Subscription toggle.
(Optional) Enable notification settings and add emails for subscription-related notifications.

Go to Super Admin ⇾ Dashboard ⇾ Settings ⇾ Configuration ⇾ General ⇾ Subscription ⇾ Stripe and enable Stripe. Then fill:
pk_...)sk_...)whsec_...)
In your Stripe Dashboard, open Developers ⇾ API keys. Copy the Publishable key and the Secret key and paste them into Krayin’s Stripe configuration fields.

In Stripe Dashboard, go to Developers ⇾ Webhooks and create an endpoint with this URL:https://YOUR_DOMAIN/subscription/stripe/webhook

After creating the endpoint, click it and copy the Signing secret (looks like whsec_...) and paste it into Stripe Webhook Secret in Krayin.
Go to Super Admin ⇾ Subscription ⇾ Plans ⇾ Create and create your plans (example: Starter/Pro/Enterprise).
Fill plan details like name, billing validity (monthly/yearly), amount/discount, recommended flag, permissions, and restrictions (for example: max users, max webhooks, etc.)

After creating a plan in the SaaS admin panel, the plan is automatically created and visible in the Stripe dashboard as well.

Click Register Tenant, which will redirect you to the plan selection page.

Then click Select on the desired plan to begin the tenant signup process with that plan.

Complete the tenant registration steps (email/password, profile details, and username). The username becomes the tenant subdomain (for example acme.yourdomain.com).
After submitting, Krayin creates the tenant and then redirects you to payment (when subscription is enabled).

After signup, you’ll be redirected to Payment Gateways. Click Subscribe under Stripe to open Stripe Checkout and complete the payment.


Once the payment is successful, Stripe sends updates via webhook to Krayin at /subscription/stripe/webhook.
Krayin uses these events to renew subscriptions, handle failed payments, and process cancellations.
After payment confirmation, the tenant can log in to their CRM domain. From the tenant admin panel, upgrade/downgrade, or cancel.

Go to Admin ⇾ Company ⇾ Plans to view the active plan

Invoices can be found under Admin ⇾ Company ⇾ Invoice.

Super Admin can monitor everything from Super Admin ⇾ Subscription menus (Plans, Subscribers, Invoices). This helps you track subscribers, plan usage, and payments centrally.
plans



Krayin SaaS Subscription turns tenant onboarding into a complete self-serve flow: publish plans, accept
payments through Stripe, and automatically provision and control tenant access based on subscription state.
After configuring Stripe credentials and webhook secret, you can reliably handle renewals, failed payments, and cancellations—while tenants can manage upgrades and invoices from their own admin panel.
Hope this is helpful for you. If you have any issues, feel free to raise a ticket at https://webkul.uvdesk.com/en/.
If you have more details or questions, you can reply to the received confirmation email.
Back to Home
Be the first to comment.