nikolag/laravel-square

基于 nikolag/core 的 Square API 集成与 Laravel

安装数: 16,758

依赖者: 0

建议者: 0

安全性: 0

星标: 32

关注者: 5

分支: 23

开放问题: 2

类型:laravel-package

v3.3.0 2023-12-30 18:10 UTC

README

Test Coverage Build and test PHP 8.x Latest Stable Version License

Laravel/Lumen >=5.5 的 Square 集成,基于 nikolag/core

  1. 版本兼容性
  2. 安装指南
  3. 客户系统
  4. 订单系统
  5. 示例
  6. 可用方法
  7. 贡献
  8. 许可证

版本兼容性

旧的 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

nikolag configuration
图 1. 配置文件

完成配置文件后,你应该使用以下命令运行迁移

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

特此允许,免费地向任何获得此软件及其相关文档文件(以下简称“软件”)副本的个人提供,使用软件不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向软件提供者提供软件的个人这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,还是关于适销性、针对特定目的的适用性或非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是在合同行为、侵权行为或其他行为中产生的,无论是源于、源于或与软件或软件的使用或其他处理有关。