wearepixel/laravel-quickbooks

Wearepixel的QuickBooks Laravel客户端。

1.0.0 2024-06-25 12:29 UTC

This package is auto-updated.

Last update: 2024-09-13 03:14:07 UTC


README

Latest Stable Version Latest Unstable Version Total Downloads License

PHP客户端,封装了QuickBooks PHP SDK

我们仅在我们的应用程序中使用Laravel,因此此包是用Laravel编写的。如果社区有要求将此包拆分为两部分以便在Laravel之外使用,我们将考虑进行这项工作。

构建状态

安装

  1. 安装QuickBooks PHP客户端
$ composer require wearepixel/laravel-quickbooks
  1. 运行我们的迁移以安装quickbooks_tokens
$ php artisan migrate --package=wearepixel/laravel-quickbooks

该包使用Laravel的自动注册功能

配置

  1. 您需要在您的User模型上有一个quickBooksToken关系。有一个名为Wearepixel\QuickBooks\HasQuickBooksToken的特质,您可以在您的User模型上包含它,这将设置关系。为此,请实现以下操作

use Wearepixel\QuickBooks\HasQuickBooksToken;添加到User.php文件的服务容器顶部,并在类内添加特质。例如

class User extends Authenticatable
{
    use Notifiable, HasQuickBooksToken;

注意:如果您的User模型不是App\Models\User,则需要配置configs/quickbooks.php中的路径。

  1. 向您的.env文件添加适当的值

    最小密钥

    QUICKBOOKS_CLIENT_ID=<client id given by QuickBooks>
    QUICKBOOKS_CLIENT_SECRET=<client secret>

    可选密钥

    QUICKBOOKS_API_URL=<Development|Production> # Defaults to App's env value
    QUICKBOOKS_DEBUG=<true|false>               # Defaults to App's debug value
  2. [可选] 发布配置和视图

    配置

    可以通过运行以下命令将名为quickbooks.php的配置文件发布到config/目录...

    php artisan vendor:publish --tag=quickbooks-config

    视图

    可以通过运行以下命令发布视图文件...

    php artisan vendor:publish --tag=quickbooks-views

使用方法

以下是从QuickBooks获取公司信息的示例

注意:在进行这些命令之前,请前往您的连接路由(默认:/quickbooks/connect)以获取用户的QuickBooks令牌

php artisan tinker
Psy Shell v0.8.17 (PHP 7.1.14 — cli) by Justin Hileman
>>> Auth::logInUsingId(1)
=> App\Models\User {#1668
     id: 1,
     // Other keys removed for example
   }
>>> $quickbooks = app('Wearepixel\QuickBooks\Client') // or app('QuickBooks')
=> Wearepixel\QuickBooks\Client {#1613}
>>> $quickbooks->getDataService()->getCompanyInfo();
=> QuickBooksOnline\API\Data\IPPCompanyInfo {#1673
     +CompanyName: "Sandbox Company_US_1",
     +LegalName: "Sandbox Company_US_1",
     // Other properties removed for example
   }
>>>

您可以根据SDK中的文档调用任何资源

中间件

如果您有依赖于用户账户具有可用的QuickBooks OAuth令牌的路由,则有一个名为Wearepixel\QuickBooks\Laravel\Filter的内置中间件,它将注册为quickbooks,这将确保账户已连接,并在需要时将它们重定向到connect路由。

以下是一个示例路由定义

Route::view('some/route/needing/quickbooks/token/before/using', 'some.view')
     ->middleware('quickbooks');