treesapuk / laravel-square
基于 nikolag/core 的 Square API 与 Laravel 集成
Requires
- php: >=7.0
- illuminate/config: ~5.5|~5.6|~5.7|~5.8|~6.0|~7.0|~8.0
- illuminate/console: ~5.5|~5.6|~5.7|~5.8|~6.0|~7.0|~8.0
- illuminate/container: ~5.5|~5.6|~5.7|~5.8|~6.0|~7.0|~8.0
- illuminate/contracts: ~5.5|~5.6|~5.7|~5.8|~6.0|~7.0|~8.0
- illuminate/database: ~5.5|~5.6|~5.7|~5.8|~6.0|~7.0|~8.0
- illuminate/filesystem: ~5.5|~5.6|~5.7|~5.8|~6.0|~7.0|~8.0
- illuminate/support: ~5.5|~5.6|~5.7|~5.8|~6.0|~7.0|~8.0
- nikolag/core: 2.5.*
- square/connect: 3.20200528.1
Requires (Dev)
- fakerphp/faker: ^1.13
- orchestra/testbench: ~3.6|~3.7|~3.8|~4.0|~5.0|~6.0
- phpunit/phpunit: ~6.0|~7.0|~8.0|~9.0
README
Square 与 Laravel/Lumen >=5.5 的集成,基于 nikolag/core
版本兼容性
安装指南
composer require nikolag/laravel-square
注意:由于 Laravel 包发现,从 Laravel 5.5 开始,手动注册服务提供者和外观已被弃用,并且不再需要,因为该包已适配自动为您注册这些内容。但仍然需要执行几个步骤才能使用此包。
首先,您必须发布配置文件
php artisan vendor:publish --tag=nikolag_config
在继续之前,检查 config/nikolag.php
中的配置文件。
重要:如果您在某些原因下无法在 connections
数组中看到 square
驱动,您必须手动添加它。您可以在 此处 找到配置文件,并从 connections
数组中复制所有内容,并将其 附加 到已发布的配置文件中的 connections
数组(config/nikolag.php
)。
完成配置文件后,您应使用以下命令运行迁移
php artisan migrate
然后,在 .env
中添加 Square API 的凭据,并添加您类的完全限定名称(命名空间)。
SQUARE_APPLICATION_ID=<YOUR_APPLICATION_ID> SQUARE_TOKEN=<YOUR_ACCESS_TOKEN>
客户系统
要能够利用客户系统为用户,您的 User 类必须使用 HasCustomers
特性。
... use Nikolag\Square\Traits\HasCustomers; class User extends Model { use HasCustomers; ... }
您还需要定义用户命名空间
// .env file SQUARE_USER_NAMESPACE=<USER_NAMESPACE>
订单系统
要能够利用订单系统为用户,您的 Order 类必须使用 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
贡献者
特别感谢所有贡献者!
捐赠
任何金额都助于投入更多时间和资源用于开发新功能,并确保库在将来与Laravel
和Square
的变更保持更新。它还将有助于创建以相同品牌为标志的未来项目。
许可证
MIT许可证
版权(c)Nikola Gavrić nikola.gavric94@gmail.com
以下条件,任何人免费获得此软件及其相关文档文件的副本(以下简称“软件”),可以自由处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许获得软件的人进行此类操作:
上述版权声明和本许可声明应包含在软件的任何副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,包括但不限于适销性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论该责任是基于合同、侵权或其他法律依据,是否由软件或其使用或其他方式产生。