nickdekruijk / shopwire
A simple, easy to implement shopping cart and checkout package for Laravel 9 using Livewire.
Requires
- php: ^8.1
- laravel/framework: ^9.0|^10.0
- livewire/livewire: ^3.0
- mollie/laravel-mollie: ^2.8
- monarobase/country-list: ^3.0
- stevebauman/location: ^6.3
This package is auto-updated.
Last update: 2024-11-15 16:30:45 UTC
README
Shopwire
A simple, easy to implement shopping cart and checkout package for Laravel 9 using Livewire.
Installation
To install run the following command:
composer require nickdekruijk/shopwire
Before your run php artisan migrate make sure your Product model is properly setup.
Publish the config file with:
php artisan vendor:publish --tag=config --provider="NickDeKruijk\Shopwire\ShopwireServiceProvider"
Prepare your Product model
Add ShopwireProduct trait:
use NickDeKruijk\Shopwire\Traits\ShopwireProduct; class Product extends Model { use ShopwireProduct;
If your model is different from the default (App\Models\Product), you can change the model name in the config file.
Afterwards run the migration command:
php artisan migrate
Environment
To enable automatic country detection, add the following to your .env file:
LOCATION_TESTING=false
By defaults Shopwire uses Mollie as payment provider, set your Mollie API key in the .env file:
MOLLIE_KEY=test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Webhooks and Csrf
To make the payment provider webhooks work you may need to update the $except
array in app\Http\Middleware\VerifyCsrfToken.php
protected $except = [ 'shopwire/payment/webhook', ];
Logging
You need to make a logging channel called shopwire, add something like this to config/logging.php
:
'shopwire' => [ 'driver' => 'single', 'path' => storage_path('logs/shopwire.log'), 'level' => 'debug', ],
Admin package integration
To manage products/vat/orders etc with the nickdekruijk/admin package add the modules as described in this example file to your config/admin.php
file.
Some seeds with data to start with
Dutch VAT
php artisan db:seed --class=NickDeKruijk\\Shopwire\\Seeds\\VatDutch
Dutch Shipment methods
php artisan db:seed --class=NickDeKruijk\\Shopwire\\Seeds\\ShippingDutch
License
Shopwire is open-sourced software licensed under the MIT license.