Part 7 explores the connection between Laravel Cashier and Stripe via webhooks. Cashier has some built-in methods and we'll add one more example method. read more »
Part 6 of the Laravel SaaS application build includes accepting Stripe payments from our registration page and displaying invoices on the tenant's home page. read more »
Part 5 of the series covers installing Laravel Cashier and setting it up to work with the Hyn Tenancy package. We'll modify the default migrations as well as create a couple custom models for use with tenant subscriptions. read more »
In this section we're going to work on creating a login and registration system to accommodate our multi-tenant application. To do this, we'll set up a single registration form on the main domain and redirect to subdomains for users to sign in once they've registered for the site. You could go into some complexity with OAuth tokens here, but let's keep it simple for now with a separate field... read more »
Picking up from the last article, we now have a single tenant on our system with the subdomain of "foo". Let's work on a few additions, including a second tenant and proper routing if a tenant doesn't exist. Let's add a second tenant and verify that they have some separation. For this one, we'll use a subdomain of "bar". Make sure to save the password somewhere. Now let's check our database... read more »
Now that we have the basic setup, let's create our first tenants! We'll initially do this through an artisan command. This is based on the article by Ashok Gelal, with some updates for the latest versions. We'll start off by making some configuration updates so that we can separate our tenants by subdomains. First, open up the .env file and add in a value for APP_URL_BASE and also make a... read more »
In this series, I will attempt to build out a Laravel based Software as a Solution framework that can be easily adopted to different situations. This method is what I will be implementing on the e-cards.io site for selling online gift cards. Much of the content & concepts here are based on an excellent article by Ashok Gelal on Medium along with other sources. read more »