enriconardo / laravel-ecommerce-layer
Laravel 电子商务功能层
dev-master
2023-10-10 07:26 UTC
Requires
- php: ^8.2
- illuminate/support: ^9.0|^10.0
- prinsfrank/standards: ^1.5
- spatie/laravel-query-builder: ^5.2
- stripe/stripe-php: ^10.7
Requires (Dev)
- orchestra/testbench: ^7.0|^8.0
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2024-09-08 10:42:10 UTC
README
这是一个正在进行中的项目。
安装
您可以通过 composer 安装此包
composer require enriconardo/laravel-ecommerce-layer:dev-master
启用订阅处理程序
如果您决定使用订阅,为了定期检查订阅状态以及自动续订或取消它们,您必须在新应用的 app\Console\Kernel.php
文件中安排适当的任务
protected function schedule(Schedule $schedule): void { // You can schedule with the frequency you like $schedule->job(new \EcommerceLayer\Jobs\RenewSubscriptions)->hourly(); }
使用
发布配置
php artisan vendor:publish --provider="EcommerceLayer\Providers\ServiceProvider" --tag=config
在代码中使用支付网关
/** @var \EcommerceLayer\Gateways\GatewayProviderInterface $gateway */ $gateway = gateway('your_gateway_identifier');
身份验证
Laravel Ecommerce Layer 不实现身份验证流程,这应该是安装的主应用的职责。
为了设置一个身份验证保护者,您需要更新配置文件中附加到 Laravel Ecommerce Layer 路由的中间件组。首先,像以下这样发布配置文件,然后更改以下属性
# File config/ecommerce-layer.php 'http' => [ 'routes' => [ 'middlewares' => [ 'api', // Don't remove this unless it is really necessary 'your-custom-middleware' // E.g: auth:api ], ] ],
添加自定义支付网关
网关包由一组类组成
- 一个 主类,它扩展了
\EcommerceLayer\Gateways\GatewayProviderInterface
- 一个 支付服务 类,它扩展了
\EcommerceLayer\Gateways\PaymentServiceInterface
- 一个 客户服务 类,它扩展了
\EcommerceLayer\Gateways\CustomerServiceInterface
要启用网关,只需在您的服务提供者的 register
函数中添加以下行代码
/** * Register the application services. */ public function register() { // ... // Enable the gateways $this->app->make(GatewayProviderFactory::class)->enableGateway(new YourMainClass); // ... }
YourMainClass
是您前面描述的实际 主类
然后,您需要向数据库中添加一个合适的记录,为此,只需输入以下命令
php artisan ecommerce-layer:gateway:create {name} {identifier}
其中 name
是您网关的标签(例如:Stripe)而 identifier
是系统用来区分它的值(例如:your-identifier)。不要使用空格。
ISO 标准
货币、国家、语言和 HTTP 状态代码的 ISO 标准由 prinsfrank/standards
包的 PHP 枚举处理。请访问 Github 查看信息。
在 Laravel Ecommerce Layer 中使用的 ISO 标准如下
- ISO4217_Alpha_3 用于货币(三个字母)
- ISO3166_1_Alpha_2 用于国家(两个字母)
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件
待办事项
- 添加折扣管理
- 税务管理
- 运输