nikolag / laravel-square
基于 nikolag/core 的 Square API 集成与 Laravel
Requires
- php: >=8.2
- doctrine/dbal: ^3.5
- illuminate/config: 10.x
- illuminate/console: 10.x
- illuminate/container: 10.x
- illuminate/contracts: 10.x
- illuminate/database: 10.x
- illuminate/filesystem: 10.x
- illuminate/support: 10.x
- nikolag/core: 2.8.x
- square/square: 29.0.0.20230720
Requires (Dev)
- fakerphp/faker: ^1.13
- laravel/legacy-factories: ^1.3
- orchestra/testbench: 8.x
- phpunit/phpunit: 10.x
This package is auto-updated.
Last update: 2024-09-21 14:43:36 UTC
README
Laravel/Lumen >=5.5 的 Square 集成,基于 nikolag/core
版本兼容性
旧的 Square Connect API
新的 Square SDK
如果你是从低于 3.0 的版本更新,则需要执行: php artisan migrate
。这将在库创建的表中添加一些库所需的列,你的表不会受到影响。
安装指南
composer require nikolag/laravel-square
注意:由于 Laravel 包发现,从 Laravel 5.5 开始,不再需要手动注册此项目的服务提供者和外观,因为该包已适配自动为你注册这些内容。但仍有几个步骤需要完成才能使用此包。
首先,你必须发布配置文件
php artisan vendor:publish --tag=nikolag_config
在继续之前,检查 config/nikolag.php
中的配置文件。
重要:如果你无法在 connections
数组中看到 square
驱动程序,你必须手动添加它。你可以在这里找到配置文件 here 并将 connections
数组中的所有内容复制并 附加 到你发布的配置文件中的 connections
数组(config/nikolag.php
)
完成配置文件后,你应该使用以下命令运行迁移
php artisan migrate
然后,在 .env
中添加 Square API 的凭据,并添加你类的完全限定名称(命名空间)。
SQUARE_APPLICATION_ID=<YOUR_APPLICATION_ID> SQUARE_TOKEN=<YOUR_ACCESS_TOKEN>
客户系统
为了能够利用客户系统为用户,你的用户类必须使用 HasCustomers
特性。
... use Nikolag\Square\Traits\HasCustomers; class User extends Model { use HasCustomers; ... }
你还需要定义用户命名空间
// .env file SQUARE_USER_NAMESPACE=<USER_NAMESPACE>
订单系统
为了能够利用订单系统为用户,你的订单类必须使用 HasProducts
特性并定义 $table
属性。
... use Nikolag\Square\Traits\HasProducts; class Order extends Model { use HasProducts; ... /** * The table associated with the model. * * @var string */ protected $table = '<TABLE_NAME>'; ... }
你还需要定义一些环境变量
// .env file SQUARE_ORDER_NAMESPACE=<ORDER_NAMESPACE> SQUARE_ORDER_IDENTIFIER=<ORDER_IDENTIFIER> SQUARE_PAYMENT_IDENTIFIER=<ORDER_SQUARE_ID_COLUMN>
重要: SQUARE_PAYMENT_IDENTIFIER
代表我们将存储 Square 生成的一次性唯一 ID 的列名。这意味着你需要在订单表中添加一个新列来存储该值。
示例
简单示例
简单示例已移动到 wiki 页面,以避免不必要的 README.md
滚动。
带有客户的示例
带有客户的示例已移动到 wiki 页面,以避免不必要的 README.md
滚动。
带有订单的示例
带有订单的示例已移动到 wiki 页面,以避免不必要的 README.md
滚动。
所有特性和其方法
HasProducts
此特性的所有方法已移动到 wiki 页面,以避免不必要的 README.md
滚动。
HasCustomers
本特性的所有方法均已移动到wiki页面,以避免在README.md
中不必要的滚动。
所有外观及其方法
Square
本外观的所有方法均已移动到wiki页面,以避免在README.md
中不必要的滚动。
贡献
欢迎所有人为此存储库做出贡献,只需打开一个问题并标记请求,无论是问题、错误还是功能。对于任何其他查询,请发送电子邮件至nikola.gavric94@gmail.com
贡献者
特别感谢所有贡献者!
许可证
MIT许可证
版权所有 (c) Nikola Gavrić nikola.gavric94@gmail.com
特此允许,免费地向任何获得此软件及其相关文档文件(以下简称“软件”)副本的个人提供,使用软件不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向软件提供者提供软件的个人这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,还是关于适销性、针对特定目的的适用性或非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是在合同行为、侵权行为或其他行为中产生的,无论是源于、源于或与软件或软件的使用或其他处理有关。