enriconardo/laravel-ecommerce-layer

Laravel 电子商务功能层

dev-master 2023-10-10 07:26 UTC

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)。有关更多信息,请参阅 许可文件

待办事项

  • 添加折扣管理
  • 税务管理
  • 运输